@acorex/components 4.0.24 → 5.0.4

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 (339) hide show
  1. package/README.md +24 -24
  2. package/acorex-components.d.ts +5 -4
  3. package/bundles/acorex-components.umd.js +6858 -6233
  4. package/bundles/acorex-components.umd.js.map +1 -1
  5. package/esm2015/acorex-components.js +5 -5
  6. package/esm2015/lib/alert/alert-button.component.js +52 -42
  7. package/esm2015/lib/alert/alert-contnet.component.js +21 -16
  8. package/esm2015/lib/alert/alert-footer.component.js +27 -18
  9. package/esm2015/lib/alert/alert-suffix.component.js +27 -18
  10. package/esm2015/lib/alert/alert-title.component.js +23 -16
  11. package/esm2015/lib/alert/alert.component.js +131 -87
  12. package/esm2015/lib/alert/alert.module.js +43 -28
  13. package/esm2015/lib/alert/index.js +8 -8
  14. package/esm2015/lib/avatar/avatar.component.js +55 -0
  15. package/esm2015/lib/avatar/avatar.module.js +21 -0
  16. package/esm2015/lib/avatar/index.js +3 -0
  17. package/esm2015/lib/base/common.module.js +18 -13
  18. package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -56
  19. package/esm2015/lib/base/drawing.class.js +11 -11
  20. package/esm2015/lib/base/events.class.js +53 -19
  21. package/esm2015/lib/base/index.js +7 -7
  22. package/esm2015/lib/base/mixin/base-components.class.js +83 -72
  23. package/esm2015/lib/base/mixin/button-mixin.class.js +129 -36
  24. package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -17
  25. package/esm2015/lib/base/mixin/constratctor.js +2 -2
  26. package/esm2015/lib/base/mixin/datalist-component.class.js +97 -97
  27. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -36
  28. package/esm2015/lib/base/mixin/index.js +3 -3
  29. package/esm2015/lib/base/mixin/interactive-mixin.class.js +72 -47
  30. package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -15
  31. package/esm2015/lib/base/mixin/mixin.class.js +23 -24
  32. package/esm2015/lib/base/mixin/selection-component.class.js +158 -158
  33. package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -19
  34. package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -19
  35. package/esm2015/lib/base/mixin/value-mixin.class.js +190 -172
  36. package/esm2015/lib/base/overlay.service.js +91 -96
  37. package/esm2015/lib/base/responsive.directive.js +34 -33
  38. package/esm2015/lib/base/styles.class.js +4 -4
  39. package/esm2015/lib/button/button-group.component.js +131 -71
  40. package/esm2015/lib/button/button-item.class.js +2 -2
  41. package/esm2015/lib/button/button-item.component.js +81 -35
  42. package/esm2015/lib/button/button.component.js +51 -34
  43. package/esm2015/lib/button/button.module.js +37 -24
  44. package/esm2015/lib/button/dropdown-button.component.js +200 -108
  45. package/esm2015/lib/button/index.js +7 -7
  46. package/esm2015/lib/calendar/calendar.component.js +59 -69
  47. package/esm2015/lib/calendar/calendar.module.js +24 -19
  48. package/esm2015/lib/calendar/index.js +3 -3
  49. package/esm2015/lib/carousel/carousel-arrows.component.js +53 -45
  50. package/esm2015/lib/carousel/carousel-item.component.js +21 -21
  51. package/esm2015/lib/carousel/carousel-pager.component.js +74 -71
  52. package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -83
  53. package/esm2015/lib/carousel/carousel.class.js +10 -7
  54. package/esm2015/lib/carousel/carousel.component.js +246 -226
  55. package/esm2015/lib/carousel/carousel.module.js +24 -19
  56. package/esm2015/lib/carousel/index.js +7 -7
  57. package/esm2015/lib/checkbox/checkbox.component.js +40 -41
  58. package/esm2015/lib/checkbox/checkbox.module.js +20 -15
  59. package/esm2015/lib/checkbox/index.js +3 -3
  60. package/esm2015/lib/datalist/datalist.component.js +81 -71
  61. package/esm2015/lib/datalist/datalist.module.js +22 -17
  62. package/esm2015/lib/datalist/index.js +3 -3
  63. package/esm2015/lib/datepicker/datepicker.component.js +64 -62
  64. package/esm2015/lib/datepicker/datepicker.module.js +23 -18
  65. package/esm2015/lib/datepicker/index.js +3 -3
  66. package/esm2015/lib/decorators/decorators.module.js +22 -17
  67. package/esm2015/lib/decorators/index.js +4 -4
  68. package/esm2015/lib/decorators/prefix.component.js +27 -28
  69. package/esm2015/lib/decorators/suffix.component.js +35 -28
  70. package/esm2015/lib/dialog/dialog.class.js +2 -47
  71. package/esm2015/lib/dialog/dialog.component.js +45 -39
  72. package/esm2015/lib/dialog/dialog.module.js +26 -19
  73. package/esm2015/lib/dialog/dialog.service.js +127 -139
  74. package/esm2015/lib/dialog/index.js +5 -5
  75. package/esm2015/lib/drawer/drawer-container.component.js +73 -67
  76. package/esm2015/lib/drawer/drawer-content.component.js +27 -24
  77. package/esm2015/lib/drawer/drawer.component.js +145 -139
  78. package/esm2015/lib/drawer/drawer.module.js +23 -18
  79. package/esm2015/lib/drawer/index.js +5 -5
  80. package/esm2015/lib/dropdown/dropdown-panel.component.js +194 -0
  81. package/esm2015/lib/dropdown/dropdown.component.js +139 -127
  82. package/esm2015/lib/dropdown/dropdown.module.js +24 -15
  83. package/esm2015/lib/dropdown/index.js +4 -3
  84. package/esm2015/lib/form/form-field.component.js +20 -20
  85. package/esm2015/lib/form/form-field.module.js +21 -15
  86. package/esm2015/lib/form/form-hint.component.js +20 -0
  87. package/esm2015/lib/form/form.component.js +51 -51
  88. package/esm2015/lib/form/index.js +5 -4
  89. package/esm2015/lib/icon/icon.component.js +28 -28
  90. package/esm2015/lib/icon/icon.module.js +21 -16
  91. package/esm2015/lib/icon/index.js +3 -3
  92. package/esm2015/lib/input-mask/index.js +3 -3
  93. package/esm2015/lib/input-mask/input-mask.component.js +42 -35
  94. package/esm2015/lib/input-mask/input-mask.module.js +23 -17
  95. package/esm2015/lib/label/index.js +3 -3
  96. package/esm2015/lib/label/label.component.js +20 -20
  97. package/esm2015/lib/label/label.module.js +21 -16
  98. package/esm2015/lib/loading/index.js +6 -5
  99. package/esm2015/lib/loading/loading-spinner.component.js +32 -0
  100. package/esm2015/lib/loading/loading.component.js +54 -23
  101. package/esm2015/lib/loading/loading.directive.js +67 -70
  102. package/esm2015/lib/loading/loading.module.js +35 -18
  103. package/esm2015/lib/loading/loading.service.js +155 -157
  104. package/esm2015/lib/number-box/index.js +3 -3
  105. package/esm2015/lib/number-box/number-box.component.js +289 -242
  106. package/esm2015/lib/number-box/number-box.module.js +32 -24
  107. package/esm2015/lib/page/base-page.class.js +66 -84
  108. package/esm2015/lib/page/index.js +5 -3
  109. package/esm2015/lib/page/page-footer.component.js +32 -0
  110. package/esm2015/lib/page/page.component.js +33 -32
  111. package/esm2015/lib/page/page.module.js +18 -0
  112. package/esm2015/lib/popover/index.js +3 -0
  113. package/esm2015/lib/popover/popover.component.js +119 -0
  114. package/esm2015/lib/popover/popover.module.js +19 -0
  115. package/esm2015/lib/popup/index.js +4 -4
  116. package/esm2015/lib/popup/popup.component.js +97 -143
  117. package/esm2015/lib/popup/popup.module.js +26 -19
  118. package/esm2015/lib/popup/popup.service.js +94 -89
  119. package/esm2015/lib/range-slider/index.js +3 -0
  120. package/esm2015/lib/range-slider/range-slider.component.js +22 -0
  121. package/esm2015/lib/range-slider/range-slider.module.js +21 -0
  122. package/esm2015/lib/selectbox/index.js +3 -3
  123. package/esm2015/lib/selectbox/selectbox.component.js +193 -188
  124. package/esm2015/lib/selectbox/selectbox.module.js +21 -16
  125. package/esm2015/lib/selection-list/index.js +3 -3
  126. package/esm2015/lib/selection-list/selection-list.component.js +46 -46
  127. package/esm2015/lib/selection-list/selection-list.module.js +21 -16
  128. package/esm2015/lib/side-menu/index.js +3 -3
  129. package/esm2015/lib/side-menu/side-menu.component.js +21 -21
  130. package/esm2015/lib/side-menu/side-menu.module.js +21 -16
  131. package/esm2015/lib/switch/index.js +3 -3
  132. package/esm2015/lib/switch/switch.component.js +30 -29
  133. package/esm2015/lib/switch/switch.module.js +21 -16
  134. package/esm2015/lib/tabs/index.js +6 -6
  135. package/esm2015/lib/tabs/tab-strip.component.js +61 -57
  136. package/esm2015/lib/tabs/tab-view.component.js +46 -45
  137. package/esm2015/lib/tabs/tab.component.js +59 -48
  138. package/esm2015/lib/tabs/tabs.class.js +4 -4
  139. package/esm2015/lib/tabs/tabs.module.js +23 -18
  140. package/esm2015/lib/textbox/index.js +3 -3
  141. package/esm2015/lib/textbox/textbox.component.js +62 -46
  142. package/esm2015/lib/textbox/textbox.module.js +43 -24
  143. package/esm2015/lib/time-box/index.js +3 -3
  144. package/esm2015/lib/time-box/time-box.component.js +134 -127
  145. package/esm2015/lib/time-box/time-box.module.js +32 -24
  146. package/esm2015/lib/toast/index.js +5 -5
  147. package/esm2015/lib/toast/toast.class.js +2 -2
  148. package/esm2015/lib/toast/toast.component.js +50 -54
  149. package/esm2015/lib/toast/toast.module.js +22 -17
  150. package/esm2015/lib/toast/toast.service.js +114 -117
  151. package/esm2015/lib/tooltip/index.js +4 -4
  152. package/esm2015/lib/tooltip/tooltip.component.js +45 -37
  153. package/esm2015/lib/tooltip/tooltip.directive.js +86 -81
  154. package/esm2015/lib/tooltip/tooltip.module.js +23 -18
  155. package/esm2015/lib/validation/index.js +3 -3
  156. package/esm2015/lib/validation/validation-rule.widget.js +113 -110
  157. package/esm2015/lib/validation/validation.class.js +2 -2
  158. package/esm2015/lib/validation/validation.module.js +32 -28
  159. package/esm2015/public-api.js +39 -32
  160. package/fesm2015/acorex-components.js +5918 -5285
  161. package/fesm2015/acorex-components.js.map +1 -1
  162. package/lib/alert/alert-button.component.d.ts +13 -10
  163. package/lib/alert/alert-contnet.component.d.ts +5 -2
  164. package/lib/alert/alert-footer.component.d.ts +5 -2
  165. package/lib/alert/alert-suffix.component.d.ts +5 -2
  166. package/lib/alert/alert-title.component.d.ts +5 -2
  167. package/lib/alert/alert.component.d.ts +46 -16
  168. package/lib/alert/alert.module.d.ts +13 -2
  169. package/lib/alert/index.d.ts +7 -7
  170. package/lib/avatar/avatar.component.d.ts +20 -0
  171. package/lib/avatar/avatar.module.d.ts +8 -0
  172. package/lib/avatar/index.d.ts +2 -0
  173. package/lib/base/common.module.d.ts +7 -2
  174. package/lib/base/custom-cdk-overlay.service.d.ts +19 -14
  175. package/lib/base/drawing.class.d.ts +9 -9
  176. package/lib/base/events.class.d.ts +72 -28
  177. package/lib/base/index.d.ts +6 -6
  178. package/lib/base/mixin/base-components.class.d.ts +84 -51
  179. package/lib/base/mixin/button-mixin.class.d.ts +79 -34
  180. package/lib/base/mixin/clickable-mixin.class.d.ts +42 -29
  181. package/lib/base/mixin/constratctor.d.ts +4 -4
  182. package/lib/base/mixin/datalist-component.class.d.ts +54 -45
  183. package/lib/base/mixin/dropdown-mixin.class.d.ts +47 -38
  184. package/lib/base/mixin/index.d.ts +2 -2
  185. package/lib/base/mixin/interactive-mixin.class.d.ts +60 -34
  186. package/lib/base/mixin/loading-mixin.class.d.ts +46 -28
  187. package/lib/base/mixin/mixin.class.d.ts +814 -493
  188. package/lib/base/mixin/selection-component.class.d.ts +55 -46
  189. package/lib/base/mixin/sizable-mixin.class.d.ts +40 -28
  190. package/lib/base/mixin/textbox-mixin.class.d.ts +59 -33
  191. package/lib/base/mixin/value-mixin.class.d.ts +68 -50
  192. package/lib/base/overlay.service.d.ts +31 -28
  193. package/lib/base/responsive.directive.d.ts +10 -7
  194. package/lib/base/styles.class.d.ts +17 -6
  195. package/lib/button/button-group.component.d.ts +36 -19
  196. package/lib/button/button-item.class.d.ts +22 -17
  197. package/lib/button/button-item.component.d.ts +92 -16
  198. package/lib/button/button.component.d.ts +18 -6
  199. package/lib/button/button.module.d.ts +13 -2
  200. package/lib/button/dropdown-button.component.d.ts +234 -27
  201. package/lib/button/index.d.ts +6 -6
  202. package/lib/calendar/calendar.component.d.ts +16 -17
  203. package/lib/calendar/calendar.module.d.ts +11 -2
  204. package/lib/calendar/index.d.ts +2 -2
  205. package/lib/carousel/carousel-arrows.component.d.ts +14 -11
  206. package/lib/carousel/carousel-item.component.d.ts +8 -5
  207. package/lib/carousel/carousel-pager.component.d.ts +22 -19
  208. package/lib/carousel/carousel-splidejs.class.d.ts +18 -18
  209. package/lib/carousel/carousel.class.d.ts +48 -45
  210. package/lib/carousel/carousel.component.d.ts +62 -59
  211. package/lib/carousel/carousel.module.d.ts +11 -2
  212. package/lib/carousel/index.d.ts +6 -6
  213. package/lib/checkbox/checkbox.component.d.ts +12 -9
  214. package/lib/checkbox/checkbox.module.d.ts +9 -2
  215. package/lib/checkbox/index.d.ts +2 -2
  216. package/lib/datalist/datalist.component.d.ts +25 -22
  217. package/lib/datalist/datalist.module.d.ts +9 -2
  218. package/lib/datalist/index.d.ts +2 -2
  219. package/lib/datepicker/datepicker.component.d.ts +18 -15
  220. package/lib/datepicker/datepicker.module.d.ts +10 -2
  221. package/lib/datepicker/index.d.ts +2 -2
  222. package/lib/decorators/decorators.module.d.ts +9 -2
  223. package/lib/decorators/index.d.ts +3 -3
  224. package/lib/decorators/prefix.component.d.ts +8 -5
  225. package/lib/decorators/suffix.component.d.ts +8 -5
  226. package/lib/dialog/dialog.class.d.ts +12 -35
  227. package/lib/dialog/dialog.component.d.ts +15 -12
  228. package/lib/dialog/dialog.module.d.ts +13 -2
  229. package/lib/dialog/dialog.service.d.ts +18 -13
  230. package/lib/dialog/index.d.ts +4 -4
  231. package/lib/drawer/drawer-container.component.d.ts +13 -10
  232. package/lib/drawer/drawer-content.component.d.ts +8 -5
  233. package/lib/drawer/drawer.component.d.ts +30 -27
  234. package/lib/drawer/drawer.module.d.ts +10 -2
  235. package/lib/drawer/index.d.ts +4 -4
  236. package/lib/dropdown/dropdown-panel.component.d.ts +117 -0
  237. package/lib/dropdown/dropdown.component.d.ts +31 -22
  238. package/lib/dropdown/dropdown.module.d.ts +13 -2
  239. package/lib/dropdown/index.d.ts +3 -2
  240. package/lib/form/form-field.component.d.ts +8 -5
  241. package/lib/form/form-field.module.d.ts +10 -2
  242. package/lib/form/form-hint.component.d.ts +8 -0
  243. package/lib/form/form.component.d.ts +13 -10
  244. package/lib/form/index.d.ts +4 -3
  245. package/lib/icon/icon.component.d.ts +10 -7
  246. package/lib/icon/icon.module.d.ts +8 -2
  247. package/lib/icon/index.d.ts +2 -2
  248. package/lib/input-mask/index.d.ts +2 -2
  249. package/lib/input-mask/input-mask.component.d.ts +14 -11
  250. package/lib/input-mask/input-mask.module.d.ts +9 -2
  251. package/lib/label/index.d.ts +2 -2
  252. package/lib/label/label.component.d.ts +8 -5
  253. package/lib/label/label.module.d.ts +8 -2
  254. package/lib/loading/index.d.ts +5 -4
  255. package/lib/loading/loading-spinner.component.d.ts +5 -0
  256. package/lib/loading/loading.component.d.ts +19 -5
  257. package/lib/loading/loading.directive.d.ts +22 -19
  258. package/lib/loading/loading.module.d.ts +13 -2
  259. package/lib/loading/loading.service.d.ts +48 -45
  260. package/lib/number-box/index.d.ts +2 -2
  261. package/lib/number-box/number-box.component.d.ts +69 -31
  262. package/lib/number-box/number-box.module.d.ts +11 -2
  263. package/lib/page/base-page.class.d.ts +37 -40
  264. package/lib/page/index.d.ts +4 -2
  265. package/lib/page/page-footer.component.d.ts +7 -0
  266. package/lib/page/page.component.d.ts +13 -11
  267. package/lib/page/page.module.d.ts +7 -0
  268. package/lib/popover/index.d.ts +2 -0
  269. package/lib/popover/popover.component.d.ts +30 -0
  270. package/lib/popover/popover.module.d.ts +8 -0
  271. package/lib/popup/index.d.ts +3 -3
  272. package/lib/popup/popup.component.d.ts +33 -33
  273. package/lib/popup/popup.module.d.ts +12 -2
  274. package/lib/popup/popup.service.d.ts +37 -18
  275. package/lib/range-slider/index.d.ts +2 -0
  276. package/lib/range-slider/range-slider.component.d.ts +8 -0
  277. package/lib/range-slider/range-slider.module.d.ts +8 -0
  278. package/lib/selectbox/index.d.ts +2 -2
  279. package/lib/selectbox/selectbox.component.d.ts +28 -25
  280. package/lib/selectbox/selectbox.module.d.ts +10 -2
  281. package/lib/selection-list/index.d.ts +2 -2
  282. package/lib/selection-list/selection-list.component.d.ts +10 -7
  283. package/lib/selection-list/selection-list.module.d.ts +10 -2
  284. package/lib/side-menu/index.d.ts +2 -2
  285. package/lib/side-menu/side-menu.component.d.ts +8 -5
  286. package/lib/side-menu/side-menu.module.d.ts +8 -2
  287. package/lib/switch/index.d.ts +2 -2
  288. package/lib/switch/switch.component.d.ts +9 -6
  289. package/lib/switch/switch.module.d.ts +9 -2
  290. package/lib/tabs/index.d.ts +5 -5
  291. package/lib/tabs/tab-strip.component.d.ts +17 -14
  292. package/lib/tabs/tab-view.component.d.ts +14 -11
  293. package/lib/tabs/tab.component.d.ts +18 -15
  294. package/lib/tabs/tabs.class.d.ts +18 -18
  295. package/lib/tabs/tabs.module.d.ts +10 -2
  296. package/lib/textbox/index.d.ts +2 -2
  297. package/lib/textbox/textbox.component.d.ts +19 -8
  298. package/lib/textbox/textbox.module.d.ts +13 -2
  299. package/lib/time-box/index.d.ts +2 -2
  300. package/lib/time-box/time-box.component.d.ts +29 -26
  301. package/lib/time-box/time-box.module.d.ts +11 -2
  302. package/lib/toast/index.d.ts +4 -4
  303. package/lib/toast/toast.class.d.ts +14 -14
  304. package/lib/toast/toast.component.d.ts +16 -13
  305. package/lib/toast/toast.module.d.ts +9 -2
  306. package/lib/toast/toast.service.d.ts +18 -15
  307. package/lib/tooltip/index.d.ts +3 -3
  308. package/lib/tooltip/tooltip.component.d.ts +10 -7
  309. package/lib/tooltip/tooltip.directive.d.ts +18 -15
  310. package/lib/tooltip/tooltip.module.d.ts +10 -2
  311. package/lib/validation/index.d.ts +2 -2
  312. package/lib/validation/validation-rule.widget.d.ts +25 -22
  313. package/lib/validation/validation.class.d.ts +17 -17
  314. package/lib/validation/validation.module.d.ts +9 -3
  315. package/package.json +19 -21
  316. package/public-api.d.ts +37 -31
  317. package/acorex-components.metadata.json +0 -1
  318. package/bundles/acorex-components.umd.min.js +0 -16
  319. package/bundles/acorex-components.umd.min.js.map +0 -1
  320. package/esm2015/lib/datapager/datapager-base.component.js +0 -33
  321. package/esm2015/lib/datapager/datapager-info.component.js +0 -59
  322. package/esm2015/lib/datapager/datapager-input-selector.component.js +0 -51
  323. package/esm2015/lib/datapager/datapager-next-buttons.components.js +0 -51
  324. package/esm2015/lib/datapager/datapager-numeric-selector.component.js +0 -86
  325. package/esm2015/lib/datapager/datapager-pagesize-dropdown.component.js +0 -69
  326. package/esm2015/lib/datapager/datapager-prev-buttons.component.js +0 -47
  327. package/esm2015/lib/datapager/datapager.component.js +0 -122
  328. package/esm2015/lib/datapager/datapager.module.js +0 -32
  329. package/esm2015/lib/datapager/index.js +0 -9
  330. package/lib/datapager/datapager-base.component.d.ts +0 -12
  331. package/lib/datapager/datapager-info.component.d.ts +0 -24
  332. package/lib/datapager/datapager-input-selector.component.d.ts +0 -12
  333. package/lib/datapager/datapager-next-buttons.components.d.ts +0 -14
  334. package/lib/datapager/datapager-numeric-selector.component.d.ts +0 -17
  335. package/lib/datapager/datapager-pagesize-dropdown.component.d.ts +0 -17
  336. package/lib/datapager/datapager-prev-buttons.component.d.ts +0 -13
  337. package/lib/datapager/datapager.component.d.ts +0 -41
  338. package/lib/datapager/datapager.module.d.ts +0 -2
  339. package/lib/datapager/index.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../projects/acorex/components/src/lib/base/mixin/base-components.class.ts","../projects/acorex/components/src/lib/base/mixin/button-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/clickable-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/datalist-component.class.ts","../projects/acorex/components/src/lib/base/mixin/dropdown-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/interactive-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/loading-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/selection-component.class.ts","../projects/acorex/components/src/lib/base/mixin/sizable-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/value-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/textbox-mixin.class.ts","../projects/acorex/components/src/lib/base/mixin/mixin.class.ts","../../projects/acorex/components/src/lib/base/events.class.ts","../../projects/acorex/components/src/lib/base/styles.class.ts","../../projects/acorex/components/src/lib/base/responsive.directive.ts","../../projects/acorex/components/src/lib/base/common.module.ts","../../projects/acorex/components/src/lib/alert/alert.component.ts","../../projects/acorex/components/src/lib/alert/alert-title.component.ts","../../projects/acorex/components/src/lib/alert/alert-button.component.ts","../../projects/acorex/components/src/lib/alert/alert-contnet.component.ts","../../projects/acorex/components/src/lib/alert/alert-suffix.component.ts","../../projects/acorex/components/src/lib/alert/alert-footer.component.ts","../../projects/acorex/components/src/lib/alert/alert.module.ts","../../projects/acorex/components/src/lib/form/form-field.component.ts","../../projects/acorex/components/src/lib/form/form.component.ts","../../projects/acorex/components/src/lib/form/form-field.module.ts","../../projects/acorex/components/src/lib/label/label.component.ts","../../projects/acorex/components/src/lib/label/label.module.ts","../../projects/acorex/components/src/lib/button/button.component.ts","../../projects/acorex/components/src/lib/base/custom-cdk-overlay.service.ts","../../projects/acorex/components/src/lib/base/overlay.service.ts","../../projects/acorex/components/src/lib/button/button-item.component.ts","../../projects/acorex/components/src/lib/button/dropdown-button.component.ts","../../projects/acorex/components/src/lib/button/button-group.component.ts","../../projects/acorex/components/src/lib/button/button.module.ts","../../projects/acorex/components/src/lib/calendar/calendar.component.ts","../../projects/acorex/components/src/lib/input-mask/input-mask.component.ts","../../projects/acorex/components/src/lib/input-mask/input-mask.module.ts","../../projects/acorex/components/src/lib/textbox/textbox.component.ts","../../projects/acorex/components/src/lib/decorators/prefix.component.ts","../../projects/acorex/components/src/lib/decorators/suffix.component.ts","../../projects/acorex/components/src/lib/decorators/decorators.module.ts","../../projects/acorex/components/src/lib/textbox/textbox.module.ts","../../projects/acorex/components/src/lib/calendar/calendar.module.ts","../../projects/acorex/components/src/lib/dropdown/dropdown.component.ts","../../projects/acorex/components/src/lib/dropdown/dropdown.module.ts","../../projects/acorex/components/src/lib/selectbox/selectbox.component.ts","../../projects/acorex/components/src/lib/selectbox/selectbox.module.ts","../../projects/acorex/components/src/lib/switch/switch.component.ts","../../projects/acorex/components/src/lib/switch/switch.module.ts","../../projects/acorex/components/src/lib/datepicker/datepicker.component.ts","../../projects/acorex/components/src/lib/datepicker/datepicker.module.ts","../../projects/acorex/components/src/lib/checkbox/checkbox.component.ts","../../projects/acorex/components/src/lib/checkbox/checkbox.module.ts","../../projects/acorex/components/src/lib/validation/validation-rule.widget.ts","../../projects/acorex/components/src/lib/validation/validation.module.ts","../../projects/acorex/components/src/lib/selection-list/selection-list.component.ts","../../projects/acorex/components/src/lib/selection-list/selection-list.module.ts","../../projects/acorex/components/src/lib/datalist/datalist.component.ts","../../projects/acorex/components/src/lib/datalist/datalist.module.ts","../../projects/acorex/components/src/lib/toast/toast.component.ts","../../projects/acorex/components/src/lib/toast/toast.module.ts","../../projects/acorex/components/src/lib/toast/toast.service.ts","../../projects/acorex/components/src/lib/tooltip/tooltip.component.ts","../../projects/acorex/components/src/lib/tooltip/tooltip.directive.ts","../../projects/acorex/components/src/lib/tooltip/tooltip.module.ts","../../projects/acorex/components/src/lib/loading/loading.component.ts","../../projects/acorex/components/src/lib/loading/loading.directive.ts","../../projects/acorex/components/src/lib/loading/loading.module.ts","../../projects/acorex/components/src/lib/loading/loading.service.ts","../../projects/acorex/components/src/lib/page/page.component.ts","../../projects/acorex/components/src/lib/page/base-page.class.ts","../../projects/acorex/components/src/lib/popup/popup.component.ts","../../projects/acorex/components/src/lib/popup/popup.service.ts","../../projects/acorex/components/src/lib/popup/popup.module.ts","../../projects/acorex/components/src/lib/dialog/dialog.component.ts","../../projects/acorex/components/src/lib/dialog/dialog.class.ts","../../projects/acorex/components/src/lib/dialog/dialog.service.ts","../../projects/acorex/components/src/lib/dialog/dialog.module.ts","../../projects/acorex/components/src/lib/drawer/drawer.component.ts","../../projects/acorex/components/src/lib/drawer/drawer-container.component.ts","../../projects/acorex/components/src/lib/drawer/drawer-content.component.ts","../../projects/acorex/components/src/lib/drawer/drawer.module.ts","../../projects/acorex/components/src/lib/side-menu/side-menu.component.ts","../../projects/acorex/components/src/lib/side-menu/side-menu.module.ts","../../projects/acorex/components/src/lib/number-box/number-box.component.ts","../../projects/acorex/components/src/lib/number-box/number-box.module.ts","../../projects/acorex/components/src/lib/time-box/time-box.component.ts","../../projects/acorex/components/src/lib/time-box/time-box.module.ts","../../projects/acorex/components/src/lib/tabs/tab-strip.component.ts","../../projects/acorex/components/src/lib/tabs/tab.component.ts","../../projects/acorex/components/src/lib/tabs/tab-view.component.ts","../../projects/acorex/components/src/lib/tabs/tabs.class.ts","../../projects/acorex/components/src/lib/tabs/tabs.module.ts","../../projects/acorex/components/src/lib/datapager/datapager-base.component.ts","../../projects/acorex/components/src/lib/datapager/datapager.component.ts","../../projects/acorex/components/src/lib/datapager/datapager-next-buttons.components.ts","../../projects/acorex/components/src/lib/datapager/datapager-prev-buttons.component.ts","../../projects/acorex/components/src/lib/datapager/datapager-pagesize-dropdown.component.ts","../../projects/acorex/components/src/lib/datapager/datapager-numeric-selector.component.ts","../../projects/acorex/components/src/lib/datapager/datapager-input-selector.component.ts","../../projects/acorex/components/src/lib/datapager/datapager-info.component.ts","../../projects/acorex/components/src/lib/datapager/datapager.module.ts","../../projects/acorex/components/src/lib/carousel/carousel.class.ts","../../projects/acorex/components/src/lib/carousel/carousel-splidejs.class.ts","../../projects/acorex/components/src/lib/carousel/carousel.component.ts","../../projects/acorex/components/src/lib/carousel/carousel-item.component.ts","../../projects/acorex/components/src/lib/carousel/carousel-arrows.component.ts","../../projects/acorex/components/src/lib/carousel/carousel-pager.component.ts","../../projects/acorex/components/src/lib/carousel/carousel.module.ts","../../projects/acorex/components/src/lib/icon/icon.component.ts","../../projects/acorex/components/src/lib/icon/icon.module.ts","../../../../projects/acorex/components/src/acorex-components.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ChangeDetectorRef, Injectable } from \"@angular/core\";\r\nimport { ElementRef } from \"@angular/core\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\n\r\n\r\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n@Injectable()\r\nexport class AXBaseComponent {\r\n id: string = `ax-${new Date().getTime().toString()}`;\r\n rtl: boolean;\r\n cssClass: string;\r\n cssStyle: string;\r\n\r\n\r\n #elementRef: ElementRef;\r\n _cdr: ChangeDetectorRef;\r\n\r\n _isInited: boolean;\r\n _isRendered: boolean;\r\n\r\n constructor(...args: any[]) {\r\n this.#elementRef = args[0];\r\n this._cdr = args[1];\r\n }\r\n\r\n ngOnInit() {\r\n this._isInited = true;\r\n this._onInternalInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._isRendered = true;\r\n this._onInternalViewInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onInternalDestroy();\r\n }\r\n\r\n _getHostElement<T = HTMLElement>(): T {\r\n return this.#elementRef.nativeElement as T;\r\n }\r\n\r\n _getInnerElement<T = HTMLElement>(): T {\r\n return this._getHostElement().firstElementChild as unknown as T;\r\n }\r\n\r\n\r\n _onInternalInit() {\r\n (this._getHostElement() as any).__axContext__ = this;\r\n this._getHostElement().setAttribute('data-id', this.id);\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this._getHostElement(), null).getPropertyValue('direction') === 'rtl';\r\n }\r\n this._getHostElement().classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n this._getInnerElement()?.classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\r\n this.onInit();\r\n }\r\n\r\n _onInternalViewInit() {\r\n this.onViewInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.onDestroy();\r\n }\r\n\r\n onInit() {\r\n }\r\n\r\n onViewInit() {\r\n }\r\n\r\n onDestroy() {\r\n }\r\n}\r\n\r\n\r\nexport function _BaseComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const BASE_INPUTS = [\r\n 'rtl',\r\n 'cssClass',\r\n 'cssStyle'\r\n];\r\nexport const BASE_OUTPUT = [];\r\n","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _ButtonComponentMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n text: string = '';\r\n\r\n iconClass: string = null;\r\n iconClassAfter: string = null;\r\n iconClassBefore: string = null;\r\n\r\n badge: string = null;\r\n\r\n submitBehavior: boolean = false;\r\n\r\n cancelBehavior: boolean = false;\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _onInternalViewInit() {\r\n super._onInternalViewInit();\r\n if (this.submitBehavior) {\r\n setTimeout(() => {\r\n (this as any).focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n _onInternalDestroy() {\r\n super._onInternalDestroy();\r\n }\r\n };\r\n}\r\n\r\nexport const BUTTON_INPUTS = [\r\n 'text',\r\n 'iconClass',\r\n 'iconClassBefore',\r\n 'iconClassAfter',\r\n 'badge',\r\n 'submitBehavior',\r\n 'cancelBehavior',\r\n];\r\nexport const BUTTON_OUTPUT = ['onClick'];\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXClickEvent } from \"../events.class\";\r\n\r\n\r\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\r\n return class extends Base {\r\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnClickEvent(e: MouseEvent): void {\r\n this.onClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\n\r\nexport function _DatalistComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string | string[] = 'text';\r\n groupValueField: string = 'group';\r\n groupTextField: string | string[] = 'group';\r\n pageSize: number = 10;\r\n\r\n #currentPage: number = 0;\r\n #isLoading: boolean = false;\r\n #loadedItems: any[] = [];\r\n #totalItems: number = 0;\r\n\r\n #isLazy: boolean = false;\r\n\r\n get totalCount(): number {\r\n return this.#totalItems;\r\n }\r\n\r\n get loadedCount(): number {\r\n return this.#loadedItems?.length || 0;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n\r\n }\r\n\r\n #items: any = [];\r\n get items(): any {\r\n return this.#items;\r\n }\r\n set items(v: any) {\r\n this.#items = v;\r\n }\r\n\r\n get displayItems() {\r\n if (Array.isArray(this.items)) {\r\n return this.#items || [];\r\n }\r\n else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get isLoading() {\r\n return this.#isLoading;\r\n }\r\n\r\n _fetchData() {\r\n if ((this.loadedCount >= this.totalCount && this.totalCount != 0) || this.#isLoading || !this.#isLazy) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n this.#items({ skip: this.#currentPage * this.pageSize, take: this.pageSize }).then(c => {\r\n if (Array.isArray(c)) {\r\n this.#loadedItems = c;\r\n this.#totalItems = c.length;\r\n }\r\n else {\r\n this.#totalItems = c.total || c.items?.length || 0;\r\n this.#loadedItems = this.#loadedItems.concat(c.items);\r\n this.#currentPage++;\r\n }\r\n this._cdr.markForCheck();\r\n }).finally(() => {\r\n this.#isLoading = false;\r\n this._onDataLoaded();\r\n });\r\n }\r\n }\r\n\r\n _onInternalInit() {\r\n if (typeof this.#items == 'function') {\r\n this.#isLazy = true;\r\n this._fetchData();\r\n }\r\n super._onInternalInit();\r\n }\r\n\r\n _onDataLoaded() {\r\n\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField) ? this.textField.map(c => item[c]).join(',') : item[this.textField];\r\n else\r\n return 'Loading...';\r\n }\r\n\r\n _trackByFunction(item) {\r\n if (!item) return null;\r\n return item[this.valueField];\r\n }\r\n\r\n }\r\n}","import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXEvent } from \"../events.class\";\r\n\r\n\r\n\r\nexport interface DropdownComponentInterface\r\n{\r\n open():void;\r\n close():void;\r\n toggle():void;\r\n isOpen:boolean;\r\n}\r\n\r\n\r\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n abstract class Mixin extends Base {\r\n #readonly: boolean = false;\r\n get readonly() { return this.#readonly; }\r\n set readonly(value: any) { this.#readonly = coerceBooleanProperty(value); }\r\n \r\n fitParent: boolean = true;\r\n \r\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n \r\n _emitOnOpenedEvent() {\r\n //** call from interactive mixin **//\r\n //(this as any).focus();\r\n //\r\n this.onOpened.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n \r\n _emitOnClosedEvent() {\r\n (this as any).focus();\r\n this.onClosed.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n \r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n }\r\n\r\n return Mixin;\r\n}","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXFocusEvent } from \"../events.class\";\r\n\r\n\r\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n \r\n #disabled: boolean = false;\r\n get disabled() { return this.#disabled; }\r\n set disabled(value: any) {\r\n this.#disabled = coerceBooleanProperty(value);\r\n this._cdr.markForCheck();\r\n }\r\n\r\n\r\n\r\n #tabIndex: number = 0;\r\n get tabIndex(): number { return this.disabled || (this as any).readonly ? -1 : this.#tabIndex; }\r\n set tabIndex(value: number) {\r\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\r\n }\r\n\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n focus() {\r\n const focusable = this._getHostElement().querySelector<HTMLElement>('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n return Mixin;\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _LoadingComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n loading: boolean=false;\r\n loadingIconClass: string;\r\n loadingText:string;\r\n\r\n \r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n // if (!this.size) {\r\n // this.size = AXConfig.get('layout.size', 'sm');\r\n // }\r\n super._onInternalInit();\r\n }\r\n }\r\n}","import { AXObjectUtil } from '@acorex/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXSelectionValueChangedEvent } from '../events.class';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string | string[] = 'text';\r\n multiple: boolean = false;\r\n selectionMode: 'value' | 'item' = 'value';\r\n\r\n // for data-list\r\n get items(): any[] {\r\n return [];\r\n }\r\n\r\n get displayItems(): any[] {\r\n return [];\r\n }\r\n\r\n\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args)\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n\r\n\r\n _value: any | any[];\r\n get value(): any | any[] {\r\n return this._value;\r\n }\r\n set value(v: any | any[]) {\r\n if (v !== this._value) {\r\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\r\n if (this.multiple) {\r\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\r\n } else {\r\n this._value = Array.isArray(v) ? v[0] : v;\r\n }\r\n this.valueChange.emit(this._value);\r\n this.onValueChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n isUserInput: false,\r\n oldValue,\r\n value: this._value,\r\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\r\n selectedItems: this.selectedItems.slice()\r\n });\r\n if (v == null || v == undefined || v == \"\") {\r\n (this as any)._setErrorState('clear');\r\n }\r\n else {\r\n if (this._isInited) {\r\n (this as any).validate();\r\n }\r\n }\r\n this._renderSelection();\r\n }\r\n }\r\n\r\n _selectedItems: any[];\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n _renderSelection() {\r\n const func = () => {\r\n if (this.value == null || this.value == undefined) {\r\n return [];\r\n }\r\n if (this.displayItems.length > 0) {\r\n return this.displayItems.filter(i => {\r\n\r\n if (Array.isArray(this.value)) {\r\n return this.value.some(ii => {\r\n if (typeof ii === 'object') {\r\n return i[this.valueField] === ii[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === ii;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return i[this.valueField] === this.value[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === this.value;\r\n }\r\n }\r\n });\r\n }\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(ii => () => {\r\n //&& ii[this.textField]\r\n if (typeof ii === 'object') {\r\n return ii;\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n return fake;\r\n }\r\n });\r\n }\r\n else {\r\n //&& this.value[this.textField]\r\n if (typeof this.value === 'object') {\r\n return [this.value];\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n return [fake];\r\n }\r\n }\r\n };\r\n this._selectedItems = func();\r\n }\r\n\r\n _getItemByDataMode(item: any) {\r\n return this.selectionMode === 'item' ? item : item[this.valueField];\r\n }\r\n\r\n _getItemValue(item: any) {\r\n return typeof item === 'object' ? item[this.valueField] : item;\r\n }\r\n\r\n\r\n\r\n unselectItems(...items: any[]) {\r\n if (!items || items.length === 0) {\r\n this.value = null;\r\n }\r\n else if (Array.isArray(this.value)) {\r\n this.value = this.value.filter(c => !items.some(d =>\r\n this._getItemValue(c) === this._getItemValue(d))\r\n );\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n }\r\n\r\n selectItems(...items: any[]) {\r\n if (items && items.length) {\r\n if (this.multiple) {\r\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\r\n }\r\n else {\r\n this.value = this._getItemByDataMode(items[0]);\r\n }\r\n }\r\n }\r\n\r\n toggleSelect(...items: any[]) {\r\n if (items && items.length) {\r\n items.forEach(item => {\r\n if (this.multiple) {\r\n this.selectedItems.includes(item) ? this.unselectItems(item) : this.selectItems(item);\r\n }\r\n else {\r\n this.selectItems(item)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isItemSelected(item: any): boolean {\r\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\r\n }\r\n }\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n size: AXElementSize;\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n if (!this.size) {\r\n this.size = AXConfig.get('layout.size');\r\n }\r\n super._onInternalInit();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SIZABLE_INPUTS = [\r\n 'size',\r\n];\r\nexport const SIZABLE_OUTPUT = [];","import {\r\n coerceBooleanProperty,\r\n coerceNumberProperty,\r\n} from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXValueChangedEvent } from '../events.class';\r\nimport { AXValidationRuleResult } from '../../validation/validation.class';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport function _ValueComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<\r\n AXValueChangedEvent<any>\r\n >();\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n #readonly: boolean = false;\r\n get readonly() {\r\n return this.#readonly;\r\n }\r\n set readonly(value: any) {\r\n this.#readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n #allowNull: boolean = true;\r\n get allowNull() {\r\n return this.#allowNull;\r\n }\r\n set allowNull(value: any) {\r\n this.#allowNull = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n #name: string;\r\n get name() {\r\n return this.#name;\r\n }\r\n set name(value: string) {\r\n this.#name = value;\r\n }\r\n\r\n #debounceTime: number = 50;\r\n get debounceTime() {\r\n return this.#debounceTime;\r\n }\r\n set debounceTime(value: any) {\r\n this.#debounceTime = coerceNumberProperty(value);\r\n }\r\n\r\n #valueSubscription = new Subscription();\r\n #valueSubject = new Subject();\r\n\r\n #value: any;\r\n public get value(): any {\r\n return this.#value;\r\n }\r\n public set value(v: any) {\r\n v = this._onValueChanging(v);\r\n if (!this._isInited) {\r\n this._setValue(v);\r\n } else {\r\n this.#valueSubject.next(v);\r\n }\r\n }\r\n\r\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\r\n this.valueChange.emit(newValue);\r\n this.onValueChanged.emit({\r\n component: this,\r\n value: newValue,\r\n oldValue: oldValue,\r\n name: this.name\r\n });\r\n this._onValueChanged(oldValue, this.#value);\r\n }\r\n\r\n _onValueChanging(value: any) {\r\n return value;\r\n }\r\n _onValueChanged(oldValue: any, newValue: any): void { }\r\n\r\n _onInternalInit() {\r\n this._getHostElement().setAttribute('ax-form-input', 'true');\r\n this.#valueSubscription = this.#valueSubject\r\n .pipe(debounceTime(this.#debounceTime))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((v) => {\r\n this._setValue(v);\r\n });\r\n super._onInternalInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.#valueSubscription.unsubscribe();\r\n super.onDestroy();\r\n }\r\n\r\n _setValue(v: any) {\r\n const old = this.#value;\r\n // TODO: check real equality\r\n if (v != old) {\r\n this.#value = v;\r\n this._emitOnValueChangedEvent(old, this.#value);\r\n this._cdr.markForCheck();\r\n if (v == null || v == undefined || v == '') {\r\n this._setErrorState('clear');\r\n } else {\r\n if (this._isInited) {\r\n this.validate();\r\n }\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n this.value = null;\r\n }\r\n\r\n validate(): Promise<AXValidationRuleResult> {\r\n const rules = Array.from(\r\n this._getHostElement().querySelectorAll('ax-validation-rule')\r\n ).filter((c) => (c as any).__axContext__.enabled);\r\n //\r\n if (!rules || rules.length === 0) {\r\n this._setErrorState('clear');\r\n return Promise.resolve({ result: true, value: this.value });\r\n }\r\n\r\n return new Promise<AXValidationRuleResult>((resolve) => {\r\n Promise.all(\r\n rules\r\n .filter((c) => typeof (c as any)?.validate === 'function')\r\n .map((c) => {\r\n return (c as any).validate(this.value);\r\n })\r\n ).then((d) => {\r\n const error = d.find((c) => c.result === false);\r\n if (error) {\r\n this._setErrorState('error', error.message);\r\n resolve({ result: false, value: this.value });\r\n } else {\r\n this._setErrorState('success');\r\n resolve({ result: true, value: this.value });\r\n }\r\n });\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _setErrorState(state: 'clear' | 'success' | 'error', ...args) {\r\n const container = this._getHostElement().querySelector(\r\n '.ax-editor-container'\r\n );\r\n const formField = container?.closest('.ax-form-field');\r\n const label = formField?.querySelector('.ax-label');\r\n const target = container || this._getInnerElement();\r\n const parent = target.parentElement;\r\n\r\n switch (state) {\r\n case 'clear':\r\n if (parent.querySelector('span.ax-error-msg')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-msg'));\r\n }\r\n label?.classList.remove('ax-state-error');\r\n target.classList.remove('ax-state-error', 'ax-state-success');\r\n break;\r\n case 'success':\r\n this._setErrorState('clear');\r\n target.classList.add('ax-state-success');\r\n break;\r\n case 'error':\r\n this._setErrorState('clear');\r\n if (args[0]) {\r\n const span = document.createElement('span');\r\n span.innerText = args[0];\r\n span.classList.add('ax-error-msg');\r\n parent.appendChild(span);\r\n }\r\n label?.classList.add('ax-state-error');\r\n target.classList.add('ax-state-error');\r\n break;\r\n }\r\n }\r\n }\r\n return Mixin;\r\n}\r\n\r\n\r\nexport const VALUE_INPUTS = [\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'debounceTime',\r\n 'name'\r\n];\r\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];","import { EventEmitter } from '@angular/core';\r\nimport { AXHtmlEvent } from '../events.class';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { VALUE_INPUTS, VALUE_OUTPUT } from './value-mixin.class';\r\n\r\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n placeholder: string;\r\n\r\n maxLength: string;\r\n\r\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n\r\n _emitOnKeydownEvent(e: KeyboardEvent) {\r\n this.onKeyDown.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', ...VALUE_INPUTS]\r\nexport const TEXTBOX_OUTPUT = [...VALUE_OUTPUT]","import { AXBaseComponent, _BaseComponenetMixin } from './base-components.class';\r\nimport { _ButtonComponentMixin } from './button-mixin.class';\r\nimport { _ClickableComponenetMixin } from './clickable-mixin.class';\r\nimport { _DatalistComponenetMixin } from './datalist-component.class';\r\nimport { _DropdownComponenetMixin } from './dropdown-mixin.class';\r\nimport { _InteractiveComponenetMixin } from './interactive-mixin.class';\r\nimport { _LoadingComponenetMixin } from './loading-mixin.class';\r\nimport { _SelectionComponenetMixin } from './selection-component.class';\r\nimport { _SizableComponenetMixin } from './sizable-mixin.class';\r\nimport { _TextboxComponenetMixin } from './textbox-mixin.class';\r\nimport { _ValueComponenetMixin } from './value-mixin.class';\r\n\r\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\r\n\r\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\r\n _BaseComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseClickableMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_ClickableComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(_LoadingComponenetMixin(_ButtonComponentMixin(AXBaseComponent)))\r\n )\r\n);\r\n\r\nexport const AXBaseValueComponentMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ValueComponenetMixin<any>(_TextboxComponenetMixin(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n )\r\n);\r\n\r\nexport const AXCalendarMixin = _ClickableComponenetMixin(_ButtonComponentMixin(_SizableComponenetMixin(AXBaseComponent)));\r\n","export class AXEvent {\r\n component: any;\r\n htmlElement?: HTMLElement;\r\n}\r\n\r\nexport class AXHtmlEvent<E extends Event> extends AXEvent {\r\n nativeEvent?: E;\r\n}\r\n\r\nexport class AXValueChangedEvent<T> extends AXEvent {\r\n name?: T;\r\n value?: T;\r\n oldValue?: T;\r\n isTriggred?: boolean;\r\n}\r\n\r\n\r\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\r\n data?: any\r\n}\r\n\r\n\r\nexport class AXButtonClickEvent extends AXHtmlEvent<MouseEvent> {\r\n name: string;\r\n}\r\n\r\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {\r\n}\r\n\r\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\r\n value?: any;\r\n oldValue?: any;\r\n isUserInput: boolean = false;\r\n selectedKeys?: any[];\r\n selectedItems?: any[];\r\n}","\r\nexport const AX_STYLE_TYPES = ['info', 'danger', 'success', 'warning'];\r\nexport type AXStyleType = 'info' | 'danger' | 'success' | 'warning';\r\n\r\nexport const AX_LOCATIONS = ['bottom-start', 'bottom-center', 'bottom-end', 'top-start', 'top-center', 'top-end'];\r\nexport type AXLocation = 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end';\r\n\r\n\r\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\r\nexport type AXDirection = 'vertical'| 'horizontal';","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Directive({ selector: '[ax-responsive]' })\r\nexport class AXResponsiveDirective implements OnDestroy {\r\n\r\n private _observer: ResizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n\r\n if (entry.target) {\r\n const e = entry.target;\r\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\r\n elements.map(c => ({\r\n element: c,\r\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\r\n })).forEach(c => {\r\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\r\n });\r\n }\r\n }\r\n });;\r\n\r\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\r\n this._observer.observe(_elementRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._observer.disconnect();\r\n this._observer.unobserve(this._elementRef.nativeElement);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { AXResponsiveDirective } from './responsive.directive';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [AXResponsiveDirective],\r\n declarations: [AXResponsiveDirective],\r\n providers: [],\r\n})\r\nexport class AXCommonModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, ViewChildren, QueryList } from '@angular/core';\r\nimport { AXBaseComponentMixin, AXStyleType } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-alert',\r\n templateUrl: './alert.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-alert ax-none' }\r\n})\r\nexport class AXAlertComponent extends AXBaseComponentMixin {\r\n\r\n\r\n _icon: string;\r\n\r\n\r\n @Input()\r\n type: AXStyleType;\r\n\r\n @Input()\r\n timeOut: number;\r\n\r\n\r\n\r\n #visible: boolean;\r\n @Input()\r\n public get visible(): boolean {\r\n return this.#visible;\r\n }\r\n public set visible(v: boolean) {\r\n if (this.#visible != v) {\r\n this.#visible = v;\r\n const host = this._getHostElement();\r\n if (v) {\r\n host.classList.remove('ax-none','animate__fadeOut');\r\n host.classList.add('animate__animated', 'animate__fadeIn', 'animate__fast');\r\n }\r\n else {\r\n host.classList.remove('animate__fadeIn');\r\n host.classList.add('animate__animated', 'animate__fadeOut', 'animate__fast');\r\n }\r\n }\r\n }\r\n\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n this._getHostElement().classList.add(`ax-${this.type}`);\r\n if (this.timeOut) {\r\n setTimeout(() => {\r\n this.dismiss()\r\n }, this.timeOut);\r\n }\r\n switch (this.type) {\r\n case 'success':\r\n this._icon = 'far fa-check-circle';\r\n break;\r\n case 'warning':\r\n this._icon = 'far fa-exclamation-triangle';\r\n break;\r\n case 'danger':\r\n this._icon = 'far fa-exclamation-circle';\r\n break;\r\n default:\r\n this._icon = 'fas fa-info-circle';\r\n break;\r\n }\r\n }\r\n\r\n onViewInit() {\r\n if (this.visible == undefined) {\r\n this.visible = true;\r\n }\r\n }\r\n\r\n\r\n dismiss() {\r\n const host = this._getHostElement();\r\n host.classList.add('animate__animated', 'animate__fadeOut', 'animate__fast');\r\n host.addEventListener('animationend', () => {\r\n host.parentElement.removeChild(host);\r\n });\r\n }\r\n\r\n hide() {\r\n this.visible = false;\r\n }\r\n\r\n show() {\r\n this.visible = true;\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-alert-title',\r\n template: `\r\n <ng-content>\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-alert-title' }\r\n})\r\nexport class AXAlertTitleComponent {\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute, HostListener } from '@angular/core';\r\nimport { AXBaseClickableMixin } from '../base';\r\nimport { BUTTON_OUTPUT } from '../base/mixin/button-mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-alert-button',\r\n template: `\r\n {{title}}\r\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n outputs: [...BUTTON_OUTPUT],\r\n host: { class: 'ax-alert-button' }\r\n})\r\nexport class AXAlertButtonComponent extends AXBaseClickableMixin {\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n icon: string;\r\n\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr)\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n _handleOnClick(e) {\r\n this._emitOnClickEvent(e);\r\n }\r\n\r\n @HostListener('focus', ['$event'])\r\n _handleOnFocus(e) {\r\n this._emitOnFocusEvent(e);\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n _handleOnBlur(e) {\r\n this._emitOnBlurEvent(e);\r\n }\r\n\r\n\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-alert-content',\r\n template: `\r\n <ng-content>\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-alert-content' }\r\n})\r\nexport class AXAlertContentComponent {\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-alert-suffix',\r\n template: `\r\n <div class=\"ax-alert-buttons\">\r\n <ng-content select=\"ax-alert-button\">\r\n </ng-content>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-alert-suffix' }\r\n})\r\nexport class AXAlertSuffixComponent {\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-alert-footer',\r\n template: `\r\n <div class=\"ax-alert-buttons\">\r\n <ng-content select=\"ax-alert-button\">\r\n </ng-content>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-alert-footer' }\r\n})\r\nexport class AXAlertFooterComponent {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXAlertComponent } from './alert.component';\r\nimport { AXAlertContentComponent } from './alert-contnet.component';\r\nimport { AXAlertTitleComponent } from './alert-title.component';\r\nimport { AXAlertButtonComponent } from './alert-button.component';\r\nimport { AXAlertFooterComponent } from './alert-footer.component';\r\nimport { AXAlertSuffixComponent } from './alert-suffix.component';\r\n\r\nconst COMPONENT = [\r\n AXAlertComponent,\r\n AXAlertContentComponent,\r\n AXAlertTitleComponent,\r\n AXAlertButtonComponent,\r\n AXAlertFooterComponent,\r\n AXAlertSuffixComponent\r\n];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXAlertModule { }\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base/mixin/mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-form-field',\r\n template: '<div class=\"ax-form-field\"><ng-content></ng-content></div>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base/mixin/mixin.class';\r\nimport { AXValidationResult } from '../validation/validation.class';\r\n\r\n@Component({\r\n selector: 'ax-form',\r\n template: '<div class=\"ax-form\"><ng-content></ng-content></div>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n _getComponenets() {\r\n return Array.from(this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]'));\r\n }\r\n\r\n validate(): Promise<AXValidationResult> {\r\n const widgets = this._getComponenets();\r\n //\r\n return new Promise<AXValidationResult>((resolve, reject) => {\r\n if (widgets.length === 0) {\r\n return Promise.resolve({ result: true });\r\n }\r\n Promise.all(widgets.map((c) => (c as any).__axContext__.validate())).then((rules: any) => {\r\n const failed = rules.filter((c: any) => !c.result);\r\n if (failed.length) {\r\n reject({\r\n result: false,\r\n items: failed\r\n });\r\n }\r\n else {\r\n resolve({ result: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n clear() {\r\n const widgets = this._getComponenets();\r\n widgets.forEach(w => {\r\n (w as any).__axContext__.clear();\r\n });\r\n\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AXFormFieldComponent } from './form-field.component';\r\nimport { AXFormComponent } from './form.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [AXFormFieldComponent, AXFormComponent],\r\n declarations: [AXFormFieldComponent, AXFormComponent],\r\n providers: [],\r\n})\r\nexport class AXFormModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXSizableComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-label',\r\n templateUrl: './label.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXLabelComponent extends AXSizableComponentMixin {\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLabelComponent } from './label.component';\r\n\r\nconst COMPONENT = [AXLabelComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXLabelModule { }","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { BUTTON_INPUTS } from '../base/mixin/button-mixin.class';\r\nimport { AXBaseButtonMixin } from '../base/mixin/mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-button',\r\n templateUrl: 'button.component.html',\r\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', 'cssStyle','loading','loadingText', ...BUTTON_INPUTS],\r\n outputs: ['onClick', 'onBlur', 'onFocus'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXButtonComponent extends AXBaseButtonMixin {\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr)\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onKeydownHandler(e: KeyboardEvent) {\r\n if (this.cancelBehavior) {\r\n this._emitOnClickEvent(e as any);\r\n e.stopPropagation();\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n}","import {\r\n Overlay,\r\n OverlayKeyboardDispatcher,\r\n OverlayPositionBuilder,\r\n ScrollStrategyOptions,\r\n OverlayContainer,\r\n OverlayRef,\r\n OverlayConfig,\r\n OverlayOutsideClickDispatcher\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n RendererFactory2,\r\n Injectable,\r\n} from '@angular/core';\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DynamicOverlayContainer extends OverlayContainer {\r\n public setContainerElement(containerElement: HTMLElement): void {\r\n this._containerElement = containerElement;\r\n }\r\n}\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DynamicOverlay extends Overlay {\r\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n scrollStrategies: ScrollStrategyOptions,\r\n _overlayContainer: DynamicOverlayContainer,\r\n _componentFactoryResolver: ComponentFactoryResolver,\r\n _positionBuilder: OverlayPositionBuilder,\r\n _keyboardDispatcher: OverlayKeyboardDispatcher,\r\n _injector: Injector,\r\n _ngZone: NgZone,\r\n @Inject(DOCUMENT) _document: any,\r\n _directionality: Directionality,\r\n rendererFactory: RendererFactory2,\r\n _location: Location,\r\n _outsideClickDispatcher: OverlayOutsideClickDispatcher,\r\n ) {\r\n super(\r\n scrollStrategies,\r\n _overlayContainer,\r\n _componentFactoryResolver,\r\n _positionBuilder,\r\n _keyboardDispatcher,\r\n _injector,\r\n _ngZone,\r\n _document,\r\n _directionality,\r\n _location,\r\n _outsideClickDispatcher,\r\n );\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n this._dynamicOverlayContainer = _overlayContainer;\r\n }\r\n\r\n private setContainerElement(containerElement: HTMLElement): void {\r\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\r\n this._dynamicOverlayContainer.setContainerElement(containerElement);\r\n }\r\n\r\n public createOn(containerElement: HTMLElement, config?: OverlayConfig): OverlayRef {\r\n this.setContainerElement(containerElement);\r\n return super.create(config);\r\n }\r\n}","import { Injectable, ApplicationRef, ViewContainerRef, TemplateRef, EventEmitter } from '@angular/core';\r\nimport { Overlay, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\r\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXConnectedPosition } from '.';\r\nimport { merge } from 'rxjs';\r\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\r\n\r\nexport interface AXOverlayViewRef {\r\n instance: any;\r\n dispose: () => void;\r\n isOpen: () => boolean;\r\n}\r\n\r\nexport interface AXOverlayConfigs {\r\n position?: AXConnectedPosition | AXConnectedPosition[];\r\n hasBackdrop?: boolean;\r\n transparentBackdrop?: boolean;\r\n closeOnClickOutside?: boolean;\r\n targetElement?: HTMLElement;\r\n containerElement?: HTMLElement;\r\n onBackdropClick?: () => void;\r\n panelClass?: string[] | string;\r\n backdropClass?: string[] | string;\r\n scroll?: 'auto' | 'block' | 'close';\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXOverlayService {\r\n constructor(\r\n private overlayService: DynamicOverlay,\r\n private overlayService2: Overlay,\r\n private appRef: ApplicationRef) {\r\n\r\n }\r\n\r\n show(content: any, context?: any, configs?: AXOverlayConfigs): AXOverlayViewRef {\r\n configs = Object.assign({\r\n hasBackdrop: true,\r\n transparentBackdrop: true,\r\n closeOnClickOutside: true\r\n }, configs || {});\r\n // get root viewref\r\n const viewRef: ViewContainerRef = this.appRef.components[0].instance.viewRef;\r\n\r\n let portal: Portal<any>;\r\n // get component by route\r\n if (typeof content === 'string') {\r\n // TODO\r\n }\r\n // create portal from component\r\n else if (content instanceof TemplateRef) {\r\n portal = new TemplatePortal(content, viewRef, context);\r\n }\r\n else if (typeof content === 'function') {\r\n portal = new ComponentPortal(content, viewRef);\r\n }\r\n let positionStrategy: PositionStrategy;\r\n if (configs.position && configs.targetElement) {\r\n positionStrategy = this.overlayService.position()\r\n .flexibleConnectedTo(configs.targetElement)\r\n .withPositions(\r\n Array.isArray(configs.position) ? configs.position : [configs.position]\r\n )\r\n .withPush(true);\r\n }\r\n else {\r\n positionStrategy = this.overlayService.position().global().centerHorizontally().centerVertically();\r\n }\r\n let scrollStrategy: ScrollStrategy = this.overlayService.scrollStrategies.reposition({ autoClose: true });\r\n if (configs.scroll === 'block') {\r\n scrollStrategy = this.overlayService.scrollStrategies.block();\r\n }\r\n if (configs.scroll === 'close') {\r\n scrollStrategy = this.overlayService.scrollStrategies.close();\r\n }\r\n\r\n const config = {\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: configs.hasBackdrop,\r\n disposeOnNavigation: true,\r\n backdropClass: configs.backdropClass ? configs.backdropClass : (configs.transparentBackdrop ? 'cdk-overlay-transparent-backdrop' : undefined),\r\n panelClass: configs.panelClass ? configs.panelClass : ['animate__animated', 'animate__fadeIn','animate__faster']\r\n };\r\n // joon nanat dorost sho\r\n let overlayRef = configs.containerElement ? this.overlayService.createOn(configs.containerElement, config) : this.overlayService2.create(config);\r\n\r\n const host = overlayRef.attach(portal);\r\n if (host.instance) {\r\n Object.assign(host.instance, context);\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n if (configs.closeOnClickOutside) {\r\n merge(\r\n overlayRef.backdropClick(),\r\n overlayRef.detachments(),\r\n ).subscribe(() => {\r\n overlayRef.dispose();\r\n overlayRef = undefined;\r\n if (configs.onBackdropClick) {\r\n configs.onBackdropClick();\r\n }\r\n });\r\n\r\n }\r\n return {\r\n instance: host.instance,\r\n dispose: overlayRef.dispose.bind(overlayRef),\r\n isOpen: () => {\r\n return overlayRef.hasAttached();\r\n }\r\n };\r\n }\r\n\r\n}","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AXButtonItem } from './button-item.class';\r\n\r\n@Component({\r\n selector: 'ax-button-item',\r\n template: `\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n\r\nexport class AXButtonItemComponent implements AXButtonItem {\r\n\r\n @Input()\r\n cssClass: string;\r\n\r\n @Input()\r\n text: string = null;\r\n\r\n @Input()\r\n tooltip: string = null;\r\n\r\n @Input()\r\n iconClass: string;\r\n\r\n @Input()\r\n iconClassAfter: string;\r\n\r\n @Input()\r\n iconClassBefore: string;\r\n\r\n @Input()\r\n badge: string = null;\r\n\r\n location: 'before' | 'after';\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n selected: boolean = false;\r\n\r\n \r\n @Input()\r\n seperated: boolean = false;\r\n\r\n @Input()\r\n name: string;\r\n\r\n @Input()\r\n data: any;\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { AXBaseComponent, AXClickEvent } from '../base';\r\nimport { BUTTON_INPUTS, _ButtonComponentMixin } from '../base/mixin/button-mixin.class';\r\nimport { _ClickableComponenetMixin } from '../base/mixin/clickable-mixin.class';\r\nimport { _DatalistComponenetMixin } from '../base/mixin/datalist-component.class';\r\nimport { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';\r\nimport { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';\r\nimport { _SizableComponenetMixin } from '../base/mixin/sizable-mixin.class';\r\nimport { _ValueComponenetMixin } from '../base/mixin/value-mixin.class';\r\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\r\nimport { AXButtonItem } from './button-item.class';\r\nimport { AXButtonItemComponent } from './button-item.component';\r\n\r\nexport const AXBaseDropdownButtonMixin =\r\n _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(\r\n _ButtonComponentMixin(\r\n _DatalistComponenetMixin(\r\n _ValueComponenetMixin<any>(AXBaseComponent)\r\n )\r\n )\r\n )\r\n )\r\n )\r\n\r\n@Component({\r\n selector: 'ax-dropdown-button',\r\n templateUrl: 'dropdown-button.component.html',\r\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', ...BUTTON_INPUTS],\r\n outputs: ['onClick', 'onBlur', 'onFocus'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { class: 'ax-dropdown-button' }\r\n})\r\nexport class AXDropdownButtonComponent extends AXBaseDropdownButtonMixin {\r\n\r\n @ContentChildren(AXButtonItemComponent) _contentButtons: QueryList<AXButtonItemComponent>;\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnItemClickEvent(e: MouseEvent, item: any): void {\r\n this.onItemClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e,\r\n data: item\r\n });\r\n this.close();\r\n }\r\n\r\n\r\n private _items: AXButtonItem[];\r\n @Input()\r\n public get items(): AXButtonItem[] {\r\n return this._items || [];\r\n }\r\n public set items(v: AXButtonItem[]) {\r\n this._items = v;\r\n this._calcButtons();\r\n }\r\n\r\n _buttons: any = [];\r\n\r\n _dropdownWidth: number = 100;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private overlayService: AXOverlayService) {\r\n super(elementRef, cdr)\r\n }\r\n\r\n\r\n private _calcButtons(): void {\r\n this._buttons = [...this.items, ...Array.from(this._contentButtons || [])];\r\n this._cdr.markForCheck();\r\n }\r\n\r\n onViewInit() {\r\n setTimeout(() => {\r\n this._dropdownWidth = this._getHostElement().offsetWidth * 1.5;\r\n }, 500);\r\n //\r\n this._calcButtons();\r\n }\r\n\r\n @Input()\r\n dropdownIcon: string = 'ax-ic-expand-more icon';\r\n\r\n @Input()\r\n splitedbutton: boolean = true;\r\n\r\n private overlay: AXOverlayViewRef;\r\n @ViewChild('tpl')\r\n private template: TemplateRef<any>;\r\n\r\n\r\n open() {\r\n if (this.isOpen) {\r\n return;\r\n }\r\n this.overlay = this.overlayService.show(this.template, {}, {\r\n closeOnClickOutside: true,\r\n targetElement: this._getHostElement(),\r\n hasBackdrop: true,\r\n scroll:'close',\r\n position: {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: 2,\r\n },\r\n onBackdropClick: () => {\r\n this.close()\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n if (this.overlay) {\r\n this.overlay.dispose();\r\n }\r\n }\r\n\r\n _emitOnClickEvent(e) {\r\n if (this.splitedbutton) {\r\n super._emitOnClickEvent(e);\r\n }\r\n else {\r\n this.open();\r\n }\r\n }\r\n\r\n\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, Output, QueryList, ViewEncapsulation } from \"@angular/core\";\r\nimport { AXClickEvent, AXInteractiveComponenetMixin } from \"../base\";\r\nimport { AXButtonItem } from \"./button-item.class\";\r\nimport { AXButtonItemComponent } from \"./button-item.component\";\r\n\r\n@Component({\r\n selector: 'ax-button-group',\r\n templateUrl: 'button-group.component.html',\r\n inputs: ['cssClass', 'size', 'cssStyle', 'rtl', 'disabled'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { class: 'ax-button-group', role: 'group' }\r\n})\r\nexport class AXButtonGroupComponent extends AXInteractiveComponenetMixin {\r\n\r\n @ContentChildren(AXButtonItemComponent) _contentButtons: QueryList<AXButtonItemComponent>;\r\n\r\n private _items: AXButtonItem[] = [];\r\n @Input()\r\n public get items(): AXButtonItem[] {\r\n return this._items;\r\n }\r\n public set items(v: AXButtonItem[]) {\r\n this._items = v;\r\n this._calcButtons();\r\n }\r\n\r\n\r\n @Input()\r\n multiple: boolean = false;\r\n\r\n @Input()\r\n selectable: boolean = false;\r\n\r\n _buttons: AXButtonItem[] = [];\r\n\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private zone: NgZone,\r\n cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr)\r\n }\r\n\r\n onViewInit() {\r\n this._calcButtons();\r\n }\r\n\r\n private _calcButtons(): void {\r\n this._buttons = [...this.items, ...Array.from(this._contentButtons || [])];\r\n this._cdr.detectChanges();\r\n }\r\n\r\n _handleClickEvent(e: MouseEvent, button: AXButtonItem) {\r\n const nativeButton = (e.target as HTMLButtonElement);\r\n if (this.selectable) {\r\n if (this.multiple) {\r\n button.selected = !button.selected;\r\n }\r\n else {\r\n this._buttons.forEach(c => {\r\n c.selected = false;\r\n })\r\n button.selected = true;\r\n }\r\n }\r\n this.onItemClick.emit({\r\n component: this,\r\n htmlElement: nativeButton,\r\n data: button,\r\n nativeEvent: e\r\n });\r\n\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { AXButtonGroupComponent } from './button-group.component';\r\nimport { AXButtonItemComponent } from './button-item.component';\r\nimport { AXButtonComponent } from './button.component';\r\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\r\n\r\n\r\nconst COMPONENT = [\r\n AXButtonComponent, \r\n AXDropdownButtonComponent, \r\n AXButtonItemComponent, \r\n AXButtonGroupComponent\r\n];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n imports: [MODULES],\r\n exports: [COMPONENT],\r\n declarations: [COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXButtonModule { }\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n} from '@angular/core';\r\nimport { AXBaseComponentMixin, AXCalendarMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-calendar',\r\n templateUrl: './calendar.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', 'cssStyle'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXCalendarComponent extends AXCalendarMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n this.createYears();\r\n }\r\n @Input()\r\n actionBar: boolean = false;\r\n\r\n @Input()\r\n showTime: boolean = false;\r\n\r\n dayItems: number[] = new Array(32);\r\n yearItems: number[] = [1990];\r\n monthItems: string[] = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December',\r\n ];\r\n\r\n _showDays: boolean = true;\r\n _showsMonths: boolean = false;\r\n _showYears: boolean = false;\r\n\r\n showMonths() {\r\n this._showDays = false;\r\n this._showYears = false;\r\n this._showsMonths = true;\r\n }\r\n\r\n showYears() {\r\n this._showsMonths = false;\r\n this._showDays = false;\r\n this._showYears = true;\r\n }\r\n\r\n showDays() {\r\n this._showYears = false;\r\n this._showsMonths = false;\r\n this._showDays = true;\r\n }\r\n\r\n createYears() {\r\n let number = 1990;\r\n for (let i = 0; i < 40; i++) {\r\n number = number + 1;\r\n this.yearItems.push(number);\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-input-mask',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXInputMaskComponent {\r\n\r\n \r\n private _prefix : string;\r\n @Input()\r\n public get prefix() : string {\r\n return this._prefix || '';\r\n }\r\n public set prefix(v : string) {\r\n this._prefix = v;\r\n }\r\n\r\n\r\n \r\n private _suffix : string;\r\n @Input()\r\n public get suffix() : string {\r\n return this._suffix || '';\r\n }\r\n public set suffix(v : string) {\r\n this._suffix = v;\r\n }\r\n \r\n \r\n\r\n @Input()\r\n showMaskTyped: boolean = false;\r\n\r\n @Input()\r\n clearIfNotMatch: boolean = false;\r\n\r\n @Input()\r\n mask: string;\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXInputMaskComponent } from './input-mask.component';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nconst COMPONENT = [AXInputMaskComponent];\r\nconst MODULES = [CommonModule, NgxMaskModule.forRoot()];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXInputMaskModule { }\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostBinding,\r\n OnInit,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AXBaseTextBoxMixin } from '../base/mixin/mixin.class';\r\nimport {\r\n TEXTBOX_INPUTS,\r\n TEXTBOX_OUTPUT,\r\n} from '../base/mixin/textbox-mixin.class';\r\nimport { AXButtonComponent } from '../button';\r\nimport { AXInputMaskComponent } from '../input-mask';\r\n\r\n@Component({\r\n selector: 'ax-text-box',\r\n templateUrl: 'textbox.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'cssClass',\r\n 'size',\r\n ...TEXTBOX_INPUTS,\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus',\r\n ...TEXTBOX_OUTPUT,\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { class: 'ax-text-box ax-editor-container' },\r\n})\r\nexport class AXTextBoxComponent extends AXBaseTextBoxMixin {\r\n @ContentChild(AXInputMaskComponent)\r\n _contentMask: AXInputMaskComponent;\r\n\r\n //TODO: prefix suffix text\r\n\r\n\r\n @HostBinding('class')\r\n get hostClass(): string {\r\n return `${this.cssClass} ax-${this.size}`;\r\n }\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-prefix',\r\n template: `\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n <ng-content select=\"ax-dropdown-button\">\r\n </ng-content>\r\n <ng-content select=\"ax-icon\">\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-prefix' }\r\n})\r\nexport class AXDecoratorPrefixComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-suffix',\r\n template: `\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n <ng-content select=\"ax-dropdown-button\">\r\n </ng-content>\r\n <ng-content select=\"ax-icon\">\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-suffix' }\r\n})\r\nexport class AXDecoratorSuffixComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDecoratorPrefixComponent } from './prefix.component';\r\nimport { AXDecoratorSuffixComponent } from './suffix.component';\r\n\r\nconst COMPONENT = [AXDecoratorPrefixComponent, AXDecoratorSuffixComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXEditorDecoratorModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { AXButtonModule } from '../button';\r\nimport { AXEditorDecoratorModule } from '../decorators';\r\nimport { AXTextBoxComponent } from './textbox.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n FormsModule, \r\n AXButtonModule,\r\n AXEditorDecoratorModule,\r\n NgxMaskModule.forChild()\r\n ],\r\n exports: [AXTextBoxComponent],\r\n declarations: [AXTextBoxComponent],\r\n providers: [],\r\n})\r\nexport class AXTextBoxModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXCalendarComponent } from './calendar.component';\r\nimport { AXButtonModule } from '../button';\r\nimport { AXTextBoxModule } from '../textbox';\r\nimport { AXInputMaskModule } from '../input-mask';\r\n\r\nconst COMPONENT = [AXCalendarComponent];\r\nconst MODULES = [CommonModule, AXButtonModule, AXTextBoxModule, AXInputMaskModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXCalendarModule { }\r\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\r\nimport { AXClickEvent } from '../base/events.class';\r\nimport { DropdownComponentInterface } from '../base/mixin/dropdown-mixin.class';\r\nimport { AXBaseDropdownMixin } from '../base/mixin/mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-drop-down',\r\n templateUrl: 'dropdown.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent'],\r\n outputs: ['onOpened', 'onClosed'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { class: 'ax-dropdown' }\r\n})\r\nexport class AXDropdownComponent extends AXBaseDropdownMixin implements DropdownComponentInterface {\r\n\r\n @ViewChild('baseTemplate')\r\n _baseTemplate: TemplateRef<any>;\r\n #overlayRef: OverlayRef;\r\n #templatePortal: TemplatePortal;\r\n\r\n _dropdownWidth: number;\r\n\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private overlay: Overlay,\r\n private viewContainerRef: ViewContainerRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n\r\n onViewInit() {\r\n setTimeout(() => {\r\n if (this.fitParent === true) {\r\n this._dropdownWidth = this._getInnerElement().offsetWidth;\r\n } else {\r\n this._dropdownWidth = null;\r\n }\r\n }, 500);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.#overlayRef?.detach();\r\n this.#overlayRef?.dispose();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n _handleKeydownHandler(e: KeyboardEvent) {\r\n if (e.key === 'Enter' && e.type === 'keydown') {\r\n this.toggle();\r\n }\r\n if (e.key === 'Escape') {\r\n if (this.isOpen) {\r\n this.close();\r\n e.stopPropagation();\r\n }\r\n }\r\n }\r\n\r\n _handleArrowClickEvent(e: AXClickEvent) {\r\n this.toggle();\r\n }\r\n\r\n\r\n toggle() {\r\n if (this.disabled !== true && this.readonly !== true) {\r\n this.isOpen ? this.close() : this.open();\r\n }\r\n }\r\n\r\n close() {\r\n if (!this.isOpen) {\r\n return;\r\n }\r\n this.#overlayRef?.detach();\r\n this._emitOnClosedEvent();\r\n }\r\n\r\n open() {\r\n if (this.isOpen) {\r\n return;\r\n }\r\n this._ensureOverlayCreated();\r\n this.#overlayRef.attach(this.#templatePortal);\r\n this._emitOnOpenedEvent();\r\n }\r\n\r\n private _ensureOverlayCreated() {\r\n let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\r\n\r\n if (!this.#overlayRef) {\r\n const positionStrategy = this.overlay.position()\r\n .flexibleConnectedTo(this._getInnerElement())\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: baseSize\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n }\r\n ])\r\n .withPush(false);\r\n this.#overlayRef = this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\r\n hasBackdrop: true,\r\n backdropClass: ['cdk-overlay-transparent-backdrop']\r\n });\r\n this.#overlayRef.backdropClick().subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n if (!this.#templatePortal) {\r\n this.#templatePortal = new TemplatePortal(this._baseTemplate, this.viewContainerRef);\r\n }\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.#overlayRef ? this.#overlayRef.hasAttached() : false;\r\n }\r\n}","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { NgModule } from '@angular/core';\r\nimport { AXButtonModule } from '../button';\r\n\r\nimport { AXDropdownComponent } from './dropdown.component';\r\n\r\n@NgModule({\r\n imports: [AXButtonModule,OverlayModule],\r\n exports: [AXDropdownComponent],\r\n declarations: [AXDropdownComponent],\r\n providers: [],\r\n})\r\nexport class AXDropdownModule { }\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, NgZone, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\r\nimport { AXBaseSelectionDropdownMixin } from '../base';\r\nimport { DropdownComponentInterface } from '../base/mixin/dropdown-mixin.class';\r\nimport { AXDropdownComponent } from '../dropdown';\r\n\r\n@Component({\r\n selector: 'ax-select-box',\r\n templateUrl: 'selectbox.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent', 'value', 'items', 'multiple', 'allowNull', 'valueField', 'textField'],\r\n outputs: ['onOpened', 'onClosed', 'valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { 'class': 'ax-select-box' }\r\n})\r\nexport class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin implements DropdownComponentInterface {\r\n\r\n @ViewChild(AXDropdownComponent)\r\n private dropdown: AXDropdownComponent;\r\n\r\n @ViewChild('listContainer', { static: true })\r\n private listContainer: ElementRef<HTMLDivElement>;\r\n\r\n\r\n _currentfocusedIndex: number = -1;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private zone: NgZone\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n open(): void {\r\n this.dropdown.open();\r\n }\r\n close(): void {\r\n this.dropdown.close();\r\n }\r\n toggle(): void {\r\n this.dropdown.toggle();\r\n }\r\n\r\n\r\n onViewInit() {\r\n this.dropdown.onOpened.subscribe(() => {\r\n this._focusSelectedItem();\r\n });\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.dropdown.isOpen;\r\n }\r\n\r\n\r\n _handleOnItemClick(e: MouseEvent, item: any) {\r\n this.close();\r\n this.toggleSelect(item);\r\n }\r\n\r\n _handleListScroll(e: UIEvent) {\r\n const list = e.target as HTMLDivElement;\r\n if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {\r\n return;\r\n }\r\n this._fetchData();\r\n }\r\n\r\n private _checkForLoadData() {\r\n const list = this.listContainer.nativeElement;\r\n if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n _onDataLoaded() {\r\n setTimeout(() => {\r\n this._checkForLoadData();\r\n }, 100);\r\n }\r\n\r\n _handleOnRemoveItemClick(e: MouseEvent, item: any) {\r\n this.unselectItems(item)\r\n e.stopPropagation();\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n _handleKeydown(e: KeyboardEvent) {\r\n if (!(\r\n this._getHostElement() == document.activeElement ||\r\n this._getHostElement().contains(document.activeElement) ||\r\n this.listContainer.nativeElement.contains(document.activeElement)\r\n )) {\r\n return;\r\n }\r\n\r\n if (e.key === 'Escape' || this.disabled || this.readonly) {\r\n this.close();\r\n e.preventDefault();\r\n return;\r\n }\r\n const isLetter = new RegExp(/[a-zA-Z0-9\\-]/).test(String.fromCharCode(e.keyCode));\r\n if (e.key === 'Backspace' && e.type === 'keydown' &&\r\n ((this.allowNull === true && this.selectedItems.length > 0) ||\r\n (this.allowNull !== true && this.selectedItems.length > 1))) {\r\n this.isUserInput = true;\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n return;\r\n }\r\n else if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0 && !this.dropdown.isOpen && e.type === 'keydown') {\r\n if (this.multiple) {\r\n this.open();\r\n }\r\n else {\r\n this.isUserInput = true;\r\n if (e.ctrlKey) {\r\n this.open();\r\n }\r\n else {\r\n this._selectedItemByIndex(this._currentfocusedIndex + (e.key === 'ArrowDown' ? 1 : -1));\r\n }\r\n }\r\n e.preventDefault();\r\n return;\r\n }\r\n else if (isLetter) {\r\n this.text = e.key;\r\n this.open();\r\n e.preventDefault();\r\n return;\r\n }\r\n if (this.dropdown.isOpen) {\r\n if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0) {\r\n this.isUserInput = true;\r\n this._focusItemByNav((e.key === 'ArrowDown' ? 1 : -1));\r\n if (!this.multiple) {\r\n this.selectItems(this.displayItems[this._currentfocusedIndex]);\r\n }\r\n e.preventDefault();\r\n return;\r\n }\r\n if ((e.key === 'Enter' || e.code === 'Space')) {\r\n const focusedItem = this.displayItems[this._currentfocusedIndex];\r\n if (focusedItem) {\r\n if (this.multiple) {\r\n this.isUserInput = true;\r\n this.toggleSelect(focusedItem);\r\n }\r\n else {\r\n this.isUserInput = true;\r\n this.selectItems(focusedItem);\r\n this.close();\r\n }\r\n }\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n private _focusItemByNav(sign: -1 | 1 | null = null): void {\r\n if (sign == null) {\r\n const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];\r\n this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;\r\n }\r\n else {\r\n sign === -1 ? this._currentfocusedIndex-- : this._currentfocusedIndex++;\r\n }\r\n if (this._currentfocusedIndex < 0) {\r\n this._currentfocusedIndex = 0;\r\n }\r\n if (this._currentfocusedIndex > this.displayItems.length - 1) {\r\n this._currentfocusedIndex = this.displayItems.length - 1;\r\n }\r\n\r\n // set scroll\r\n this._focusItemByIndex(this._currentfocusedIndex);\r\n }\r\n\r\n private _focusItemByIndex(inedx: number) {\r\n if (this.listContainer) {\r\n this.zone.runOutsideAngular(() => {\r\n const itemDiv = this.listContainer.nativeElement.querySelector<HTMLElement>(`.ax-list-item:nth-child(${inedx + 1})`);\r\n if (itemDiv) {\r\n itemDiv.focus();\r\n itemDiv.scrollIntoView({ behavior: 'auto' });\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _focusSelectedItem() {\r\n const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];\r\n this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;\r\n this._focusItemByIndex(this._currentfocusedIndex);\r\n }\r\n\r\n private _selectedItemByIndex(index: number) {\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n if (index > this.displayItems.length - 1) {\r\n index = this.displayItems.length - 1;\r\n }\r\n this.selectItems(this.displayItems[index]);\r\n this._currentfocusedIndex = index;\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXButtonModule } from '../button';\r\nimport { AXDropdownModule } from '../dropdown';\r\n\r\nimport { AXSelectBoxComponent } from './selectbox.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, AXDropdownModule, FormsModule],\r\n exports: [AXSelectBoxComponent],\r\n declarations: [AXSelectBoxComponent],\r\n providers: [],\r\n})\r\nexport class AXSelectBoxModule { }\r\n","import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, ElementRef } from '@angular/core';\r\nimport { AXBaseValueComponentMixin } from '../base';\r\nimport { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-switch',\r\n templateUrl: './switch.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'cssClass', 'cssStyle', ...VALUE_INPUTS],\r\n outputs: ['onBlur', 'onFocus', ...VALUE_OUTPUT],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXSwitchComponent extends AXBaseValueComponentMixin {\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n handleOnClickEvent(e: MouseEvent) {\r\n if (this.readonly || this.disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXSwitchComponent } from './switch.component';\r\n\r\n@NgModule({\r\n declarations: [AXSwitchComponent],\r\n imports: [CommonModule, FormsModule],\r\n exports: [AXSwitchComponent],\r\n entryComponents: [AXSwitchComponent],\r\n providers: [],\r\n})\r\nexport class AXSwitchModule {\r\n\r\n}","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-datepicker',\r\n templateUrl: './datepicker.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXDatepickerComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n this.createYears();\r\n }\r\n dayItems: number[] = new Array(32);\r\n yearItems: number[] = [1990];\r\n monthItems: string[] = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December',\r\n ];\r\n\r\n _showDays: boolean = true;\r\n _showsMonths: boolean = false;\r\n _showYears: boolean = false;\r\n\r\n showMonths() {\r\n this._showDays = false;\r\n this._showYears = false;\r\n this._showsMonths = true;\r\n }\r\n\r\n showYears() {\r\n this._showsMonths = false;\r\n this._showDays = false;\r\n this._showYears = true;\r\n }\r\n\r\n showDays() {\r\n this._showYears = false;\r\n this._showsMonths = false;\r\n this._showDays = true;\r\n }\r\n\r\n createYears() {\r\n let number = 1990;\r\n for (let i = 0; i < 40; i++) {\r\n number = number + 1;\r\n this.yearItems.push(number);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDatepickerComponent } from './datepicker.component';\r\nimport { AXCalendarModule } from '../calendar';\r\nimport { AXDropdownModule } from '../dropdown';\r\n\r\nconst COMPONENT = [AXDatepickerComponent];\r\nconst MODULES = [CommonModule, AXCalendarModule, AXDropdownModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXDatepickerModule { }\r\n","import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Input } from '@angular/core';\r\nimport { AXBaseValueComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-check-box',\r\n templateUrl: './checkbox.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value'],\r\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXCheckBoxComponent extends AXBaseValueComponentMixin {\r\n\r\n //TODO: apply it\r\n @Input()\r\n indeterminate: boolean = false;\r\n\r\n @Input()\r\n label: string = 'checkbox';\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n onInit() {\r\n super.onInit();\r\n if (!this.indeterminate && this.value == null) {\r\n this.value = false;\r\n }\r\n }\r\n\r\n\r\n _handleOnClickEvent(e: MouseEvent) {\r\n if (this.readonly || this.disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXCheckBoxComponent } from './checkbox.component';\r\n@NgModule({\r\n declarations: [AXCheckBoxComponent],\r\n imports: [CommonModule, FormsModule],\r\n exports: [AXCheckBoxComponent],\r\n providers: [],\r\n})\r\nexport class AXCheckBoxModule {}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\r\nimport { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';\r\nimport { AXTranslator } from '@acorex/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n\r\n// @dynamic\r\nexport class AXValidationRules {\r\n private static registredRules: { name: string, rule: AXValidationRule }[] = [];\r\n\r\n public static addRule(name: string, rule: AXValidationRule) {\r\n const exists = AXValidationRules.get(name);\r\n if (exists) {\r\n exists.rule = rule;\r\n }\r\n else {\r\n AXValidationRules.registredRules.push({\r\n name,\r\n rule\r\n });\r\n }\r\n }\r\n\r\n public static get(name: string) {\r\n return this.registredRules.find(c => c.name === name);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'ax-validation-rule',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {\r\n\r\n @Input()\r\n type: AXValidationRuleTypes = 'required';\r\n\r\n @Input()\r\n message: string;\r\n\r\n @Input()\r\n showMessage: boolean = true;\r\n\r\n @Input()\r\n value: any;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n (this._getHostElement() as any).validate = this.validate.bind(this);\r\n }\r\n\r\n validate(value: any): Promise<AXValidationRuleResult> {\r\n if (this.enabled === false) {\r\n return Promise.resolve({ result: true });\r\n }\r\n const regRule = AXValidationRules.get(this.type);\r\n if (regRule) {\r\n return this._internalValidate(regRule.rule.type, value, this.message || regRule.rule.message, regRule.rule.value);\r\n }\r\n else {\r\n return this._internalValidate(this.type, value, this.message, this.value);\r\n }\r\n }\r\n\r\n\r\n private _internalValidate(type: string, value?: any, message?: string, ruleValue?: any): Promise<AXValidationRuleResult> {\r\n return new Promise<AXValidationRuleResult>(resolve => {\r\n switch (type) {\r\n case 'required':\r\n resolve({\r\n message: this.showMessage ? (message || AXTranslator.get('validation.messages.required')) : null,\r\n result: value != null && value != '' && (!Array.isArray(value) || (Array.isArray(value) && value.length > 0))\r\n });\r\n break;\r\n case 'regex':\r\n const ex = new RegExp(ruleValue);\r\n resolve({\r\n message: this.showMessage ? (message || AXTranslator.get('validation.messages.regex')) : null,\r\n result: ex.test(value)\r\n });\r\n break;\r\n case 'custom':\r\n case 'callback':\r\n if (typeof ruleValue === 'function') {\r\n const res: any = {};\r\n res.message = this.showMessage ? message : null;\r\n const val = ruleValue({ value, message });\r\n if (val instanceof Promise) {\r\n val.then(c => {\r\n res.result = c;\r\n }).catch(c => {\r\n res.result = false;\r\n }).finally(() => {\r\n resolve(res);\r\n });\r\n }\r\n else {\r\n res.result = val;\r\n resolve(res);\r\n }\r\n }\r\n else {\r\n resolve({ result: true });\r\n }\r\n break;\r\n default:\r\n resolve({ result: true });\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXValidationRuleComponent, AXValidationRules } from './validation-rule.widget';\r\nimport { AXTranslator } from '@acorex/core';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXValidationRuleComponent],\r\n imports: [CommonModule],\r\n exports: [AXValidationRuleComponent],\r\n providers: []\r\n})\r\nexport class AXValidationModule {\r\n constructor() {\r\n AXValidationRules.addRule('email', {\r\n message: AXTranslator.get('validation.messages.email'),\r\n type: 'regex',\r\n value: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\r\n })\r\n AXValidationRules.addRule('phone', {\r\n message: AXTranslator.get('validation.messages.phone'),\r\n type: 'regex',\r\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/\r\n })\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n} from '@angular/core';\r\nimport { AXBaseSelectionValueMixin, AXDirection } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-selection-list',\r\n templateUrl: './selection-list.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n 'valueField',\r\n 'textField',\r\n 'multiple',\r\n 'items',\r\n 'selectionMode',\r\n ],\r\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXSelectionListComponent extends AXBaseSelectionValueMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @Input()\r\n direction: AXDirection = 'horizontal';\r\n\r\n _handleOnItemValueChange(item: any, checked: boolean, e: Event) {\r\n if (this.readonly || this.disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n } else {\r\n checked ? this.selectItems(item) : this.unselectItems(item);\r\n }\r\n }\r\n\r\n // _handleOnClickEvent(e: MouseEvent) {\r\n //\r\n // if (this.readonly || this.disabled) {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n // }\r\n // }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXSelectionListComponent } from './selection-list.component';\r\nimport { AXCheckBoxModule } from '../checkbox/checkbox.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [AXSelectionListComponent],\r\n imports: [CommonModule, FormsModule, AXCheckBoxModule],\r\n exports: [AXSelectionListComponent],\r\n providers: []\r\n})\r\nexport class AXSelectionListModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, ContentChild, TemplateRef, HostListener, ViewChild } from '@angular/core';\r\nimport { AXBaseSelectionValueMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-datalist',\r\n templateUrl: './datalist.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', 'items', 'pageSize'],\r\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-list ax-list-container' }\r\n})\r\nexport class AXDataListComponent extends AXBaseSelectionValueMixin {\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @ViewChild('container')\r\n _container: ElementRef<HTMLDivElement>\r\n\r\n @ContentChild('itemTemplate', { static: true })\r\n _contentItemTemplate: TemplateRef<any>;\r\n\r\n private _itemTemplate: TemplateRef<any>;\r\n @Input()\r\n public get itemTemplate(): TemplateRef<any> {\r\n return this._itemTemplate ? this._itemTemplate : this._contentItemTemplate;\r\n }\r\n public set itemTemplate(v: TemplateRef<any>) {\r\n this._itemTemplate = v;\r\n }\r\n\r\n @ContentChild('emptyTemplate', { static: true })\r\n _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n private _emptyTemplate: TemplateRef<any>;\r\n @Input()\r\n public get emptyTemplate(): TemplateRef<any> {\r\n return this._emptyTemplate ? this._emptyTemplate : this._contentEmptyTemplate;\r\n }\r\n public set emptyTemplate(v: TemplateRef<any>) {\r\n this._emptyTemplate = v;\r\n }\r\n\r\n @ContentChild('loadingTemplate', { static: true })\r\n _contentloadingTemplate: TemplateRef<any>;\r\n\r\n private _loadingTemplate: TemplateRef<any>;\r\n @Input()\r\n public get loadingTemplate(): TemplateRef<any> {\r\n return this._loadingTemplate ? this._loadingTemplate : this._contentloadingTemplate;\r\n }\r\n public set loadingTemplate(v: TemplateRef<any>) {\r\n this._loadingTemplate = v;\r\n }\r\n\r\n\r\n _handleOnItemClick(e: MouseEvent, item: any) {\r\n this.selectItems(item);\r\n }\r\n\r\n _handleListScroll(e: UIEvent) {\r\n const list = e.target as HTMLDivElement;\r\n if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {\r\n return;\r\n }\r\n this._fetchData();\r\n }\r\n\r\n\r\n private _checkForLoadData() {\r\n const list = this._container.nativeElement;\r\n if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n _onDataLoaded() {\r\n setTimeout(() => {\r\n this._checkForLoadData();\r\n }, 100);\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDataListComponent } from './datalist.component';\r\nimport { AXButtonModule } from '../button';\r\n\r\n\r\n\r\nconst COMPONENT = [AXDataListComponent];\r\nconst MODULES = [CommonModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXDataListModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\nimport { AXButtonComponent, AXButtonItem } from '../button';\r\nimport { AXToastOptions } from './toast.class';\r\n\r\n@Component({\r\n selector: 'ax-toast',\r\n templateUrl: './toast.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-toast' }\r\n})\r\nexport class AXToastComponent extends AXBaseComponentMixin {\r\n\r\n options: AXToastOptions;\r\n _toastWidth: number = 100;\r\n _icon: string;\r\n close: () => void;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n this._getHostElement().classList.add(`ax-${this.options.type}`);\r\n if (this.options.timeOut) {\r\n const interval = setInterval(() => {\r\n --this._toastWidth;\r\n this._cdr.markForCheck();\r\n if (this._toastWidth === 0) {\r\n clearInterval(interval);\r\n this.close();\r\n }\r\n }, this.options.timeOut / 100);\r\n }\r\n switch (this.options.type) {\r\n case 'success':\r\n this._icon = 'ax-ic ax-ic-check-circle-outline ax-text-2xl';\r\n break;\r\n case 'warning':\r\n this._icon = 'ax-ic ax-ic-warning ax-text-2xl';\r\n break;\r\n case 'danger':\r\n this._icon = 'ax-ic ax-ic-error-outline ax-text-2xl';\r\n break;\r\n default:\r\n this._icon = 'ax-ic ax-ic-info-outline ax-text-2xl';\r\n break;\r\n }\r\n }\r\n\r\n _handleButtonClick(button: AXButtonItem) {\r\n if (button.onClick) {\r\n button.onClick(this);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXToastComponent } from './toast.component';\r\nimport { AXButtonModule } from '../button';\r\n\r\nconst COMPONENT = [AXToastComponent];\r\nconst MODULES = [CommonModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXToastModule { }\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { AXToastOptions, AXToastRef } from './toast.class';\r\nimport { AXToastComponent } from './toast.component';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXToastService {\r\n\r\n constructor(private overlayService: Overlay, private parentInjector: Injector) { }\r\n\r\n private _activeList: AXToastComponent[] = [];\r\n\r\n info(content: string) {\r\n this.show({\r\n timeOut: 2500,\r\n type: 'info',\r\n title: content\r\n });\r\n }\r\n\r\n success(content: string) {\r\n this.show({\r\n timeOut: 2500,\r\n type: 'success',\r\n title: content\r\n });\r\n }\r\n\r\n warning(content: string) {\r\n this.show({\r\n timeOut: 2500,\r\n type: 'warning',\r\n title: content\r\n });\r\n }\r\n\r\n danger(content: string) {\r\n this.show({\r\n timeOut: 2500,\r\n type: 'danger',\r\n title: content\r\n });\r\n }\r\n\r\n show(options: AXToastOptions): AXToastRef {\r\n const opt = Object.assign(\r\n {\r\n closeable: true,\r\n location: 'bottom-center'\r\n },\r\n options\r\n );\r\n const marging = 5;\r\n\r\n let positionStrategy = this.overlayService.position().global();\r\n const pos = this.getPosition(opt.location) + marging + 'px';\r\n switch (opt.location) {\r\n case 'bottom-center':\r\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally()\r\n break;\r\n case 'bottom-end':\r\n positionStrategy = positionStrategy.bottom(pos).right(marging + 'px');\r\n break;\r\n case 'bottom-start':\r\n positionStrategy = positionStrategy.bottom(pos).left(marging + 'px');\r\n break;\r\n case 'top-center':\r\n positionStrategy = positionStrategy.top(pos).centerHorizontally()\r\n break;\r\n case 'top-end':\r\n positionStrategy = positionStrategy.top(pos).right(marging + 'px');\r\n break;\r\n case 'top-start':\r\n positionStrategy = positionStrategy.top(pos).left(marging + 'px');\r\n break;\r\n default:\r\n break;\r\n }\r\n const overlayRef = this.overlayService.create(\r\n {\r\n positionStrategy,\r\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\r\n });\r\n const toastPortal = new ComponentPortal(AXToastComponent, null, this.parentInjector);\r\n\r\n const host = overlayRef.attach(toastPortal);\r\n (host.instance as any).visibleIndex = this._activeList.length;\r\n this._activeList.push(host.instance);\r\n if (host.instance) {\r\n Object.assign(host.instance, {\r\n options: opt,\r\n close: () => {\r\n this._activeList = this._activeList.filter(c => c != host.instance);\r\n overlayRef.dispose()\r\n }\r\n });\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n\r\n return {\r\n close: () => {\r\n host.instance.close();\r\n }\r\n }\r\n }\r\n\r\n private getPosition(location: string) {\r\n const list = this._activeList.filter(c => c.options.location == location);\r\n if (list.length == 0) return 0;\r\n if (location.split('-')[0] == 'bottom') {\r\n return window.innerHeight - list[list.length - 1]._getHostElement().offsetTop;\r\n }\r\n else {\r\n return list[list.length - 1]._getHostElement().offsetTop + list[list.length - 1]._getHostElement().offsetHeight;\r\n }\r\n }\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n} from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-tooltip' },\r\n animations: [\r\n trigger('tooltip', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate(50, style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [animate(50, style({ opacity: 0 }))]),\r\n ]),\r\n ],\r\n})\r\nexport class AXTooltipComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n @Input()\r\n text: string = 'Text';\r\n\r\n @Input() position = 'top';\r\n}\r\n","import {\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n Overlay,\r\n OverlayPositionBuilder,\r\n OverlayRef,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\n\r\n@Directive({ selector: '[axTooltip]' })\r\nexport class AXTooltipDirective implements OnInit {\r\n @Input('axTooltip') text = '';\r\n @Input('axTooltipPositon') position = 'top';\r\n\r\n private overlayRef: OverlayRef;\r\n\r\n positions: any;\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n switch (this.position) {\r\n default:\r\n case 'top':\r\n this.positions = {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -8,\r\n };\r\n break;\r\n case 'right':\r\n this.positions = {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: 8,\r\n };\r\n break;\r\n case 'bottom':\r\n this.positions = {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 8,\r\n };\r\n break;\r\n case 'left':\r\n this.positions = {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -8,\r\n };\r\n break;\r\n }\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([this.positions]);\r\n\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n @HostListener('mouseenter')\r\n show() {\r\n const tooltipRef: ComponentRef<AXTooltipComponent> = this.overlayRef.attach(\r\n new ComponentPortal(AXTooltipComponent)\r\n );\r\n\r\n tooltipRef.instance.text = this.text;\r\n tooltipRef.instance.position = this.position;\r\n }\r\n\r\n @HostListener('mouseout')\r\n hide() {\r\n this.overlayRef.detach();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\nimport { AXTooltipDirective } from './tooltip.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\r\nconst MODULES = [CommonModule, OverlayModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTooltipModule {}\r\n","import { AXConfig } from '@acorex/core';\r\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-loading',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-loading' }\r\n})\r\nexport class AXLoadingComponent extends AXBaseComponentMixin {\r\n\r\n constructor(elementRef: ElementRef<HTMLDivElement>, cdr: ChangeDetectorRef,) {\r\n super(elementRef, cdr);\r\n elementRef.nativeElement.innerHTML = AXConfig.get('layout.loading') || '';\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges, ViewContainerRef\r\n } from '@angular/core';\r\nimport { AXLoadingComponent } from './loading.component';\r\n \r\n \r\n const OVERLAY_CLASS = 'loading-overlay';\r\n \r\n // This directive places an overlay with a loading spinner over its host element\r\n // if isLoading equals to true and hides the overlay when isLoading becomes false.\r\n @Directive({\r\n selector: '[axIsLoading]'\r\n })\r\n export class AXLoadingDirective implements OnChanges {\r\n @Input('axIsLoading')\r\n isLoading = false;\r\n \r\n protected overlayElement!: HTMLDivElement;\r\n protected spinnerElement!: HTMLDivElement;\r\n protected hostElement!: HTMLDivElement;\r\n \r\n constructor(\r\n protected readonly elementRef: ElementRef,\r\n protected readonly renderer: Renderer2,\r\n protected readonly changeDetectorRef: ChangeDetectorRef,\r\n protected readonly viewContainerRef: ViewContainerRef,\r\n protected readonly componentFactoryResolver: ComponentFactoryResolver,\r\n ) {\r\n this.hostElement = this.elementRef.nativeElement;\r\n this.hostElement.style.position = 'relative';\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!this.overlayElement || !this.spinnerElement) {\r\n this.init();\r\n }\r\n \r\n if (changes.isLoading) {\r\n const isLoadingValue = changes.isLoading.currentValue;\r\n \r\n if (isLoadingValue) {\r\n this.addLoadingIndicator();\r\n }\r\n else {\r\n this.removeLoadingIndicator();\r\n }\r\n \r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n \r\n protected addLoadingIndicator(): void {\r\n this.renderer.appendChild(this.hostElement, this.overlayElement);\r\n this.renderer.appendChild(this.overlayElement, this.spinnerElement);\r\n }\r\n \r\n protected removeLoadingIndicator(): void {\r\n this.renderer.removeChild(this.overlayElement, this.spinnerElement);\r\n this.renderer.removeChild(this.hostElement, this.overlayElement);\r\n this.viewContainerRef.clear();\r\n }\r\n \r\n protected init(): void {\r\n this.initOverlayElement();\r\n this.initSpinnerComponent();\r\n }\r\n \r\n protected initSpinnerComponent(): void {\r\n const spinnerComponentFactory = this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);\r\n const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);\r\n this.spinnerElement = spinnerComponent.location.nativeElement;\r\n }\r\n \r\n protected initOverlayElement(): void {\r\n this.overlayElement = this.renderer.createElement('div');\r\n this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);\r\n }\r\n }\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLoadingComponent } from './loading.component';\r\nimport { AXLoadingDirective } from './loading.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective];\r\nconst MODULES = [CommonModule, OverlayModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXLoadingModule { }\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\r\nimport { finalize, observeOn } from 'rxjs/operators';\r\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\r\nimport { AXLoadingComponent } from './loading.component';\r\n\r\ntype LoadingContext = object;\r\ntype LoaderId = string | number; // expected enum values\r\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\r\n\r\n/**\r\n * Used for centrally setting/unsetting loading flags for components or services.\r\n * Should be connected to global HTTP interceptor which will unset\r\n * the loading flags in case an error happens using the clearLoadings() method.\r\n *\r\n * FAQ:\r\n * Q: How to change loading flag for a parent component?\r\n * A: Inject the parent component as a dependency to your constructor and\r\n * call loadingService.setLoading(parentComponent, STATE).\r\n * \r\n * Q: How to change loading flag for a child component?\r\n * A: Use a @ViewChild with component selector and pass the\r\n * reference of the child to setLoading method.\r\n *\r\n * Q: I need more loading indicators in my components. How to?\r\n * A: Assign a LoaderId to each indicator and then use them\r\n * with calls to methods of this service.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AXLoadingService {\r\n // WeakMap will remove components from itself upon\r\n // their garbage collection by JS runtime.\r\n protected loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\r\n // Both loading state maps are kept in-sync such that\r\n // they can be used by both sync and async methods.\r\n protected loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\r\n\r\n constructor(protected zoneRef: NgZone, private overlayService: AXOverlayService) { }\r\n\r\n private _stack: { id: number, component: AXOverlayViewRef }[] = [];\r\n\r\n show(location?: Element): number {\r\n let host: Element;\r\n if (location) {\r\n host = location.closest('.ax-loading-host');\r\n }\r\n const containerElement = (host || location) as HTMLDivElement;\r\n const com = this.overlayService.show(AXLoadingComponent, {},\r\n {\r\n closeOnClickOutside: false,\r\n containerElement,\r\n hasBackdrop: true,\r\n backdropClass: ['ax-loading-overlay'],\r\n scroll: 'block'\r\n });\r\n const id = new Date().getTime();\r\n this._stack.push({ id, component: com });\r\n return id;\r\n }\r\n\r\n hide(id): void {\r\n const f = this._stack.find(c => c.id === id);\r\n if (f) {\r\n f.component.dispose();\r\n this._stack = this._stack.filter(c => c.id !== id);\r\n }\r\n }\r\n\r\n\r\n // Observable creation operator.\r\n // LoaderId can be used when there are multiple loading indicators associated to a single context.\r\n // Context can be any object, though in practice, components and services will be the most common contexts.\r\n // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.\r\n // Such a scenario is used when your context has contains only one loading indicator.\r\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\r\n this.startLoading(context, loaderId);\r\n\r\n return source$.pipe(\r\n observeOn(asyncScheduler),\r\n finalize(() => this.endLoading(context, loaderId)),\r\n );\r\n }\r\n\r\n // To be used in your html templates.\r\n // Returns a boolean indicating whether a given loader is active in a given context.\r\n // If loaderId is unspecified, the method will return a logical disjunction of all\r\n // loader states in the context.\r\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\r\n const loaderStates = this.loadingStates.get(context);\r\n\r\n if (!loaderStates) {\r\n return false;\r\n }\r\n else {\r\n if (loaderId !== undefined) {\r\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\r\n }\r\n else {\r\n return [...loaderStates.values()].filter(state => state).length > 0;\r\n }\r\n }\r\n }\r\n\r\n // To be used in your html templates with async pipes.\r\n // Returns an Observable of booleans indicating whether a given loader is active in a given context.\r\n isLoading$(context: LoadingContext, loaderId?: LoaderId): Observable<boolean> {\r\n const coalescedLoaderId = this.getLoaderId(loaderId);\r\n\r\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\r\n this.setLoadingState(context, false, loaderId);\r\n }\r\n\r\n return this.loadingStates$.get(context).get(coalescedLoaderId);\r\n }\r\n\r\n // The startLoading and endLoading methods are intended to be used when handling\r\n // complex scenarios where a need for extended usage flexibility is desired.\r\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\r\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\r\n }\r\n\r\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\r\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\r\n }\r\n\r\n // To be called by middleware code (HTTP interceptors/routing listeners, etc.).\r\n clearLoadings(): void {\r\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\r\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\r\n }\r\n\r\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\r\n if (!this.hasLoadingStates(context, loaderId)) {\r\n if (this.hasContextLoadingState(context)) {\r\n this.loadingStates.get(context).set(loaderId, state);\r\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\r\n }\r\n else {\r\n this.loadingStates.set(context, new Map<LoaderId, boolean>([\r\n [loaderId, state]\r\n ]));\r\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([\r\n [loaderId, new BehaviorSubject<boolean>(state)]\r\n ]));\r\n }\r\n }\r\n else {\r\n // @ts-ignore - loadingStates[context] is surely defined in this branch\r\n this.loadingStates.get(context).set(loaderId, state);\r\n this.loadingStates$.get(context).get(loaderId).next(state);\r\n }\r\n }\r\n\r\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\r\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\r\n }\r\n\r\n protected hasContextLoadingState(context: LoadingContext) {\r\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\r\n }\r\n\r\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\r\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\r\n }\r\n\r\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\r\n return loaderId ?? DEFAULT_LOADER_ID;\r\n }\r\n}\r\n","import { ChangeDetectorRef, ElementRef, Injectable } from \"@angular/core\";\r\nimport { AXBaseComponentMixin } from \"../base\";\r\nimport { AXLoadingService } from \"../loading\";\r\n\r\n@Injectable()\r\nexport abstract class AXPageComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _loadingService: AXLoadingService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n private _loadingId: number;\r\n\r\n private _isLoading: boolean = false;\r\n public get isLoading(): boolean {\r\n return this._isLoading;\r\n }\r\n public set isLoading(v: boolean) {\r\n this._isLoading = v;\r\n if (this._loadingId && !v) {\r\n this._loadingService.hide(this._loadingId);\r\n this._loadingId = null;\r\n }\r\n if (v) {\r\n this._loadingId = this._loadingService.show(this._getHostElement());\r\n }\r\n }\r\n}","import { EventEmitter, Injectable, ViewChild } from '@angular/core';\r\nimport { AXButtonClickEvent, AXEvent } from '../base/events.class';\r\n\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { AXButtonItem } from '../button';\r\nimport { AXPageComponent } from './page.component';\r\n\r\nexport const TAB_META_KEY = '__meta__';\r\n\r\nexport class AXPageCloseEvent extends AXEvent {\r\n data?:any\r\n}\r\nexport class AXPageClosing {\r\n cancel: boolean = false;\r\n data?: any;\r\n}\r\n\r\nexport class AXPageResult {\r\n sender: any;\r\n data?: any;\r\n}\r\n\r\nexport class AXPageClosedPromise extends Promise<AXPageResult> {\r\n\r\n private closeMethod: () => void;\r\n constructor(\r\n executor: (resolve: (value?: AXPageResult | PromiseLike<AXPageResult>) => void,\r\n reject: (reason?: any) => void) => void\r\n ) {\r\n super(executor);\r\n }\r\n\r\n public close() {\r\n if (this.closeMethod) {\r\n this.closeMethod();\r\n }\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport abstract class AXBasePageComponent {\r\n\r\n @ViewChild(AXPageComponent, { static: true })\r\n private pageContainer: AXPageComponent;\r\n\r\n private _isLoading: boolean = false;\r\n public get isLoading(): boolean {\r\n return this._isLoading;\r\n }\r\n public set isLoading(v: boolean) {\r\n this._isLoading = v;\r\n if (this.pageContainer) {\r\n this.pageContainer.isLoading = this.isLoading;\r\n }\r\n }\r\n\r\n\r\n onClosed: EventEmitter<AXPageCloseEvent> = new EventEmitter<AXPageCloseEvent>();\r\n\r\n close(data?: any) {\r\n this.onClosed.emit({\r\n component: this,\r\n data: data\r\n });\r\n }\r\n\r\n onClosing(e: AXPageClosing): void | Promise<void> {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onClosed.unsubscribe();\r\n }\r\n}\r\n\r\nexport abstract class AXBasePopupPageComponent extends AXBasePageComponent {\r\n\r\n constructor() {\r\n super();\r\n setTimeout(() => {\r\n this._configFooterButtons(this.getFooterButtons());\r\n });\r\n }\r\n\r\n\r\n private _footerButtons: AXButtonItem[] = [];\r\n onFooterButtonsChanged = new Subject<AXButtonItem[]>();\r\n\r\n protected get footerButtons(): AXButtonItem[] {\r\n return this._footerButtons || [];\r\n }\r\n\r\n protected _configFooterButtons(buttons?: AXButtonItem[]) {\r\n if (buttons) {\r\n this._footerButtons = buttons;\r\n this.onFooterButtonsChanged.next(buttons);\r\n }\r\n else {\r\n this.onFooterButtonsChanged.next(this.footerButtons);\r\n }\r\n }\r\n\r\n onFooterButtonClick(e: AXButtonClickEvent) {\r\n }\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [];\r\n }\r\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ViewChild, ViewContainerRef, ComponentFactoryResolver, HostListener, ComponentRef, EventEmitter, TemplateRef } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXBaseComponentMixin } from '../base';\r\nimport { AXPageCloseEvent, TAB_META_KEY } from '../page/base-page.class';\r\nimport { AXButtonItem } from '../button';\r\nimport { AXLoadingService } from '../loading';\r\n\r\n@Component({\r\n selector: 'ax-popup',\r\n templateUrl: './popup.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXPopupComponent extends AXBaseComponentMixin {\r\n\r\n isLoading: boolean = true;\r\n _loadingId: number;\r\n private comRef: ComponentRef<any>;\r\n\r\n title: string;\r\n\r\n onClosed: EventEmitter<AXPageCloseEvent> = new EventEmitter<AXPageCloseEvent>();\r\n\r\n size: 'sm' | 'md' | 'lg' | 'full' = 'sm';\r\n\r\n data: any = {};\r\n\r\n maximizable: boolean = false;\r\n\r\n closable: boolean = true;\r\n\r\n content: any;\r\n\r\n headerButtons: AXButtonItem[] = [];\r\n\r\n footerButtons: AXButtonItem[] = [];\r\n\r\n private _onFooterButtonsSubscription: Subscription;\r\n\r\n @ViewChild('popupBody', { read: ViewContainerRef, static: true })\r\n private popupBody: ViewContainerRef;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private resolver: ComponentFactoryResolver,\r\n private loadingService: AXLoadingService,\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit() {\r\n this._loadingId = this.loadingService.show(this._getHostElement().querySelector('.ax-popup-body-container'));\r\n if (typeof this.content === 'string') {\r\n // this.rendererService.findLoadedComponentByRoute(this.content, 20).then(route => {\r\n // setTimeout(() => {\r\n // this.loadComponent(route?.component);\r\n // }, 300);\r\n // });\r\n }\r\n else if (this.content instanceof TemplateRef) {\r\n const view = this.content.createEmbeddedView({ $implicit: this.data });\r\n this.popupBody.insert(view);\r\n this.isLoading = false;\r\n this.loadingService.hide(this._loadingId);\r\n }\r\n else if (typeof this.content === 'function') {\r\n setTimeout(() => {\r\n this.loadComponent(this.content);\r\n });\r\n }\r\n }\r\n\r\n private loadComponent(component: any) {\r\n\r\n if (component == null) {\r\n //TODO: 404 page component\r\n console.error(`Invalid page Component! ${this.content}`);\r\n return;\r\n }\r\n ///\r\n try {\r\n const factory = this.resolver.resolveComponentFactory(component);\r\n this.comRef = this.popupBody.createComponent(factory);\r\n const com = this.comRef.instance as any;\r\n if (com.onClosed) {\r\n com.onClosed.subscribe((e: AXPageCloseEvent) => {\r\n this.onClosed.emit(e);\r\n });\r\n }\r\n this[TAB_META_KEY].component = com;\r\n Object.assign(this[TAB_META_KEY].component, this.data);\r\n //\r\n if (com.getFooterButtons) {\r\n this.footerButtons = com.getFooterButtons();\r\n }\r\n if (com.onFooterButtonsChanged) {\r\n this._onFooterButtonsSubscription = (com.onFooterButtonsChanged as EventEmitter<AXButtonItem[]>).subscribe(c => {\r\n this.footerButtons = c;\r\n this._cdr.detectChanges();\r\n });\r\n }\r\n //\r\n this.focus();\r\n this.isLoading = false;\r\n this.loadingService.hide(this._loadingId);\r\n setTimeout(() => {\r\n this.comRef.changeDetectorRef.detectChanges();\r\n }, 100);\r\n this._cdr.detectChanges();\r\n } catch (error) {\r\n //TODO: 404 page component\r\n console.error(error);\r\n }\r\n }\r\n\r\n\r\n @HostListener('keydown.escape', ['$event'])\r\n onKeydownHandler(event: KeyboardEvent) {\r\n if (this.closable) {\r\n this.close();\r\n }\r\n }\r\n\r\n _handleCloseClick() {\r\n this.close();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.comRef) {\r\n this.comRef.destroy();\r\n }\r\n if (this._onFooterButtonsSubscription) {\r\n this._onFooterButtonsSubscription.unsubscribe();\r\n }\r\n this._cdr.detectChanges();\r\n this.loadingService.hide(this._loadingId);\r\n }\r\n\r\n focus() {\r\n setTimeout(() => this._getHostElement().focus());\r\n }\r\n\r\n close() {\r\n this.onClosed.emit({\r\n component: this[TAB_META_KEY].component,\r\n htmlElement: this._getHostElement(),\r\n });\r\n this._cdr.detectChanges();\r\n }\r\n\r\n onFullScreen() { }\r\n\r\n _handleButtonClick(e: AXButtonItem) {\r\n if (e.onClick) {\r\n e.onClick();\r\n }\r\n else if (this[TAB_META_KEY].component.onFooterButtonClick) {\r\n this[TAB_META_KEY].component.onFooterButtonClick({\r\n component: this[TAB_META_KEY].component,\r\n name: e.name,\r\n data: e,\r\n htmlElement: this._getHostElement(),\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\r\nimport { AXButtonItem } from '../button';\r\nimport { AXPageClosedPromise, AXPageCloseEvent, TAB_META_KEY } from '../page';\r\nimport { AXPopupComponent } from './popup.component';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXPopupService {\r\n private stack: Array<AXPopupComponent> = [];\r\n\r\n constructor(private overlayService: AXOverlayService) { }\r\n\r\n\r\n\r\n open(content: any, title: string): AXPageClosedPromise;\r\n open(\r\n content: any,\r\n options?: {\r\n title: string;\r\n closable?: boolean;\r\n maximizable?: boolean;\r\n size?: 'sm' | 'md' | 'lg' | 'full';\r\n data?: any;\r\n footerButtons?: AXButtonItem[]\r\n }\r\n ): AXPageClosedPromise;\r\n\r\n open(arg1, arg2): AXPageClosedPromise {\r\n const options: any = {\r\n closable: true,\r\n size: 'md',\r\n maximizable: false,\r\n footerButtons: []\r\n };\r\n if (typeof arg2 === 'string') {\r\n options.title = arg2;\r\n } else {\r\n Object.assign(options, arg2);\r\n }\r\n const com = this.overlayService.show(AXPopupComponent, options, { transparentBackdrop: false, closeOnClickOutside: false, scroll: 'block' });\r\n const popup = com.instance as AXPopupComponent;\r\n popup.content = arg1;\r\n popup[TAB_META_KEY] = {};\r\n if (options.size) {\r\n popup.size = options.size;\r\n }\r\n if (options.footerButtons) {\r\n popup.footerButtons = options.footerButtons;\r\n }\r\n this.stack.push(popup);\r\n popup.onClosed.subscribe(c => {\r\n this.closePopup(popup, com, c);\r\n });\r\n const promise = new AXPageClosedPromise((resolve) => {\r\n popup[TAB_META_KEY].close = (e) => {\r\n if (resolve) {\r\n resolve(e);\r\n }\r\n };\r\n });\r\n promise['closeMethod'] = () => { popup.close(); };\r\n return promise;\r\n }\r\n\r\n\r\n private closePopup(popup: AXPopupComponent, com: AXOverlayViewRef, result: AXPageCloseEvent) {\r\n const closeFunc = (e) => {\r\n com.dispose();\r\n this.stack.pop();\r\n delete e.cancel;\r\n popup[TAB_META_KEY].close(e);\r\n if (this.stack.length) { this.stack.reverse()[0].focus(); }\r\n };\r\n const e = { cancel: false };\r\n const closingFunc = popup[TAB_META_KEY]?.component?.onClosing;\r\n if (closingFunc) {\r\n const res = closingFunc(e);\r\n if (res instanceof Promise) {\r\n res.then(() => {\r\n if (e == null || e.cancel !== true) {\r\n closeFunc(result);\r\n }\r\n });\r\n }\r\n else {\r\n if (e == null || e.cancel !== true) {\r\n closeFunc(result);\r\n }\r\n }\r\n } else {\r\n closeFunc(result);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXPopupComponent } from './popup.component';\r\nimport { AXButtonModule } from '../button';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nconst COMPONENT = [AXPopupComponent];\r\nconst MODULES = [CommonModule, DragDropModule, A11yModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXPopupModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\nimport { AXButtonItem } from '../button';\r\nimport { AXDialogOptions } from './dialog.class';\r\n\r\n@Component({\r\n selector: 'ax-dialog',\r\n templateUrl: './dialog.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDialogComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n options: AXDialogOptions;\r\n _icon: string;\r\n close: () => void;\r\n\r\n onInit() {\r\n\r\n switch (this.options.type) {\r\n case 'success':\r\n this._icon = 'ax-ic ax-ic-check';\r\n break;\r\n case 'danger':\r\n case 'warning':\r\n this._icon = 'ax-ic ax-ic-warning';\r\n break;\r\n default:\r\n this._icon = 'ax-ic ax-ic-info-outline';\r\n break;\r\n }\r\n }\r\n\r\n _handleButtonClick(button: AXButtonItem) {\r\n if (button.onClick) {\r\n button.onClick();\r\n }\r\n }\r\n\r\n}\r\n","import { AXStyleType } from \"../base/styles.class\";\r\nimport { AXButtonItem } from \"../button\";\r\n\r\nexport interface AXDialogOptions {\r\n title: string;\r\n content: string;\r\n buttons?: AXButtonItem[]\r\n type: AXStyleType;\r\n}\r\n\r\nexport interface AXDialogRef {\r\n close(): void;\r\n}\r\n\r\nexport class AXDialogAlertResult {\r\n private _executor: (close: (e?: any) => void) => void;\r\n constructor(\r\n executor: (close: (e?: any) => void) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.closeAction);\r\n }, 50);\r\n }\r\n\r\n private closeAction: (e?: any) => void;\r\n\r\n close(action: (e?: any) => void): AXDialogAlertResult {\r\n this.closeAction = action;\r\n return this;\r\n }\r\n\r\n}\r\n\r\nexport class AXDialogConfirmResult {\r\n private _executor: (okay: () => void, cancel: () => void, final: () => void) => void;\r\n constructor(\r\n executor: (okay: () => void, cancel: () => void, final: () => void) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.okayAction, this.cancelAction, this.finalAction);\r\n }, 50);\r\n }\r\n\r\n private okayAction: () => void;\r\n private cancelAction: () => void;\r\n private finalAction: () => void;\r\n\r\n okay(action: () => void): AXDialogConfirmResult {\r\n this.okayAction = action;\r\n return this;\r\n }\r\n cancel(action: () => void): AXDialogConfirmResult {\r\n this.cancelAction = action;\r\n\r\n return this;\r\n }\r\n final(action: () => void) {\r\n this.finalAction = action;\r\n }\r\n}\r\n\r\n\r\nexport class AXDialogResult {\r\n private _executor: (then: (name: string) => void, final: () => void) => void;\r\n constructor(\r\n executor: (then: (name: string) => void, final: () => void) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.thenAction, this.finalAction);\r\n }, 50);\r\n }\r\n\r\n private thenAction: (name: string) => void;\r\n private finalAction: () => void;\r\n\r\n then(action: (name: string) => void): AXDialogResult {\r\n this.thenAction = action;\r\n return this;\r\n }\r\n\r\n final(action: () => void) {\r\n this.finalAction = action;\r\n }\r\n}","import { AXTranslator } from '@acorex/core';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { AXStyleType } from '../base/styles.class';\r\nimport {\r\n AXDialogAlertResult,\r\n AXDialogConfirmResult,\r\n AXDialogOptions,\r\n AXDialogRef,\r\n AXDialogResult,\r\n} from './dialog.class';\r\nimport { AXDialogComponent } from './dialog.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXDialogService {\r\n constructor(\r\n private overlayService: Overlay,\r\n private parentInjector: Injector\r\n ) {}\r\n\r\n alert(title: string, content: string): AXDialogAlertResult {\r\n return new AXDialogAlertResult((close) => {\r\n const popup = this.open({\r\n title,\r\n type: 'info',\r\n content,\r\n buttons: [\r\n {\r\n name: 'confirm',\r\n text: AXTranslator.get('common.confirm'),\r\n class: 'ax-info',\r\n onClick: () => {\r\n popup.close();\r\n if (close) {\r\n close();\r\n }\r\n },\r\n },\r\n ],\r\n });\r\n });\r\n }\r\n\r\n confirm(\r\n title: string,\r\n content: string,\r\n type: AXStyleType = 'info'\r\n ): AXDialogConfirmResult {\r\n return new AXDialogConfirmResult((okay, cancel, final) => {\r\n const popup = this.open({\r\n title,\r\n content,\r\n type,\r\n buttons: [\r\n {\r\n name: 'confirm',\r\n text: AXTranslator.get('common.confirm'),\r\n class: `ax-${type}`,\r\n onClick: () => {\r\n popup.close();\r\n if (okay) {\r\n okay();\r\n }\r\n if (final) {\r\n final();\r\n }\r\n },\r\n submitBehavior: true,\r\n cancelBehavior: false,\r\n },\r\n {\r\n name: 'cancel',\r\n text: AXTranslator.get('common.cancel'),\r\n class: `ax-light-outline`,\r\n onClick: () => {\r\n popup.close();\r\n if (cancel) {\r\n cancel();\r\n }\r\n if (final) {\r\n final();\r\n }\r\n },\r\n submitBehavior: false,\r\n cancelBehavior: true,\r\n },\r\n ],\r\n });\r\n });\r\n }\r\n\r\n show(options: AXDialogOptions): AXDialogResult {\r\n return new AXDialogResult((then, final) => {\r\n const popup = this.open(options);\r\n options.buttons?.forEach((b) => {\r\n const orginalClick = b.onClick;\r\n b.onClick = () => {\r\n popup.close();\r\n if (orginalClick) {\r\n orginalClick();\r\n }\r\n if (then) {\r\n then(b.name);\r\n }\r\n if (final) {\r\n final();\r\n }\r\n };\r\n });\r\n });\r\n }\r\n\r\n private open(options: AXDialogOptions): AXDialogRef {\r\n let positionStrategy = this.overlayService\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n const overlayRef = this.overlayService.create({\r\n positionStrategy,\r\n hasBackdrop: true,\r\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\r\n });\r\n const dialogPortal = new ComponentPortal(\r\n AXDialogComponent,\r\n null,\r\n this.parentInjector\r\n );\r\n const host = overlayRef.attach(dialogPortal);\r\n if (host.instance) {\r\n Object.assign(host.instance, {\r\n options: options,\r\n close: () => {\r\n overlayRef.dispose();\r\n },\r\n });\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n\r\n return {\r\n close: () => {\r\n host.instance.close();\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDialogComponent } from './dialog.component';\r\nimport { AXButtonModule } from '../button';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nconst COMPONENT = [AXDialogComponent];\r\nconst MODULES = [CommonModule, DragDropModule, A11yModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXDialogModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, NgZone, Input, HostBinding, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AXBaseComponentMixin, AXEvent } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-drawer',\r\n template: `\r\n <ng-content>\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-drawer' }\r\n})\r\nexport class AXDrawerComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private zone: NgZone\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @Output()\r\n onChanged: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n\r\n @Input()\r\n mode: 'push' | 'overlay' = 'push';\r\n\r\n _currentMode: 'push' | 'overlay'\r\n\r\n @Input()\r\n location: 'start' | 'end' = 'start';\r\n\r\n private _backdrop: HTMLDivElement;\r\n\r\n private _collapsed: boolean = false;\r\n @Input()\r\n public get collapsed(): boolean {\r\n return this._collapsed;\r\n }\r\n public set collapsed(v: boolean) {\r\n if (v != this._collapsed) {\r\n this._collapsed = v;\r\n this._updateClass();\r\n this._emitChange();\r\n }\r\n }\r\n\r\n onInit() {\r\n this._getHostElement().classList.add(this.location == 'start' ? 'ax-drawer-start' : 'ax-drawer-end');\r\n this._currentMode = this.mode;\r\n }\r\n\r\n private _updateClass() {\r\n this.zone.runOutsideAngular(() => {\r\n const elm = this._getHostElement();\r\n // \r\n this._currentMode == 'overlay' ? this._setOverlayMode() : this._setPushMode();\r\n //\r\n if (this.collapsed) {\r\n elm.classList.remove('ax-expanded');\r\n elm.classList.add('ax-collapsed');\r\n if (this._currentMode == 'overlay') {\r\n this._removeBackdrop();\r\n }\r\n }\r\n else {\r\n elm.classList.add('ax-expanded');\r\n elm.classList.remove('ax-collapsed');\r\n if (this._currentMode == 'overlay') {\r\n this._addBackdrop();\r\n }\r\n }\r\n });\r\n }\r\n\r\n onViewInit() {\r\n this._detectSize();\r\n }\r\n\r\n toggle() {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n _handleWindowsResize(e:UIEvent) {\r\n this._detectSize();\r\n }\r\n \r\n\r\n _detectSize() {\r\n //TODO detect break size\r\n const bound = this._getHostElement().parentElement.getBoundingClientRect();\r\n if (bound.width == 0) {\r\n console.log('Drawe invalid size', bound);\r\n setTimeout(() => {\r\n this._detectSize();\r\n }, 1);\r\n return;\r\n }\r\n if (bound.width < 400) {\r\n this._currentMode = 'overlay';\r\n this.collapsed = true;\r\n }\r\n else {\r\n this._currentMode = this.mode;\r\n }\r\n this._updateClass();\r\n this._emitChange();\r\n }\r\n\r\n private _emitChange() {\r\n this.onChanged.emit({\r\n component: this,\r\n htmlElement: this.elementRef.nativeElement\r\n })\r\n }\r\n\r\n private _setOverlayMode() {\r\n this._currentMode = 'overlay';\r\n this._getHostElement().classList.remove('ax-drawer-push');\r\n this._getHostElement().classList.add('ax-drawer-overlay');\r\n\r\n }\r\n\r\n private _setPushMode() {\r\n this._currentMode = 'push';\r\n this._getHostElement().classList.remove('ax-drawer-overlay');\r\n this._getHostElement().classList.add('ax-drawer-push');\r\n this._removeBackdrop();\r\n }\r\n\r\n private _addBackdrop() {\r\n if (!this._backdrop) {\r\n this._backdrop = document.createElement('div');\r\n this._backdrop.classList.add('ax-drawer-backdrop')\r\n this._getHostElement().parentElement.prepend(this._backdrop);\r\n this._backdrop.addEventListener('click', this._handleBackfropClick.bind(this));\r\n }\r\n }\r\n\r\n private _removeBackdrop() {\r\n if (this._backdrop) {\r\n this._backdrop.removeEventListener('click', this._handleBackfropClick.bind(this));\r\n this._getHostElement().parentElement.removeChild(this._backdrop);\r\n this._backdrop = null;\r\n }\r\n }\r\n\r\n private _handleBackfropClick(e: MouseEvent) {\r\n this._removeBackdrop();\r\n this.collapsed = true;\r\n }\r\n\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, NgZone, ContentChildren, QueryList } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\nimport { AXDrawerComponent } from './drawer.component';\r\n\r\n@Component({\r\n selector: 'ax-drawer-container',\r\n template: `\r\n <ng-content select=\"ax-drawer[location='start']\">\r\n </ng-content>\r\n <ng-content select=\"ax-drawer-content\">\r\n </ng-content>\r\n <ng-content select=\"ax-drawer[location='end']\">\r\n </ng-content>\r\n `,\r\n inputs: ['rtl'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-drawer-container' }\r\n})\r\nexport class AXDrawerContainerComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private zone: NgZone\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n @ContentChildren(AXDrawerComponent)\r\n drawers: QueryList<AXDrawerComponent>;\r\n\r\n\r\n onViewInit() {\r\n this._updateWidth();\r\n // add animation\r\n setTimeout(() => {\r\n this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {\r\n c.classList.add('ax-animated');\r\n });\r\n }, 100);\r\n\r\n this.drawers.forEach(c => {\r\n c.onChanged.subscribe(c => {\r\n this._updateWidth();\r\n });\r\n });\r\n }\r\n\r\n private _updateWidth() {\r\n this.zone.runOutsideAngular(() => {\r\n const container = this._getHostElement().closest('ax-drawer-container') as HTMLDivElement;\r\n const parentWidth = this._getHostElement().getBoundingClientRect().width;\r\n let w = 0;\r\n this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {\r\n const elm = c as HTMLDivElement;\r\n const width = elm.getBoundingClientRect().width;\r\n const overflow = parentWidth < width;\r\n const diff = width - parentWidth;\r\n w += ['ax-expanded', 'ax-drawer-push'].every(c => elm.classList.contains(c)) ? width : 0;\r\n elm.style.setProperty('--attr-width', `${width}px`);\r\n //TODO check overflow\r\n elm.style.setProperty('--attr-diff', `${overflow ? diff : 0}px`);\r\n });\r\n container.style.setProperty('--attr-content-width', `${parentWidth - w}px`);\r\n });\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-drawer-content',\r\n template: `\r\n <ng-content>\r\n </ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-drawer-content' }\r\n})\r\nexport class AXDrawerContentComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDrawerComponent } from './drawer.component';\r\nimport { AXDrawerContainerComponent } from './drawer-container.component';\r\nimport { AXDrawerContentComponent } from './drawer-content.component';\r\n\r\nconst COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent, AXDrawerContentComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXDrawerModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-side-menu',\r\n templateUrl: './side-menu.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host : { class: 'ax-side-menu' }\r\n})\r\nexport class AXSideMenuComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef, \r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXSideMenuComponent } from './side-menu.component';\r\n\r\nconst COMPONENT = [AXSideMenuComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXSideMenuModule { }\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n HostBinding,\r\n} from '@angular/core';\r\nimport { MaskApplierService } from 'ngx-mask';\r\nimport { AXBaseTextBoxMixin } from '../base';\r\nimport {\r\n TEXTBOX_INPUTS,\r\n TEXTBOX_OUTPUT,\r\n} from '../base/mixin/textbox-mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-number-box',\r\n templateUrl: './number-box.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n ...TEXTBOX_INPUTS,\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus',\r\n ...TEXTBOX_OUTPUT,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-number-box ax-editor-container' },\r\n})\r\nexport class AXNumberBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n @HostBinding('class')\r\n get hostClass(): string {\r\n return `${this.cssClass} ax-${this.size}`;\r\n }\r\n\r\n @Input()\r\n separator: string = ',';\r\n\r\n @Input()\r\n thousandSeparator: boolean = false;\r\n\r\n @Input()\r\n step: number = 1;\r\n\r\n @Input()\r\n scale: number = 0;\r\n\r\n @Input()\r\n decimalStep: number = 0.1;\r\n\r\n @Input()\r\n showSpinButtons: boolean = true;\r\n\r\n private _minValue: number = Number.MIN_VALUE;\r\n @Input()\r\n public get minValue(): number {\r\n return this._minValue;\r\n }\r\n public set minValue(v: number) {\r\n this._minValue = v ? Number(v) : Number.MIN_VALUE;\r\n }\r\n\r\n private _maxValue: number = Number.MAX_VALUE;\r\n @Input()\r\n public get maxValue(): number {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: number) {\r\n this._maxValue = v ? Number(v) : Number.MAX_VALUE;\r\n }\r\n\r\n @Output()\r\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\r\n private _displayText: string;\r\n\r\n @Input()\r\n public get displayText(): string {\r\n return this._displayText;\r\n }\r\n\r\n public set displayText(v: string) {\r\n this._displayText = v;\r\n this.displayTextChange.emit(v);\r\n }\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _maskService: MaskApplierService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const toNum = (val: string) => {\r\n return Number(val.replace(/[^0-9.-]+/g, ''));\r\n };\r\n const nums: string[] = Array(10)\r\n .fill(0)\r\n .map((v, i) => i.toString());\r\n const chars: string[] = [\r\n '.',\r\n '-',\r\n 'Backspace',\r\n 'ArrowDown',\r\n 'ArrowUp',\r\n 'ArrowRight',\r\n 'ArrowLeft',\r\n 'Tab',\r\n 'Enter',\r\n ];\r\n const input = e.target as HTMLInputElement;\r\n const key = e.key;\r\n const valStr = input.value;\r\n const val = toNum(valStr);\r\n const decimalPointIndex = valStr.indexOf('.');\r\n const selectionStart = input.selectionStart;\r\n const selectionEnd = input.selectionEnd;\r\n //\r\n\r\n //\r\n if (![...nums, ...chars].includes(key)) {\r\n ignore();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\r\n const stepVal =\r\n decimalPointIndex > -1\r\n ? selectionStart >= decimalPointIndex\r\n ? this.decimalStep\r\n : this.step\r\n : this.step;\r\n if (e.key === 'ArrowDown') {\r\n this.value = val - stepVal;\r\n } else {\r\n this.value = val + stepVal;\r\n }\r\n ignore();\r\n input.setSelectionRange(selectionStart, selectionStart);\r\n } else if (e.key == 'Backspace') {\r\n const chr = valStr.substr(selectionStart - 1, 1);\r\n if (!nums.includes(chr)) {\r\n ignore();\r\n input.setSelectionRange(selectionStart - 1, selectionStart - 1);\r\n } else {\r\n const newVal = toNum(\r\n valStr.substr(0, selectionStart - 1) + valStr.substr(selectionEnd)\r\n );\r\n input.value = this._format(newVal);\r\n this.value = newVal;\r\n ignore();\r\n if (newVal == 0) {\r\n input.setSelectionRange(1, 1);\r\n } else {\r\n input.setSelectionRange(selectionStart - 1, selectionStart - 1);\r\n }\r\n }\r\n } else if (e.key == '.') {\r\n if (!this.scale) {\r\n ignore();\r\n } else if (decimalPointIndex > -1) {\r\n input.setSelectionRange(decimalPointIndex + 1, decimalPointIndex + 1);\r\n ignore();\r\n } else {\r\n if (input.selectionEnd != valStr.length) {\r\n input.setSelectionRange(valStr.length, valStr.length);\r\n ignore();\r\n }\r\n }\r\n } else if (e.key == '-') {\r\n const index = valStr.indexOf('-');\r\n if (index > -1) {\r\n ignore();\r\n } else {\r\n this.value = Math.abs(this.value) * -1;\r\n input.setSelectionRange(index + 1, index + 1);\r\n ignore();\r\n }\r\n } else if (nums.includes(key)) {\r\n const newVal = toNum(\r\n valStr.substr(0, selectionStart) + key + valStr.substr(selectionEnd)\r\n );\r\n if (newVal < this.minValue) {\r\n //TODO : highlight correct number\r\n //input.value = this._format(this.minValue);\r\n //const diff = this.minValue - val;\r\n //this.value = this.minValue;\r\n //ignore();\r\n // setTimeout(() => {\r\n // input.setSelectionRange(input.selectionStart + 1, this.minValue.toString().length);\r\n // }, 50);\r\n } else if (newVal > this.maxValue) {\r\n input.value = this._format(this.maxValue);\r\n this.value = this.maxValue;\r\n ignore();\r\n } else {\r\n input.value = this._format(newVal);\r\n this.value = newVal;\r\n ignore();\r\n }\r\n }\r\n super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _onValueChanging(value: number) {\r\n return this._fixValue(value);\r\n }\r\n\r\n _fixValue(value: number): number {\r\n if (value == null || value == undefined) {\r\n return this.allowNull ? null : this.minValue;\r\n } else if (value > this.maxValue) {\r\n return this.maxValue;\r\n } else if (value < this.minValue) {\r\n return this.minValue;\r\n }\r\n return parseFloat(value.toFixed(this.scale));\r\n }\r\n\r\n _format(value: number): string {\r\n if (this.thousandSeparator) {\r\n this._maskService.thousandSeparator = this.separator;\r\n this._maskService.allowNegativeNumbers = true;\r\n const format = `separator.${this.scale}`;\r\n return this._maskService.applyMask(value?.toString(), format);\r\n } else {\r\n this._maskService.thousandSeparator = '';\r\n this._maskService.allowNegativeNumbers = true;\r\n const format = `separator.${this.scale}`;\r\n return this._maskService.applyMask(value?.toString(), format);\r\n }\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void {\r\n this.displayText = this._format(newValue);\r\n }\r\n\r\n _handleOnBlurEvent(e: FocusEvent) {\r\n const input = e.target as HTMLInputElement;\r\n this.value = this._fixValue(this.value);\r\n input.value = this._format(this.value);\r\n this._emitOnFocusEvent(e);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXNumberBoxComponent } from './number-box.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXButtonModule } from '../button';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nconst COMPONENT = [AXNumberBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n NgxMaskModule.forChild()\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXNumberBoxModule { }\r\n","import { AXDateTime } from '@acorex/core';\r\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Input, HostBinding } from '@angular/core';\r\nimport { MaskApplierService } from 'ngx-mask';\r\nimport { AXBaseTextBoxMixin } from '../base';\r\nimport { TEXTBOX_INPUTS, TEXTBOX_OUTPUT } from '../base/mixin/textbox-mixin.class';\r\n\r\n@Component({\r\n selector: 'ax-time-box',\r\n templateUrl: './time-box.component.html',\r\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', ...TEXTBOX_INPUTS],\r\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus', ...TEXTBOX_OUTPUT],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-time-box ax-editor-container' },\r\n})\r\nexport class AXTimeBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n @HostBinding('class')\r\n get hostClass(): string {\r\n return `${this.cssClass} ax-${this.size}`;\r\n }\r\n\r\n\r\n private _minValue: Date;\r\n @Input()\r\n public get minValue(): Date {\r\n return this._minValue;\r\n }\r\n public set minValue(v: Date) {\r\n this._minValue = v;\r\n }\r\n\r\n private _maxValue: Date;\r\n @Input()\r\n public get maxValue(): Date {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: Date) {\r\n this._maxValue = v;\r\n }\r\n\r\n\r\n @Input()\r\n format: string = 'HH:mm';\r\n\r\n\r\n\r\n @Output()\r\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\r\n private _displayText: string = \"\";\r\n\r\n @Input()\r\n public get displayText(): string {\r\n return this._displayText;\r\n }\r\n\r\n public set displayText(v: string) {\r\n this._displayText = v;\r\n this.displayTextChange.emit(v);\r\n }\r\n\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _maskService: MaskApplierService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n const toDate = (val: string) => {\r\n return new Date(val);\r\n }\r\n const nums: string[] = Array(10).fill(0).map((v, i) => i.toString());\r\n const chars: string[] = [':', 'Backspace', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter'];\r\n const input = (e.target as HTMLInputElement);\r\n const key = (e.key);\r\n const valStr = input.value;\r\n const val = toDate(valStr);\r\n const selectionStart = input.selectionStart;\r\n const selectionEnd = input.selectionEnd;\r\n //\r\n\r\n //\r\n if (![...nums, ...chars].includes(key)) {\r\n ignore();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\r\n // const stepVal = decimalPointIndex > -1 ? (selectionStart >= decimalPointIndex ? this.decimalStep : this.step) : this.step;\r\n // if (e.key === 'ArrowDown') {\r\n // this.value = val - stepVal;\r\n // }\r\n // else {\r\n // this.value = val + stepVal;\r\n // }\r\n ignore();\r\n input.setSelectionRange(selectionStart, selectionStart);\r\n }\r\n else if (e.key == 'Backspace') {\r\n\r\n }\r\n else if (nums.includes(key)) {\r\n\r\n }\r\n super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _onValueChanging(value: Date) {\r\n return this._fixValue(value);\r\n }\r\n\r\n _fixValue(value: Date): Date {\r\n if ((value == null || value == undefined)) {\r\n return this.allowNull ? null : this.minValue;\r\n }\r\n else if (value > this.maxValue) {\r\n return this.maxValue;\r\n }\r\n else if (value < this.minValue) {\r\n return this.minValue;\r\n }\r\n return value;\r\n }\r\n\r\n _format(value: Date): string {\r\n return new AXDateTime(value).format(this.format);\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void {\r\n this.displayText = this._format(newValue);\r\n }\r\n\r\n _handleOnBlurEvent(e: FocusEvent) {\r\n const input = (e.target as HTMLInputElement);\r\n this.value = this._fixValue(this.value);\r\n input.value = this._format(this.value);\r\n this._emitOnFocusEvent(e);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTimeBoxComponent } from './time-box.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXButtonModule } from '../button';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nconst COMPONENT = [AXTimeBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n NgxMaskModule.forChild()\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTimeBoxModule { }\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { AXSizableComponentMixin } from '../base';\r\nimport { AXTabStripChangedEvent, AXTabStripItem } from './tabs.class';\r\n\r\n@Component({\r\n selector: 'ax-tab-strip',\r\n templateUrl: './tab-strip.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size', 'cssClass'],\r\n host: { class: 'ax-tab-strip' },\r\n})\r\nexport class AXTabStripComponent extends AXSizableComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n private _items: AXTabStripItem[];\r\n @Input()\r\n public get items(): AXTabStripItem[] {\r\n return this._items;\r\n }\r\n public set items(v: AXTabStripItem[]) {\r\n this._items = v;\r\n if (\r\n this._items &&\r\n this.items.length &&\r\n !this._items.some((c) => c.active)\r\n ) {\r\n this._handleClick(this.items[0], 0);\r\n }\r\n }\r\n\r\n @Input()\r\n mode: 'default' | 'underline' | 'pills' | 'pills-color' = 'default';\r\n\r\n @Input()\r\n fullWidth: boolean = false;\r\n\r\n @Input()\r\n minWidth: boolean = false;\r\n\r\n @Output()\r\n onSelectionChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\r\n\r\n _handleClick(tab: AXTabStripItem, index: number) {\r\n if (tab.disabled) {\r\n return;\r\n }\r\n this.items.forEach((c) => (c.active = false));\r\n tab.active = true;\r\n this.onSelectionChanged.emit({\r\n component: this,\r\n selectedIndex: index,\r\n selectedTab: tab,\r\n htmlElement: this._getHostElement(),\r\n });\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, NgZone } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-tab',\r\n template: `\r\n <div *ngIf=\"_render\" >\r\n <ng-content>\r\n </ng-content>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-tab', style: 'display:none' }\r\n})\r\nexport class AXTabComponent extends AXBaseComponentMixin {\r\n\r\n\r\n @Input()\r\n name: string;\r\n @Input()\r\n caption: string;\r\n @Input()\r\n tooltip: string;\r\n @Input()\r\n icon: string;\r\n @Input()\r\n visible: boolean = true;\r\n @Input()\r\n disabled: boolean = false;\r\n @Input()\r\n data: any;\r\n\r\n _render: boolean = false\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n show() {\r\n this._getHostElement().style.display = 'unset';\r\n if (!this._render) {\r\n this._render = true;\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n\r\n hide() {\r\n this._getHostElement().style.display = 'none';\r\n }\r\n\r\n\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ContentChildren, QueryList, Input } from '@angular/core';\r\nimport { AXTabStripChangedEvent, AXTabStripItem } from './tabs.class';\r\nimport { AXTabStripComponent } from './tab-strip.component';\r\nimport { AXTabComponent } from './tab.component';\r\n\r\n@Component({\r\n selector: 'ax-tab-view',\r\n templateUrl: './tab-view.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size'],\r\n host: { class: 'ax-tab-view' }\r\n})\r\nexport class AXTabViewComponent extends AXTabStripComponent {\r\n\r\n @ContentChildren(AXTabComponent) _contentTabs: QueryList<AXTabComponent>;\r\n _tabs: AXTabStripItem[] = [];\r\n\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n onViewInit() {\r\n this._tabs = Array.from(this._contentTabs).map(c => ({\r\n name: c.name,\r\n text: c.caption,\r\n tooltip: c.tooltip,\r\n icon: c.icon,\r\n visible: c.visible,\r\n disabled: c.disabled,\r\n }));\r\n this._cdr.detectChanges();\r\n\r\n }\r\n\r\n\r\n _handleSelectionChanged(e: AXTabStripChangedEvent) {\r\n const tabs = Array.from(this._contentTabs);\r\n tabs.forEach(tab => {\r\n tab.hide();\r\n });\r\n tabs[e.selectedIndex].show();\r\n }\r\n\r\n}\r\n","import { AXEvent } from \"../base\";\r\n\r\nexport interface AXTabStripItem {\r\n name?: string;\r\n text?: string;\r\n tooltip?: string;\r\n iconClassAfter?: string;\r\n iconClassBefore?: string;\r\n iconClass?: string;\r\n visible?: boolean;\r\n disabled?: boolean;\r\n data?: any;\r\n style?: string;\r\n active?: boolean;\r\n }\r\n \r\n export class AXTabStripChangedEvent extends AXEvent {\r\n selectedTab: AXTabStripItem;\r\n selectedIndex:number;\r\n\r\n }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTabViewComponent } from './tab-view.component';\r\nimport { AXTabStripComponent } from './tab-strip.component';\r\nimport { AXTabComponent } from './tab.component';\r\n\r\nconst COMPONENT = [AXTabViewComponent, AXTabStripComponent, AXTabComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTabsModule { }\r\n","import { Injectable, Input } from \"@angular/core\";\r\nimport { AXBaseValueComponentMixin, AXInteractiveComponenetMixin } from \"../base\";\r\n\r\n\r\nexport interface AXDataPagerElementInterface {\r\n visible: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXDataPagerElementBase extends AXInteractiveComponenetMixin implements AXDataPagerElementInterface {\r\n\r\n @Input()\r\n visible: boolean = true;\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXDataPagerSelectorBase extends AXBaseValueComponentMixin implements AXDataPagerElementInterface{\r\n\r\n @Input()\r\n visible: boolean = true;\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, EventEmitter, Output, ViewChild, ContentChildren, QueryList } from '@angular/core';\r\nimport { AXBaseValueComponentMixin, AXEvent } from '../base';\r\nimport { SIZABLE_INPUTS } from '../base/mixin/sizable-mixin.class';\r\nimport { VALUE_OUTPUT, VALUE_INPUTS } from '../base/mixin/value-mixin.class';\r\nimport { AXDataPagerElementBase } from './datapager-base.component';\r\nimport { AXDataPagerInfoData } from './datapager-info.component';\r\n\r\nexport class AXPagerPageChangedEvent extends AXEvent implements AXDataPagerInfoData {\r\n range: { from: number, to: number } = { from: 0, to: 0 };\r\n page: number = 0;\r\n skip: number = 0;\r\n take: number = 0;\r\n totalPages: number = 0;\r\n totalItems: number = 0;\r\n}\r\n\r\nexport class AXPagerStateChangedEvent extends AXPagerPageChangedEvent {\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'ax-datapager',\r\n templateUrl: './datapager.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: [...SIZABLE_INPUTS, ...VALUE_INPUTS],\r\n outputs: [...VALUE_OUTPUT],\r\n host: { class: 'ax-datapager' }\r\n})\r\nexport class AXDataPagerComponent extends AXBaseValueComponentMixin {\r\n\r\n\r\n private _pageSize: number;\r\n @Input()\r\n public get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n public set pageSize(v: number) {\r\n const oldValue = this.pageSize;\r\n this._pageSize = v;\r\n this._emitStateChangedEvent();\r\n const newPage = Math.ceil(this.getState().range.from / this._pageSize) || 1;\r\n const needRefresh = this.value == newPage && oldValue != v;\r\n this.value = newPage;\r\n if (needRefresh) {\r\n this._emitChangedEvent();\r\n }\r\n }\r\n\r\n\r\n private _total: number;\r\n @Input()\r\n public get total(): number {\r\n return this._total;\r\n }\r\n public set total(v: number) {\r\n this._total = v && v > 0 ? v : 0;\r\n this._emitStateChangedEvent();\r\n }\r\n\r\n\r\n _totalPages: number = 0;\r\n\r\n @Output()\r\n onPageChanged: EventEmitter<AXPagerPageChangedEvent> = new EventEmitter<AXPagerPageChangedEvent>();\r\n @Output()\r\n onStateChanged: EventEmitter<AXPagerStateChangedEvent> = new EventEmitter<AXPagerStateChangedEvent>();\r\n\r\n\r\n @ContentChildren(AXDataPagerElementBase,{descendants:true})\r\n _contents: QueryList<AXDataPagerElementBase>;\r\n\r\n\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n \r\n }\r\n\r\n onInit() {\r\n if (!this.pageSize) {\r\n this.pageSize = 5;\r\n }\r\n }\r\n\r\n _onValueChanged(oldValue: number, newValue: number) {\r\n this._emitStateChangedEvent();\r\n this._emitChangedEvent();\r\n }\r\n\r\n public getState(): AXDataPagerInfoData {\r\n return {\r\n page: this.value,\r\n totalItems: this.total,\r\n totalPages: this._totalPages,\r\n range: {\r\n from: ((this.value - 1) * this.pageSize) + 1,\r\n to: Math.min((this.value * this.pageSize), this.total)\r\n },\r\n skip: (this.value - 1) * this.pageSize,\r\n take: this.pageSize,\r\n }\r\n }\r\n\r\n private _emitStateChangedEvent(): void {\r\n this._totalPages = Math.ceil(this._total / this.pageSize);\r\n //\r\n this.onStateChanged.emit(\r\n Object.assign({\r\n component: this,\r\n htmlElement: this.elementRef.nativeElement\r\n }, this.getState())\r\n );\r\n }\r\n\r\n private _emitChangedEvent(): void {\r\n if (this.value) {\r\n this.onPageChanged.emit(\r\n Object.assign({\r\n component: this,\r\n htmlElement: this.elementRef.nativeElement\r\n }, this.getState())\r\n );\r\n }\r\n }\r\n\r\n\r\n goNextPage(): void {\r\n this.value = Math.min(++this.value, this._totalPages);\r\n }\r\n\r\n goLastPage(): void {\r\n this.value = this._totalPages;\r\n }\r\n\r\n goFirstPage(): void {\r\n this.value = 1;\r\n }\r\n\r\n goPrevPage(): void {\r\n this.value = Math.max(--this.value, 1);\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { AXClickEvent } from \"../base\";\r\nimport { AXDataPagerElementBase, AXDataPagerSelectorBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\n@Component({\r\n selector: 'ax-datapager-next-buttons',\r\n template: `\r\n <ng-container *ngIf=\"visible\">\r\n <ax-button cssClass=\"ax-light-blank\" [size]=\"size\" [disabled]=\"disabled\" iconClass=\"ax-ic ax-ic-navigate-next\" text=\"\" title=\"Go to the next page\" (onClick)=\"_emitOnNextPageClick($event)\" >\r\n </ax-button>\r\n <ax-button cssClass=\"ax-light-blank\" [size]=\"size\" [disabled]=\"disabled\" iconClass=\"ax-ic ax-ic-last-page\" text=\"\" title=\"Go to the last page\" (onClick)=\"_emitOnLastPageClick($event)\">\r\n </ax-button>\r\n </ng-container>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['size'],\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-datapager-nav-buttons' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerNextButtonsComponent }]\r\n})\r\nexport class AXDataPagerNextButtonsComponent extends AXDataPagerElementBase {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _parent: AXDataPagerComponent,\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit() {\r\n this._checkDisabled();\r\n //\r\n this._parent.onStateChanged.subscribe(c => {\r\n this._checkDisabled();\r\n });\r\n }\r\n\r\n private _checkDisabled()\r\n {\r\n this.disabled = this._parent.value == this._parent.getState().totalPages;\r\n }\r\n\r\n _emitOnLastPageClick(e: AXClickEvent) {\r\n this._parent.goLastPage();\r\n }\r\n\r\n _emitOnNextPageClick(e: AXClickEvent) {\r\n this._parent.goNextPage();\r\n }\r\n}","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { AXClickEvent, AXInteractiveComponenetMixin } from \"../base\";\r\nimport { AXDataPagerElementBase, AXDataPagerSelectorBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\n@Component({\r\n selector: 'ax-datapager-prev-buttons',\r\n template: `\r\n <ax-button [disabled]=\"disabled\" [size]=\"size\" cssClass=\"ax-light-blank\" iconClass=\"ax-ic ax-ic-first-page\" text=\"\" title=\"Go to the last page\" (onClick)=\"_emitOnFirstPageClick($event)\">\r\n </ax-button>\r\n <ax-button [disabled]=\"disabled\" [size]=\"size\" cssClass=\"ax-light-blank\" iconClass=\"ax-ic ax-ic-navigate-before\" text=\"\" title=\"Go to the next page\" (onClick)=\"_emitOnPrevPageClick($event)\">\r\n </ax-button>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size'],\r\n host: { class: 'ax-datapager-nav-buttons' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerPrevButtonsComponent }]\r\n})\r\nexport class AXDataPagerPrevButtonsComponent extends AXDataPagerSelectorBase {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _parent: AXDataPagerComponent\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit() {\r\n this._checkDisabled();\r\n this._parent.onStateChanged.subscribe(c => {\r\n this._checkDisabled();\r\n });\r\n }\r\n\r\n private _checkDisabled() {\r\n this.disabled = this.disabled = this._parent.value == 1;\r\n }\r\n\r\n\r\n _emitOnFirstPageClick(e: AXClickEvent) {\r\n this._parent.goFirstPage();\r\n }\r\n\r\n _emitOnPrevPageClick(e: AXClickEvent) {\r\n this._parent.goPrevPage();\r\n }\r\n\r\n}","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input } from \"@angular/core\";\r\nimport { AXClickEvent } from \"../base\";\r\nimport { AXButtonItem } from \"../button\";\r\nimport { AXDataPagerElementBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\n@Component({\r\n selector: 'ax-datapager-page-sizes',\r\n template: `\r\n <ax-dropdown-button \r\n class=\"ax-flex-1\" \r\n cssClass=\"ax-light-blank\"\r\n [text]=\"_pageSize\"\r\n [size]=\"size\"\r\n [items]=\"_items\" \r\n [splitedbutton]=\"false\"\r\n (onItemClick)=\"_emitOnItemClick($event)\"\r\n > \r\n </ax-dropdown-button>\r\n <span class=\"ax-text-light-700\">items per page</span>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size'],\r\n outputs: [],\r\n host: { class: 'ax-datapager-page-sizes' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerPageSizesComponent }]\r\n})\r\nexport class AXDataPagerPageSizesComponent extends AXDataPagerElementBase {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _parent: AXDataPagerComponent,\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n _pageSize: number;\r\n\r\n\r\n onViewInit() {\r\n this._generateDisplayItems();\r\n //\r\n this._parent.onStateChanged.subscribe(c => {\r\n this._generateDisplayItems();\r\n });\r\n }\r\n\r\n\r\n _items: AXButtonItem[] = [];\r\n\r\n private _sizes: number[];\r\n @Input()\r\n public get sizes(): number[] {\r\n return this._sizes || [5, 10, 20, 50, 100];\r\n }\r\n public set sizes(v: number[]) {\r\n this._sizes = v;\r\n this._generateDisplayItems();\r\n }\r\n\r\n private _generateDisplayItems(): void {\r\n this._pageSize = this._parent.pageSize;\r\n this._items = this.sizes.map(s => ({\r\n text: s.toString(),\r\n selected : s == this._pageSize\r\n }));\r\n this._cdr.detectChanges();\r\n }\r\n\r\n\r\n _emitOnItemClick(e: AXClickEvent) {\r\n this._pageSize = Number(e.data.text); \r\n this._parent.pageSize = this._pageSize; \r\n }\r\n}","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input } from \"@angular/core\";\r\nimport { AXBaseValueComponentMixin, AXClickEvent } from \"../base\";\r\nimport { VALUE_INPUTS, VALUE_OUTPUT } from \"../base/mixin/value-mixin.class\";\r\nimport { AXButtonItem } from \"../button\";\r\nimport { AXDataPagerElementBase, AXDataPagerSelectorBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\n@Component({\r\n selector: 'ax-datapager-numeric-selector',\r\n template: `\r\n <ax-button-group cssClass=\"ax-primary-blank\" [size]=\"size\" [selectable]=\"true\" [items]=\"_items\" (onItemClick)=\"_emitOnItemClick($event)\">\r\n </ax-button-group>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size', ...VALUE_INPUTS],\r\n outputs: [...VALUE_OUTPUT],\r\n host: { class: 'ax-datapager-numeric-selector' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerNumericSelectorComponent }]\r\n})\r\nexport class AXDataPagerNumericSelectorComponent extends AXDataPagerSelectorBase {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _parent: AXDataPagerComponent,\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n _items: AXButtonItem[] = [];\r\n\r\n private _displayCount: number = 5;\r\n\r\n\r\n onViewInit() {\r\n this._generateDisplayItems();\r\n this._parent.onPageChanged.subscribe(c => {\r\n this.value = c.page;\r\n this._generateDisplayItems();\r\n });\r\n this._parent.onStateChanged.subscribe(c => {\r\n this._generateDisplayItems();\r\n });\r\n }\r\n\r\n private _generateDisplayItems(): void {\r\n debugger;\r\n const val = this._parent.value;\r\n const totalPages = this._parent._totalPages;\r\n //\r\n this._items = [];\r\n\r\n const start: number = ((Math.ceil(val / this._displayCount) - 1) * this._displayCount) + 1;\r\n const end: number = Math.min(start + this._displayCount - 1, totalPages);\r\n //\r\n if (start > this._displayCount) {\r\n this._items.push({\r\n selected: false,\r\n iconClass: 'ax-ic ax-ic-keyboard-control',\r\n data: start - 1\r\n });\r\n }\r\n //\r\n for (let i = start; i <= end; i++) {\r\n this._items.push({\r\n selected: val == i,\r\n text: i.toString(),\r\n data: i\r\n });\r\n }\r\n if (end < totalPages) {\r\n this._items.push({\r\n selected: false,\r\n iconClass: 'ax-ic ax-ic-keyboard-control',\r\n data: end + 1\r\n });\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n _onValueChanging(value: number) {\r\n return Number(value) || 1;\r\n\r\n }\r\n\r\n _onValueChanged(oldValue: number, newValue: number) {\r\n this._parent.value = newValue;\r\n }\r\n\r\n _emitOnItemClick(e: AXClickEvent) {\r\n this.value = Number(e.data.data);\r\n }\r\n}","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input } from \"@angular/core\";\r\nimport { VALUE_INPUTS, VALUE_OUTPUT } from \"../base/mixin/value-mixin.class\";\r\nimport { AXDataPagerElementBase, AXDataPagerSelectorBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\n@Component({\r\n selector: 'ax-datapager-input-selector',\r\n template: `\r\n <ax-number-box [(value)]=\"value\" [size]=\"size\" \r\n minValue=\"1\" [maxValue]=\"_totalPages\" allowNull=\"false\" [debounceTime]=\"500\">\r\n </ax-number-box>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['size', ...VALUE_INPUTS],\r\n outputs: [...VALUE_OUTPUT],\r\n host: { class: 'ax-datapager-input-selector' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerInputSelectorComponent }]\r\n})\r\nexport class AXDataPagerInputSelectorComponent extends AXDataPagerSelectorBase {\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private _parent: AXDataPagerComponent,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n _totalPages: number = 1;\r\n\r\n onViewInit() {\r\n this.value = this._parent.getState().page;\r\n this._totalPages = this._parent.getState().totalPages;\r\n\r\n this._parent.onPageChanged.subscribe(c => {\r\n this.value = c.page;\r\n });\r\n this._parent.onStateChanged.subscribe(c => {\r\n this.value = c.page;\r\n this._totalPages = c.totalPages;\r\n });\r\n }\r\n\r\n _onValueChanging(value: number) {\r\n return Number(value) || 1;\r\n\r\n }\r\n\r\n _onValueChanged(oldValue: number, newValue: number) {\r\n this._parent.value = newValue;\r\n\r\n }\r\n}","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input, NgZone, HostBinding } from \"@angular/core\";\r\nimport { AXDataPagerElementBase, AXDataPagerSelectorBase } from \"./datapager-base.component\";\r\nimport { AXDataPagerComponent } from \"./datapager.component\";\r\n\r\nexport interface AXDataPagerInfoData {\r\n range: { from: number, to: number };\r\n page: number;\r\n skip: number;\r\n take: number;\r\n totalPages: number;\r\n totalItems: number;\r\n}\r\n\r\n@Component({\r\n selector: 'ax-datapager-info',\r\n template: `<ng-container *ngIf=\"visible\"><span></span></ng-container>`,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['size'],\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-datapager-info' },\r\n providers: [{ provide: AXDataPagerElementBase, useExisting: AXDataPagerInfoComponent }]\r\n})\r\nexport class AXDataPagerInfoComponent extends AXDataPagerElementBase {\r\n\r\n constructor(\r\n private elementRef: ElementRef<HTMLDivElement>,\r\n private cdr: ChangeDetectorRef,\r\n private _parent: AXDataPagerComponent,\r\n private zone: NgZone\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n @HostBinding('class')\r\n get sizeBinding(): string {\r\n return this.size ? `ax-text-${this.size}` : null;\r\n }\r\n\r\n onViewInit() {\r\n this._updateText();\r\n this._parent.onStateChanged.subscribe(c => {\r\n this._updateText();\r\n });\r\n }\r\n\r\n private _updateText() {\r\n this.zone.runOutsideAngular(() => {\r\n const span = this.elementRef.nativeElement.querySelector('span');\r\n if (!span)\r\n return;\r\n const info = this._parent.getState();\r\n if ([info.range, info.range.from].every(c => c)) {\r\n span.innerHTML = '{{from}} - {{to}} of {{totalItems}} items'\r\n .replace('{{from}}', info.range.from.toString())\r\n .replace('{{to}}', info.range.to.toString())\r\n .replace('{{totalItems}}', info.totalItems.toString());\r\n }\r\n else {\r\n span.innerHTML = '...';\r\n }\r\n });\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDataPagerComponent } from './datapager.component';\r\nimport { AXDataPagerNextButtonsComponent } from './datapager-next-buttons.components';\r\nimport { AXButtonModule } from '../button';\r\nimport { AXDataPagerPrevButtonsComponent } from './datapager-prev-buttons.component';\r\nimport { AXDataPagerPageSizesComponent } from './datapager-pagesize-dropdown.component';\r\nimport { AXDataPagerNumericSelectorComponent } from './datapager-numeric-selector.component';\r\nimport { AXDataPagerInputSelectorComponent } from './datapager-input-selector.component';\r\nimport { AXDataPagerInfoComponent } from './datapager-info.component';\r\nimport { AXNumberBoxModule } from '../number-box';\r\n\r\nconst COMPONENT = [\r\n AXDataPagerComponent,\r\n AXDataPagerNextButtonsComponent,\r\n AXDataPagerPrevButtonsComponent,\r\n AXDataPagerPageSizesComponent,\r\n AXDataPagerNumericSelectorComponent,\r\n AXDataPagerInputSelectorComponent,\r\n AXDataPagerInfoComponent\r\n];\r\nconst MODULES = [CommonModule, AXButtonModule,AXNumberBoxModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXDataPagerModule { }\r\n","import { EventEmitter, Injectable } from \"@angular/core\";\r\nimport { AXValueChangedEvent } from \"../base\";\r\n\r\n\r\n@Injectable()\r\nexport abstract class AXCarouselCore {\r\n abstract next(): void;\r\n abstract last(): void;\r\n abstract prev(): void;\r\n abstract first(): void;\r\n abstract destroy(): void;\r\n abstract goToSlide(index: number): void;\r\n abstract goToPage(index: number): void;\r\n abstract mount(instance: AXCarousel): void;\r\n abstract rebuild(): void;\r\n}\r\n\r\n\r\n\r\nexport interface AXCarousel {\r\n\r\n onSlideChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n onOptionsChanged: EventEmitter<void>;\r\n //\r\n pageSizeChange: EventEmitter<number>\r\n pageSize: number;\r\n //\r\n gap: number;\r\n //\r\n autoplayChange: EventEmitter<boolean>;\r\n autoplay: boolean;\r\n //\r\n intervalChange: EventEmitter<number>\r\n interval: number;\r\n //\r\n centeredChange: EventEmitter<boolean>\r\n centered: boolean;\r\n //\r\n verticalChange: EventEmitter<boolean>\r\n vertical: boolean;\r\n //\r\n paddingChange: EventEmitter<string | number>\r\n padding: string | number;\r\n //\r\n loopChange: EventEmitter<boolean>\r\n loop: boolean;\r\n //\r\n rewindChange: EventEmitter<boolean>\r\n rewind: boolean;\r\n //\r\n visibleIndex: number;\r\n //\r\n onItemsChanged: EventEmitter<AXValueChangedEvent<HTMLDivElement[]>>\r\n items: HTMLDivElement[];\r\n\r\n rtl: boolean;\r\n\r\n next(): void;\r\n last(): void;\r\n prev(): void;\r\n first(): void;\r\n goToSlide(index: number): void;\r\n goToPage(index: number): void;\r\n\r\n host: HTMLDivElement;\r\n}\r\n\r\n","import { AXCarousel, AXCarouselCore } from \"./carousel.class\";\r\nimport { Splide as SS, SplideOptions } from '@splidejs/splide'\r\n\r\ndeclare var Splide: any;\r\n\r\nexport class AXCarouselSplideJS implements AXCarouselCore {\r\n constructor() {\r\n\r\n }\r\n\r\n _ref: SS;\r\n _instance: AXCarousel;\r\n\r\n mount(instance: AXCarousel): void {\r\n debugger;\r\n this._instance = instance;\r\n this._instance.host.classList.add('splide');\r\n this._instance.host.querySelector('.ax-carousel-list-container').classList.add('splide__track');\r\n const listElement = this._instance.host.querySelector('.ax-carousel-list');\r\n listElement.classList.add('splide__list');\r\n //\r\n this.rebuild();\r\n this._instance.onItemsChanged.subscribe(items => {\r\n items.value.forEach(i => i.classList.add('splide__slide'));\r\n this._ref.refresh();\r\n });\r\n this._instance.items = Array.from(listElement.querySelectorAll<HTMLDivElement>('ax-carousel-item'));\r\n this._instance.onOptionsChanged.subscribe(() => {\r\n this.rebuild();\r\n });\r\n }\r\n\r\n private _emitOnSlideChanged(i: number) {\r\n const oldValue = this._instance.visibleIndex;\r\n this._instance.visibleIndex = i;\r\n this._instance.onSlideChanged.emit({\r\n component: this,\r\n htmlElement: this._instance.host,\r\n value: this._instance.visibleIndex,\r\n oldValue\r\n });\r\n }\r\n\r\n\r\n private _getConfig(): SplideOptions {\r\n return {\r\n autoplay: this._instance.autoplay,\r\n type: this._instance.loop && !this._instance.rewind ? 'loop' : 'slide',\r\n rewind: this._instance.rewind,\r\n gap: this._instance.gap,\r\n perPage: this._instance.pageSize,\r\n perMove: 1,\r\n start: this._instance.visibleIndex,\r\n interval: this._instance.interval,\r\n direction: this._instance.vertical ? 'ttb' : (this._instance.rtl ? 'rtl' : 'ltr'),\r\n arrows: false,\r\n pagination: false,\r\n padding: this._instance.padding,\r\n autoWidth: true,\r\n focus: this._instance.centered ? 'center' : false,\r\n }\r\n }\r\n\r\n\r\n\r\n next(): void {\r\n this._ref.go('+');\r\n }\r\n\r\n last(): void {\r\n this._ref.go(this._ref.length - 1);\r\n }\r\n\r\n prev(): void {\r\n this._ref.go('-');\r\n }\r\n\r\n first(): void {\r\n this._ref.go(0);\r\n }\r\n\r\n goToSlide(index: number): void {\r\n this._ref.go(index);\r\n }\r\n\r\n goToPage(index: number): void {\r\n this._ref.go(`>${index}`);\r\n }\r\n\r\n destroy() {\r\n this._ref.destroy();\r\n }\r\n\r\n rebuild() {\r\n if (this._ref) {\r\n this._ref.off('move');\r\n this._ref.destroy();\r\n }\r\n //\r\n this._ref = new Splide(this._instance.host, this._getConfig());\r\n this._ref.mount();\r\n this._ref.on('move', this._emitOnSlideChanged.bind(this));\r\n this._emitOnSlideChanged(this._instance.visibleIndex);\r\n }\r\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ContentChildren, QueryList, Input, NgZone, Output, EventEmitter, ViewChild, ContentChild } from '@angular/core';\r\nimport { AXBaseComponentMixin, AXValueChangedEvent } from '../base';\r\nimport { coerceBooleanProperty, coerceCssPixelValue, coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { AXCarousel, AXCarouselCore } from './carousel.class';\r\nimport { AXCarouselSplideJS } from './carousel-splidejs.class';\r\n\r\n@Component({\r\n selector: 'ax-carousel',\r\n templateUrl: './carousel.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-carousel' },\r\n providers:[{\r\n provide: AXCarouselCore,\r\n useClass: AXCarouselSplideJS\r\n }]\r\n})\r\nexport class AXCarouselComponent extends AXBaseComponentMixin implements AXCarousel {\r\n\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private zone: NgZone,\r\n cdr: ChangeDetectorRef,\r\n private core: AXCarouselCore,\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n @Output()\r\n onOptionsChanged: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public onSlideChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\r\n\r\n @Output()\r\n public pageSizeChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n private _pageSize: number = 1\r\n @Input()\r\n public get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n public set pageSize(v: number) {\r\n const val = Math.max(1, coerceNumberProperty(v));\r\n if (val != this._pageSize) {\r\n this._pageSize = val;\r\n if (this._pageSize > 1) {\r\n this._vertical = false;\r\n }\r\n this.pageSizeChange.emit(this.pageSize);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n @Input()\r\n gap: number = 10;\r\n\r\n\r\n @Output()\r\n public autoplayChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _autoplay: boolean = false;\r\n @Input()\r\n public get autoplay(): boolean {\r\n return this._autoplay;\r\n }\r\n public set autoplay(v: boolean) {\r\n const val = coerceBooleanProperty(v);\r\n if (val != this._autoplay) {\r\n this._autoplay = val;\r\n this.autoplayChange.emit(this.autoplay);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n @Output()\r\n public intervalChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n private _interval: number = 3000\r\n @Input()\r\n public get interval(): number {\r\n return this._interval;\r\n }\r\n public set interval(v: number) {\r\n const val = coerceNumberProperty(v);\r\n if (val != this._interval) {\r\n this.intervalChange.emit(val);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n @Output()\r\n public paddingChange: EventEmitter<number | string> = new EventEmitter<number | string>();\r\n\r\n private _padding: number | string = 0\r\n @Input()\r\n public get padding(): number | string {\r\n return this._padding;\r\n }\r\n public set padding(v: number | string) {\r\n if (v != this._padding) {\r\n this._padding=v;\r\n this.paddingChange.emit(v);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n @Output()\r\n public centeredChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _centered: boolean = false;\r\n @Input()\r\n public get centered(): boolean {\r\n return this._centered;\r\n }\r\n public set centered(v: boolean) {\r\n const val = coerceBooleanProperty(v);\r\n if (val != this._centered) {\r\n this._centered = val;\r\n if (this._centered) {\r\n this._rewind = false;\r\n }\r\n this.centeredChange.emit(this.centered);\r\n this.rewindChange.emit(this.rewind);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n @Output()\r\n public verticalChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _vertical: boolean = false;\r\n @Input()\r\n public get vertical(): boolean {\r\n return this._vertical;\r\n }\r\n public set vertical(v: boolean) {\r\n const val = coerceBooleanProperty(v);\r\n if (val != this._vertical) {\r\n this._vertical = val;\r\n this.verticalChange.emit(this.vertical);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n @Output()\r\n public loopChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _loop: boolean = false;\r\n @Input()\r\n public get loop(): boolean {\r\n return this._loop;\r\n }\r\n public set loop(v: boolean) {\r\n const val = coerceBooleanProperty(v);\r\n if (val != this._loop) {\r\n this._loop = val;\r\n if (this._loop) {\r\n this._rewind = false;\r\n }\r\n this.loopChange.emit(this.loop);\r\n this.rewindChange.emit(this.rewind);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n @Output()\r\n public rewindChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _rewind: boolean = false;\r\n @Input()\r\n public get rewind(): boolean {\r\n return this._rewind;\r\n }\r\n public set rewind(v: boolean) {\r\n const val = coerceBooleanProperty(v);\r\n if (val != this._rewind) {\r\n this._rewind = val;\r\n if (this._rewind) {\r\n this._loop = false;\r\n this._centered = false;\r\n }\r\n this.rewindChange.emit(this.rewind);\r\n this.loopChange.emit(this.loop);\r\n this.centeredChange.emit(this.centered);\r\n this.onOptionsChanged.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n \r\n private _visibleIndex : number = 0;\r\n public get visibleIndex() : number {\r\n return this._visibleIndex;\r\n }\r\n public set visibleIndex(v : number) {\r\n this._visibleIndex = v;\r\n }\r\n \r\n\r\n\r\n\r\n @Output()\r\n public onItemsChanged: EventEmitter<AXValueChangedEvent<HTMLDivElement[]>> = new EventEmitter<AXValueChangedEvent<HTMLDivElement[]>>();\r\n\r\n private _items: HTMLDivElement[] = [];\r\n public get items(): HTMLDivElement[] {\r\n return this._items ?? [];\r\n }\r\n public set items(v: HTMLDivElement[]) {\r\n const oldValue = this.items.slice();\r\n this._items = v;\r\n this.onItemsChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n oldValue,\r\n value: this.items\r\n })\r\n }\r\n\r\n\r\n onViewInit() {\r\n this.core.mount(this);\r\n }\r\n\r\n \r\n\r\n \r\n next(): void {\r\n this.core.next();\r\n }\r\n\r\n last(): void {\r\n this.core.last();\r\n }\r\n\r\n prev(): void {\r\n this.core.prev();\r\n }\r\n\r\n first(): void {\r\n this.core.first();\r\n }\r\n\r\n goToSlide(index: number): void {\r\n this.core.goToSlide(index);\r\n }\r\n\r\n goToPage(index: number): void {\r\n this.core.goToPage(index);\r\n }\r\n\r\n\r\n get host():HTMLDivElement\r\n {\r\n return this._getHostElement();\r\n }\r\n\r\n\r\n onDestroy()\r\n {\r\n this.core.destroy();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AXBaseComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-carousel-item',\r\n template: '<ng-content></ng-content>',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host : { class: 'ax-carousel-item' }\r\n})\r\nexport class AXCarouselItemComponent extends AXBaseComponentMixin {\r\n\r\n constructor(\r\n elementRef: ElementRef, \r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Host, Optional } from '@angular/core';\r\nimport { AXBaseComponentMixin, AXClickEvent } from '../base';\r\nimport { AXCarouselComponent } from './carousel.component';\r\n\r\n@Component({\r\n selector: 'ax-carousel-arrows',\r\n template: `\r\n <button class=\"ax-carousel-arrow-prev\" (click)=\"_handlePrevClick($event)\">\r\n <i class=\"ax-ic ax-ic-keyboard-arrow-left\"></i>\r\n </button>\r\n <button class=\"ax-carousel-arrow-next\" (click)=\"_handleNextClick($event)\">\r\n <i class=\"ax-ic ax-ic-keyboard-arrow-right\"></i>\r\n </button>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-carousel-arrows' }\r\n})\r\nexport class AXCarouselArrowsComponent extends AXBaseComponentMixin {\r\n\r\n @Output()\r\n public onNextClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n @Output()\r\n public onPrevClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n @Optional() \r\n private parent: AXCarouselComponent\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n\r\n _handlePrevClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n this.parent.prev();\r\n }\r\n\r\n _handleNextClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n this.parent.next();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Host, Optional } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXBaseComponentMixin } from '../base';\r\nimport { AXCarouselComponent } from './carousel.component';\r\n\r\n@Component({\r\n selector: 'ax-carousel-pager',\r\n template: `\r\n <button *ngFor=\"let d of _dots;let i=index\" [class.ax-state-active]=\"i==_pageIndex\" (click)=\"_handleClick($event,i)\">\r\n </button>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-carousel-pager' }\r\n})\r\nexport class AXCarouselPagerComponent extends AXBaseComponentMixin {\r\n\r\n\r\n _visibleIndex: number = 0;\r\n _pageIndex: number = 0;\r\n private _size: number = 1;\r\n\r\n _dots: any[] = [];\r\n\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _parent: AXCarouselComponent\r\n ) {\r\n super(elementRef, cdr);\r\n this._subs[0] = _parent.pageSizeChange.subscribe(c => {\r\n this._size = c;\r\n this._generateDots();\r\n });\r\n this._subs[1] = _parent.onSlideChanged.subscribe(c => {\r\n this._visibleIndex = c.value;\r\n this._generateDots();\r\n });\r\n this._subs[2] = _parent.onItemsChanged.subscribe(c => {\r\n this._generateDots();\r\n });\r\n }\r\n\r\n\r\n onViewInit() {\r\n this._size = this._parent.pageSize;\r\n this._visibleIndex = this._parent.visibleIndex;\r\n this._generateDots();\r\n }\r\n\r\n\r\n private _generateDots(): void {\r\n this._dots = [...Array(Math.ceil(this._parent.items.length / this._size)).keys()];\r\n this._setPageIndex(this._findPageIndex(this._visibleIndex));\r\n this.cdr.detectChanges();\r\n }\r\n\r\n\r\n _handleClick(e: MouseEvent, index: number) {\r\n e.stopPropagation();\r\n this._setPageIndex(index);\r\n this._parent.goToPage(index);\r\n }\r\n\r\n private _setPageIndex(index: number) {\r\n this._pageIndex = index;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private _findPageIndex(slideIndex: number): number {\r\n return Math.min(Math.ceil(slideIndex / this._size), this._dots.length - 1);\r\n }\r\n\r\n onDestroy() {\r\n this._subs.forEach(s => {\r\n s.unsubscribe();\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXCarouselComponent } from './carousel.component';\r\nimport { AXCarouselItemComponent } from './carousel-item.component';\r\nimport { AXCarouselArrowsComponent } from './carousel-arrows.component';\r\nimport { AXCarouselPagerComponent } from './carousel-pager.component';\r\nimport { AXCarouselSplideJS } from './carousel-splidejs.class';\r\nimport { AXCarousel, AXCarouselCore } from './carousel.class';\r\n\r\nconst COMPONENT = [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXCarouselModule { }\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, HostBinding } from '@angular/core';\r\nimport { AXSizableComponentMixin } from '../base';\r\n\r\n@Component({\r\n selector: 'ax-icon',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-ic' }\r\n})\r\nexport class AXIconComponent extends AXSizableComponentMixin {\r\n\r\n @Input()\r\n icon: string;\r\n\r\n @HostBinding('class')\r\n get iconClass(): string {\r\n return `ax-ic-${this.icon} ax-${this.size}`;\r\n }\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXIconComponent } from './icon.component';\r\n\r\nconst COMPONENT = [AXIconComponent];\r\nconst MODULES = [CommonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXIconModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","EventEmitter","coerceBooleanProperty","coerceNumberProperty","AXObjectUtil","AXConfig","Subscription","Subject","debounceTime","distinctUntilChanged","Directive","ElementRef","NgModule","Component","ChangeDetectionStrategy","ViewEncapsulation","ChangeDetectorRef","Input","HostListener","CommonModule","COMPONENT","MODULES","OverlayContainer","Overlay","ScrollStrategyOptions","ComponentFactoryResolver","OverlayPositionBuilder","OverlayKeyboardDispatcher","Injector","NgZone","Inject","DOCUMENT","Directionality","RendererFactory2","Location","OverlayOutsideClickDispatcher","portal","TemplateRef","TemplatePortal","ComponentPortal","merge","ApplicationRef","ContentChildren","Output","ViewChild","NgxMaskModule","ContentChild","HostBinding","FormsModule","ViewContainerRef","OverlayModule","AXTranslator","trigger","transition","style","animate","Renderer2","observeOn","asyncScheduler","finalize","BehaviorSubject","DragDropModule","A11yModule","MaskApplierService","AXDateTime","Optional"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/acorex/components/src/lib/base/mixin/base-components.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/button-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/clickable-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/datalist-component.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/dropdown-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/interactive-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/selection-component.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/sizable-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/value-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/textbox-mixin.class.ts","../../../../projects/acorex/components/src/lib/base/mixin/mixin.class.ts","../../../../projects/acorex/components/src/lib/base/events.class.ts","../../../../projects/acorex/components/src/lib/base/styles.class.ts","../../../../projects/acorex/components/src/lib/base/responsive.directive.ts","../../../../projects/acorex/components/src/lib/base/common.module.ts","../../../../projects/acorex/components/src/lib/alert/alert.component.ts","../../../../projects/acorex/components/src/lib/alert/alert.component.html","../../../../projects/acorex/components/src/lib/alert/alert-title.component.ts","../../../../projects/acorex/components/src/lib/alert/alert-button.component.ts","../../../../projects/acorex/components/src/lib/alert/alert-contnet.component.ts","../../../../projects/acorex/components/src/lib/alert/alert-suffix.component.ts","../../../../projects/acorex/components/src/lib/alert/alert-footer.component.ts","../../../../projects/acorex/components/src/lib/alert/alert.module.ts","../../../../projects/acorex/components/src/lib/avatar/avatar.component.ts","../../../../projects/acorex/components/src/lib/avatar/avatar.component.html","../../../../projects/acorex/components/src/lib/avatar/avatar.module.ts","../../../../projects/acorex/components/src/lib/button/button.component.ts","../../../../projects/acorex/components/src/lib/button/button.component.html","../../../../projects/acorex/components/src/lib/button/button-item.component.ts","../../../../projects/acorex/components/src/lib/icon/icon.component.ts","../../../../projects/acorex/components/src/lib/decorators/prefix.component.ts","../../../../projects/acorex/components/src/lib/button/dropdown-button.component.ts","../../../../projects/acorex/components/src/lib/button/dropdown-button.component.html","../../../../projects/acorex/components/src/lib/button/button-group.component.ts","../../../../projects/acorex/components/src/lib/button/button-group.component.html","../../../../projects/acorex/components/src/lib/decorators/suffix.component.ts","../../../../projects/acorex/components/src/lib/decorators/decorators.module.ts","../../../../projects/acorex/components/src/lib/icon/icon.module.ts","../../../../projects/acorex/components/src/lib/button/button.module.ts","../../../../projects/acorex/components/src/lib/calendar/calendar.component.ts","../../../../projects/acorex/components/src/lib/calendar/calendar.component.html","../../../../projects/acorex/components/src/lib/calendar/calendar.module.ts","../../../../projects/acorex/components/src/lib/carousel/carousel.class.ts","../../../../projects/acorex/components/src/lib/carousel/carousel-splidejs.class.ts","../../../../projects/acorex/components/src/lib/carousel/carousel.component.ts","../../../../projects/acorex/components/src/lib/carousel/carousel.component.html","../../../../projects/acorex/components/src/lib/carousel/carousel-item.component.ts","../../../../projects/acorex/components/src/lib/carousel/carousel-arrows.component.ts","../../../../projects/acorex/components/src/lib/carousel/carousel-pager.component.ts","../../../../projects/acorex/components/src/lib/carousel/carousel.module.ts","../../../../projects/acorex/components/src/lib/checkbox/checkbox.component.ts","../../../../projects/acorex/components/src/lib/checkbox/checkbox.component.html","../../../../projects/acorex/components/src/lib/checkbox/checkbox.module.ts","../../../../projects/acorex/components/src/lib/datalist/datalist.component.ts","../../../../projects/acorex/components/src/lib/datalist/datalist.component.html","../../../../projects/acorex/components/src/lib/datalist/datalist.module.ts","../../../../projects/acorex/components/src/lib/dropdown/dropdown.component.ts","../../../../projects/acorex/components/src/lib/dropdown/dropdown.component.html","../../../../projects/acorex/components/src/lib/datepicker/datepicker.component.ts","../../../../projects/acorex/components/src/lib/datepicker/datepicker.component.html","../../../../projects/acorex/components/src/lib/dropdown/dropdown-panel.component.ts","../../../../projects/acorex/components/src/lib/dropdown/dropdown-panel.component.html","../../../../projects/acorex/components/src/lib/dropdown/dropdown.module.ts","../../../../projects/acorex/components/src/lib/datepicker/datepicker.module.ts","../../../../projects/acorex/components/src/lib/dialog/dialog.component.ts","../../../../projects/acorex/components/src/lib/dialog/dialog.component.html","../../../../projects/acorex/components/src/lib/dialog/dialog.service.ts","../../../../projects/acorex/components/src/lib/loading/loading.component.ts","../../../../projects/acorex/components/src/lib/loading/loading-spinner.component.ts","../../../../projects/acorex/components/src/lib/loading/loading.directive.ts","../../../../projects/acorex/components/src/lib/loading/loading.module.ts","../../../../projects/acorex/components/src/lib/base/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/src/lib/base/overlay.service.ts","../../../../projects/acorex/components/src/lib/loading/loading.service.ts","../../../../projects/acorex/components/src/lib/page/page.component.ts","../../../../projects/acorex/components/src/lib/page/page-footer.component.ts","../../../../projects/acorex/components/src/lib/page/base-page.class.ts","../../../../projects/acorex/components/src/lib/page/page.module.ts","../../../../projects/acorex/components/src/lib/dialog/dialog.module.ts","../../../../projects/acorex/components/src/lib/drawer/drawer.component.ts","../../../../projects/acorex/components/src/lib/drawer/drawer-container.component.ts","../../../../projects/acorex/components/src/lib/drawer/drawer-content.component.ts","../../../../projects/acorex/components/src/lib/drawer/drawer.module.ts","../../../../projects/acorex/components/src/lib/form/form-field.component.ts","../../../../projects/acorex/components/src/lib/form/form-hint.component.ts","../../../../projects/acorex/components/src/lib/form/form.component.ts","../../../../projects/acorex/components/src/lib/form/form-field.module.ts","../../../../projects/acorex/components/src/lib/input-mask/input-mask.component.ts","../../../../projects/acorex/components/src/lib/input-mask/input-mask.module.ts","../../../../projects/acorex/components/src/lib/label/label.component.ts","../../../../projects/acorex/components/src/lib/label/label.component.html","../../../../projects/acorex/components/src/lib/label/label.module.ts","../../../../projects/acorex/components/src/lib/number-box/number-box.component.ts","../../../../projects/acorex/components/src/lib/number-box/number-box.component.html","../../../../projects/acorex/components/src/lib/number-box/number-box.module.ts","../../../../projects/acorex/components/src/lib/popover/popover.component.ts","../../../../projects/acorex/components/src/lib/popover/popover.component.html","../../../../projects/acorex/components/src/lib/popover/popover.module.ts","../../../../projects/acorex/components/src/lib/range-slider/range-slider.component.ts","../../../../projects/acorex/components/src/lib/range-slider/range-slider.component.html","../../../../projects/acorex/components/src/lib/range-slider/range-slider.module.ts","../../../../projects/acorex/components/src/lib/popup/popup.component.ts","../../../../projects/acorex/components/src/lib/popup/popup.component.html","../../../../projects/acorex/components/src/lib/popup/popup.service.ts","../../../../projects/acorex/components/src/lib/popup/popup.module.ts","../../../../projects/acorex/components/src/lib/selectbox/selectbox.component.ts","../../../../projects/acorex/components/src/lib/selectbox/selectbox.component.html","../../../../projects/acorex/components/src/lib/selectbox/selectbox.module.ts","../../../../projects/acorex/components/src/lib/selection-list/selection-list.component.ts","../../../../projects/acorex/components/src/lib/selection-list/selection-list.component.html","../../../../projects/acorex/components/src/lib/selection-list/selection-list.module.ts","../../../../projects/acorex/components/src/lib/side-menu/side-menu.component.ts","../../../../projects/acorex/components/src/lib/side-menu/side-menu.component.html","../../../../projects/acorex/components/src/lib/side-menu/side-menu.module.ts","../../../../projects/acorex/components/src/lib/switch/switch.component.ts","../../../../projects/acorex/components/src/lib/switch/switch.component.html","../../../../projects/acorex/components/src/lib/switch/switch.module.ts","../../../../projects/acorex/components/src/lib/tabs/tab-strip.component.ts","../../../../projects/acorex/components/src/lib/tabs/tab-strip.component.html","../../../../projects/acorex/components/src/lib/tabs/tab.component.ts","../../../../projects/acorex/components/src/lib/tabs/tab-view.component.ts","../../../../projects/acorex/components/src/lib/tabs/tab-view.component.html","../../../../projects/acorex/components/src/lib/tabs/tabs.class.ts","../../../../projects/acorex/components/src/lib/tabs/tabs.module.ts","../../../../projects/acorex/components/src/lib/time-box/time-box.component.ts","../../../../projects/acorex/components/src/lib/time-box/time-box.component.html","../../../../projects/acorex/components/src/lib/time-box/time-box.module.ts","../../../../projects/acorex/components/src/lib/toast/toast.component.ts","../../../../projects/acorex/components/src/lib/toast/toast.component.html","../../../../projects/acorex/components/src/lib/toast/toast.module.ts","../../../../projects/acorex/components/src/lib/toast/toast.service.ts","../../../../projects/acorex/components/src/lib/tooltip/tooltip.component.ts","../../../../projects/acorex/components/src/lib/tooltip/tooltip.component.html","../../../../projects/acorex/components/src/lib/tooltip/tooltip.directive.ts","../../../../projects/acorex/components/src/lib/tooltip/tooltip.module.ts","../../../../projects/acorex/components/src/lib/textbox/textbox.component.ts","../../../../projects/acorex/components/src/lib/textbox/textbox.component.html","../../../../projects/acorex/components/src/lib/textbox/textbox.module.ts","../../../../projects/acorex/components/src/lib/validation/validation-rule.widget.ts","../../../../projects/acorex/components/src/lib/validation/validation.module.ts","../../../../projects/acorex/components/src/public-api.ts","../../../../projects/acorex/components/src/acorex-components.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ChangeDetectorRef, Inject, Injectable } from \"@angular/core\";\nimport { ElementRef } from \"@angular/core\";\nimport { Constructor } from \"./constratctor\";\n\n\n/**\n* A token that specifies the size of component.\n*/\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n@Injectable()\nexport class AXBaseComponent {\n id: string = `ax-${new Date().getTime().toString()}`;\n\n /**\n * A token that specifies the layout direction of component.\n */\n rtl: boolean;\n\n cssClass: string;\n cssStyle: string;\n\n\n #elementRef: ElementRef;\n _cdr: ChangeDetectorRef;\n\n _isInited: boolean;\n _isRendered: boolean;\n\n /**\n * @ignore\n */\n constructor(@Inject(Array) ...args: any[]) {\n this.#elementRef = args[0];\n this._cdr = args[1];\n }\n\n ngOnInit() {\n this._isInited = true;\n this._onInternalInit();\n }\n\n ngAfterViewInit() {\n this._isRendered = true;\n this._onInternalViewInit();\n }\n\n ngOnDestroy() {\n this._onInternalDestroy();\n }\n\n _getHostElement<T = HTMLElement>(): T {\n return this.#elementRef.nativeElement as T;\n }\n\n _getInnerElement<T = HTMLElement>(): T {\n return this._getHostElement().firstElementChild as unknown as T;\n }\n\n\n _onInternalInit() {\n (this._getHostElement() as any).__axContext__ = this;\n this._getHostElement().setAttribute('data-id', this.id);\n if (this.rtl == null) {\n this.rtl = window.getComputedStyle(this._getHostElement(), null).getPropertyValue('direction') === 'rtl';\n }\n this._getHostElement().classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\n this._getInnerElement()?.classList.add(this.rtl ? 'ax-rtl' : 'ax-ltr');\n this.onInit();\n }\n\n _onInternalViewInit() {\n this.onViewInit();\n }\n\n _onInternalDestroy() {\n this.onDestroy();\n }\n\n onInit() {\n }\n\n onViewInit() {\n }\n\n onDestroy() {\n }\n\n onOptionChanging(option: { name: string, value?: any }) {\n return option?.value;\n }\n onOptionChanged(option: { name: string, oldValue?: any, newValue?: any }): void {\n\n }\n}\n\n\nexport function _BaseComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n }\n}\n\n\nexport const BASE_INPUTS = [\n 'rtl',\n 'cssClass',\n 'cssStyle'\n];\nexport const BASE_OUTPUT = [];\n","import { EventEmitter } from '@angular/core';\nimport { AXStyleColorType, AXStyleButtonLook } from '../styles.class';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n /**\n * Defines the primary text to show inside the button.\n */\n text: string = '';\n\n /**\n * Trigger click event by Enter Key \n */\n submitBehavior: boolean = false;\n\n /**\n * Trigger click event by Esc Key\n */\n cancelBehavior: boolean = false;\n\n\n\n\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n #color: AXStyleColorType = 'primary';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this.#color;\n }\n set color(value: AXStyleColorType) {\n value = this.onOptionChanging({ name: 'color', value: value });\n if (value != this.#color) {\n const oldValue = this.color;\n this.#color = value;\n this.colorChange.emit(value);\n this.onOptionChanged({ name: 'color', oldValue, newValue: value });\n this._cdr.markForCheck();\n }\n }\n\n lookChange: EventEmitter<AXStyleButtonLook> = new EventEmitter();\n #look?: AXStyleButtonLook = null;\n /**\n * Predefined look schemes\n */\n get look(): AXStyleButtonLook {\n return this.#look;\n }\n set look(value: AXStyleButtonLook) {\n value = this.onOptionChanging({ name: 'look', value: value });\n if (value != this.#look) {\n const oldValue = this.color;\n this.#look = value;\n this.lookChange.emit(value);\n this.onOptionChanged({ name: 'look', oldValue, newValue: value });\n this._cdr.markForCheck();\n }\n }\n\n\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n #toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this.#toggleable;\n }\n set toggleable(value: boolean) {\n value = this.onOptionChanging({ name: 'toggleable', value: value });\n if (value != this.#toggleable) {\n const oldValue = this.toggleable;\n this.#toggleable = value;\n this.toggleableChange.emit(value);\n this.onOptionChanged({ name: 'toggleable', oldValue, newValue: value });\n }\n }\n\n\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n #selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this.#selected;\n }\n set selected(value: boolean) {\n value = this.onOptionChanging({ name: 'selected', value: value });\n if (value != this.#selected) {\n const oldValue = this.selected;\n this.#selected = value;\n this.selectedChange.emit(value);\n this._cdr.markForCheck();\n this.onOptionChanged({ name: 'selected', oldValue, newValue: value });\n }\n }\n\n\n\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n _onInternalViewInit() {\n super._onInternalViewInit();\n if (this.submitBehavior) {\n setTimeout(() => {\n (this as any).focus();\n }, 0);\n }\n }\n\n _onInternalDestroy() {\n super._onInternalDestroy();\n }\n\n\n get _classes() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this[\"disabled\"],\n 'ax-state-selected': this.selected,\n };\n cssClasses[`ax-${this.color || 'primary'}${this.look ? '-' + this.look : ''}`] = true;\n return cssClasses;\n }\n };\n}\n\nexport const BUTTON_INPUTS = [\n 'text',\n 'submitBehavior',\n 'cancelBehavior',\n 'color',\n 'look',\n 'toggleable',\n 'selected',\n];\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\n","import { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXClickEvent } from \"../events.class\";\n\n\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\n return class extends Base {\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n _emitOnClickEvent(e: MouseEvent): void {\n \n this.onClick.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n}\n\n","import { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\n\nexport function _DatalistComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n valueField: string = 'id';\n textField: string | string[] = 'text';\n groupValueField: string = 'group';\n groupTextField: string | string[] = 'group';\n pageSize: number = 10;\n\n #currentPage: number = 0;\n #isLoading: boolean = false;\n #loadedItems: any[] = [];\n #totalItems: number = 0;\n\n #isLazy: boolean = false;\n\n get totalCount(): number {\n return this.#totalItems;\n }\n\n get loadedCount(): number {\n return this.#loadedItems?.length || 0;\n }\n\n constructor(...args: any[]) {\n super(...args);\n\n }\n\n #items: any = [];\n get items(): any {\n return this.#items;\n }\n set items(v: any) {\n this.#items = v;\n }\n\n get displayItems() {\n if (Array.isArray(this.items)) {\n return this.#items || [];\n }\n else if (typeof this.#items == 'function') {\n return this.#loadedItems || [];\n }\n return [];\n }\n\n get isLoading() {\n return this.#isLoading;\n }\n\n _fetchData() {\n if ((this.loadedCount >= this.totalCount && this.totalCount != 0) || this.#isLoading || !this.#isLazy) {\n return;\n }\n if (this.#items) {\n this.#isLoading = true;\n this.#items({ skip: this.#currentPage * this.pageSize, take: this.pageSize }).then(c => {\n if (Array.isArray(c)) {\n this.#loadedItems = c;\n this.#totalItems = c.length;\n }\n else {\n this.#totalItems = c.total || c.items?.length || 0;\n this.#loadedItems = this.#loadedItems.concat(c.items);\n this.#currentPage++;\n }\n this._cdr.markForCheck();\n }).finally(() => {\n this.#isLoading = false;\n this._onDataLoaded();\n });\n }\n }\n\n _onInternalInit() {\n if (typeof this.#items == 'function') {\n this.#isLazy = true;\n this._fetchData();\n }\n super._onInternalInit();\n }\n\n _onDataLoaded() {\n\n }\n\n _getItemDisplayTextTemplte(item) {\n if (item)\n return Array.isArray(this.textField) ? this.textField.map(c => item[c]).join(',') : item[this.textField];\n else\n return 'Loading...';\n }\n\n _trackByFunction(item) {\n if (!item) return null;\n return item[this.valueField];\n }\n\n }\n}","import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXEvent } from \"../events.class\";\n\n\n\nexport interface DropdownComponentInterface\n{\n open():void;\n close():void;\n toggle():void;\n isOpen:boolean;\n}\n\n\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n\n abstract class Mixin extends Base {\n #readonly: boolean = false;\n get readonly() { return this.#readonly; }\n set readonly(value: any) { this.#readonly = coerceBooleanProperty(value); }\n \n fitParent: boolean = true;\n \n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n \n _emitOnOpenedEvent() {\n //** call from interactive mixin **//\n //(this as any).focus();\n //\n this.onOpened.emit({\n component: this,\n htmlElement: this._getHostElement()\n });\n }\n \n _emitOnClosedEvent() {\n (this as any).focus();\n this.onClosed.emit({\n component: this,\n htmlElement: this._getHostElement()\n });\n }\n \n constructor(...args: any[]) {\n super(...args);\n }\n\n }\n\n return Mixin;\n}","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXFocusEvent } from \"../events.class\";\n\n\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n abstract class Mixin extends Base {\n\n #disabled: boolean = false;\n /**\n * If set to true, it disables the component.\n */\n get disabled(): boolean { return this.#disabled; }\n set disabled(value: boolean) {\n value = this.onOptionChanging({ name: 'disabled', value: value });\n if (value != this.disabled) {\n const oldValue = this.disabled;\n this.#disabled = coerceBooleanProperty(value);\n this.onOptionChanged({ name: 'disabled', oldValue, newValue: value });\n this._cdr.markForCheck();\n }\n }\n\n\n\n #tabIndex: number = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number { return this.disabled || (this as any).readonly ? -1 : this.#tabIndex; }\n set tabIndex(value: number) {\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnBlurEvent(e: FocusEvent): void {\n this.onBlur.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Focuses the component.\n */\n focus(): void {\n const focusable = this._getHostElement().querySelector<HTMLElement>('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n if (focusable) {\n focusable.focus();\n }\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n return Mixin;\n}","import { AXObjectUtil } from '@acorex/core';\nimport { EventEmitter } from '@angular/core';\nimport { AXSelectionValueChangedEvent } from '../events.class';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n valueField: string = 'id';\n textField: string | string[] = 'text';\n multiple: boolean = false;\n selectionMode: 'value' | 'item' = 'value';\n\n // for data-list\n get items(): any[] {\n return [];\n }\n\n get displayItems(): any[] {\n return [];\n }\n\n\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\n\n\n constructor(...args: any[]) {\n super(...args)\n }\n\n _onInternalInit() {\n super._onInternalInit();\n }\n\n\n _value: any | any[];\n get value(): any | any[] {\n return this._value;\n }\n set value(v: any | any[]) {\n if (v !== this._value) {\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\n if (this.multiple) {\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\n } else {\n this._value = Array.isArray(v) ? v[0] : v;\n }\n this.valueChange.emit(this._value);\n this.onValueChanged.emit({\n component: this,\n htmlElement: this._getHostElement(),\n isUserInput: false,\n oldValue,\n value: this._value,\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\n selectedItems: this.selectedItems.slice()\n });\n if (v == null || v == undefined || v == \"\") {\n (this as any)._setErrorState('clear');\n }\n else {\n if (this._isInited) {\n (this as any).validate();\n }\n }\n this._renderSelection();\n }\n }\n\n _selectedItems: any[];\n get selectedItems(): any[] {\n return this._selectedItems || [];\n }\n\n _renderSelection() {\n const func = () => {\n if (this.value == null || this.value == undefined) {\n return [];\n }\n if (this.displayItems.length > 0) {\n return this.displayItems.filter(i => {\n\n if (Array.isArray(this.value)) {\n return this.value.some(ii => {\n if (typeof ii === 'object') {\n return i[this.valueField] === ii[this.valueField];\n }\n else {\n return i[this.valueField] === ii;\n }\n });\n }\n else {\n if (typeof this.value === 'object') {\n return i[this.valueField] === this.value[this.valueField];\n }\n else {\n return i[this.valueField] === this.value;\n }\n }\n });\n }\n if (Array.isArray(this.value)) {\n return this.value.map(ii => () => {\n //&& ii[this.textField]\n if (typeof ii === 'object') {\n return ii;\n }\n else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n return fake;\n }\n });\n }\n else {\n //&& this.value[this.textField]\n if (typeof this.value === 'object') {\n return [this.value];\n }\n else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n return [fake];\n }\n }\n };\n this._selectedItems = func();\n }\n\n _getItemByDataMode(item: any) {\n return this.selectionMode === 'item' ? item : item[this.valueField];\n }\n\n _getItemValue(item: any) {\n return typeof item === 'object' ? item[this.valueField] : item;\n }\n\n\n\n unselectItems(...items: any[]) {\n if (!items || items.length === 0) {\n this.value = null;\n }\n else if (Array.isArray(this.value)) {\n this.value = this.value.filter(c => !items.some(d =>\n this._getItemValue(c) === this._getItemValue(d))\n );\n }\n else {\n this.value = null;\n }\n }\n\n selectItems(...items: any[]) {\n if (items && items.length) {\n if (this.multiple) {\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\n }\n else {\n this.value = this._getItemByDataMode(items[0]);\n }\n }\n }\n\n toggleSelect(...items: any[]) {\n if (items && items.length) {\n items.forEach(item => {\n if (this.multiple) {\n this.selectedItems.includes(item) ? this.unselectItems(item) : this.selectItems(item);\n }\n else {\n this.selectItems(item)\n }\n });\n }\n }\n\n isItemSelected(item: any): boolean {\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\n }\n }\n}","import { AXConfig } from '@acorex/core';\nimport { AXBaseComponent, AXElementSize } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n /**\n * A token that specifies the size of component.\n */\n size: AXElementSize;\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n\n _onInternalInit() {\n super._onInternalInit();\n }\n }\n}\n\n\nexport const SIZABLE_INPUTS = [\n 'size',\n];\nexport const SIZABLE_OUTPUT = [];","import {\n coerceBooleanProperty,\n coerceNumberProperty,\n} from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXValueChangedEvent } from '../events.class';\nimport { AXValidationRuleResult } from '../../validation/validation.class';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n\n return class extends Base {\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\n\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n\n #readonly: boolean = false;\n\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this.#readonly;\n }\n set readonly(value: boolean) {\n this.#readonly = coerceBooleanProperty(value);\n }\n\n #allowNull: boolean = true;\n get allowNull() {\n return this.#allowNull;\n }\n set allowNull(value: boolean) {\n this.#allowNull = coerceBooleanProperty(value);\n }\n\n\n #name: string;\n get name() {\n return this.#name;\n }\n set name(value: string) {\n this.#name = value;\n }\n\n #debounceTime: number = 0;\n get debounceTime() {\n return this.#debounceTime;\n }\n set debounceTime(value: number) {\n this.#debounceTime = coerceNumberProperty(value);\n }\n\n #valueSubscription = new Subscription();\n #valueSubject = new Subject();\n\n #value: any;\n public get value(): any {\n return this.#value;\n }\n public set value(v: any) {\n v = this._onValueChanging(v);\n if (!this._isInited || this.debounceTime == 0) {\n this._setValue(v);\n } else {\n this.#valueSubject.next(v);\n }\n }\n\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name\n });\n this._onValueChanged(oldValue, this.#value);\n }\n\n _onValueChanging(value: any) {\n return value;\n }\n _onValueChanged(oldValue: any, newValue: any): void { }\n\n _onInternalInit() {\n this._getHostElement().setAttribute('ax-form-input', 'true');\n this.#valueSubscription = this.#valueSubject\n .pipe(debounceTime(this.#debounceTime))\n .pipe(distinctUntilChanged())\n .subscribe((v) => {\n this._setValue(v);\n });\n super._onInternalInit();\n }\n\n _onInternalDestroy() {\n this.#valueSubscription.unsubscribe();\n super.onDestroy();\n }\n\n _setValue(v: any) {\n const old = this.#value;\n // TODO: check real equality\n if (v != old) {\n this.#value = v;\n this._emitOnValueChangedEvent(old, this.#value);\n this._cdr.markForCheck();\n if (v == null || v == undefined || v == '') {\n this._setErrorState('clear');\n } else {\n if (this._isInited) {\n this.validate();\n }\n }\n }\n }\n\n clear() {\n this.value = null;\n }\n\n validate(): Promise<AXValidationRuleResult> {\n const rules = Array.from(\n this._getHostElement().querySelectorAll('ax-validation-rule')\n ).filter((c) => (c as any).__axContext__.enabled);\n //\n if (!rules || rules.length === 0) {\n this._setErrorState('clear');\n return Promise.resolve({ result: true, value: this.value });\n }\n\n return new Promise<AXValidationRuleResult>((resolve) => {\n Promise.all(\n rules\n .filter((c) => typeof (c as any)?.validate === 'function')\n .map((c) => {\n return (c as any).validate(this.value);\n })\n ).then((d) => {\n const error = d.find((c) => c.result === false);\n if (error) {\n this._setErrorState('error', error.message);\n resolve({ result: false, value: this.value });\n } else {\n this._setErrorState('success');\n resolve({ result: true, value: this.value });\n }\n });\n });\n }\n\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n\n _setErrorState(state: 'clear' | 'success' | 'error', ...args) {\n const container = this._getHostElement().classList.contains('ax-editor-container') ?\n this._getHostElement() :\n this._getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = formField?.querySelector('.ax-label');\n const target = container || this._getInnerElement();\n const parent = target.parentElement;\n\n switch (state) {\n case 'clear':\n if (parent.querySelector('span.ax-error-msg')) {\n parent.removeChild(parent.querySelector('span.ax-error-msg'));\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this._setErrorState('clear');\n target.classList.add('ax-state-success');\n break;\n case 'error':\n this._setErrorState('clear');\n if (args[0]) {\n const span = document.createElement('span');\n span.innerText = args[0];\n span.classList.add('ax-error-msg');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n break;\n }\n }\n }\n}\n\n\nexport const VALUE_INPUTS = [\n 'readonly',\n 'allowNull',\n 'value',\n 'debounceTime',\n 'name'\n];\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];","import { EventEmitter } from '@angular/core';\nimport { AXHtmlEvent } from '../events.class';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { VALUE_INPUTS, VALUE_OUTPUT } from './value-mixin.class';\n\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n /**\n * A string value that specifies the placeholder of text box.\n */\n placeholder: string = null;\n\n /**\n * A number value that specifies the maximum characters of text box.\n */\n maxLength: number = 100;\n\n /**\n * Specifies that autocomplete is on or off.\n */\n autoComplete: boolean = false;\n\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n\n _emitOnKeydownEvent(e: KeyboardEvent) {\n this.onKeyDown.emit({\n component: this,\n nativeEvent: e\n });\n }\n\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n }\n}\n\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', ...VALUE_INPUTS]\nexport const TEXTBOX_OUTPUT = [...VALUE_OUTPUT]","import { AXBaseComponent, _BaseComponenetMixin } from './base-components.class';\nimport { _ButtonComponentMixin } from './button-mixin.class';\nimport { _ClickableComponenetMixin } from './clickable-mixin.class';\nimport { _DatalistComponenetMixin } from './datalist-component.class';\nimport { _DropdownComponenetMixin } from './dropdown-mixin.class';\nimport { _InteractiveComponenetMixin } from './interactive-mixin.class';\nimport { _LoadingComponenetMixin } from './loading-mixin.class';\nimport { _SelectionComponenetMixin } from './selection-component.class';\nimport { _SizableComponenetMixin } from './sizable-mixin.class';\nimport { _TextboxComponenetMixin } from './textbox-mixin.class';\nimport { _ValueComponenetMixin } from './value-mixin.class';\n\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\n\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\n _BaseComponenetMixin(AXBaseComponent)\n);\n\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(AXBaseComponent)\n);\n\nexport const AXBaseClickableMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(_ClickableComponenetMixin(AXBaseComponent))\n);\n\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ClickableComponenetMixin(_ButtonComponentMixin(AXBaseComponent))\n )\n);\n\nexport const AXBaseValueComponentMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n);\n\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\n )\n);\n\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\n);\n\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _DatalistComponenetMixin(\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseValueDropdownMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _DropdownComponenetMixin(\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseSelectionDropdownMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _DropdownComponenetMixin(\n _DatalistComponenetMixin(\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n )\n )\n);\n\nexport const AXCalendarMixin = _ClickableComponenetMixin(_ButtonComponentMixin(_SizableComponenetMixin(AXBaseComponent)));\n","/**\n* Contains native event\n* @category Events\n*/\nexport class AXEvent {\n /**\n * The sender component\n */\n component: any;\n /**\n * The root native element\n */\n htmlElement?: HTMLElement;\n}\n\n/**\n* Contains native event\n* @category Events\n*/\nexport class AXHtmlEvent<E extends Event> extends AXEvent {\n nativeEvent?: E;\n}\n\n/**\n* Contains native event\n* @category Events\n*/\nexport class AXValueChangedEvent<T> extends AXEvent {\n name?: T;\n value?: T;\n oldValue?: T;\n isTriggred?: boolean;\n}\n\n\n/**\n* Fires each time the user click the element.\n* @category Events\n*/\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\n /**\n * uses for extra data\n */\n data?: any\n}\n\n/**\n* Fires each time the user click the element.\n* @category Events\n*/\nexport class AXButtonClickEvent extends AXClickEvent {\n name: string;\n}\n\n/**\n* Fires each time the user click the element.\n* @category Events\n*/\nexport class AXItemClickEvent<T> extends AXEvent {\n item: T;\n}\n\n/**\n* Fires each time the component gets focused.\n* @category Events\n*/\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {\n}\n\n\n/**\n* Fires each time an item or multiple items selected by the user or value.\n* @category Events\n*/\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\n value?: any;\n oldValue?: any;\n isUserInput: boolean = false;\n selectedKeys?: any[];\n selectedItems?: any[];\n}","\nexport const AX_STYLE_TYPES = ['info', 'danger', 'success', 'warning'];\n\n/**\n* A token that specifies the color style of component.\n*/\nexport type AXStyleColorType = 'primary' | 'secondary' | 'info' | 'danger' | 'success' | 'warning' | 'light' | 'dark';\nexport type AXStyleButtonLook = 'blank' | 'outline' | 'twotone' | 'link';\n\nexport const AX_LOCATIONS = ['bottom-start', 'bottom-center', 'bottom-end', 'top-start', 'top-center', 'top-end'];\nexport type AXLocation = 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end';\n\n\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\n/**\n* A token that specifies the direction of component.\n*/\nexport type AXDirection = 'vertical' | 'horizontal';\n\n\n/**\n* A token that specifies the selection mode of component.\n*/\nexport type AXSelectionMode = 'single' | 'multiple';","import { Directive, ElementRef, OnDestroy } from '@angular/core';\n\n@Directive({ selector: '[ax-responsive]' })\nexport class AXResponsiveDirective implements OnDestroy {\n\n private _observer: ResizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n\n if (entry.target) {\n const e = entry.target;\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\n elements.map(c => ({\n element: c,\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\n })).forEach(c => {\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\n });\n }\n }\n });;\n\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\n this._observer.observe(_elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n this._observer.disconnect();\n this._observer.unobserve(this._elementRef.nativeElement);\n }\n\n}","import { NgModule } from '@angular/core';\nimport { AXResponsiveDirective } from './responsive.directive';\n\n\n\n\n@NgModule({\n imports: [],\n exports: [AXResponsiveDirective],\n declarations: [AXResponsiveDirective],\n providers: [],\n})\nexport class AXCommonModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, ViewChildren, QueryList, EventEmitter, Output, HostBinding } from '@angular/core';\nimport { AXBaseComponentMixin, AXStyleColorType } from '../base';\n\n\n/**\n * Regular description\n *\n * @category Components\n */\n@Component({\n selector: 'ax-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-alert ax-none' }\n})\nexport class AXAlertComponent extends AXBaseComponentMixin {\n\n @Input()\n icon: string;\n\n @Output()\n typeChange: EventEmitter<AXStyleColorType> = new EventEmitter<AXStyleColorType>();\n\n private _type: AXStyleColorType;\n\n /**\n * The Alert allows you to set different types of alerts\n */\n @Input()\n public get type(): AXStyleColorType {\n return this._type;\n }\n public set type(v: AXStyleColorType) {\n this._type = v;\n this.typeChange.emit(v);\n switch (this.type) {\n case 'success':\n this.icon = 'ax-ic ax-ic-check-filled';\n break;\n case 'warning':\n this.icon = 'ax-ic-warning-filled';\n break;\n case 'danger':\n this.icon = 'ax-ic-error-filled';\n break;\n default:\n this.icon = 'ax-ic ax-ic-info-filled';\n break;\n }\n }\n\n @HostBinding('class')\n get hostClass(): string {\n return `ax-${this.type}`;\n }\n\n\n\n\n @Input()\n timeOut: number;\n\n #visible: boolean;\n\n /**\n * set the visibility of the Alert\n */\n @Input()\n public get visible(): boolean {\n return this.#visible;\n }\n public set visible(v: boolean) {\n if (this.#visible != v) {\n this.#visible = v;\n const host = this._getHostElement();\n if (v) {\n host.classList.remove('ax-none', 'animate__fadeOut');\n host.classList.add('animate__animated', 'animate__fadeIn', 'animate__fast');\n }\n else {\n host.classList.remove('animate__fadeIn');\n host.classList.add('animate__animated', 'animate__fadeOut', 'animate__fast');\n }\n }\n }\n\n\n /**\n * @ignore\n */\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n onInit() {\n // this._getHostElement().classList.add(`ax-${this.type}`);\n if (this.timeOut) {\n setTimeout(() => {\n this.dismiss()\n }, this.timeOut);\n }\n }\n\n onViewInit() {\n if (this.visible == undefined) {\n this.visible = true;\n }\n }\n\n /**\n * Remove the alert from the container\n */\n dismiss(): void {\n const host = this._getHostElement();\n // host.classList.add('animate__animated', 'animate__fadeOut', 'animate__fast');\n // host.addEventListener('animationend', () => {\n // host.parentElement.removeChild(host);\n // });\n host.parentElement.removeChild(host);\n }\n\n\n /**\n * Hide the alert\n */\n hide(): void {\n this.visible = false;\n }\n\n /**\n * Show the alert\n */\n show() {\n this.visible = true;\n }\n}\n","<div class=\"ax-alert-icon\" *ngIf=\"icon\">\n <i class=\"{{icon}} fa-lg\"></i>\n</div>\n<div class=\"ax-alert-body\">\n <ng-content select=\"ax-alert-title\">\n </ng-content>\n <ng-content select=\"ax-alert-content\">\n </ng-content>\n <ng-content select=\"ax-alert-footer\">\n </ng-content>\n</div>\n<ng-content select=\"ax-alert-suffix\">\n</ng-content>","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute } from '@angular/core';\n\n@Component({\n selector: 'ax-alert-title',\n template: `\n <ng-content>\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-alert-title' }\n})\nexport class AXAlertTitleComponent {\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute, HostListener } from '@angular/core';\nimport { AXBaseClickableMixin } from '../base';\nimport { BUTTON_OUTPUT } from '../base/mixin/button-mixin.class';\n\n@Component({\n selector: 'ax-alert-button',\n template: `\n {{title}}\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: [...BUTTON_OUTPUT],\n host: { class: 'ax-alert-button' }\n})\nexport class AXAlertButtonComponent extends AXBaseClickableMixin {\n\n @Input()\n title: string;\n\n @Input()\n icon: string;\n\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr)\n }\n\n @HostListener('click', ['$event'])\n _handleOnClick(e) {\n this._emitOnClickEvent(e);\n }\n\n @HostListener('focus', ['$event'])\n _handleOnFocus(e) {\n this._emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n _handleOnBlur(e) {\n this._emitOnBlurEvent(e);\n }\n\n\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, Attribute } from '@angular/core';\n\n@Component({\n selector: 'ax-alert-content',\n template:\n `<ng-content>\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-alert-content' }\n})\nexport class AXAlertContentComponent {\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ax-alert-suffix',\n template: `\n <div class=\"ax-alert-buttons\">\n <ng-content select=\"ax-alert-button\">\n </ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-alert-suffix' }\n})\nexport class AXAlertSuffixComponent {\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ax-alert-footer',\n template: `\n <div class=\"ax-alert-buttons\">\n <ng-content select=\"ax-alert-button\">\n </ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-alert-footer' }\n})\nexport class AXAlertFooterComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXAlertComponent } from './alert.component';\nimport { AXAlertContentComponent } from './alert-contnet.component';\nimport { AXAlertTitleComponent } from './alert-title.component';\nimport { AXAlertButtonComponent } from './alert-button.component';\nimport { AXAlertFooterComponent } from './alert-footer.component';\nimport { AXAlertSuffixComponent } from './alert-suffix.component';\n\nconst COMPONENT = [\n AXAlertComponent,\n AXAlertContentComponent,\n AXAlertTitleComponent,\n AXAlertButtonComponent,\n AXAlertFooterComponent,\n AXAlertSuffixComponent\n];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXAlertModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input } from '@angular/core';\nimport { AXSizableComponentMixin, BASE_INPUTS } from '../base';\nimport { SIZABLE_INPUTS } from '../base/mixin/sizable-mixin.class';\n\n@Component({\n selector: 'ax-avatar',\n templateUrl: './avatar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [...BASE_INPUTS, ...SIZABLE_INPUTS],\n host: { class: 'ax-avatar' }\n})\nexport class AXAvatarComponent extends AXSizableComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n\n\n private _image: string;\n @Input()\n public get image(): string {\n return this._image;\n }\n public set image(v: string) {\n this._image = v;\n }\n\n\n private _title: string;\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n\n private _icon: string;\n @Input()\n public get icon(): string {\n return this._icon;\n }\n public set icon(v: string) {\n this._icon = v;\n }\n\n\n private _abbr: string;\n @Input()\n public get abbr(): string {\n return this._abbr;\n }\n public set abbr(v: string) {\n this._abbr = v;\n }\n\n\n}\n","\n<div>Hi ax-avatar</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXAvatarComponent } from './avatar.component';\n\nconst COMPONENT = [AXAvatarComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXAvatarModule { }\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { BUTTON_INPUTS, BUTTON_OUTPUT } from '../base/mixin/button-mixin.class';\nimport { AXBaseButtonMixin } from '../base/mixin/mixin.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', 'cssStyle', ...BUTTON_INPUTS],\n outputs: [...BUTTON_OUTPUT],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXButtonComponent extends AXBaseButtonMixin {\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onKeydownHandler(e: KeyboardEvent) {\n if (this.cancelBehavior) {\n this._emitOnClickEvent(e as any);\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n _emitOnClickEvent(e: MouseEvent) {\n if (this.disabled)\n return;\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n super._emitOnClickEvent(e);\n }\n}\n","<button [ngClass]=\"_classes\" class=\"{{cssClass}} ax-{{size}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\" (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <ng-content select=\"ax-prefix,ax-loading,ax-icon\">\n </ng-content>\n <span *ngIf=\"text\">{{text}}</span>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-content select=\"ax-dropdown-panel\">\n </ng-content>\n</button>","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AXBaseComponent, AXStyleColorType } from '../base';\nimport { _ClickableComponenetMixin } from '../base/mixin/clickable-mixin.class';\nimport { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';\n\n\nexport const AXBaseItemButtonMixin =\n _InteractiveComponenetMixin(\n _ClickableComponenetMixin(AXBaseComponent)\n );\n\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <ng-content select=\"ax-icon\">\n </ng-content>\n <span *ngIf=\"text\">{{text}}</span>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { style: 'cssStyle' }\n})\n\nexport class AXButtonItemComponent extends AXBaseItemButtonMixin {\n\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @Input()\n text: string = null;\n\n @Input()\n tooltip: string = null;\n\n\n @Input()\n selected: boolean = false;\n\n @Input()\n seperated: boolean = false;\n\n @Input()\n name: string;\n\n @Input()\n data: any;\n\n\n @Input()\n color: AXStyleColorType = 'primary';\n\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n this._emitOnClickEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n };\n cssClasses[`ax-${this.color || 'primary'}`] = true;\n return Object.entries(cssClasses).filter(c => c[1]).map(c => c[0]).join(' ');\n }\n}\n\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, HostBinding } from '@angular/core';\nimport { AXSizableComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-icon',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXIconComponent extends AXSizableComponentMixin {\n\n @Input()\n icon: string;\n\n @HostBinding('class')\n get iconClass(): string {\n return `ax-ic ${this.icon}`;\n }\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-prefix',\n template: `\n <ng-content select=\"ax-button,ax-loading,ax-dropdown-button,ax-icon\">\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-prefix' }\n})\nexport class AXDecoratorPrefixComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n}\n","import { AXPlatform } from '@acorex/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXBaseComponent, AXButtonClickEvent, AXClickEvent, AXStyleButtonLook, AXStyleColorType } from '../base';\nimport { BUTTON_INPUTS, _ButtonComponentMixin } from '../base/mixin/button-mixin.class';\nimport { _ClickableComponenetMixin } from '../base/mixin/clickable-mixin.class';\nimport { _DatalistComponenetMixin } from '../base/mixin/datalist-component.class';\nimport { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';\nimport { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';\nimport { _SizableComponenetMixin } from '../base/mixin/sizable-mixin.class';\nimport { _ValueComponenetMixin } from '../base/mixin/value-mixin.class';\nimport { AXButtonItem } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\nexport const AXBaseDropdownButtonMixin =\n _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ClickableComponenetMixin(\n _ButtonComponentMixin(\n _DropdownComponenetMixin((AXBaseComponent)\n )\n )\n )\n )\n )\n\n@Component({\n selector: 'ax-dropdown-button',\n templateUrl: 'dropdown-button.component.html',\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', ...BUTTON_INPUTS],\n outputs: ['onClick', 'onBlur', 'onFocus'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-dropdown-button' }\n})\nexport class AXDropdownButtonComponent extends AXBaseDropdownButtonMixin {\n\n @ContentChildren(AXButtonItemComponent) _contentButtons: QueryList<AXButtonItemComponent>;\n @ViewChildren(AXButtonItemComponent) _viewButtons: QueryList<AXButtonItemComponent>;\n\n @Output()\n onItemClick: EventEmitter<AXButtonClickEvent> = new EventEmitter<AXButtonClickEvent>();\n\n\n\n\n\n private _items: AXButtonItem[];\n @Input()\n public get items(): AXButtonItem[] {\n return this._items || [];\n }\n public set items(v: AXButtonItem[]) {\n this._items = v;\n this._cdr.markForCheck();\n }\n\n\n\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _dropdownWidth: number;\n _subs: Subscription[] = [];\n\n\n constructor(\n _elementRef: ElementRef,\n _cdr: ChangeDetectorRef,\n private _overlay: Overlay,\n private _platform: AXPlatform,\n private _viewContainerRef: ViewContainerRef) {\n super(_elementRef, _cdr)\n }\n\n\n\n private _getAllButtons(): AXButtonItemComponent[] {\n return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];\n }\n\n\n onViewInit() {\n this._getAllButtons().forEach(c => {\n this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));\n });\n }\n\n onDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n @Input()\n dropdownIcon: string = 'ax-ic-chevron ax-transform ax--rotate-90';\n\n @Input()\n splited: boolean = true;\n\n @HostListener('keydown', ['$event'])\n _handleKeydownHandler(e: KeyboardEvent) {\n if (e.key === 'Enter' && e.type === 'keydown') {\n this.toggle();\n }\n if (e.key === 'Escape') {\n if (this.isOpen) {\n this.close();\n e.stopPropagation();\n }\n }\n }\n\n _emitOnClickEvent(e: MouseEvent) {\n if (!this.splited) {\n this.toggle();\n }\n else {\n super._emitOnClickEvent(e);\n }\n }\n\n _handleArrowClickEvent(e: MouseEvent) {\n this.toggle();\n }\n\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n this.close();\n }\n\n private _handleOnItemClick(e: AXClickEvent) {\n this.close();\n this._emitOnItemClickEvent(e, e.component);\n\n }\n\n\n toggle() {\n if (this.disabled !== true) {\n this.isOpen ? this.close() : this.open();\n }\n }\n\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._subs[1]?.unsubscribe();\n this._emitOnClosedEvent();\n }\n\n open() {\n if (this.isOpen) {\n return;\n }\n this._ensureOverlayCreated();\n this._overlayRef.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', '')) / 2;\n\n if (!this._overlayRef) {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(this._getInnerElement())\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: baseSize\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ])\n .withPush(false);\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.close(),\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\n hasBackdrop: false,\n backdropClass: ['cdk-overlay-transparent-backdrop']\n });\n this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = this._getHostElement();\n if (!(comElem.contains(target))) {\n this.close();\n }\n });\n this._subs[1] = this._overlayRef.attachments().subscribe(() => {\n if (this.fitParent === true) {\n this._dropdownWidth = this._getHostElement().offsetWidth;\n } else {\n this._dropdownWidth = this._getHostElement().offsetWidth * 1.5;\n }\n this._subs[2] = this._platform.scroll.subscribe(c => {\n if (!(c.nativeEvent.target as HTMLElement).closest('.ax-overlay-pane'))\n this.close();\n });\n });\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);\n }\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n\n}","<button [ngClass]=\"_classes\" class=\"{{cssClass}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\"\n (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <ng-content select=\"ax-loading\">\n </ng-content>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <ng-content select=\"ax-icon\">\n </ng-content>\n <span *ngIf=\"text\">{{text}}</span>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-container *ngIf=\"!splited\">\n <ax-icon [icon]=\"dropdownIcon\"></ax-icon>\n </ng-container>\n</button>\n<button class=\"ax-button ax-dropdown-arrow {{cssClass}}\" (click)=\"_handleArrowClickEvent($event)\" *ngIf=\"splited\">\n <ax-icon [icon]=\"dropdownIcon\"></ax-icon>\n</button>\n<ng-template #baseTemplate>\n <div class=\"ax-overlay-pane ax-dropdown-list\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\n <ax-prefix *ngIf=\"item.iconClass\">\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n <ng-template #panelTpl>\n <ng-content select=\"ng-container[panel],ax-button-item\">\n </ng-content>\n </ng-template>\n </div>\n</ng-template>","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, Output, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\nimport { AXButtonComponent } from \"./button.component\";\nimport { AXClickEvent, AXInteractiveComponenetMixin, AXItemClickEvent, AXSelectionMode, AXSelectionValueChangedEvent, AXStyleButtonLook, AXStyleColorType } from \"../base\";\n\n@Component({\n selector: 'ax-button-group',\n templateUrl: 'button-group.component.html',\n inputs: ['cssClass', 'size', 'cssStyle', 'rtl', 'disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-button-group', role: 'group' }\n})\nexport class AXButtonGroupComponent extends AXInteractiveComponenetMixin {\n\n \n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n private _selection : AXSelectionMode;\n @Input()\n public get selection() : AXSelectionMode {\n return this._selection;\n }\n public set selection(value : AXSelectionMode) {\n value = this.onOptionChanging({ name: 'selection', value: value });\n const oldValue = this.selection;\n if (value != oldValue) {\n this._selection = value;\n this.selectionChange.emit(value);\n this.onOptionChanged({ name: 'selection', oldValue, newValue: value });\n }\n }\n \n\n @Output()\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n private _color: AXStyleColorType = 'primary';\n /**\n * Predefined color schemes\n */\n @Input()\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n value = this.onOptionChanging({ name: 'color', value: value });\n const oldValue = this.color;\n if (value != oldValue) {\n this._color = value;\n this.colorChange.emit(value);\n this.onOptionChanged({ name: 'value', oldValue, newValue: value });\n }\n }\n\n @Output()\n lookChange: EventEmitter<AXStyleButtonLook> = new EventEmitter();\n private _look?: AXStyleButtonLook = null;\n /**\n * Predefined look schemes\n */\n @Input()\n get look(): AXStyleButtonLook {\n return this._look;\n }\n set look(value: AXStyleButtonLook) {\n value = this.onOptionChanging({ name: 'look', value: value });\n const oldValue = this.look;\n if (value != oldValue) {\n this._look = value;\n this.lookChange.emit(value);\n this.onOptionChanged({ name: 'look', oldValue, newValue: value });\n }\n }\n\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonComponent>> = new EventEmitter<AXItemClickEvent<AXButtonComponent>>();\n\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\n\n\n @ContentChildren(AXButtonComponent, { descendants: true })\n _contentButtons: QueryList<AXButtonComponent>;\n\n\n constructor(\n elementRef: ElementRef,\n private zone: NgZone,\n cdr: ChangeDetectorRef) {\n super(elementRef, cdr)\n }\n\n\n ngAfterContentInit() {\n this._bindEvents();\n this._bindProps();\n }\n\n\n private _bindEvents() {\n (this._contentButtons || []).forEach(b => {\n b.onClick.subscribe(c => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n private _bindProps() {\n (this._contentButtons || []).forEach(b => {\n b.look = this.look;\n b.color = this.color;\n b.disabled = this.disabled;\n b.toggleable = false;\n });\n }\n\n onOptionChanged(options) {\n this._bindProps();\n }\n\n\n _handleClickEvent(e: AXClickEvent, button: AXButtonComponent) {\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n }\n else if (this.selection == 'single') {\n this._contentButtons.forEach(c => {\n c.selected = false;\n })\n button.selected = true;\n }\n else {\n button.selected = false;\n }\n \n this.onItemClick.emit({\n component: this,\n htmlElement: e.htmlElement,\n item : button\n });\n\n }\n}","<ng-content select=\"ax-button\">\n</ng-content>","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-suffix',\n template: `\n <ng-content select=\"ax-button\">\n </ng-content>\n <ng-content select=\"ax-dropdown-button\">\n </ng-content>\n <ng-content select=\"ax-icon\">\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-suffix' }\n})\nexport class AXDecoratorSuffixComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDecoratorPrefixComponent } from './prefix.component';\nimport { AXDecoratorSuffixComponent } from './suffix.component';\n\nconst COMPONENT = [AXDecoratorPrefixComponent, AXDecoratorSuffixComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXEditorDecoratorModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXIconComponent } from './icon.component';\n\nconst COMPONENT = [AXIconComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXIconModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXEditorDecoratorModule } from '../decorators';\nimport { AXIconModule } from '../icon';\nimport { AXButtonGroupComponent } from './button-group.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\n\n\nconst COMPONENT = [\n AXButtonComponent,\n AXDropdownButtonComponent,\n AXButtonItemComponent,\n AXButtonGroupComponent,\n];\nconst MODULES = [CommonModule,AXIconModule,AXEditorDecoratorModule];\n\n@NgModule({\n imports: [MODULES],\n exports: [COMPONENT],\n declarations: [COMPONENT],\n providers: [],\n})\nexport class AXButtonModule { }\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { AXBaseComponentMixin, AXCalendarMixin } from '../base';\n\n@Component({\n selector: 'ax-calendar',\n templateUrl: './calendar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'tabIndex', 'size', 'cssClass', 'cssStyle'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCalendarComponent extends AXCalendarMixin {\n @ViewChild('days') days: ElementRef<HTMLDivElement>;\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n this.createYears();\n }\n @Input()\n actionBar: boolean = false;\n\n @Input()\n showTime: boolean = false;\n\n dayItems: number[] = new Array(32);\n yearItems: number[] = [1990];\n monthItems: string[] = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n\n ngAfterViewInit() {\n\n }\n\n createYears() {\n let number = 1990;\n for (let i = 0; i < 40; i++) {\n number = number + 1;\n this.yearItems.push(number);\n }\n }\n}\n","<div class=\"ax-calendar\">\n <div class=\"ax-calendar-header\">\n <ax-button cssClass=\"ax-nav-button\" text=\"October 2021\" color=\"light\" look=\"blank\"></ax-button>\n <ax-button cssClass=\"ax-prev-button\" color=\"light\" look=\"blank\">\n <ax-prefix>\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button cssClass=\"ax-next-button\" color=\"light\" look=\"blank\">\n <ax-prefix>\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n <div class=\"ax-calendar-body\">\n <div class=\"ax-month-items\">\n <div class=\"ax-month-item\">MO</div>\n <div class=\"ax-month-item\">TU</div>\n <div class=\"ax-month-item\">WE</div>\n <div class=\"ax-month-item\">TH</div>\n <div class=\"ax-month-item\">FR</div>\n <div class=\"ax-month-item\">SA</div>\n <div class=\"ax-month-item\">SU</div>\n </div>\n <div class=\"ax-day-items\">\n <div class=\"ax-day-item ax-state-event\">27</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-primary\">28</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-secondary\">29</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-success\">30</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-warning\">01</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-danger\">02</div>\n <div class=\"ax-day-item ax-state-holiday\">03</div>\n <div class=\"ax-day-item\">04</div>\n <div class=\"ax-day-item\">05</div>\n <div class=\"ax-day-item\">06</div>\n <div class=\"ax-day-item\">07</div>\n <div class=\"ax-day-item\">08</div>\n <div class=\"ax-day-item\">09</div>\n <div class=\"ax-day-item ax-state-holiday\">10</div>\n <div class=\"ax-day-item\">11</div>\n <div class=\"ax-day-item ax-state-event ax-state-event-info\">12</div>\n <div class=\"ax-day-item\">13</div>\n <div class=\"ax-day-item\">14</div>\n <div class=\"ax-day-item\">15</div>\n <div class=\"ax-day-item\">16</div>\n <div class=\"ax-day-item ax-state-holiday\">17</div>\n <div class=\"ax-day-item\">18</div>\n <div class=\"ax-day-item\">19</div>\n <div class=\"ax-day-item\">20</div>\n <div class=\"ax-day-item\">21</div>\n <div class=\"ax-day-item\">22</div>\n <div class=\"ax-day-item\">23</div>\n <div class=\"ax-day-item ax-state-holiday\">24</div>\n <div class=\"ax-day-item\">25</div>\n <div class=\"ax-day-item\">26</div>\n <div class=\"ax-day-item\">27</div>\n <div class=\"ax-day-item ax-state-today\">28</div>\n <div class=\"ax-day-item\">29</div>\n <div class=\"ax-day-item\">30</div>\n <div class=\"ax-day-item ax-state-holiday\">31</div>\n <div class=\"ax-day-item\">01</div>\n <div class=\"ax-day-item\">02</div>\n <div class=\"ax-day-item\">03</div>\n <div class=\"ax-day-item\">04</div>\n <div class=\"ax-day-item ax-state-selected\">05</div>\n <div class=\"ax-day-item\">06</div>\n <div class=\"ax-day-item ax-state-holiday\">07</div>\n </div>\n\n </div>\n <div class=\"ax-calendar-footer\">\n <ax-button text=\"Today\" color=\"dark\" size=\"sm\"></ax-button>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXCalendarComponent } from './calendar.component';\nimport { AXButtonModule } from '../button';\nimport { AXEditorDecoratorModule } from '../decorators';\nimport { AXIconModule } from '../icon';\n\nconst COMPONENT = [AXCalendarComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXEditorDecoratorModule, AXIconModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule { }\n","import { EventEmitter, Injectable } from \"@angular/core\";\nimport { AXValueChangedEvent } from \"../base\";\n\n\n@Injectable()\nexport abstract class AXCarouselCore {\n abstract next(): void;\n abstract last(): void;\n abstract prev(): void;\n abstract first(): void;\n abstract destroy(): void;\n abstract goToSlide(index: number): void;\n abstract goToPage(index: number): void;\n abstract mount(instance: AXCarousel): void;\n abstract rebuild(): void;\n}\n\n\n\nexport interface AXCarousel {\n\n onSlideChanged: EventEmitter<AXValueChangedEvent<number>>;\n onOptionsChanged: EventEmitter<void>;\n //\n pageSizeChange: EventEmitter<number>\n pageSize: number;\n //\n gap: number;\n //\n autoplayChange: EventEmitter<boolean>;\n autoplay: boolean;\n //\n intervalChange: EventEmitter<number>\n interval: number;\n //\n centeredChange: EventEmitter<boolean>\n centered: boolean;\n //\n verticalChange: EventEmitter<boolean>\n vertical: boolean;\n //\n paddingChange: EventEmitter<string | number>\n padding: string | number;\n //\n loopChange: EventEmitter<boolean>\n loop: boolean;\n //\n rewindChange: EventEmitter<boolean>\n rewind: boolean;\n //\n visibleIndex: number;\n //\n onItemsChanged: EventEmitter<AXValueChangedEvent<HTMLDivElement[]>>\n items: HTMLDivElement[];\n\n rtl: boolean;\n\n next(): void;\n last(): void;\n prev(): void;\n first(): void;\n goToSlide(index: number): void;\n goToPage(index: number): void;\n\n host: HTMLDivElement;\n}\n\n","import { AXCarousel, AXCarouselCore } from \"./carousel.class\";\nimport { Splide as SS, SplideOptions } from '@splidejs/splide'\n\ndeclare var Splide: any;\n\nexport class AXCarouselSplideJS implements AXCarouselCore {\n constructor() {\n\n }\n\n _ref: SS;\n _instance: AXCarousel;\n\n mount(instance: AXCarousel): void {\n this._instance = instance;\n this._instance.host.classList.add('splide');\n this._instance.host.querySelector('.ax-carousel-list-container').classList.add('splide__track');\n const listElement = this._instance.host.querySelector('.ax-carousel-list');\n listElement.classList.add('splide__list');\n //\n this.rebuild();\n this._instance.onItemsChanged.subscribe(items => {\n items.value.forEach(i => i.classList.add('splide__slide'));\n this._ref.refresh();\n });\n this._instance.items = Array.from(listElement.querySelectorAll<HTMLDivElement>('ax-carousel-item'));\n this._instance.onOptionsChanged.subscribe(() => {\n this.rebuild();\n });\n }\n\n private _emitOnSlideChanged(i: number) {\n const oldValue = this._instance.visibleIndex;\n this._instance.visibleIndex = i;\n this._instance.onSlideChanged.emit({\n component: this,\n htmlElement: this._instance.host,\n value: this._instance.visibleIndex,\n oldValue\n });\n }\n\n\n private _getConfig(): SplideOptions {\n return {\n autoplay: this._instance.autoplay,\n type: this._instance.loop && !this._instance.rewind ? 'loop' : 'slide',\n rewind: this._instance.rewind,\n gap: this._instance.gap,\n perPage: this._instance.pageSize,\n perMove: 1,\n start: this._instance.visibleIndex,\n interval: this._instance.interval,\n direction: this._instance.vertical ? 'ttb' : (this._instance.rtl ? 'rtl' : 'ltr'),\n arrows: false,\n pagination: false,\n padding: this._instance.padding,\n autoWidth: true,\n focus: this._instance.centered ? 'center' : false,\n }\n }\n\n\n\n next(): void {\n this._ref.go('+');\n }\n\n last(): void {\n this._ref.go(this._ref.length - 1);\n }\n\n prev(): void {\n this._ref.go('-');\n }\n\n first(): void {\n this._ref.go(0);\n }\n\n goToSlide(index: number): void {\n this._ref.go(index);\n }\n\n goToPage(index: number): void {\n this._ref.go(`>${index}`);\n }\n\n destroy() {\n this._ref.destroy();\n }\n\n rebuild() {\n if (this._ref) {\n this._ref.off('move');\n this._ref.destroy();\n }\n //\n this._ref = new Splide(this._instance.host, this._getConfig());\n this._ref.mount();\n this._ref.on('move', this._emitOnSlideChanged.bind(this));\n this._emitOnSlideChanged(this._instance.visibleIndex);\n }\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ContentChildren, QueryList, Input, NgZone, Output, EventEmitter, ViewChild, ContentChild } from '@angular/core';\nimport { AXBaseComponentMixin, AXValueChangedEvent } from '../base';\nimport { coerceBooleanProperty, coerceCssPixelValue, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { AXCarousel, AXCarouselCore } from './carousel.class';\nimport { AXCarouselSplideJS } from './carousel-splidejs.class';\n\n@Component({\n selector: 'ax-carousel',\n templateUrl: './carousel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-carousel' },\n providers:[{\n provide: AXCarouselCore,\n useClass: AXCarouselSplideJS\n }]\n})\nexport class AXCarouselComponent extends AXBaseComponentMixin implements AXCarousel {\n\n\n constructor(\n elementRef: ElementRef,\n private zone: NgZone,\n cdr: ChangeDetectorRef,\n private core: AXCarouselCore,\n ) {\n super(elementRef, cdr);\n }\n\n\n @Output()\n onOptionsChanged: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public onSlideChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\n\n @Output()\n public pageSizeChange: EventEmitter<number> = new EventEmitter<number>();\n\n private _pageSize: number = 1\n @Input()\n public get pageSize(): number {\n return this._pageSize;\n }\n public set pageSize(v: number) {\n const val = Math.max(1, coerceNumberProperty(v));\n if (val != this._pageSize) {\n this._pageSize = val;\n if (this._pageSize > 1) {\n this._vertical = false;\n }\n this.pageSizeChange.emit(this.pageSize);\n this.onOptionsChanged.emit();\n }\n }\n\n\n\n @Input()\n gap: number = 10;\n\n\n @Output()\n public autoplayChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _autoplay: boolean = false;\n @Input()\n public get autoplay(): boolean {\n return this._autoplay;\n }\n public set autoplay(v: boolean) {\n const val = coerceBooleanProperty(v);\n if (val != this._autoplay) {\n this._autoplay = val;\n this.autoplayChange.emit(this.autoplay);\n this.onOptionsChanged.emit();\n }\n }\n\n @Output()\n public intervalChange: EventEmitter<number> = new EventEmitter<number>();\n\n private _interval: number = 3000\n @Input()\n public get interval(): number {\n return this._interval;\n }\n public set interval(v: number) {\n const val = coerceNumberProperty(v);\n if (val != this._interval) {\n this.intervalChange.emit(val);\n this.onOptionsChanged.emit();\n }\n }\n\n\n\n @Output()\n public paddingChange: EventEmitter<number | string> = new EventEmitter<number | string>();\n\n private _padding: number | string = 0\n @Input()\n public get padding(): number | string {\n return this._padding;\n }\n public set padding(v: number | string) {\n if (v != this._padding) {\n this._padding=v;\n this.paddingChange.emit(v);\n this.onOptionsChanged.emit();\n }\n }\n\n\n\n @Output()\n public centeredChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _centered: boolean = false;\n @Input()\n public get centered(): boolean {\n return this._centered;\n }\n public set centered(v: boolean) {\n const val = coerceBooleanProperty(v);\n if (val != this._centered) {\n this._centered = val;\n if (this._centered) {\n this._rewind = false;\n }\n this.centeredChange.emit(this.centered);\n this.rewindChange.emit(this.rewind);\n this.onOptionsChanged.emit();\n }\n }\n\n @Output()\n public verticalChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _vertical: boolean = false;\n @Input()\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(v: boolean) {\n const val = coerceBooleanProperty(v);\n if (val != this._vertical) {\n this._vertical = val;\n this.verticalChange.emit(this.vertical);\n this.onOptionsChanged.emit();\n }\n }\n\n @Output()\n public loopChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _loop: boolean = false;\n @Input()\n public get loop(): boolean {\n return this._loop;\n }\n public set loop(v: boolean) {\n const val = coerceBooleanProperty(v);\n if (val != this._loop) {\n this._loop = val;\n if (this._loop) {\n this._rewind = false;\n }\n this.loopChange.emit(this.loop);\n this.rewindChange.emit(this.rewind);\n this.onOptionsChanged.emit();\n }\n }\n\n @Output()\n public rewindChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _rewind: boolean = false;\n @Input()\n public get rewind(): boolean {\n return this._rewind;\n }\n public set rewind(v: boolean) {\n const val = coerceBooleanProperty(v);\n if (val != this._rewind) {\n this._rewind = val;\n if (this._rewind) {\n this._loop = false;\n this._centered = false;\n }\n this.rewindChange.emit(this.rewind);\n this.loopChange.emit(this.loop);\n this.centeredChange.emit(this.centered);\n this.onOptionsChanged.emit();\n }\n }\n\n\n\n \n private _visibleIndex : number = 0;\n public get visibleIndex() : number {\n return this._visibleIndex;\n }\n public set visibleIndex(v : number) {\n this._visibleIndex = v;\n }\n \n\n\n\n @Output()\n public onItemsChanged: EventEmitter<AXValueChangedEvent<HTMLDivElement[]>> = new EventEmitter<AXValueChangedEvent<HTMLDivElement[]>>();\n\n private _items: HTMLDivElement[] = [];\n public get items(): HTMLDivElement[] {\n return this._items ?? [];\n }\n public set items(v: HTMLDivElement[]) {\n const oldValue = this.items.slice();\n this._items = v;\n this.onItemsChanged.emit({\n component: this,\n htmlElement: this._getHostElement(),\n oldValue,\n value: this.items\n })\n }\n\n\n onViewInit() {\n this.core.mount(this);\n }\n\n \n\n \n next(): void {\n this.core.next();\n }\n\n last(): void {\n this.core.last();\n }\n\n prev(): void {\n this.core.prev();\n }\n\n first(): void {\n this.core.first();\n }\n\n goToSlide(index: number): void {\n this.core.goToSlide(index);\n }\n\n goToPage(index: number): void {\n this.core.goToPage(index);\n }\n\n\n get host():HTMLDivElement\n {\n return this._getHostElement();\n }\n\n\n onDestroy()\n {\n this.core.destroy();\n }\n}\n","<div class=\"ax-carousel-list-container\">\n <div class=\"ax-carousel-list\">\n <ng-content select=\"ax-carousel-item\">\n </ng-content>\n </div>\n <ng-content select=\"ax-carousel-arrows\">\n </ng-content>\n</div>\n\n<ng-content select=\"ax-carousel-pager\">\n</ng-content>","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-carousel-item',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host : { class: 'ax-carousel-item' }\n})\nexport class AXCarouselItemComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef, \n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Host, Optional } from '@angular/core';\nimport { AXBaseComponentMixin, AXClickEvent } from '../base';\nimport { AXCarouselComponent } from './carousel.component';\n\n@Component({\n selector: 'ax-carousel-arrows',\n template: `\n <button class=\"ax-carousel-arrow-prev\" (click)=\"_handlePrevClick($event)\">\n <i class=\"ax-ic ax-ic-keyboard-arrow-left\"></i>\n </button>\n <button class=\"ax-carousel-arrow-next\" (click)=\"_handleNextClick($event)\">\n <i class=\"ax-ic ax-ic-keyboard-arrow-right\"></i>\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-carousel-arrows' }\n})\nexport class AXCarouselArrowsComponent extends AXBaseComponentMixin {\n\n @Output()\n public onNextClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Output()\n public onPrevClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n @Optional() \n private parent: AXCarouselComponent\n ) {\n super(elementRef, cdr);\n }\n\n\n _handlePrevClick(e: MouseEvent) {\n e.stopPropagation();\n this.parent.prev();\n }\n\n _handleNextClick(e: MouseEvent) {\n e.stopPropagation();\n this.parent.next();\n }\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Host, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXBaseComponentMixin } from '../base';\nimport { AXCarouselComponent } from './carousel.component';\n\n@Component({\n selector: 'ax-carousel-pager',\n template: `\n <button *ngFor=\"let d of _dots;let i=index\" [class.ax-state-active]=\"i==_pageIndex\" (click)=\"_handleClick($event,i)\">\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-carousel-pager' }\n})\nexport class AXCarouselPagerComponent extends AXBaseComponentMixin {\n\n\n _visibleIndex: number = 0;\n _pageIndex: number = 0;\n private _size: number = 1;\n\n _dots: any[] = [];\n\n\n private _subs: Subscription[] = [];\n\n constructor(\n elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private _parent: AXCarouselComponent\n ) {\n super(elementRef, cdr);\n _parent.pageSizeChange.subscribe(c => {\n this._size = c;\n this._generateDots();\n });\n _parent.onSlideChanged.subscribe(c => {\n this._visibleIndex = c.value;\n this._generateDots();\n });\n _parent.onItemsChanged.subscribe(c => {\n this._generateDots();\n });\n }\n\n\n onViewInit() {\n this._size = this._parent.pageSize;\n this._visibleIndex = this._parent.visibleIndex;\n this._generateDots();\n }\n\n\n private _generateDots(): void {\n this._dots = [...Array(Math.ceil(this._parent.items.length / this._size)).keys()];\n this._setPageIndex(this._findPageIndex(this._visibleIndex));\n this.cdr.detectChanges();\n }\n\n\n _handleClick(e: MouseEvent, index: number) {\n e.stopPropagation();\n this._setPageIndex(index);\n this._parent.goToPage(index);\n }\n\n private _setPageIndex(index: number) {\n this._pageIndex = index;\n this.cdr.detectChanges();\n }\n\n private _findPageIndex(slideIndex: number): number {\n return Math.min(Math.ceil(slideIndex / this._size), this._dots.length - 1);\n }\n\n onDestroy() {\n this._subs.forEach(s => {\n s.unsubscribe();\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXCarouselComponent } from './carousel.component';\nimport { AXCarouselItemComponent } from './carousel-item.component';\nimport { AXCarouselArrowsComponent } from './carousel-arrows.component';\nimport { AXCarouselPagerComponent } from './carousel-pager.component';\nimport { AXCarouselSplideJS } from './carousel-splidejs.class';\nimport { AXCarousel, AXCarouselCore } from './carousel.class';\n\nconst COMPONENT = [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCarouselModule { }\n","import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Input } from '@angular/core';\nimport { AXBaseValueComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-check-box',\n templateUrl: './checkbox.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value'],\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXCheckBoxComponent extends AXBaseValueComponentMixin {\n\n //TODO: apply it\n @Input()\n indeterminate: boolean = false;\n\n\n\n _id: string = `ax-checkbox-${Math.floor(Math.random() * 1000)}`\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n\n onInit() {\n super.onInit();\n if (!this.indeterminate && this.value == null) {\n this.value = false;\n }\n }\n\n\n _handleOnClickEvent(e: MouseEvent) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n\n}\n","<div class=\"ax-flex ax-items-start ax-checkbox-container\">\n <div class=\"ax-flex ax-items-center ax-h-5\">\n <input [id]=\"_id\" class=\"ax-checkbox\" type=\"checkbox\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n </div>\n <div class=\"ax-ms-2 ax-text-sm ax-flex ax-flex-col\">\n <label [for]=\"_id\" class=\"ax-font-medium ax-text-gray-700\">\n <ng-content></ng-content><br>\n </label>\n </div>\n <!-- <div class=\"ax-ms-3 ax-text-sm\">\n \n </div> -->\n</div>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { AXCheckBoxComponent } from './checkbox.component';\n@NgModule({\n declarations: [AXCheckBoxComponent],\n imports: [CommonModule, FormsModule],\n exports: [AXCheckBoxComponent],\n providers: [],\n})\nexport class AXCheckBoxModule {}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, ContentChild, TemplateRef, HostListener, ViewChild } from '@angular/core';\nimport { AXBaseSelectionValueMixin } from '../base';\n\n@Component({\n selector: 'ax-datalist',\n templateUrl: './datalist.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', 'items', 'pageSize'],\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-list ax-list-container' }\n})\nexport class AXDataListComponent extends AXBaseSelectionValueMixin {\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @ViewChild('container')\n _container: ElementRef<HTMLDivElement>\n\n @ContentChild('itemTemplate', { static: true })\n _contentItemTemplate: TemplateRef<any>;\n\n private _itemTemplate: TemplateRef<any>;\n @Input()\n public get itemTemplate(): TemplateRef<any> {\n return this._itemTemplate ? this._itemTemplate : this._contentItemTemplate;\n }\n public set itemTemplate(v: TemplateRef<any>) {\n this._itemTemplate = v;\n }\n\n @ContentChild('emptyTemplate', { static: true })\n _contentEmptyTemplate: TemplateRef<any>;\n\n private _emptyTemplate: TemplateRef<any>;\n @Input()\n public get emptyTemplate(): TemplateRef<any> {\n return this._emptyTemplate ? this._emptyTemplate : this._contentEmptyTemplate;\n }\n public set emptyTemplate(v: TemplateRef<any>) {\n this._emptyTemplate = v;\n }\n\n @ContentChild('loadingTemplate', { static: true })\n _contentloadingTemplate: TemplateRef<any>;\n\n private _loadingTemplate: TemplateRef<any>;\n @Input()\n public get loadingTemplate(): TemplateRef<any> {\n return this._loadingTemplate ? this._loadingTemplate : this._contentloadingTemplate;\n }\n public set loadingTemplate(v: TemplateRef<any>) {\n this._loadingTemplate = v;\n }\n\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n this.selectItems(item);\n }\n\n _handleListScroll(e: Event) {\n const list = e.target as HTMLDivElement;\n if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {\n return;\n }\n this._fetchData();\n }\n\n\n private _checkForLoadData() {\n const list = this._container.nativeElement;\n if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {\n this._fetchData();\n }\n }\n\n _onDataLoaded() {\n setTimeout(() => {\n this._checkForLoadData();\n }, 100);\n\n }\n\n}\n","<div class=\"ax-list-items-container ax-default ax-vertical\" (scroll)=\"_handleListScroll($event)\" #container>\n <ng-container *ngFor=\"let item of displayItems;trackBy : _trackByFunction\">\n <ng-container *ngIf=\"itemTemplate; else elseTemplate\">\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\n {{ item ? _getItemDisplayTextTemplte(item) : 'Loading...'}}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"(displayItems==null || displayItems.length==0) && !isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"elseEmptyTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n Empty!\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-list-loading-container\">\n <div><i class=\"fas fa-spinner ax-animate-spin\"></i> Loading ...</div>\n </div>\n </ng-template>\n </ng-container>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDataListComponent } from './datalist.component';\nimport { AXButtonModule } from '../button';\n\n\n\nconst COMPONENT = [AXDataListComponent];\nconst MODULES = [CommonModule, AXButtonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataListModule { }\n","import { AXPlatform } from '@acorex/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DropdownComponentInterface } from '../base/mixin/dropdown-mixin.class';\nimport { AXBaseDropdownMixin } from '../base/mixin/mixin.class';\n\n@Component({\n selector: 'ax-drop-down',\n templateUrl: 'dropdown.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent'],\n outputs: ['onOpened', 'onClosed'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-dropdown' }\n})\nexport class AXDropdownComponent extends AXBaseDropdownMixin implements DropdownComponentInterface {\n\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _dropdownWidth: number;\n _dropdownNative: number;\n _subs: Subscription[] = [];\n\n\n constructor(\n _elementRef: ElementRef,\n _cdr: ChangeDetectorRef,\n private _overlay: Overlay,\n private _platform: AXPlatform,\n private _viewContainerRef: ViewContainerRef\n ) {\n super(_elementRef, _cdr);\n }\n\n\n\n onViewInit() {\n\n }\n\n ngOnDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydownHandler(e: KeyboardEvent) {\n if (e.key === 'Enter' && e.type === 'keydown') {\n this.toggle();\n }\n if (e.key === 'Escape') {\n if (this.isOpen) {\n this.close();\n e.stopPropagation();\n }\n }\n }\n\n _handleArrowClickEvent() {\n this.toggle();\n }\n\n\n toggle() {\n if (this.disabled !== true && this.readonly !== true) {\n this.isOpen ? this.close() : this.open();\n }\n }\n\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._subs[1]?.unsubscribe();\n this._emitOnClosedEvent();\n }\n\n open() {\n if (this.isOpen) {\n return;\n }\n this._ensureOverlayCreated();\n this._overlayRef.attach(this._templatePortal);\n\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', '')) / 2;\n\n if (!this._overlayRef) {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(this._getInnerElement())\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: baseSize\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ])\n .withPush(false);\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.close(),\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\n hasBackdrop: false,\n backdropClass: ['cdk-overlay-transparent-backdrop']\n });\n this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = this._getHostElement();\n if (!(comElem.contains(target))) {\n this.close();\n }\n });\n this._subs[1] = this._overlayRef.attachments().subscribe(() => {\n if (this.fitParent === true) {\n this._dropdownWidth = this._getInnerElement().offsetWidth;\n } else {\n this._dropdownWidth = null;\n }\n this._subs[2] = this._platform.scroll.subscribe(c => {\n if (!(c.nativeEvent.target as HTMLElement).closest('.ax-overlay-pane'))\n this.close();\n });\n });\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);\n }\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n}","<div class=\"ax-editor-container\">\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-dropdown-content\" style=\"display: inline-flex;\" (click)=\"_handleArrowClickEvent()\">\n <ng-content select=\"ng-container[input]\">\n </ng-content>\n </div>\n <ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" [size]=\"size\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent()\">\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\n </ax-button>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-template #baseTemplate>\n <div class=\"ax-overlay-pane ax-transition ax-duration-300 ax-ease-in-out\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-content select=\"ng-container[panel]\">\n </ng-content>\n </div>\n </ng-template>\n</div>","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-datepicker',\n templateUrl: './datepicker.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXDatepickerComponent extends AXBaseComponentMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n this.createYears();\n }\n dayItems: number[] = new Array(32);\n yearItems: number[] = [1990];\n monthItems: string[] = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n\n _showDays: boolean = true;\n _showsMonths: boolean = false;\n _showYears: boolean = false;\n\n showMonths() {\n this._showDays = false;\n this._showYears = false;\n this._showsMonths = true;\n }\n\n showYears() {\n this._showsMonths = false;\n this._showDays = false;\n this._showYears = true;\n }\n\n showDays() {\n this._showYears = false;\n this._showsMonths = false;\n this._showDays = true;\n }\n\n createYears() {\n let number = 1990;\n for (let i = 0; i < 40; i++) {\n number = number + 1;\n this.yearItems.push(number);\n }\n }\n}\n","<ax-drop-down>\n <ng-container input>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n </ng-container>\n <ng-container panel>\n <div class=\"ax-datepicker-body\">\n <ax-calendar [showTime]=\"true\" [actionBar]=\"true\"></ax-calendar>\n </div>\n </ng-container>\n</ax-drop-down>","import { AXPlatform } from '@acorex/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n ContentChildren,\n ViewChildren,\n QueryList,\n EventEmitter,\n Output,\n Input,\n TemplateRef,\n ViewChild,\n HostListener,\n ViewContainerRef,\n Inject,\n Optional\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXBaseComponent, AXButtonClickEvent, AXClickEvent } from '../base';\nimport { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';\nimport { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';\nimport { AXButtonComponent, AXButtonItem, AXButtonItemComponent } from '../button';\n\n\nexport const AXBaseDropdownMenuMixin =\n _InteractiveComponenetMixin(\n _DropdownComponenetMixin((AXBaseComponent)\n )\n )\n\n\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXDropdownPanelComponent extends AXBaseDropdownMenuMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n private _overlay: Overlay,\n private _platform: AXPlatform,\n private _viewContainerRef: ViewContainerRef,\n @Optional()\n private _parent: AXButtonComponent,\n ) {\n super(elementRef, cdr);\n if (_parent) {\n this.target = _parent;\n this._subs.push(_parent.onClick.subscribe(this.toggle.bind(this)));\n }\n }\n\n @ContentChildren(AXButtonItemComponent) _contentButtons: QueryList<AXButtonItemComponent>;\n @ViewChildren(AXButtonItemComponent) _viewButtons: QueryList<AXButtonItemComponent>;\n\n @Output()\n onItemClick: EventEmitter<AXButtonClickEvent> = new EventEmitter<AXButtonClickEvent>();\n\n\n @Input()\n target: AXBaseComponent\n\n\n\n\n\n private _items: AXButtonItem[];\n @Input()\n public get items(): AXButtonItem[] {\n return this._items || [];\n }\n public set items(v: AXButtonItem[]) {\n this._items = v;\n this._cdr.markForCheck();\n }\n\n\n\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _dropdownWidth: number;\n _needBorder: boolean=false;\n _subs: Subscription[] = [];\n\n private _getAllButtons(): AXButtonItemComponent[] {\n return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];\n }\n\n\n onViewInit() {\n this._getAllButtons().forEach(c => {\n this._needBorder=true;\n this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));\n });\n }\n\n onDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n\n @HostListener('keydown', ['$event'])\n _handleKeydownHandler(e: KeyboardEvent) {\n if (e.key === 'Enter' && e.type === 'keydown') {\n this.toggle();\n }\n if (e.key === 'Escape') {\n if (this.isOpen) {\n this.close();\n e.stopPropagation();\n }\n }\n }\n\n\n\n _handleArrowClickEvent(e: MouseEvent) {\n this.toggle();\n }\n\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n this.close();\n }\n\n private _handleOnItemClick(e: AXClickEvent) {\n this.close();\n this._emitOnItemClickEvent(e, e.component);\n\n }\n\n\n toggle() {\n if (this.disabled !== true) {\n this.isOpen ? this.close() : this.open();\n }\n }\n\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._subs[1]?.unsubscribe();\n this._emitOnClosedEvent();\n }\n\n open() {\n if (this.isOpen) {\n return;\n }\n this._ensureOverlayCreated();\n this._overlayRef.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n const targetRef = this.target._getInnerElement();\n\n if (!this._overlayRef) {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(targetRef)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: baseSize\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ])\n .withPush(false);\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.close(),\n //panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\n panelClass: ['ax-animate-fade-in'],\n hasBackdrop: false,\n backdropClass: ['cdk-overlay-transparent-backdrop']\n });\n this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = targetRef;\n if (!(comElem.contains(target))) {\n this.close();\n }\n });\n this._subs[1] = this._overlayRef.attachments().subscribe(() => {\n if (this.fitParent === true) {\n this._dropdownWidth = targetRef.offsetWidth;\n } else {\n this._dropdownWidth = targetRef.offsetWidth * 1.5;\n }\n this._subs[2] = this._platform.scroll.subscribe(c => {\n if (!(c.nativeEvent.target as HTMLElement).closest('.ax-overlay-pane'))\n this.close();\n });\n });\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);\n }\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n}\n","<ng-template #baseTemplate>\n <div class=\"ax-overlay-pane\" [class.ax-dropdown-list]=\"_needBorder\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\n <ax-prefix *ngIf=\"item.iconClass\">\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n <ng-template #panelTpl>\n <ng-content select=\"[panel],ax-button-item\">\n </ng-content>\n </ng-template>\n </div>\n</ng-template>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonModule } from '../button';\nimport { AXEditorDecoratorModule } from '../decorators';\nimport { AXIconModule } from '../icon';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\nimport { AXDropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule],\n exports: [AXDropdownComponent, AXDropdownPanelComponent],\n declarations: [AXDropdownComponent, AXDropdownPanelComponent],\n providers: [],\n})\nexport class AXDropdownModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDatepickerComponent } from './datepicker.component';\nimport { AXCalendarModule } from '../calendar';\nimport { AXDropdownModule } from '../dropdown';\n\nconst COMPONENT = [AXDatepickerComponent];\nconst MODULES = [CommonModule, AXCalendarModule, AXDropdownModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDatepickerModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\nimport { AXButtonItem } from '../button';\nimport { AXDialogOptions } from './dialog.class';\n\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDialogComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n options: AXDialogOptions;\n _icon: string;\n close: () => void;\n\n onInit() {\n switch (this.options.type) {\n case 'success':\n this._icon = 'ax-ic ax-ic-check';\n break;\n case 'danger':\n this._icon = 'ax-ic ax-ic-error-filled';\n break;\n case 'warning':\n this._icon = 'ax-ic ax-ic-warning-filled';\n break;\n default:\n this._icon = 'ax-ic ax-ic-info-filled';\n break;\n }\n }\n\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick();\n }\n }\n\n}\n","<div class=\"ax-popup-wrapper\" aria-modal=\"true\" cdkTrapFocus>\n <div class=\"ax-dialog ax-{{options.type}}\" tabindex=\"0\" cdkDrag role=\"alert\" cdkDragHandle>\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon {{_icon}}\"></i>\n </div>\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{options.title}}</div>\n <div class=\"ax-dialog-content\">{{options.content}}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n <i class=\"ax-ic ax-ic-close\" *ngIf=\"options.dismissible\" (click)=\"close()\"></i>\n </div>\n\n <footer class=\"ax-dialog-footer\">\n <ng-container *ngFor=\"let button of options.buttons\">\n <ax-button [text]=\"button.text\" [submitBehavior]=\"button.submitBehavior\" [cancelBehavior]=\"button.cancelBehavior\" (onClick)=\"_handleButtonClick(button)\" [cssClass]=\"button.cssClass\" [look]=\"button.look\" [color]=\"button.color\"></ax-button>\n <div class=\"ax-ml-2\"></div>\n </ng-container>\n </footer>\n </div>\n\n</div>","import { AXTranslator } from '@acorex/core';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXStyleColorType } from '../base/styles.class';\nimport {\n AXDialogOptions,\n AXDialogRef,\n} from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\n\n@Injectable({ providedIn: 'root' })\nexport class AXDialogService {\n constructor(\n private overlayService: Overlay,\n private parentInjector: Injector\n ) { }\n\n alert(title: string, content: string, type: AXStyleColorType = 'primary'): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n buttons: [\n {\n name: 'confirm',\n text: AXTranslator.get('common.okay'),\n color: type,\n look: `twotone`,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n confirm(title: string, content: string, type: AXStyleColorType = 'primary'): Promise<void> {\n return new Promise((resolve, reject) => {\n const popup = this.open({\n title,\n content,\n type,\n buttons: [\n {\n name: 'confirm',\n text: AXTranslator.get('common.okay'),\n color: type,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n submitBehavior: true,\n cancelBehavior: false,\n },\n {\n name: 'cancel',\n text: AXTranslator.get('common.cancel'),\n color: `light`,\n onClick: () => {\n popup.close();\n if (reject) {\n reject();\n }\n },\n submitBehavior: false,\n cancelBehavior: true,\n },\n ],\n });\n });\n }\n\n show(options: AXDialogOptions): Promise<{ name: string }> {\n return new Promise((resolve) => {\n const popup = this.open(options);\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n popup.close();\n if (orginalClick) {\n orginalClick();\n }\n if (resolve) {\n resolve({ name: b.name });\n }\n };\n });\n });\n }\n\n private open(options: AXDialogOptions): AXDialogRef {\n let positionStrategy = this.overlayService\n .position()\n .global()\n .centerHorizontally()\n .centerVertically();\n const overlayRef = this.overlayService.create({\n positionStrategy,\n hasBackdrop: true,\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\n });\n const dialogPortal = new ComponentPortal(\n AXDialogComponent,\n null,\n this.parentInjector\n );\n const host = overlayRef.attach(dialogPortal);\n if (host.instance) {\n Object.assign(host.instance, {\n options: options,\n close: () => {\n overlayRef.dispose();\n },\n });\n setTimeout(() => {\n host.changeDetectorRef.detectChanges();\n }, 0);\n }\n\n return {\n close: () => {\n host.instance.close();\n },\n };\n }\n}\n","import { AXConfig } from '@acorex/core';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef, HostBinding } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-loading',\n template: `\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" ></ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-loading' }\n})\nexport class AXLoadingComponent extends AXBaseComponentMixin {\n\n _selectedPortal: Portal<any>;\n\n /**\n * @ignore\n */\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n\n @Output()\n visibleChange: EventEmitter<boolean> = new EventEmitter();\n\n private _visible: boolean;\n\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v != this._visible) {\n this._visible = v;\n v ? this._getHostElement().classList.remove('ax-hide') : this._getHostElement().classList.add('ax-hide');\n this.visibleChange.emit(v);\n }\n }\n\n @Input()\n type: string = 'spinner';\n\n onInit() {\n const loading = AXConfig.get(`layout.loading.${this.type}`);\n this._selectedPortal = new ComponentPortal(loading);\n this._cdr.markForCheck();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-loading-spinner',\n template: `\n <svg version=\"1.1\" width=\"100\" id=\"loader-1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\" y=\"0px\" viewBox=\"0 0 50 50\" xml:space=\"preserve\">\n <path fill=\"current\"\n d=\"M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z\">\n <animateTransform attributeType=\"xml\" attributeName=\"transform\" type=\"rotate\" from=\"0 25 25\" to=\"360 25 25\"\n dur=\"0.6s\" repeatCount=\"indefinite\" />\n </path>\n </svg>\n `\n})\nexport class AXLoadingSpinnerComponent {\n}","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges, ViewContainerRef\n } from '@angular/core';\nimport { AXLoadingComponent } from './loading.component';\n \n \n const OVERLAY_CLASS = 'loading-overlay';\n \n // This directive places an overlay with a loading spinner over its host element\n // if isLoading equals to true and hides the overlay when isLoading becomes false.\n @Directive({\n selector: '[axIsLoading]'\n })\n export class AXLoadingDirective implements OnChanges {\n @Input('axIsLoading')\n isLoading = false;\n \n protected overlayElement!: HTMLDivElement;\n protected spinnerElement!: HTMLDivElement;\n protected hostElement!: HTMLDivElement;\n \n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly renderer: Renderer2,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly componentFactoryResolver: ComponentFactoryResolver,\n ) {\n this.hostElement = this.elementRef.nativeElement;\n this.hostElement.style.position = 'relative';\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (!this.overlayElement || !this.spinnerElement) {\n this.init();\n }\n \n if (changes.isLoading) {\n const isLoadingValue = changes.isLoading.currentValue;\n \n if (isLoadingValue) {\n this.addLoadingIndicator();\n }\n else {\n this.removeLoadingIndicator();\n }\n \n this.changeDetectorRef.markForCheck();\n }\n }\n \n protected addLoadingIndicator(): void {\n this.renderer.appendChild(this.hostElement, this.overlayElement);\n this.renderer.appendChild(this.overlayElement, this.spinnerElement);\n }\n \n protected removeLoadingIndicator(): void {\n this.renderer.removeChild(this.overlayElement, this.spinnerElement);\n this.renderer.removeChild(this.hostElement, this.overlayElement);\n this.viewContainerRef.clear();\n }\n \n protected init(): void {\n this.initOverlayElement();\n this.initSpinnerComponent();\n }\n \n protected initSpinnerComponent(): void {\n const spinnerComponentFactory = this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);\n const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);\n this.spinnerElement = spinnerComponent.location.nativeElement;\n }\n \n protected initOverlayElement(): void {\n this.overlayElement = this.renderer.createElement('div');\n this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);\n }\n }\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLoadingComponent } from './loading.component';\nimport { AXLoadingDirective } from './loading.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\nimport { AXConfig } from '@acorex/core';\n\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];\nconst MODULES = [CommonModule, OverlayModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXLoadingModule {\n\n\n constructor() {\n AXConfig.set({\n layout: {\n loading: {\n spinner: AXLoadingSpinnerComponent\n }\n }\n })\n\n }\n}\n","import {\n Overlay,\n OverlayKeyboardDispatcher,\n OverlayPositionBuilder,\n ScrollStrategyOptions,\n OverlayContainer,\n OverlayRef,\n OverlayConfig,\n OverlayOutsideClickDispatcher\n} from '@angular/cdk/overlay';\nimport {\n ComponentFactoryResolver,\n Inject,\n Injector,\n NgZone,\n Renderer2,\n RendererFactory2,\n Injectable,\n} from '@angular/core';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT, Location } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicOverlayContainer extends OverlayContainer {\n public setContainerElement(containerElement: HTMLElement): void {\n this._containerElement = containerElement;\n }\n}\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicOverlay extends Overlay {\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\n private renderer: Renderer2;\n\n constructor(\n scrollStrategies: ScrollStrategyOptions,\n _overlayContainer: DynamicOverlayContainer,\n _componentFactoryResolver: ComponentFactoryResolver,\n _positionBuilder: OverlayPositionBuilder,\n _keyboardDispatcher: OverlayKeyboardDispatcher,\n _injector: Injector,\n _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any,\n _directionality: Directionality,\n rendererFactory: RendererFactory2,\n _location: Location,\n _outsideClickDispatcher: OverlayOutsideClickDispatcher,\n ) {\n super(\n scrollStrategies,\n _overlayContainer,\n _componentFactoryResolver,\n _positionBuilder,\n _keyboardDispatcher,\n _injector,\n _ngZone,\n _document,\n _directionality,\n _location,\n _outsideClickDispatcher,\n );\n this.renderer = rendererFactory.createRenderer(null, null);\n\n this._dynamicOverlayContainer = _overlayContainer;\n }\n\n private setContainerElement(containerElement: HTMLElement): void {\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\n this._dynamicOverlayContainer.setContainerElement(containerElement);\n }\n\n public createOn(containerElement: HTMLElement, config?: OverlayConfig): OverlayRef {\n this.setContainerElement(containerElement);\n return super.create(config);\n }\n}","import { Injectable, ApplicationRef, ViewContainerRef, TemplateRef, EventEmitter } from '@angular/core';\nimport { Overlay, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\nimport { AXConnectedPosition } from '.';\nimport { merge } from 'rxjs';\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\n\nexport interface AXOverlayViewRef {\n instance: any;\n dispose: () => void;\n isOpen: () => boolean;\n}\n\nexport interface AXOverlayConfigs {\n position?: AXConnectedPosition | AXConnectedPosition[];\n hasBackdrop?: boolean;\n transparentBackdrop?: boolean;\n closeOnClickOutside?: boolean;\n targetElement?: HTMLElement;\n containerElement?: HTMLElement;\n onBackdropClick?: () => void;\n panelClass?: string[] | string;\n backdropClass?: string[] | string;\n scroll?: 'auto' | 'block' | 'close';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXOverlayService {\n constructor(\n private overlayService: DynamicOverlay,\n private overlayService2: Overlay,\n private appRef: ApplicationRef) {\n\n }\n\n show(content: any, context?: any, configs?: AXOverlayConfigs): AXOverlayViewRef {\n configs = Object.assign({\n hasBackdrop: true,\n transparentBackdrop: true,\n closeOnClickOutside: true\n }, configs || {});\n // get root viewref\n const viewRef: ViewContainerRef = this.appRef.components[0].instance.viewRef;\n\n let portal: Portal<any>;\n // get component by route\n if (typeof content === 'string') {\n // TODO\n }\n // create portal from component\n else if (content instanceof TemplateRef) {\n portal = new TemplatePortal(content, viewRef, context);\n }\n else if (typeof content === 'function') {\n portal = new ComponentPortal(content, viewRef);\n }\n let positionStrategy: PositionStrategy;\n if (configs.position && configs.targetElement) {\n positionStrategy = this.overlayService.position()\n .flexibleConnectedTo(configs.targetElement)\n .withPositions(\n Array.isArray(configs.position) ? configs.position : [configs.position]\n )\n .withPush(true);\n }\n else {\n positionStrategy = this.overlayService.position().global().centerHorizontally().centerVertically();\n }\n let scrollStrategy: ScrollStrategy = this.overlayService.scrollStrategies.reposition({ autoClose: true });\n if (configs.scroll === 'block') {\n scrollStrategy = this.overlayService.scrollStrategies.block();\n }\n if (configs.scroll === 'close') {\n scrollStrategy = this.overlayService.scrollStrategies.close();\n }\n\n const config = {\n positionStrategy,\n scrollStrategy,\n hasBackdrop: configs.hasBackdrop,\n disposeOnNavigation: true,\n backdropClass: configs.backdropClass ? configs.backdropClass : (configs.transparentBackdrop ? 'cdk-overlay-transparent-backdrop' : undefined),\n panelClass: configs.panelClass ? configs.panelClass : ['animate__animated', 'animate__fadeIn','animate__faster']\n };\n // joon nanat dorost sho\n let overlayRef = configs.containerElement ? this.overlayService.createOn(configs.containerElement, config) : this.overlayService2.create(config);\n\n const host = overlayRef.attach(portal);\n if (host.instance) {\n Object.assign(host.instance, context);\n setTimeout(() => {\n host.changeDetectorRef.detectChanges();\n }, 0);\n }\n if (configs.closeOnClickOutside) {\n merge(\n overlayRef.backdropClick(),\n overlayRef.detachments(),\n ).subscribe(() => {\n overlayRef.dispose();\n overlayRef = undefined;\n if (configs.onBackdropClick) {\n configs.onBackdropClick();\n }\n });\n\n }\n return {\n instance: host.instance,\n dispose: overlayRef.dispose.bind(overlayRef),\n isOpen: () => {\n return overlayRef.hasAttached();\n }\n };\n }\n\n}","import { Injectable, NgZone } from '@angular/core';\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\nimport { finalize, observeOn } from 'rxjs/operators';\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\nimport { AXLoadingComponent } from './loading.component';\n\ntype LoadingContext = object;\ntype LoaderId = string | number; // expected enum values\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\n\n/**\n * Used for centrally setting/unsetting loading flags for components or services.\n * Should be connected to global HTTP interceptor which will unset\n * the loading flags in case an error happens using the clearLoadings() method.\n *\n * FAQ:\n * Q: How to change loading flag for a parent component?\n * A: Inject the parent component as a dependency to your constructor and\n * call loadingService.setLoading(parentComponent, STATE).\n * \n * Q: How to change loading flag for a child component?\n * A: Use a @ViewChild with component selector and pass the\n * reference of the child to setLoading method.\n *\n * Q: I need more loading indicators in my components. How to?\n * A: Assign a LoaderId to each indicator and then use them\n * with calls to methods of this service.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class AXLoadingService {\n // WeakMap will remove components from itself upon\n // their garbage collection by JS runtime.\n protected loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n // Both loading state maps are kept in-sync such that\n // they can be used by both sync and async methods.\n protected loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n\n constructor(protected zoneRef: NgZone, private overlayService: AXOverlayService) { }\n\n private _stack: { id: number, component: AXOverlayViewRef }[] = [];\n\n show(location?: Element): number {\n let host: Element;\n if (location) {\n host = location.closest('.ax-loading-host');\n }\n const containerElement = (host || location) as HTMLDivElement;\n const com = this.overlayService.show(AXLoadingComponent, {},\n {\n closeOnClickOutside: false,\n containerElement,\n hasBackdrop: true,\n backdropClass: ['ax-loading-overlay'],\n scroll: 'block'\n });\n com.instance.visible = true;\n const id = new Date().getTime();\n this._stack.push({ id, component: com });\n return id;\n }\n\n hide(id): void {\n const f = this._stack.find(c => c.id === id);\n if (f) {\n f.component.dispose();\n this._stack = this._stack.filter(c => c.id !== id);\n }\n }\n\n\n // Observable creation operator.\n // LoaderId can be used when there are multiple loading indicators associated to a single context.\n // Context can be any object, though in practice, components and services will be the most common contexts.\n // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.\n // Such a scenario is used when your context has contains only one loading indicator.\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\n this.startLoading(context, loaderId);\n\n return source$.pipe(\n observeOn(asyncScheduler),\n finalize(() => this.endLoading(context, loaderId)),\n );\n }\n\n // To be used in your html templates.\n // Returns a boolean indicating whether a given loader is active in a given context.\n // If loaderId is unspecified, the method will return a logical disjunction of all\n // loader states in the context.\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\n const loaderStates = this.loadingStates.get(context);\n\n if (!loaderStates) {\n return false;\n }\n else {\n if (loaderId !== undefined) {\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\n }\n else {\n return [...loaderStates.values()].filter(state => state).length > 0;\n }\n }\n }\n\n // To be used in your html templates with async pipes.\n // Returns an Observable of booleans indicating whether a given loader is active in a given context.\n isLoading$(context: LoadingContext, loaderId?: LoaderId): Observable<boolean> {\n const coalescedLoaderId = this.getLoaderId(loaderId);\n\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\n this.setLoadingState(context, false, loaderId);\n }\n\n return this.loadingStates$.get(context).get(coalescedLoaderId);\n }\n\n // The startLoading and endLoading methods are intended to be used when handling\n // complex scenarios where a need for extended usage flexibility is desired.\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\n }\n\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\n }\n\n // To be called by middleware code (HTTP interceptors/routing listeners, etc.).\n clearLoadings(): void {\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n }\n\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\n if (!this.hasLoadingStates(context, loaderId)) {\n if (this.hasContextLoadingState(context)) {\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\n }\n else {\n this.loadingStates.set(context, new Map<LoaderId, boolean>([\n [loaderId, state]\n ]));\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([\n [loaderId, new BehaviorSubject<boolean>(state)]\n ]));\n }\n }\n else {\n // @ts-ignore - loadingStates[context] is surely defined in this branch\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).get(loaderId).next(state);\n }\n }\n\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\n }\n\n protected hasContextLoadingState(context: LoadingContext) {\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\n }\n\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\n }\n\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\n return loaderId ?? DEFAULT_LOADER_ID;\n }\n}\n","import { ChangeDetectorRef, ElementRef, Inject, Injectable } from \"@angular/core\";\nimport { AXBaseComponentMixin } from \"../base\";\nimport { AXLoadingService } from \"../loading\";\n\n@Injectable()\nexport abstract class AXPageComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n @Inject(AXLoadingService) private _loadingService\n ) {\n super(elementRef, cdr);\n }\n\n private _loadingId: number;\n\n private _isLoading: boolean = false;\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._isLoading = v;\n if (this._loadingId && !v) {\n this._loadingService.hide(this._loadingId);\n this._loadingId = null;\n }\n if (v) {\n this._loadingId = this._loadingService.show(this._getHostElement());\n }\n }\n}","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'ax-page-footer',\n template: `\n <ng-template>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPageFooterComponent {\n\n @ViewChild(TemplateRef, { static: true })\n template: TemplateRef<any>;\n}","import { EventEmitter, Injectable, ViewChild } from '@angular/core';\nimport { AXEvent } from '../base/events.class';\n\n\nimport { AXPageComponent } from './page.component';\nimport { AXPageFooterComponent } from './page-footer.component';\n\nexport const TAB_META_KEY = '__meta__';\n\nexport class AXPageCloseEvent extends AXEvent {\n data?: any\n}\nexport class AXPageClosing {\n cancel: boolean = false;\n data?: any;\n}\n\nexport class AXPageResult {\n sender: AXBasePageComponent;\n data?: any;\n}\n\n/**\n* Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\n*/\nexport class AXPageClosedPromise extends Promise<AXPageResult> {\n\n private closeMethod: () => void;\n constructor(\n executor: (resolve: (value?: AXPageResult | PromiseLike<AXPageResult>) => void,\n reject: (reason?: any) => void) => void\n ) {\n super(executor);\n }\n\n public close() {\n if (this.closeMethod) {\n this.closeMethod();\n }\n }\n}\n\n\n@Injectable()\nexport class AXBasePageComponent {\n\n @ViewChild(AXPageComponent, { static: true })\n private pageContainer: AXPageComponent;\n\n @ViewChild(AXPageFooterComponent, { static: true })\n footer: AXPageFooterComponent;\n\n private _isLoading: boolean = false;\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._isLoading = v;\n if (this.pageContainer) {\n this.pageContainer.isLoading = this.isLoading;\n }\n }\n\n\n onClosed: EventEmitter<AXPageCloseEvent> = new EventEmitter<AXPageCloseEvent>();\n\n close(data?: any) {\n this.onClosed.emit({\n component: this,\n data: data\n });\n }\n\n onClosing(e: AXPageClosing): void | Promise<void> {\n }\n\n ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n}","import { NgModule } from '@angular/core';\nimport { AXPageFooterComponent } from './page-footer.component';\n\n\n@NgModule({\n imports: [],\n exports: [AXPageFooterComponent],\n declarations: [AXPageFooterComponent],\n providers: [],\n})\nexport class AXPageModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXButtonModule } from '../button';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { AXPageModule } from '../page';\nimport { AXEditorDecoratorModule } from '../decorators';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [CommonModule, DragDropModule, A11yModule, AXButtonModule, AXPageModule, AXEditorDecoratorModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDialogModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, NgZone, Input, HostBinding, Output, EventEmitter, HostListener } from '@angular/core';\nimport { AXBaseComponentMixin, AXEvent } from '../base';\n\n@Component({\n selector: 'ax-drawer',\n template: `\n <ng-content>\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-drawer' }\n})\nexport class AXDrawerComponent extends AXBaseComponentMixin {\n\n constructor(\n private elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n private zone: NgZone\n ) {\n super(elementRef, cdr);\n }\n\n @Output()\n onChanged: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n @Input()\n mode: 'push' | 'overlay' = 'push';\n\n _currentMode: 'push' | 'overlay'\n\n @Input()\n location: 'start' | 'end' = 'start';\n\n private _backdrop: HTMLDivElement;\n\n private _collapsed: boolean = false;\n @Input()\n public get collapsed(): boolean {\n return this._collapsed;\n }\n public set collapsed(v: boolean) {\n if (v != this._collapsed) {\n this._collapsed = v;\n this._updateClass();\n this._emitChange();\n }\n }\n\n onInit() {\n this._getHostElement().classList.add(this.location == 'start' ? 'ax-drawer-start' : 'ax-drawer-end');\n this._currentMode = this.mode;\n }\n\n private _updateClass() {\n this.zone.runOutsideAngular(() => {\n const elm = this._getHostElement();\n // \n this._currentMode == 'overlay' ? this._setOverlayMode() : this._setPushMode();\n //\n if (this.collapsed) {\n elm.classList.remove('ax-expanded');\n elm.classList.add('ax-collapsed');\n if (this._currentMode == 'overlay') {\n this._removeBackdrop();\n }\n }\n else {\n elm.classList.add('ax-expanded');\n elm.classList.remove('ax-collapsed');\n if (this._currentMode == 'overlay') {\n this._addBackdrop();\n }\n }\n });\n }\n\n onViewInit() {\n this._detectSize();\n }\n\n toggle() {\n this.collapsed = !this.collapsed;\n }\n\n @HostListener('window:resize', ['$event'])\n _handleWindowsResize(e:UIEvent) {\n this._detectSize();\n }\n \n\n _detectSize() {\n //TODO detect break size\n const bound = this._getHostElement().parentElement.getBoundingClientRect();\n if (bound.width == 0) {\n console.log('Drawe invalid size', bound);\n setTimeout(() => {\n this._detectSize();\n }, 1);\n return;\n }\n if (bound.width < 400) {\n this._currentMode = 'overlay';\n this.collapsed = true;\n }\n else {\n this._currentMode = this.mode;\n }\n this._updateClass();\n this._emitChange();\n }\n\n private _emitChange() {\n this.onChanged.emit({\n component: this,\n htmlElement: this.elementRef.nativeElement\n })\n }\n\n private _setOverlayMode() {\n this._currentMode = 'overlay';\n this._getHostElement().classList.remove('ax-drawer-push');\n this._getHostElement().classList.add('ax-drawer-overlay');\n\n }\n\n private _setPushMode() {\n this._currentMode = 'push';\n this._getHostElement().classList.remove('ax-drawer-overlay');\n this._getHostElement().classList.add('ax-drawer-push');\n this._removeBackdrop();\n }\n\n private _addBackdrop() {\n if (!this._backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.classList.add('ax-drawer-backdrop')\n this._getHostElement().parentElement.prepend(this._backdrop);\n this._backdrop.addEventListener('click', this._handleBackfropClick.bind(this));\n }\n }\n\n private _removeBackdrop() {\n if (this._backdrop) {\n this._backdrop.removeEventListener('click', this._handleBackfropClick.bind(this));\n this._getHostElement().parentElement.removeChild(this._backdrop);\n this._backdrop = null;\n }\n }\n\n private _handleBackfropClick(e: MouseEvent) {\n this._removeBackdrop();\n this.collapsed = true;\n }\n\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, NgZone, ContentChildren, QueryList } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\nimport { AXDrawerComponent } from './drawer.component';\n\n@Component({\n selector: 'ax-drawer-container',\n template: `\n <ng-content select=\"ax-drawer[location='start']\">\n </ng-content>\n <ng-content select=\"ax-drawer-content\">\n </ng-content>\n <ng-content select=\"ax-drawer[location='end']\">\n </ng-content>\n `,\n inputs: ['rtl'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-drawer-container' }\n})\nexport class AXDrawerContainerComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n private zone: NgZone\n ) {\n super(elementRef, cdr);\n }\n\n\n @ContentChildren(AXDrawerComponent)\n drawers: QueryList<AXDrawerComponent>;\n\n\n onViewInit() {\n this._updateWidth();\n // add animation\n setTimeout(() => {\n this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {\n c.classList.add('ax-animated');\n });\n }, 100);\n\n this.drawers.forEach(c => {\n c.onChanged.subscribe(c => {\n this._updateWidth();\n });\n });\n }\n\n private _updateWidth() {\n this.zone.runOutsideAngular(() => {\n const container = this._getHostElement().closest('ax-drawer-container') as HTMLDivElement;\n const parentWidth = this._getHostElement().getBoundingClientRect().width;\n let w = 0;\n this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {\n const elm = c as HTMLDivElement;\n const width = elm.getBoundingClientRect().width;\n const overflow = parentWidth < width;\n const diff = width - parentWidth;\n w += ['ax-expanded', 'ax-drawer-push'].every(c => elm.classList.contains(c)) ? width : 0;\n elm.style.setProperty('--attr-width', `${width}px`);\n //TODO check overflow\n elm.style.setProperty('--attr-diff', `${overflow ? diff : 0}px`);\n });\n container.style.setProperty('--attr-content-width', `${parentWidth - w}px`);\n });\n }\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-drawer-content',\n template: `\n <ng-content>\n </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-drawer-content' }\n})\nexport class AXDrawerContentComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDrawerComponent } from './drawer.component';\nimport { AXDrawerContainerComponent } from './drawer-container.component';\nimport { AXDrawerContentComponent } from './drawer-content.component';\n\nconst COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent, AXDrawerContentComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerModule { }\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base/mixin/mixin.class';\n\n@Component({\n selector: 'ax-form-field',\n template: '<div class=\"ax-form-field\"><ng-content></ng-content></div>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base/mixin/mixin.class';\n\n@Component({\n selector: 'ax-form-hint',\n template: ' <p class=\"ax-text-gray-400 ax-text-xs ax-py-1\"><ng-content></ng-content></p>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormHintComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base/mixin/mixin.class';\nimport { AXValidationResult } from '../validation/validation.class';\n\n@Component({\n selector: 'ax-form',\n template: '<div class=\"ax-form\"><ng-content></ng-content></div>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n private cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n\n _getComponenets() {\n return Array.from(this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]'));\n }\n\n validate(): Promise<AXValidationResult> {\n const widgets = this._getComponenets();\n //\n return new Promise<AXValidationResult>((resolve, reject) => {\n if (widgets.length === 0) {\n return Promise.resolve({ result: true });\n }\n Promise.all(widgets.map((c) => (c as any).__axContext__.validate())).then((rules: any) => {\n const failed = rules.filter((c: any) => !c.result);\n if (failed.length) {\n reject({\n result: false,\n items: failed\n });\n }\n else {\n resolve({ result: true });\n }\n });\n });\n }\n\n clear() {\n const widgets = this._getComponenets();\n widgets.forEach(w => {\n (w as any).__axContext__.clear();\n });\n\n }\n}","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormHintComponent } from './form-hint.component';\nimport { AXFormComponent } from './form.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AXFormFieldComponent, AXFormComponent,AXFormHintComponent],\n declarations: [AXFormFieldComponent, AXFormComponent,AXFormHintComponent],\n providers: [],\n})\nexport class AXFormModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'ax-input-mask',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXInputMaskComponent {\n\n \n private _prefix : string;\n @Input()\n public get prefix() : string {\n return this._prefix || '';\n }\n public set prefix(v : string) {\n this._prefix = v;\n }\n\n\n \n private _suffix : string;\n @Input()\n public get suffix() : string {\n return this._suffix || '';\n }\n public set suffix(v : string) {\n this._suffix = v;\n }\n \n \n\n @Input()\n showMaskTyped: boolean = false;\n\n @Input()\n clearIfNotMatch: boolean = false;\n\n @Input()\n mask: string;\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXInputMaskComponent } from './input-mask.component';\nimport { NgxMaskModule } from 'ngx-mask';\n\nconst COMPONENT = [AXInputMaskComponent];\nconst MODULES = [CommonModule, NgxMaskModule.forRoot()];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXInputMaskModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXSizableComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-label',\n templateUrl: './label.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXLabelComponent extends AXSizableComponentMixin {\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n}\n","<label class=\"ax-label {{size}}\">\n <ng-content></ng-content>\n</label>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLabelComponent } from './label.component';\n\nconst COMPONENT = [AXLabelComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXLabelModule { }","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n Input,\n Output,\n EventEmitter,\n HostBinding,\n} from '@angular/core';\nimport { MaskApplierService } from 'ngx-mask';\nimport { AXBaseTextBoxMixin } from '../base';\nimport {\n TEXTBOX_INPUTS,\n TEXTBOX_OUTPUT,\n} from '../base/mixin/textbox-mixin.class';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'size',\n 'value',\n ...TEXTBOX_INPUTS,\n ],\n outputs: [\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n ...TEXTBOX_OUTPUT,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-number-box ax-editor-container' },\n})\nexport class AXNumberBoxComponent extends AXBaseTextBoxMixin {\n\n @HostBinding('class')\n get hostClass(): string {\n return `${this.cssClass} ax-${this.size}`;\n }\n\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n separator: string = ',';\n\n /**\n * Specifies whether the Separator character will be displayed or not\n */\n @Input()\n thousandSeparator: boolean = false;\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n step: number = 1;\n\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n scale: number = 0;\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n decimalStep: number = 0.1;\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n showSpinButtons: boolean = true;\n\n private _minValue: number = Number.MIN_VALUE;\n\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n public get minValue(): number {\n return this._minValue;\n }\n public set minValue(v: number) {\n this._minValue = v ? Number(v) : Number.MIN_VALUE;\n }\n\n private _maxValue: number = Number.MAX_VALUE;\n\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n public get maxValue(): number {\n return this._maxValue;\n }\n public set maxValue(v: number) {\n this._maxValue = v ? Number(v) : Number.MAX_VALUE;\n }\n\n @Output()\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\n private _displayText: string;\n\n /**\n * The formatted string which is displaying in the numberbox\n */\n @Input()\n public get displayText(): string {\n return this._displayText;\n }\n\n public set displayText(v: string) {\n this._displayText = v;\n this.displayTextChange.emit(v);\n }\n\n\n /**\n * @ignore\n */\n constructor(\n elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private _maskService: MaskApplierService\n ) {\n super(elementRef, cdr);\n }\n\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const toNum = (val: string) => {\n return Number(val.replace(/[^0-9.-]+/g, ''));\n };\n const nums: string[] = Array(10)\n .fill(0)\n .map((v, i) => i.toString());\n const chars: string[] = [\n '.',\n '-',\n 'Backspace',\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowRight',\n 'ArrowLeft',\n 'Tab',\n 'Enter',\n ];\n const input = e.target as HTMLInputElement;\n const key = e.key;\n const valStr = input.value;\n const val = toNum(valStr);\n const decimalPointIndex = valStr.indexOf('.');\n const selectionStart = input.selectionStart;\n const selectionEnd = input.selectionEnd;\n //\n\n //\n if (![...nums, ...chars].includes(key)) {\n ignore();\n }\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const stepVal =\n decimalPointIndex > -1\n ? selectionStart >= decimalPointIndex\n ? this.decimalStep\n : this.step\n : this.step;\n if (e.key === 'ArrowDown') {\n this.value = val - stepVal;\n } else {\n this.value = val + stepVal;\n }\n ignore();\n input.setSelectionRange(selectionStart, selectionStart);\n } else if (e.key == 'Backspace') {\n const chr = valStr.substr(selectionStart - 1, 1);\n if (!nums.includes(chr)) {\n ignore();\n input.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n const newVal = toNum(\n valStr.substr(0, selectionStart - 1) + valStr.substr(selectionEnd)\n );\n input.value = this._format(newVal);\n this.value = newVal;\n ignore();\n if (newVal == 0) {\n input.setSelectionRange(1, 1);\n } else {\n input.setSelectionRange(selectionStart - 1, selectionStart - 1);\n }\n }\n } else if (e.key == '.') {\n if (!this.scale) {\n ignore();\n } else if (decimalPointIndex > -1) {\n input.setSelectionRange(decimalPointIndex + 1, decimalPointIndex + 1);\n ignore();\n } else {\n if (input.selectionEnd != valStr.length) {\n input.setSelectionRange(valStr.length, valStr.length);\n ignore();\n }\n }\n } else if (e.key == '-') {\n const index = valStr.indexOf('-');\n if (index > -1) {\n ignore();\n } else {\n this.value = Math.abs(this.value) * -1;\n input.setSelectionRange(index + 1, index + 1);\n ignore();\n }\n } else if (nums.includes(key)) {\n const newVal = toNum(\n valStr.substr(0, selectionStart) + key + valStr.substr(selectionEnd)\n );\n if (newVal < this.minValue) {\n //TODO : highlight correct number\n //input.value = this._format(this.minValue);\n //const diff = this.minValue - val;\n //this.value = this.minValue;\n //ignore();\n // setTimeout(() => {\n // input.setSelectionRange(input.selectionStart + 1, this.minValue.toString().length);\n // }, 50);\n } else if (newVal > this.maxValue) {\n input.value = this._format(this.maxValue);\n this.value = this.maxValue;\n ignore();\n } else {\n input.value = this._format(newVal);\n this.value = newVal;\n ignore();\n }\n }\n super._emitOnKeydownEvent(e);\n }\n\n _onValueChanging(value: number) {\n return this._fixValue(value);\n }\n\n _fixValue(value: number): number {\n if (value == null || value == undefined) {\n return this.allowNull ? null : this.minValue;\n } else if (value > this.maxValue) {\n return this.maxValue;\n } else if (value < this.minValue) {\n return this.minValue;\n }\n return parseFloat(value.toFixed(this.scale));\n }\n\n _format(value: number): string {\n if (this.thousandSeparator) {\n this._maskService.thousandSeparator = this.separator;\n this._maskService.allowNegativeNumbers = true;\n const format = `separator.${this.scale}`;\n return this._maskService.applyMask(value?.toString(), format);\n } else {\n this._maskService.thousandSeparator = '';\n this._maskService.allowNegativeNumbers = true;\n const format = `separator.${this.scale}`;\n return this._maskService.applyMask(value?.toString(), format);\n }\n }\n\n _onValueChanged(oldValue: any, newValue: any): void {\n this.displayText = this._format(newValue);\n }\n\n _handleOnBlurEvent(e: FocusEvent) {\n const input = e.target as HTMLInputElement;\n this.value = this._fixValue(this.value);\n input.value = this._format(this.value);\n this._emitOnFocusEvent(e);\n }\n}\n","<ng-content select=\"ax-prefix\">\n</ng-content>\n<input class=\"ax-input\" type=\"text\" [attr.pattern]=\"'[\\d\\.]*'\" [attr.placeholder]=\"placeholder\" [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_handleOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\"\n autocomplete=\"off\">\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\n *ngIf=\"value && allowNull && !(disabled || readonly)\">\n <i class=\"ax-icon-x icon\"></i>\n</ax-button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXNumberBoxComponent } from './number-box.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXButtonModule } from '../button';\nimport { NgxMaskModule } from 'ngx-mask';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXButtonModule,\n NgxMaskModule.forChild()\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule { }\n","import { Component, Input, NgZone, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\nimport { AXConnectedPosition } from '../base';\n\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPopoverComponent {\n constructor(\n private overlayService: AXOverlayService,\n private zone: NgZone,\n private cdr: ChangeDetectorRef) {\n\n }\n //\n private targetEl: HTMLElement;\n private overlay: AXOverlayViewRef;\n @ViewChild('tpl')\n private template: TemplateRef<any>;\n //\n @Input('target') target: string | HTMLElement;\n //\n @Input('position') position: AXConnectedPosition;\n //\n @Input('openMode') openMode: 'manual' | 'click' | 'hover' = 'manual';\n //\n @Input('closeMode') closeMode: 'manual' | 'clickout' | 'mouseout' = 'clickout';\n //\n private _visible: boolean = false;\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v !== this._visible) {\n if (v) {\n this.internalShow();\n } else {\n this.internalHide();\n }\n this._visible = v;\n this.cdr.detectChanges();\n }\n }\n //\n toggle() {\n this.visible = !this.visible;\n }\n\n close() {\n this.zone.run(() => {\n this.visible = false;\n });\n }\n\n open() {\n this.zone.run(() => {\n this.visible = true;\n });\n }\n\n private internalShow() {\n if (this.isOpen) {\n return;\n }\n this.overlay = this.overlayService.show(this.template, {}, {\n closeOnClickOutside: this.closeMode === 'clickout',\n targetElement: this.targetEl,\n hasBackdrop: this.closeMode === 'clickout',\n position: this.position,\n onBackdropClick: () => {\n this._visible = false;\n }\n });\n }\n\n private internalHide() {\n if (this.overlay) {\n this.overlay.dispose();\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.targetEl = typeof this.target === 'string' ? document.querySelector<HTMLElement>(this.target) : this.target;\n //\n if (this.closeMode === 'mouseout') {\n this.targetEl.addEventListener('mouseout', this.close.bind(this));\n }\n if (this.openMode === 'hover' && this.targetEl) {\n this.targetEl.addEventListener('mouseover', this.open.bind(this));\n }\n //\n if (this.openMode === 'click' && this.targetEl) {\n this.targetEl.addEventListener('click', this.open.bind(this));\n }\n }, 100);\n }\n\n ngOnDestroy(): void {\n if (this.openMode === 'click' && this.targetEl) {\n this.targetEl.removeEventListener('mouseover', this.open.bind(this));\n this.targetEl.removeEventListener('click', this.open.bind(this));\n this.targetEl.removeEventListener('mouseout', this.open.bind(this));\n }\n }\n\n get isOpen(): boolean {\n return this.visible;\n }\n}\n","<ng-template #tpl>\n <div class=\"ax-popover-container ax-animate-fade-in-down\">\n <ng-content></ng-content>\n </div>\n</ng-template>","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AXPopoverComponent } from \"./popover.component\";\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: []\n})\nexport class AXPopoverModule {}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-range-slider' }\n})\nexport class AXRangeSliderComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n //TODO: ax-range-slider\n }\n\n}\n","<input type=\"range\" min=\"1\" max=\"100\" value=\"50\" class=\"ax-range-slider-input\">","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\nconst COMPONENT = [AXRangeSliderComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRangeSliderModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ViewChild, ViewContainerRef, ComponentFactoryResolver, HostListener, ComponentRef, EventEmitter, TemplateRef, ContentChild } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\nimport { AXPageCloseEvent, TAB_META_KEY } from '../page/base-page.class';\nimport { AXButtonItem } from '../button';\nimport { AXLoadingService } from '../loading';\nimport { Subscription } from 'rxjs';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, Portal, TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'ax-popup',\n templateUrl: './popup.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPopupComponent extends AXBaseComponentMixin {\n\n isLoading: boolean = true;\n private _loadingId: number;\n\n title: string;\n\n onClosed: EventEmitter<AXPageCloseEvent> = new EventEmitter<AXPageCloseEvent>();\n\n size: 'sm' | 'md' | 'lg' | 'full' = 'sm';\n\n\n data: any = {};\n\n\n showCloseButton: boolean = true;\n showHeader: boolean = true;\n\n content: any;\n\n\n _selectedPortal: Portal<any>;\n _footerPortal: Portal<any>;\n _headerPortal: Portal<any>;\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n private _viewContainerRef: ViewContainerRef,\n private loadingService: AXLoadingService,\n ) {\n super(elementRef, cdr);\n }\n\n onViewInit() {\n this._loadingId = this.loadingService.show(this._getHostElement().querySelector('.ax-popup-body-container'));\n //\n if (typeof this.content === 'string') {\n // this.rendererService.findLoadedComponentByRoute(this.content, 20).then(route => {\n // setTimeout(() => {\n // this.loadComponent(route?.component);\n // }, 300);\n // });\n }\n else if (this.content instanceof TemplateRef) {\n this._selectedPortal = new TemplatePortal(this.content, this._viewContainerRef, { $implicit: this.data, ref: this });\n this._cdr.markForCheck();\n\n }\n else if (typeof this.content === 'function') {\n this._selectedPortal = new ComponentPortal(this.content);\n this._cdr.markForCheck();\n }\n }\n\n _handleAttched(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<any>;\n if (ref.instance) {\n this[TAB_META_KEY].component = ref.instance;\n Object.assign(this[TAB_META_KEY].component, this.data);\n if (ref.instance.onClosed) {\n ref.instance.onClosed.subscribe((e: AXPageCloseEvent) => {\n this.onClosed.emit(e);\n });\n }\n }\n if (ref.instance.footer) {\n this._footerPortal = new TemplatePortal(ref.instance.footer.template, this._viewContainerRef, { $implicit: this.data, ref: this });\n }\n this.loadingService.hide(this._loadingId);\n this.focus();\n this._cdr.markForCheck();\n }\n\n\n @HostListener('keydown.escape', ['$event'])\n onKeydownHandler(event: KeyboardEvent) {\n if (this.showCloseButton) {\n this.close();\n }\n }\n\n _handleCloseClick() {\n this.close();\n }\n\n ngOnDestroy() {\n this.loadingService.hide(this._loadingId);\n }\n\n focus() {\n setTimeout(() => this._getHostElement().focus());\n }\n\n close() {\n this.onClosed.emit({\n component: this[TAB_META_KEY].component,\n htmlElement: this._getHostElement(),\n });\n this._cdr.detectChanges();\n }\n\n onFullScreen() { }\n}\n","<div class=\"ax-popup-wrapper\" aria-modal=\"true\" cdkTrapFocus>\n <div class=\"ax-popup ax-{{size}}\" tabindex=\"0\" cdkDrag>\n <ng-container *ngIf=\"showHeader\">\n <header cdkDragHandle class=\"ax-cursor-move\">\n <div>\n <div class=\"ax-text-lg ax-font-medium\">\n <span>\n {{title}}\n </span>\n </div>\n </div>\n <div *ngIf=\"showCloseButton\">\n <i class=\"ax-ic ax-ic-close ax-text-gray ax-cursor-pointer\" (click)=\"_handleCloseClick()\"\n tabindex=\"1\"></i>\n </div>\n </header>\n </ng-container>\n <main>\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n </main>\n <footer *ngIf=\"_footerPortal\">\n <ng-template [cdkPortalOutlet]=\"_footerPortal\"></ng-template>\n </footer>\n </div>\n</div>","import { Injectable, TemplateRef } from '@angular/core';\nimport { AXOverlayService, AXOverlayViewRef } from '../base/overlay.service';\nimport { AXPageClosedPromise, AXPageCloseEvent, TAB_META_KEY } from '../page';\nimport { AXPopupComponent } from './popup.component';\n\nexport type AXPopupContentType = string | TemplateRef<any> | Function;\n\n/**\n * This is a service which you can create popup with it\n *\n * @category Components\n */\n@Injectable()\nexport class AXPopupService {\n\n \n private stack: Array<AXPopupComponent> = [];\n\n\n /**\n * @ignore\n */\n constructor(private overlayService: AXOverlayService) { }\n\n\n /**\n * Open popup 1\n */\n open(content: AXPopupContentType, title: string): AXPageClosedPromise;\n /**\n * Open popup 2\n * @ignore\n */\n open(\n content: AXPopupContentType,\n options?: {\n title: string;\n showCloseButton?: boolean;\n showHeader?: boolean;\n maximizable?: boolean;\n size?: 'sm' | 'md' | 'lg' | 'full' | 'fit';\n data?: any;\n }\n ): AXPageClosedPromise;\n\n /**\n * @ignore\n */\n open(arg1, arg2): AXPageClosedPromise {\n const options: any = {\n showCloseButton: true,\n showHeader: true,\n size: 'md',\n maximizable: false\n };\n if (typeof arg2 === 'string') {\n options.title = arg2;\n } else {\n Object.assign(options, arg2);\n }\n const com = this.overlayService.show(AXPopupComponent, options, { transparentBackdrop: false, closeOnClickOutside: false, scroll: 'block' });\n const popup = com.instance as AXPopupComponent;\n popup.content = arg1;\n popup[TAB_META_KEY] = {};\n if (options.size) {\n popup.size = options.size;\n }\n this.stack.push(popup);\n popup.onClosed.subscribe(c => {\n this.closePopup(popup, com, c);\n });\n const promise = new AXPageClosedPromise((resolve) => {\n popup[TAB_META_KEY].close = (e) => {\n if (resolve) {\n resolve(e);\n }\n };\n });\n promise['closeMethod'] = () => { popup.close(); };\n return promise;\n }\n\n\n private closePopup(popup: AXPopupComponent, com: AXOverlayViewRef, result: AXPageCloseEvent) {\n const closeFunc = (e) => {\n com.dispose();\n this.stack.pop();\n delete e.cancel;\n popup[TAB_META_KEY].close(e);\n if (this.stack.length) { this.stack.reverse()[0].focus(); }\n };\n const e = { cancel: false };\n const closingFunc = popup[TAB_META_KEY]?.component?.onClosing;\n if (closingFunc) {\n const res = closingFunc(e);\n if (res instanceof Promise) {\n res.then(() => {\n if (e == null || e.cancel !== true) {\n closeFunc(result);\n }\n });\n }\n else {\n if (e == null || e.cancel !== true) {\n closeFunc(result);\n }\n }\n } else {\n closeFunc(result);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopupComponent } from './popup.component';\nimport { AXButtonModule } from '../button';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXPopupService } from './popup.service';\n\nconst COMPONENT = [AXPopupComponent];\nconst MODULES = [CommonModule, DragDropModule, A11yModule, AXButtonModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXPopupService],\n})\nexport class AXPopupModule { }\n","import { Overlay } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, NgZone, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { AXBaseSelectionDropdownMixin } from '../base';\nimport { DropdownComponentInterface } from '../base/mixin/dropdown-mixin.class';\nimport { AXDropdownComponent } from '../dropdown';\n\n@Component({\n selector: 'ax-select-box',\n templateUrl: 'selectbox.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent', 'value', 'items', 'multiple', 'allowNull', 'valueField', 'textField'],\n outputs: ['onOpened', 'onClosed', 'valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'class': 'ax-select-box' }\n})\nexport class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin implements DropdownComponentInterface {\n\n @ViewChild(AXDropdownComponent)\n private dropdown: AXDropdownComponent;\n\n @ViewChild('listContainer', { static: true })\n private listContainer: ElementRef<HTMLDivElement>;\n\n\n _currentfocusedIndex: number = -1;\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n private zone: NgZone\n ) {\n super(elementRef, cdr);\n }\n\n open(): void {\n this.dropdown.open();\n }\n close(): void {\n this.dropdown.close();\n }\n toggle(): void {\n this.dropdown.toggle();\n }\n\n\n onViewInit() {\n this.dropdown.onOpened.subscribe(() => {\n this._focusSelectedItem();\n });\n }\n\n get isOpen(): boolean {\n return this.dropdown.isOpen;\n }\n\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n this.close();\n this.toggleSelect(item);\n }\n\n _handleListScroll(e: Event) {\n const list = e.target as HTMLDivElement;\n if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {\n return;\n }\n this._fetchData();\n }\n\n private _checkForLoadData() {\n const list = this.listContainer.nativeElement;\n if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {\n this._fetchData();\n }\n }\n\n _onDataLoaded() {\n setTimeout(() => {\n this._checkForLoadData();\n }, 100);\n }\n\n _handleOnRemoveItemClick(e: MouseEvent, item: any) {\n this.unselectItems(item)\n e.stopPropagation();\n }\n\n @HostListener('document:keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if (!(\n this._getHostElement() == document.activeElement ||\n this._getHostElement().contains(document.activeElement) ||\n this.listContainer.nativeElement.contains(document.activeElement)\n )) {\n return;\n }\n\n if (e.key === 'Escape' || this.disabled || this.readonly) {\n this.close();\n e.preventDefault();\n return;\n }\n const isLetter = new RegExp(/[a-zA-Z0-9\\-]/).test(String.fromCharCode(e.keyCode));\n if (e.key === 'Backspace' && e.type === 'keydown' &&\n ((this.allowNull === true && this.selectedItems.length > 0) ||\n (this.allowNull !== true && this.selectedItems.length > 1))) {\n this.isUserInput = true;\n this.unselectItems(this.selectedItems.pop());\n e.preventDefault();\n return;\n }\n else if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0 && !this.dropdown.isOpen && e.type === 'keydown') {\n if (this.multiple) {\n this.open();\n }\n else {\n this.isUserInput = true;\n if (e.ctrlKey) {\n this.open();\n }\n else {\n this._selectedItemByIndex(this._currentfocusedIndex + (e.key === 'ArrowDown' ? 1 : -1));\n }\n }\n e.preventDefault();\n return;\n }\n else if (isLetter) {\n this.text = e.key;\n this.open();\n e.preventDefault();\n return;\n }\n if (this.dropdown.isOpen) {\n if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0) {\n this.isUserInput = true;\n this._focusItemByNav((e.key === 'ArrowDown' ? 1 : -1));\n if (!this.multiple) {\n this.selectItems(this.displayItems[this._currentfocusedIndex]);\n }\n e.preventDefault();\n return;\n }\n if ((e.key === 'Enter' || e.code === 'Space')) {\n const focusedItem = this.displayItems[this._currentfocusedIndex];\n if (focusedItem) {\n if (this.multiple) {\n this.isUserInput = true;\n this.toggleSelect(focusedItem);\n }\n else {\n this.isUserInput = true;\n this.selectItems(focusedItem);\n this.close();\n }\n }\n e.preventDefault();\n return;\n }\n }\n }\n\n\n private _focusItemByNav(sign: -1 | 1 | null = null): void {\n if (sign == null) {\n const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];\n this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;\n }\n else {\n sign === -1 ? this._currentfocusedIndex-- : this._currentfocusedIndex++;\n }\n if (this._currentfocusedIndex < 0) {\n this._currentfocusedIndex = 0;\n }\n if (this._currentfocusedIndex > this.displayItems.length - 1) {\n this._currentfocusedIndex = this.displayItems.length - 1;\n }\n\n // set scroll\n this._focusItemByIndex(this._currentfocusedIndex);\n }\n\n private _focusItemByIndex(inedx: number) {\n if (this.listContainer) {\n this.zone.runOutsideAngular(() => {\n const itemDiv = this.listContainer.nativeElement.querySelector<HTMLElement>(`.ax-list-item:nth-child(${inedx + 1})`);\n if (itemDiv) {\n itemDiv.focus();\n itemDiv.scrollIntoView({ behavior: 'auto' });\n }\n });\n }\n }\n\n private _focusSelectedItem() {\n const lastSelectedItem = this.selectedItems[this.selectedItems.length - 1];\n this._currentfocusedIndex = lastSelectedItem ? this.displayItems.findIndex(c => c[this.valueField] == lastSelectedItem[this.valueField]) : 0;\n this._focusItemByIndex(this._currentfocusedIndex);\n }\n\n private _selectedItemByIndex(index: number) {\n if (index < 0) {\n index = 0;\n }\n if (index > this.displayItems.length - 1) {\n index = this.displayItems.length - 1;\n }\n this.selectItems(this.displayItems[index]);\n this._currentfocusedIndex = index;\n }\n}","<ax-drop-down (onOpened)=\"_emitOnOpenedEvent()\" (onClosed)=\"_emitOnClosedEvent()\">\n <ng-container input>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <div class=\"ax-dropdown-chips\">\n <div *ngFor=\"let item of selectedItems\" [ngClass]=\"{'ax-badge ax-primary ax-m-1': multiple,'ax-badge':!multiple}\" [title]=\"_getItemDisplayTextTemplte(item)\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <i class=\"ax-ic ax-ic-close ax-text-base\" (click)=\"_handleOnRemoveItemClick($event,item)\" *ngIf=\" (readonly!=true) && multiple && disabled!=true && (allowNull==true || (selectedItems.length> 1))\">\n </i>\n\n </div>\n </div>\n <!-- <div class=\"ax-selectbox-input\">\n <input type=\"text\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleKeydown($event)\">\n </div> -->\n <ng-content select=\"ax-suffix\">\n </ng-content>\n </div>\n </ng-container>\n <ng-container panel>\n <div class=\"ax-list ax-list-container\">\n <div class=\"ax-list-items-container ax-vertical ax-default\" (scroll)=\"_handleListScroll($event)\" #listContainer>\n <ng-container *ngFor=\"let item of displayItems;let i = index;trackBy : _trackByFunction\">\n <ng-container *ngIf=\"itemTemplate; else elseTemplate\">\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\n </ng-container>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\" [attr.tabindex]=\"i\" (click)=\"_handleOnItemClick($event,item)\">\n {{ _getItemDisplayTextTemplte(item) }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"(displayItems==null || displayItems.length==0) && !isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"elseEmptyTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n Empty!\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-list-loading-container\">\n <div><i class=\"fas fa-spinner ax-animate-spin\"></i> Loading ...</div>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ax-drop-down>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXButtonModule } from '../button';\nimport { AXDropdownModule } from '../dropdown';\n\nimport { AXSelectBoxComponent } from './selectbox.component';\n\n@NgModule({\n imports: [CommonModule, AXDropdownModule, FormsModule],\n exports: [AXSelectBoxComponent],\n declarations: [AXSelectBoxComponent],\n providers: [],\n})\nexport class AXSelectBoxModule { }\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ElementRef,\n ChangeDetectorRef,\n Input,\n} from '@angular/core';\nimport { AXBaseSelectionValueMixin, AXDirection } from '../base';\n\n@Component({\n selector: 'ax-selection-list',\n templateUrl: './selection-list.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'size',\n 'value',\n 'valueField',\n 'textField',\n 'multiple',\n 'items',\n 'selectionMode',\n ],\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXSelectionListComponent extends AXBaseSelectionValueMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @Input()\n direction: AXDirection = 'horizontal';\n\n\n _handleOnItemValueChange(item: any, e: Event) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n } else {\n (e.target as any).checked ? this.selectItems(item) : this.unselectItems(item);\n }\n }\n\n // _handleOnClickEvent(e: MouseEvent) {\n //\n // if (this.readonly || this.disabled) {\n // e.preventDefault();\n // e.stopPropagation();\n // }\n // }\n}\n","<div class=\"ax-selection-list ax-{{direction}}\">\n <ng-container *ngIf=\"multiple; then checkboxList; else radioButtonList\"></ng-container>\n <ng-template #checkboxList>\n <ng-container *ngFor=\"let item of displayItems;let i = index\">\n <div class=\"ax-flex ax-items-start ax-checkbox-container ax-mb-2\">\n <div class=\"ax-flex ax-items-center ax-h-5\">\n <input [id]=\"'ax-checkbox'+i\" class=\"ax-checkbox\" type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\" [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\" [readonly]=\"readonly || item.readonly\">\n </div>\n <div class=\"ax-ms-3 ax-text-sm\">\n <label [for]=\"'ax-checkbox'+i\" class=\"ax-font-medium ax-text-gray-700\"> {{item[textField]}}</label>\n <p class=\"ax-text-gray-500\"> {{item.hint}}</p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-template #radioButtonList>\n <ng-container *ngFor=\"let item of displayItems;let i = index\">\n <div class=\"ax-flex ax-items-start ax-radio-container ax-mb-2\">\n <div class=\"ax-flex ax-items-center ax-h-5\">\n <input [id]=\"'ax-radio-'+i\" class=\"ax-radio\" type=\"radio\" [attr.name]=\"'g'+id\"\n (change)=\"_handleOnItemValueChange(item, $event)\" [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\" [readonly]=\"readonly || item.readonly\">\n </div>\n <div class=\"ax-ms-3 ax-text-sm\">\n <label [for]=\"'ax-radio-'+i\" class=\"ax-font-medium ax-text-gray-700\"> {{item[textField]}}</label>\n <p class=\"ax-text-gray-500\"> {{item.hint}}</p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-content select=\"ax-validation-rule\">\n </ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXSelectionListComponent } from './selection-list.component';\nimport { AXCheckBoxModule } from '../checkbox/checkbox.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [AXSelectionListComponent],\n imports: [CommonModule, FormsModule, AXCheckBoxModule],\n exports: [AXSelectionListComponent],\n providers: []\n})\nexport class AXSelectionListModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-side-menu',\n templateUrl: './side-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host : { class: 'ax-side-menu' }\n})\nexport class AXSideMenuComponent extends AXBaseComponentMixin {\n\n constructor(\n elementRef: ElementRef, \n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n}\n","\n<div>Hi ax-side-menu</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXSideMenuComponent } from './side-menu.component';\n\nconst COMPONENT = [AXSideMenuComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSideMenuModule { }\n","import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, ElementRef } from '@angular/core';\nimport { AXBaseValueComponentMixin } from '../base';\nimport { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';\n\n@Component({\n selector: 'ax-switch',\n templateUrl: './switch.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'cssClass', 'cssStyle', ...VALUE_INPUTS],\n outputs: ['onBlur', 'onFocus', ...VALUE_OUTPUT],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXSwitchComponent extends AXBaseValueComponentMixin {\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n handleOnClickEvent(e: MouseEvent) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n}\n","<label class=\"ax-switch {{cssClass}} ax-{{size}}\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [attr.style]=\"cssStyle\" (click)=\"handleOnClickEvent($event)\">\n <input type=\"checkbox\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <span class=\"ax-switch-slider\"></span>\n</label>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { AXSwitchComponent } from './switch.component';\n\n@NgModule({\n declarations: [AXSwitchComponent],\n imports: [CommonModule, FormsModule],\n exports: [AXSwitchComponent],\n entryComponents: [AXSwitchComponent],\n providers: [],\n})\nexport class AXSwitchModule {\n\n}","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n Input,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { AXSizableComponentMixin } from '../base';\nimport { AXTabStripChangedEvent, AXTabStripItem } from './tabs.class';\n\n@Component({\n selector: 'ax-tab-strip',\n templateUrl: './tab-strip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['size', 'cssClass'],\n host: { class: 'ax-tab-strip' },\n})\nexport class AXTabStripComponent extends AXSizableComponentMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n private _items: AXTabStripItem[];\n @Input()\n public get items(): AXTabStripItem[] {\n return this._items;\n }\n public set items(v: AXTabStripItem[]) {\n this._items = v;\n if (\n this._items &&\n this.items.length &&\n !this._items.some((c) => c.active)\n ) {\n this._handleClick(this.items[0], 0);\n }\n }\n\n @Input()\n mode: 'default' | 'underline' | 'pills' | 'pills-color' = 'default';\n\n @Input()\n fullWidth: boolean = false;\n\n @Input()\n minWidth: boolean = false;\n\n @Output()\n onSelectionChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\n\n _handleClick(tab: AXTabStripItem, index: number) {\n if (tab.disabled) {\n return;\n }\n this.items.forEach((c) => (c.active = false));\n tab.active = true;\n this.onSelectionChanged.emit({\n component: this,\n selectedIndex: index,\n selectedTab: tab,\n htmlElement: this._getHostElement(),\n });\n }\n}\n","<div class=\"ax-tabs ax-tabs-{{mode}} {{cssClass}}\" [class.ax-tabs-full]=\"fullWidth\"\n [class.ax-tabs-min-width]=\"minWidth\">\n <div class=\"ax-tab-item-container\">\n <ng-container *ngFor=\"let item of items;let i = index\">\n <div class=\"ax-tab-item\" [class.ax-state-active]=\"item.active\" [class.ax-state-disabled]=\"item.disabled\"\n *ngIf=\"item.visible!=false\" (click)=\"_handleClick(item,i)\">\n\n <span *ngIf=\"item.iconClassBefore || item.iconClass\"><i\n class=\"ax-icon {{item.iconClassBefore || item.iconClass}}\"></i>\n <ng-container *ngIf=\"item.text\">&nbsp;&nbsp;</ng-container>\n </span>\n <span *ngIf=\"item.text\">{{item.text}}</span>\n <span *ngIf=\"item.iconClassAfter\">\n <ng-container *ngIf=\"item.text\">&nbsp;&nbsp;</ng-container><i\n class=\"ax-icon {{item.iconClassAfter}}\"></i>\n </span>\n <!-- <span *ngIf=\"badge\" class=\"ax-badge\">\n <ng-container *ngIf=\"text\">&nbsp;&nbsp;</ng-container>{{badge}}\n </span> -->\n </div>\n </ng-container>\n </div>\n</div>","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, NgZone } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-tab',\n template: `\n <div *ngIf=\"_render\" >\n <ng-content>\n </ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-tab', style: 'display:none' }\n})\nexport class AXTabComponent extends AXBaseComponentMixin {\n\n\n @Input()\n name: string;\n @Input()\n caption: string;\n @Input()\n tooltip: string;\n @Input()\n icon: string;\n @Input()\n visible: boolean = true;\n @Input()\n disabled: boolean = false;\n @Input()\n data: any;\n\n _render: boolean = false\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n show() {\n this._getHostElement().style.display = 'unset';\n if (!this._render) {\n this._render = true;\n this._cdr.detectChanges();\n }\n }\n\n hide() {\n this._getHostElement().style.display = 'none';\n }\n\n\n}\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, ContentChildren, QueryList, Input } from '@angular/core';\nimport { AXTabStripChangedEvent, AXTabStripItem } from './tabs.class';\nimport { AXTabStripComponent } from './tab-strip.component';\nimport { AXTabComponent } from './tab.component';\n\n@Component({\n selector: 'ax-tab-view',\n templateUrl: './tab-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['size'],\n host: { class: 'ax-tab-view' }\n})\nexport class AXTabViewComponent extends AXTabStripComponent {\n\n @ContentChildren(AXTabComponent) _contentTabs: QueryList<AXTabComponent>;\n _tabs: AXTabStripItem[] = [];\n\n\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef\n ) {\n super(elementRef, cdr);\n }\n\n\n onViewInit() {\n this._tabs = Array.from(this._contentTabs).map(c => ({\n name: c.name,\n text: c.caption,\n tooltip: c.tooltip,\n icon: c.icon,\n visible: c.visible,\n disabled: c.disabled,\n }));\n this._cdr.detectChanges();\n\n }\n\n\n _handleSelectionChanged(e: AXTabStripChangedEvent) {\n const tabs = Array.from(this._contentTabs);\n tabs.forEach(tab => {\n tab.hide();\n });\n tabs[e.selectedIndex].show();\n }\n\n}\n","<ax-tab-strip [items]=\"_tabs\" [fullWidth]=\"fullWidth\" [mode]=\"mode\" [minWidth]=\"minWidth\" [size]=\"size\"\n (onSelectionChanged)=\"_handleSelectionChanged($event)\">\n\n</ax-tab-strip>\n<div class=\"ax-tab-view-container\">\n <ng-content select=\"ax-tab\">\n </ng-content>\n</div>","import { AXEvent } from \"../base\";\n\nexport interface AXTabStripItem {\n name?: string;\n text?: string;\n tooltip?: string;\n iconClassAfter?: string;\n iconClassBefore?: string;\n iconClass?: string;\n visible?: boolean;\n disabled?: boolean;\n data?: any;\n style?: string;\n active?: boolean;\n }\n \n export class AXTabStripChangedEvent extends AXEvent {\n selectedTab: AXTabStripItem;\n selectedIndex:number;\n\n }","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXTabViewComponent } from './tab-view.component';\nimport { AXTabStripComponent } from './tab-strip.component';\nimport { AXTabComponent } from './tab.component';\n\nconst COMPONENT = [AXTabViewComponent, AXTabStripComponent, AXTabComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTabsModule { }\n","import { AXDateTime } from '@acorex/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Input, HostBinding } from '@angular/core';\nimport { MaskApplierService } from 'ngx-mask';\nimport { AXBaseTextBoxMixin } from '../base';\nimport { TEXTBOX_INPUTS, TEXTBOX_OUTPUT } from '../base/mixin/textbox-mixin.class';\n\n@Component({\n selector: 'ax-time-box',\n templateUrl: './time-box.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', ...TEXTBOX_INPUTS],\n outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus', ...TEXTBOX_OUTPUT],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-time-box ax-editor-container' },\n})\nexport class AXTimeBoxComponent extends AXBaseTextBoxMixin {\n\n @HostBinding('class')\n get hostClass(): string {\n return `${this.cssClass} ax-${this.size}`;\n }\n\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this._minValue = v;\n }\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this._maxValue = v;\n }\n\n\n @Input()\n format: string = 'HH:mm';\n\n\n\n @Output()\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\n private _displayText: string = \"\";\n\n @Input()\n public get displayText(): string {\n return this._displayText;\n }\n\n public set displayText(v: string) {\n this._displayText = v;\n this.displayTextChange.emit(v);\n }\n\n\n constructor(\n elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private _maskService: MaskApplierService\n ) {\n super(elementRef, cdr);\n }\n\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n }\n const toDate = (val: string) => {\n return new Date(val);\n }\n const nums: string[] = Array(10).fill(0).map((v, i) => i.toString());\n const chars: string[] = [':', 'Backspace', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter'];\n const input = (e.target as HTMLInputElement);\n const key = (e.key);\n const valStr = input.value;\n const val = toDate(valStr);\n const selectionStart = input.selectionStart;\n const selectionEnd = input.selectionEnd;\n //\n\n //\n if (![...nums, ...chars].includes(key)) {\n ignore();\n }\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n // const stepVal = decimalPointIndex > -1 ? (selectionStart >= decimalPointIndex ? this.decimalStep : this.step) : this.step;\n // if (e.key === 'ArrowDown') {\n // this.value = val - stepVal;\n // }\n // else {\n // this.value = val + stepVal;\n // }\n ignore();\n input.setSelectionRange(selectionStart, selectionStart);\n }\n else if (e.key == 'Backspace') {\n\n }\n else if (nums.includes(key)) {\n\n }\n super._emitOnKeydownEvent(e);\n }\n\n _onValueChanging(value: Date) {\n return this._fixValue(value);\n }\n\n _fixValue(value: Date): Date {\n if ((value == null || value == undefined)) {\n return this.allowNull ? null : this.minValue;\n }\n else if (value > this.maxValue) {\n return this.maxValue;\n }\n else if (value < this.minValue) {\n return this.minValue;\n }\n return value;\n }\n\n _format(value: Date): string {\n return new AXDateTime(value).format(this.format);\n }\n\n _onValueChanged(oldValue: any, newValue: any): void {\n this.displayText = this._format(newValue);\n }\n\n _handleOnBlurEvent(e: FocusEvent) {\n const input = (e.target as HTMLInputElement);\n this.value = this._fixValue(this.value);\n input.value = this._format(this.value);\n this._emitOnFocusEvent(e);\n }\n\n}\n","<ng-content select=\"ax-prefix\">\n</ng-content>\n<input class=\"ax-input\" type=\"text\" [attr.pattern]=\"'[\\d\\.]*'\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\">\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\n *ngIf=\"value && allowNull && !(disabled || readonly)\">\n <i class=\"ax-icon-x icon\"></i>\n</ax-button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXTimeBoxComponent } from './time-box.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXButtonModule } from '../button';\nimport { NgxMaskModule } from 'ngx-mask';\n\nconst COMPONENT = [AXTimeBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXButtonModule,\n NgxMaskModule.forChild()\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTimeBoxModule { }\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\nimport { AXButtonComponent, AXButtonItem } from '../button';\nimport { AXToastOptions } from './toast.class';\n\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-toast' }\n})\nexport class AXToastComponent extends AXBaseComponentMixin {\n\n options: AXToastOptions;\n _toastWidth: number = 100;\n _icon: string;\n close: () => void;\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n onInit() {\n this._getHostElement().classList.add(`ax-${this.options.type}`);\n if (this.options.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.options.timeOut);\n }\n switch (this.options.type) {\n case 'success':\n this._icon = 'ax-ic ax-ic-check-filled';\n break;\n case 'warning':\n this._icon = 'ax-ic ax-ic-warning-filled';\n break;\n case 'danger':\n this._icon = 'ax-ic ax-ic-error-filled';\n break;\n default:\n this._icon = 'ax-ic ax-ic-info-filled';\n break;\n }\n }\n\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick(this);\n }\n }\n\n\n\n\n\n}\n","<!-- <div class=\"ax-toast-header\">\n <div class=\"ax-flex ax-items-center\">\n <i class=\"{{_icon}} ax-mr-2 ax-icon\"></i>\n <div>{{options.title || options.content}}</div>\n </div>\n <div class=\"ax-flex ax-items-center\" (click)=\"close()\" *ngIf=\"options.closeButton\">\n <i class=\"ax-ic ax-ic-close ax-text-gray-300 ax-cursor-pointer\"></i>\n </div>\n</div>\n<div class=\"ax-ml-8 ax-text-md ax-text-gray-600\" *ngIf=\"options.title && options.content\">\n {{options.content}}\n</div>\n<div class=\"ax-flex ax-mt-4 ax-justify-end\" *ngIf=\"options.buttons && options.buttons.length\">\n <ng-container *ngFor=\"let button of options.buttons\">\n <ax-button [text]=\"button.text\" [iconClassBefore]=\"button.iconClass\" (onClick)=\"_handleButtonClick(button)\" [cssClass]=\"button.class\"></ax-button>\n <ax-button [text]=\"button.text\" (onClick)=\"_handleButtonClick(button)\"\n [cssClass]=\"button.class\"></ax-button>\n <div class=\"ax-ml-2\"></div>\n </ng-container>\n</div>\n<div class=\"ax-toast-progress ax-{{options.type}}\" [style.width.%]='_toastWidth' *ngIf=\"options.timeOut\">\n</div> -->\n\n<div class=\"ax-toast-icon-side\">\n <i class=\"ax-toast-icon {{_icon}}\"></i>\n</div>\n<div class=\"ax-toast-content-side\">\n <div class=\"ax-toast-title\">{{options.title}}</div>\n <div class=\"ax-toast-content\" *ngIf=\"options.content\">{{options.content}}</div>\n</div>\n<div class=\"ax-toast-dismiss-icon\">\n <i class=\"ax-ic ax-ic-close\" *ngIf=\"options.closeable\" (click)=\"close()\"></i>\n</div>\n<div class=\"ax-toast-progress ax-{{options.type}}\" [style.animation-duration.ms]=\"options.timeOut\" *ngIf=\"options.timeOut\">\n</div>\n\n<!-- <div class=\"ax-toast-buttons\">\n <ng-container *ngFor=\"let button of options.buttons\">\n <ax-button [text]=\"button.text\" (onClick)=\"_handleButtonClick(button)\" [cssClass]=\"button.class\"></ax-button>\n <div class=\"ax-ml-2\"></div>\n </ng-container>\n</div> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXToastComponent } from './toast.component';\nimport { AXButtonModule } from '../button';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXToastModule { }\n","import { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXToastOptions, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\n\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXToastService {\n\n constructor(private overlayService: Overlay, private parentInjector: Injector) { }\n\n private _activeList: AXToastComponent[] = [];\n\n info(content: string) {\n this.show({\n timeOut: 2500,\n type: 'info',\n title: content\n });\n }\n\n success(content: string) {\n this.show({\n timeOut: 2500,\n type: 'success',\n title: content\n });\n }\n\n warning(content: string) {\n this.show({\n timeOut: 2500,\n type: 'warning',\n title: content\n });\n }\n\n danger(content: string) {\n this.show({\n timeOut: 2500,\n type: 'danger',\n title: content\n });\n }\n\n show(options: AXToastOptions): AXToastRef {\n const opt = Object.assign(\n {\n closeable: true,\n location: 'bottom-center'\n },\n options\n );\n const marging = 5;\n\n let positionStrategy = this.overlayService.position().global();\n const pos = this.getPosition(opt.location) + marging + 'px';\n switch (opt.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally()\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(marging + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(marging + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally()\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(marging + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(marging + 'px');\n break;\n default:\n break;\n }\n const overlayRef = this.overlayService.create(\n {\n positionStrategy,\n panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],\n });\n const toastPortal = new ComponentPortal(AXToastComponent, null, this.parentInjector);\n\n const host = overlayRef.attach(toastPortal);\n (host.instance as any).visibleIndex = this._activeList.length;\n this._activeList.push(host.instance);\n if (host.instance) {\n Object.assign(host.instance, {\n options: opt,\n close: () => {\n this._activeList = this._activeList.filter(c => c != host.instance);\n overlayRef.dispose()\n }\n });\n setTimeout(() => {\n host.changeDetectorRef.detectChanges();\n }, 0);\n }\n\n return {\n close: () => {\n host.instance.close();\n }\n }\n }\n\n private getPosition(location: string) {\n const list = this._activeList.filter(c => c.options.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1]._getHostElement().offsetTop;\n }\n else {\n return list[list.length - 1]._getHostElement().offsetTop + list[list.length - 1]._getHostElement().offsetHeight;\n }\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n Input,\n} from '@angular/core';\nimport { AXBaseComponentMixin } from '../base';\n\n@Component({\n selector: 'ax-tooltip',\n templateUrl: './tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-tooltip' },\n animations: [\n trigger('tooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(50, style({ opacity: 1 })),\n ]),\n transition(':leave', [animate(50, style({ opacity: 0 }))]),\n ]),\n ],\n})\nexport class AXTooltipComponent extends AXBaseComponentMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n @Input()\n text: string = 'Text';\n\n @Input() position = 'top';\n}\n","<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\" @tooltip>\n {{ text }}\n </div>\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{position}}\"></div>\n</div>","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n Overlay,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AXTooltipComponent } from './tooltip.component';\n\n@Directive({ selector: '[axTooltip]' })\nexport class AXTooltipDirective implements OnInit {\n @Input('axTooltip') text = '';\n @Input('axTooltipPositon') position = 'top';\n\n private overlayRef: OverlayRef;\n\n positions: any;\n\n constructor(\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n switch (this.position) {\n default:\n case 'top':\n this.positions = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8,\n };\n break;\n case 'right':\n this.positions = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 8,\n };\n break;\n case 'bottom':\n this.positions = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 8,\n };\n break;\n case 'left':\n this.positions = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -8,\n };\n break;\n }\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([this.positions]);\n\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n @HostListener('mouseenter')\n show() {\n const tooltipRef: ComponentRef<AXTooltipComponent> = this.overlayRef.attach(\n new ComponentPortal(AXTooltipComponent)\n );\n\n tooltipRef.instance.text = this.text;\n tooltipRef.instance.position = this.position;\n }\n\n @HostListener('mouseout')\n hide() {\n this.overlayRef.detach();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXTooltipComponent } from './tooltip.component';\nimport { AXTooltipDirective } from './tooltip.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\nconst MODULES = [CommonModule, OverlayModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTooltipModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXBaseTextBoxMixin } from '../base/mixin/mixin.class';\nimport {\n TEXTBOX_INPUTS,\n TEXTBOX_OUTPUT,\n} from '../base/mixin/textbox-mixin.class';\nimport { AXInputMaskComponent } from '../input-mask';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'textbox.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'cssClass',\n 'size',\n ...TEXTBOX_INPUTS,\n ],\n outputs: [\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n ...TEXTBOX_OUTPUT,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-text-box ax-editor-container' },\n})\nexport class AXTextBoxComponent extends AXBaseTextBoxMixin {\n @ContentChild(AXInputMaskComponent)\n _contentMask: AXInputMaskComponent;\n\n //TODO: prefix suffix text\n\n\n @HostBinding('class')\n get hostClass(): string {\n return `${this.cssClass} ax-${this.size}`;\n }\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n}\n","<ng-content select=\"ax-prefix\">\n</ng-content>\n<input class=\"ax-input\" [attr.name]=\"name\" type=\"text\" [mask]=\"_contentMask?.mask\" [prefix]=\"_contentMask?.prefix\"\n [suffix]=\"_contentMask?.suffix\" [showMaskTyped]=\"_contentMask?.showMaskTyped\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [(ngModel)]=\"value\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\"\n [attr.autocomplete]=\"autoComplete ? 'on': 'off'\">\n<ax-button color=\"light\" look=\"blank\" [size]=\"size\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\n *ngIf=\"value && allowNull && !(disabled || readonly)\">\n <ax-prefix>\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\n </ax-prefix>\n</ax-button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>\n<ng-content select=\"ax-input-mask\">\n</ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { AXButtonModule } from '../button';\nimport { AXEditorDecoratorModule } from '../decorators';\nimport { AXIconModule } from '../icon';\nimport { AXTextBoxComponent } from './textbox.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXEditorDecoratorModule,\n AXIconModule,\n NgxMaskModule.forChild()\n ],\n exports: [AXTextBoxComponent],\n declarations: [AXTextBoxComponent],\n providers: [],\n})\nexport class AXTextBoxModule { }\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';\nimport { AXTranslator } from '@acorex/core';\nimport { AXBaseComponentMixin } from '../base';\n\n\n// @dynamic\nexport class AXValidationRules {\n private static registredRules: { name: string, rule: AXValidationRule }[] = [];\n\n public static addRule(name: string, rule: AXValidationRule) {\n const exists = AXValidationRules.get(name);\n if (exists) {\n exists.rule = rule;\n }\n else {\n AXValidationRules.registredRules.push({\n name,\n rule\n });\n }\n }\n\n public static get(name: string) {\n return this.registredRules.find(c => c.name === name);\n }\n}\n\n\n@Component({\n selector: 'ax-validation-rule',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {\n\n @Input()\n rule: AXValidationRuleTypes = 'required';\n\n @Input()\n message: string;\n\n @Input()\n showMessage: boolean = true;\n\n @Input()\n value: any;\n\n @Input()\n enabled: boolean = true;\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n onInit() {\n (this._getHostElement() as any).validate = this.validate.bind(this);\n }\n\n validate(value: any): Promise<AXValidationRuleResult> {\n if (this.enabled === false) {\n return Promise.resolve({ result: true });\n }\n const regRule = AXValidationRules.get(this.rule);\n if (regRule) {\n return this._internalValidate(regRule.rule.rule, value, this.message || regRule.rule.message, regRule.rule.value);\n }\n else {\n return this._internalValidate(this.rule, value, this.message, this.value);\n }\n }\n\n\n private _internalValidate(type: string, value?: any, message?: string, ruleValue?: any): Promise<AXValidationRuleResult> {\n return new Promise<AXValidationRuleResult>(resolve => {\n switch (type) {\n case 'required':\n resolve({\n message: this.showMessage ? (message || AXTranslator.get('validation.messages.required')) : null,\n result: value != null && value != '' && (!Array.isArray(value) || (Array.isArray(value) && value.length > 0))\n });\n break;\n case 'regex':\n const ex = new RegExp(ruleValue);\n resolve({\n message: this.showMessage ? (message || AXTranslator.get('validation.messages.regex')) : null,\n result: ex.test(value)\n });\n break;\n case 'custom':\n case 'callback':\n if (typeof ruleValue === 'function') {\n const res: any = {};\n res.message = this.showMessage ? message : null;\n const val = ruleValue({ value, message });\n if (val instanceof Promise) {\n val.then(c => {\n res.result = c;\n }).catch(c => {\n res.result = false;\n }).finally(() => {\n resolve(res);\n });\n }\n else {\n res.result = val;\n resolve(res);\n }\n }\n else {\n resolve({ result: true });\n }\n break;\n default:\n resolve({ result: true });\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXValidationRuleComponent, AXValidationRules } from './validation-rule.widget';\nimport { AXTranslator } from '@acorex/core';\n\n\n@NgModule({\n declarations: [AXValidationRuleComponent],\n imports: [CommonModule],\n exports: [AXValidationRuleComponent],\n providers: []\n})\nexport class AXValidationModule {\n constructor() {\n AXValidationRules.addRule('email', {\n message: AXTranslator.get('validation.messages.email'),\n rule: 'regex',\n value: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n })\n AXValidationRules.addRule('phone', {\n message: AXTranslator.get('validation.messages.phone'),\n rule: 'regex',\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/\n })\n }\n}\n","/**\n * Public API refrences of components\n * @module @acorex/components\n */\nexport * from \"./lib/alert\";\nexport * from \"./lib/avatar\";\nexport * from \"./lib/base\";\nexport * from \"./lib/button\";\nexport * from \"./lib/calendar\";\nexport * from \"./lib/carousel\";\nexport * from \"./lib/checkbox\";\nexport * from \"./lib/datalist\";\n// export * from \"./lib/datapager\";\nexport * from \"./lib/datepicker\";\nexport * from \"./lib/decorators\";\nexport * from \"./lib/dialog\";\nexport * from \"./lib/drawer\";\nexport * from \"./lib/dropdown\";\nexport * from \"./lib/form\";\nexport * from \"./lib/icon\";\nexport * from \"./lib/input-mask\";\nexport * from \"./lib/label\";\nexport * from \"./lib/loading\";\nexport * from \"./lib/number-box\";\nexport * from \"./lib/page\";\nexport * from \"./lib/popover\";\nexport * from \"./lib/range-slider\";\nexport * from \"./lib/popup\";\nexport * from \"./lib/selectbox\";\nexport * from \"./lib/selection-list\";\nexport * from \"./lib/side-menu\";\nexport * from \"./lib/switch\";\nexport * from \"./lib/tabs\";\nexport * from \"./lib/time-box\";\nexport * from \"./lib/toast\";\nexport * from \"./lib/tooltip\";\nexport * from \"./lib/textbox\";\nexport * from \"./lib/validation\";","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","Inject","EventEmitter","coerceBooleanProperty","coerceNumberProperty","AXObjectUtil","Subscription","Subject","debounceTime","distinctUntilChanged","Directive","NgModule","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","Output","HostBinding","HostListener","COMPONENT","MODULES","CommonModule","TemplatePortal","ContentChildren","ViewChildren","ViewChild","Optional","FormsModule","ContentChild","OverlayModule","AXTranslator","ComponentPortal","AXConfig","PortalModule","OverlayContainer","Overlay","DOCUMENT","TemplateRef","merge","observeOn","asyncScheduler","finalize","BehaviorSubject","DragDropModule","A11yModule","NgxMaskModule","AXDateTime","trigger","transition","style","animate"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;;;;;QC9MI;YAA2B,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YApBzC,OAAE,GAAW,QAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAI,CAAC;YAWrD,8BAAwB;YAUpB,uBAAA,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC,EAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB;QAED,kCAAQ,GAAR;YACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QAED,yCAAe,GAAf;YACI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;QAED,qCAAW,GAAX;YACI,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,yCAAe,GAAf;YACI,OAAO,0CAAiB,aAAkB,CAAC;SAC9C;QAED,0CAAgB,GAAhB;YACI,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,iBAAiC,CAAC;SACnE;QAGD,yCAAe,GAAf;;YACK,IAAI,CAAC,eAAe,EAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YACrD,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC;aAC5G;YACD,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;YACrE,MAAA,IAAI,CAAC,gBAAgB,EAAE,0CAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAED,6CAAmB,GAAnB;YACI,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QAED,4CAAkB,GAAlB;YACI,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;QAED,gCAAM,GAAN;SACC;QAED,oCAAU,GAAV;SACC;QAED,mCAAS,GAAT;SACC;QAED,0CAAgB,GAAhB,UAAiB,MAAqC;YAClD,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;SACxB;QACD,yCAAe,GAAf,UAAgB,MAAwD;SAEvE;;;;sIAlFQ,eAAe,kBAqBJ,KAAK;0IArBhB,eAAe;qHAAf,eAAe;sBAD3BA,aAAU;;;kCAsBMC,SAAM;mCAAC,KAAK;;;aAiEb,oBAAoB,CAA6C,IAAW;QACxF;YAAqB,2BAAI;YACrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;mEACb,IAAI;aAChB;0BACJ;SAJM,CAAc,IAAI,GAIxB;IACL,CAAC;QAGY,WAAW,GAAG;QACvB,KAAK;QACL,UAAU;QACV,UAAU;MACZ;QACW,WAAW,GAAG;;aC1GX,qBAAqB,CAA6C,IAAW;;QAC3F;YAAqB,sBAAI;YAmGvB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACW,IAAI,YACd;;;;gBAjGD,UAAI,GAAW,EAAE,CAAC;;;;gBAKlB,oBAAc,GAAY,KAAK,CAAC;;;;gBAKhC,oBAAc,GAAY,KAAK,CAAC;gBAKhC,iBAAW,GAAmC,IAAIC,eAAY,EAAE,CAAC;gBACjE,kBAA2B,SAAS,EAAC;gBAkBrC,gBAAU,GAAoC,IAAIA,eAAY,EAAE,CAAC;gBACjE,iBAA4B,IAAI,EAAC;gBAmBjC,sBAAgB,GAA0B,IAAIA,eAAY,EAAE,CAAC;gBAC7D,uBAAwB,KAAK,EAAC;gBAkB9B,oBAAc,GAA0B,IAAIA,eAAY,EAAE,CAAC;gBAC3D,qBAAsB,KAAK,EAAC;;aAuB3B;YA7ED,sBAAI,qBAAK;;;;qBAAT;oBACE,4CAAmB;iBACpB;qBACD,UAAU,KAAuB;oBAC/B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/D,IAAI,KAAK,wCAAe,EAAE;wBACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC5B,uBAAA,IAAI,UAAU,KAAK,EAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBACnE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;qBAC1B;iBACF;;;eAVA;YAiBD,sBAAI,oBAAI;;;;qBAAR;oBACE,2CAAkB;iBACnB;qBACD,UAAS,KAAwB;oBAC/B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC9D,IAAI,KAAK,uCAAc,EAAE;wBACvB,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC5B,uBAAA,IAAI,SAAS,KAAK,EAAC;wBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;qBAC1B;iBACF;;;eAVA;YAkBD,sBAAI,0BAAU;;;;qBAAd;oBACE,iDAAwB;iBACzB;qBACD,UAAe,KAAc;oBAC3B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBACpE,IAAI,KAAK,6CAAoB,EAAE;wBAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;wBACjC,uBAAA,IAAI,eAAe,KAAK,EAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAClC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;qBACzE;iBACF;;;eATA;YAiBD,sBAAI,wBAAQ;;;;qBAAZ;oBACE,+CAAsB;iBACvB;qBACD,UAAa,KAAc;oBACzB,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClE,IAAI,KAAK,2CAAkB,EAAE;wBAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAC/B,uBAAA,IAAI,aAAa,KAAK,EAAC;wBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACzB,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;qBACvE;iBACF;;;eAVA;YAmBD,gCAAmB,GAAnB;gBAAA,iBAOC;gBANC,iBAAM,mBAAmB,WAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,UAAU,CAAC;wBACR,KAAY,CAAC,KAAK,EAAE,CAAC;qBACvB,EAAE,CAAC,CAAC,CAAC;iBACP;aACF;YAED,+BAAkB,GAAlB;gBACE,iBAAM,kBAAkB,WAAE,CAAC;aAC5B;YAGD,sBAAI,wBAAQ;qBAAZ;oBACE,IAAM,UAAU,GAAG;wBACjB,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI;wBAC5B,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC;wBACrC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;qBACnC,CAAC;oBACF,UAAU,CAAC,SAAM,IAAI,CAAC,KAAK,IAAI,SAAS,KAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAE,CAAC,GAAG,IAAI,CAAC;oBACtF,OAAO,UAAU,CAAC;iBACnB;;;eAAA;qBACF;SA9HM,CAAc,IAAI,EA8HxB;;;;;eAAC;IACJ,CAAC;IAEM,IAAM,aAAa,GAAG;QAC3B,MAAM;QACN,gBAAgB;QAChB,gBAAgB;QAChB,OAAO;QACP,MAAM;QACN,YAAY;QACZ,UAAU;KACX,CAAC;IACK,IAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;;aC1InF,yBAAyB,CAA6C,IAAW;QAC7F;YAAqB,2BAAI;;;;YAoBrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,YAChB;;;;;gBAhBD,aAAO,GAA+B,IAAIA,eAAY,EAAgB,CAAC;;aAgBtE;YAdD,mCAAiB,GAAjB,UAAkB,CAAa;gBAE3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;oBACnC,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;aACN;0BAQJ;SAvBM,CAAc,IAAI,GAuBxB;IACL;;aC3BgB,wBAAwB,CAA6C,IAAW;;QAC5F;YAAqB,sBAAI;YAuBrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,YAEhB;gBAxBD,gBAAU,GAAW,IAAI,CAAC;gBAC1B,eAAS,GAAsB,MAAM,CAAC;gBACtC,qBAAe,GAAW,OAAO,CAAC;gBAClC,oBAAc,GAAsB,OAAO,CAAC;gBAC5C,cAAQ,GAAW,EAAE,CAAC;gBAEtB,wBAAuB,CAAC,EAAC;gBACzB,sBAAsB,KAAK,EAAC;gBAC5B,wBAAsB,EAAE,EAAC;gBACzB,uBAAsB,CAAC,EAAC;gBAExB,mBAAmB,KAAK,EAAC;gBAezB,kBAAc,EAAE,EAAC;;aAFhB;YAXD,sBAAI,0BAAU;qBAAd;oBACI,iDAAwB;iBAC3B;;;eAAA;YAED,sBAAI,2BAAW;qBAAf;;oBACI,OAAO,CAAA,0FAAmB,MAAM,KAAI,CAAC,CAAC;iBACzC;;;eAAA;YAQD,sBAAI,qBAAK;qBAAT;oBACI,4CAAmB;iBACtB;qBACD,UAAU,CAAM;oBACZ,uBAAA,IAAI,UAAU,CAAC,EAAC;iBACnB;;;eAHA;YAKD,sBAAI,4BAAY;qBAAhB;oBACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wBAC3B,OAAO,wCAAe,EAAE,CAAC;qBAC5B;yBACI,IAAI,2CAAkB,IAAI,UAAU,EAAE;wBACvC,OAAO,8CAAqB,EAAE,CAAC;qBAClC;oBACD,OAAO,EAAE,CAAC;iBACb;;;eAAA;YAED,sBAAI,yBAAS;qBAAb;oBACI,gDAAuB;iBAC1B;;;eAAA;YAED,uBAAU,GAAV;gBAAA,iBAsBC;gBArBG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,6CAAoB,IAAI,sCAAa,EAAE;oBACnG,OAAO;iBACV;gBACD,0CAAiB;oBACb,uBAAA,IAAI,cAAc,IAAI,EAAC;oBACvB,0CAAA,IAAI,EAAQ,EAAE,IAAI,EAAE,6CAAoB,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC;;wBAChF,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BAClB,uBAAA,KAAI,gBAAgB,CAAC,EAAC;4BACtB,uBAAA,KAAI,eAAe,CAAC,CAAC,MAAM,EAAC;yBAC/B;6BACI;4BACD,uBAAA,KAAI,eAAe,CAAC,CAAC,KAAK,KAAI,MAAA,CAAC,CAAC,KAAK,0CAAE,MAAM,CAAA,IAAI,CAAC,EAAC;4BACnD,uBAAA,KAAI,gBAAgB,4CAAkB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC;4BACtD,8FAAoB;yBACvB;wBACD,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;qBAC5B,CAAC,CAAC,OAAO,CAAC;wBACP,uBAAA,KAAI,cAAc,KAAK,EAAC;wBACxB,KAAI,CAAC,aAAa,EAAE,CAAC;qBACxB,CAAC,CAAC;iBACN;aACJ;YAED,4BAAe,GAAf;gBACI,IAAI,2CAAkB,IAAI,UAAU,EAAE;oBAClC,uBAAA,IAAI,WAAW,IAAI,EAAC;oBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,iBAAM,eAAe,WAAE,CAAC;aAC3B;YAED,0BAAa,GAAb;aAEC;YAED,uCAA0B,GAA1B,UAA2B,IAAI;gBAC3B,IAAI,IAAI;oBACJ,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;oBAEzG,OAAO,YAAY,CAAC;aAC3B;YAED,6BAAgB,GAAhB,UAAiB,IAAI;gBACjB,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC;qBAEJ;SAlGM,CAAc,IAAI,EAkGxB;;;;;;;eAAA;IACL;;aCvFgB,wBAAwB,CAA6C,IAAW;;QAE5F;YAA6B,yBAAI;YA4B7B;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,YAChB;gBA7BD,qBAAqB,KAAK,EAAC;gBAI3B,eAAS,GAAY,IAAI,CAAC;gBAE1B,cAAQ,GAA0B,IAAIA,eAAY,EAAW,CAAC;gBAC9D,cAAQ,GAA0B,IAAIA,eAAY,EAAW,CAAC;;aAsB7D;YA5BD,sBAAI,2BAAQ;qBAAZ,cAAiB,+CAAsB,EAAE;qBACzC,UAAa,KAAU,IAAI,uBAAA,IAAI,aAAaC,8BAAqB,CAAC,KAAK,CAAC,EAAC,EAAE;;;eADlC;YAQzC,kCAAkB,GAAlB;;;;gBAII,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;iBACtC,CAAC,CAAC;aACN;YAED,kCAAkB,GAAlB;gBACK,IAAY,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;iBACtC,CAAC,CAAC;aACN;wBAMJ;SAhCD,CAA6B,IAAI,GAgChC;;QAED,OAAO,KAAK,CAAC;IACjB;;aC/CgB,2BAA2B,CAA6C,IAAW;;QAC/F;YAA6B,yBAAI;;;;YAqE7B;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,YAChB;gBArED,qBAAqB,KAAK,EAAC;gBAiB3B,qBAAoB,CAAC,EAAC;;;;;gBAatB,aAAO,GAA+B,IAAID,eAAY,EAAgB,CAAC;;;;;gBAcvE,YAAM,GAA+B,IAAIA,eAAY,EAAgB,CAAC;;aAyBrE;YAjED,sBAAI,2BAAQ;;;;qBAAZ,cAA0B,+CAAsB,EAAE;qBAClD,UAAa,KAAc;oBACvB,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClE,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAC/B,uBAAA,IAAI,aAAaC,8BAAqB,CAAC,KAAK,CAAC,EAAC;wBAC9C,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;qBAC5B;iBACJ;;;eATiD;YAiBlD,sBAAI,2BAAQ;;;;qBAAZ,cAAyB,OAAO,IAAI,CAAC,QAAQ,IAAK,IAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,0CAAiB,CAAC,EAAE;qBAChG,UAAa,KAAa;oBACtB,uBAAA,IAAI,aAAa,KAAK,IAAI,IAAI,GAAGC,6BAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC;iBACpE;;;eAH+F;YAWhG,iCAAiB,GAAjB,UAAkB,CAAa;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;oBACnC,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;aACN;YAQD,gCAAgB,GAAhB,UAAiB,CAAa;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;oBACnC,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;aACN;;;;YAKD,qBAAK,GAAL;gBACI,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAc,0EAA0E,CAAC,CAAC;gBAChJ,IAAI,SAAS,EAAE;oBACX,SAAS,CAAC,KAAK,EAAE,CAAC;iBACrB;aACJ;wBAQJ;SAxED,CAA6B,IAAI,GAwEhC;;QACD,OAAO,KAAK,CAAC;IACjB;;aC5EgB,yBAAyB,CAA6C,IAAW;QAC7F;YAAqB,2BAAI;YAqBrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,YAChB;gBArBD,gBAAU,GAAW,IAAI,CAAC;gBAC1B,eAAS,GAAsB,MAAM,CAAC;gBACtC,cAAQ,GAAY,KAAK,CAAC;gBAC1B,mBAAa,GAAqB,OAAO,CAAC;gBAYnC,iBAAW,GAAsB,IAAIF,eAAY,EAAO,CAAC;gBACzD,oBAAc,GAA+C,IAAIA,eAAY,EAAgC,CAAC;;aAKpH;YAfD,sBAAI,0BAAK;;qBAAT;oBACI,OAAO,EAAE,CAAC;iBACb;;;eAAA;YAED,sBAAI,iCAAY;qBAAhB;oBACI,OAAO,EAAE,CAAC;iBACb;;;eAAA;YAWD,iCAAe,GAAf;gBACI,iBAAM,eAAe,WAAE,CAAC;aAC3B;YAID,sBAAI,0BAAK;qBAAT;oBACI,OAAO,IAAI,CAAC,MAAM,CAAC;iBACtB;qBACD,UAAU,CAAc;oBAAxB,iBA4BC;oBA3BG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;wBACnB,IAAM,QAAQ,GAAGG,eAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACzD,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;yBACvD;6BAAM;4BACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;yBAC7C;wBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACrB,SAAS,EAAE,IAAI;4BACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;4BACnC,WAAW,EAAE,KAAK;4BAClB,QAAQ,UAAA;4BACR,KAAK,EAAE,IAAI,CAAC,MAAM;4BAClB,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAA,CAAC;4BAC7D,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;yBAC5C,CAAC,CAAC;wBACH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE;4BACvC,IAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;yBACzC;6BACI;4BACD,IAAI,IAAI,CAAC,SAAS,EAAE;gCACf,IAAY,CAAC,QAAQ,EAAE,CAAC;6BAC5B;yBACJ;wBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBAC3B;iBACJ;;;eA7BA;YAgCD,sBAAI,kCAAa;qBAAjB;oBACI,OAAO,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;iBACpC;;;eAAA;YAED,kCAAgB,GAAhB;gBAAA,iBAsDC;gBArDG,IAAM,IAAI,GAAG;oBACT,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAI,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/C,OAAO,EAAE,CAAC;qBACb;oBACD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,OAAO,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAA,CAAC;4BAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,EAAE;gCAC3B,OAAO,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,EAAE;oCACrB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;wCACxB,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;qCACrD;yCACI;wCACD,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;qCACpC;iCACJ,CAAC,CAAC;6BACN;iCACI;gCACD,IAAI,OAAO,KAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oCAChC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,KAAI,CAAC,KAAK,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;iCAC7D;qCACI;oCACD,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,KAAI,CAAC,KAAK,CAAC;iCAC5C;6BACJ;yBACJ,CAAC,CAAC;qBACN;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,EAAE;wBAC3B,OAAO,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA;;4BAExB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;gCACxB,OAAO,EAAE,CAAC;6BACb;iCACI;gCACD,IAAM,IAAI,GAAQ,EAAE,CAAC;gCACrB,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC;gCACnC,OAAO,IAAI,CAAC;6BACf;yBACJ,GAAA,CAAC,CAAC;qBACN;yBACI;;wBAED,IAAI,OAAO,KAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;4BAChC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;yBACvB;6BACI;4BACD,IAAM,IAAI,GAAQ,EAAE,CAAC;4BACrB,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC;4BACnC,OAAO,CAAC,IAAI,CAAC,CAAC;yBACjB;qBACJ;iBACJ,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;aAChC;YAED,oCAAkB,GAAlB,UAAmB,IAAS;gBACxB,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACvE;YAED,+BAAa,GAAb,UAAc,IAAS;gBACnB,OAAO,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAClE;YAID,+BAAa,GAAb;gBAAA,iBAYC;gBAZa,eAAe;qBAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;oBAAf,0BAAe;;gBACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACrB;qBACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAC7C,OAAA,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAA,CAAC,GAAA,CACnD,CAAC;iBACL;qBACI;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACrB;aACJ;YAED,6BAAW,GAAX;gBAAA,iBASC;gBATW,eAAe;qBAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;oBAAf,0BAAe;;gBACvB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACf,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,CAAC;qBACtF;yBACI;wBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACJ;aACJ;YAED,8BAAY,GAAZ;gBAAA,iBAWC;gBAXY,eAAe;qBAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;oBAAf,0BAAe;;gBACxB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBACvB,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;wBACd,IAAI,KAAI,CAAC,QAAQ,EAAE;4BACf,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;yBACzF;6BACI;4BACD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;yBACzB;qBACJ,CAAC,CAAC;iBACN;aACJ;YAED,gCAAc,GAAd,UAAe,IAAS;gBAAxB,iBAEC;gBADG,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,GAAA,CAAC,CAAC;aACrF;0BACJ;SAhLM,CAAc,IAAI,GAgLxB;IACL;;aCpLgB,uBAAuB,CAA6C,IAAW;QAC3F;YAAqB,2BAAI;;;;YAUrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;mEACb,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aAC5B;YAED,iCAAe,GAAf;gBACI,iBAAM,eAAe,WAAE,CAAC;aAC3B;0BACJ;SAjBM,CAAc,IAAI,GAiBxB;IACL,CAAC;IAGM,IAAM,cAAc,GAAG;QAC1B,MAAM;KACT,CAAC;IACK,IAAM,cAAc,GAAG,EAAE;;aCjBhB,qBAAqB,CAA6C,IAAW;;QAE3F;YAAqB,sBAAI;;;;YAuJvB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACW,IAAI,YACd;;;;;gBAnJD,oBAAc,GAA2C,IAAIH,eAAY,EAA4B,CAAC;gBAEtG,iBAAW,GAAsB,IAAIA,eAAY,EAAO,CAAC;gBAGzD,qBAAqB,KAAK,EAAC;gBAY3B,sBAAsB,IAAI,EAAC;gBAS3B,yBAAc;gBAQd,yBAAwB,CAAC,EAAC;gBAQ1B,8BAAqB,IAAII,iBAAY,EAAE,EAAC;gBACxC,yBAAgB,IAAIC,YAAO,EAAE,EAAC;gBAE9B,0BAAY;;aAsGX;YAzID,sBAAI,wBAAQ;;;;qBAAZ;oBACE,+CAAsB;iBACvB;qBACD,UAAa,KAAc;oBACzB,uBAAA,IAAI,aAAaJ,8BAAqB,CAAC,KAAK,CAAC,EAAC;iBAC/C;;;eAHA;YAMD,sBAAI,yBAAS;qBAAb;oBACE,gDAAuB;iBACxB;qBACD,UAAc,KAAc;oBAC1B,uBAAA,IAAI,cAAcA,8BAAqB,CAAC,KAAK,CAAC,EAAC;iBAChD;;;eAHA;YAOD,sBAAI,oBAAI;qBAAR;oBACE,2CAAkB;iBACnB;qBACD,UAAS,KAAa;oBACpB,uBAAA,IAAI,SAAS,KAAK,EAAC;iBACpB;;;eAHA;YAMD,sBAAI,4BAAY;qBAAhB;oBACE,mDAA0B;iBAC3B;qBACD,UAAiB,KAAa;oBAC5B,uBAAA,IAAI,iBAAiBC,6BAAoB,CAAC,KAAK,CAAC,EAAC;iBAClD;;;eAHA;YASD,sBAAW,qBAAK;qBAAhB;oBACE,4CAAmB;iBACpB;qBACD,UAAiB,CAAM;oBACrB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;wBAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBACnB;yBAAM;wBACL,4CAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;qBAC5B;iBACF;;;eARA;YAUD,qCAAwB,GAAxB,UAAyB,QAAc,EAAE,QAAc;gBACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,QAAQ,uCAAc,CAAC;aAC7C;YAED,6BAAgB,GAAhB,UAAiB,KAAU;gBACzB,OAAO,KAAK,CAAC;aACd;YACD,4BAAe,GAAf,UAAgB,QAAa,EAAE,QAAa,KAAW;YAEvD,4BAAe,GAAf;gBAAA,iBASC;gBARC,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC7D,uBAAA,IAAI,sBAAsB,4CACvB,IAAI,CAACI,sBAAY,6CAAoB,CAAC;qBACtC,IAAI,CAACC,8BAAoB,EAAE,CAAC;qBAC5B,SAAS,CAAC,UAAC,CAAC;oBACX,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACnB,CAAC,EAAC;gBACL,iBAAM,eAAe,WAAE,CAAC;aACzB;YAED,+BAAkB,GAAlB;gBACE,iDAAwB,WAAW,EAAE,CAAC;gBACtC,iBAAM,SAAS,WAAE,CAAC;aACnB;YAED,sBAAS,GAAT,UAAU,CAAM;gBACd,IAAM,GAAG,uCAAc,CAAC;;gBAExB,IAAI,CAAC,IAAI,GAAG,EAAE;oBACZ,uBAAA,IAAI,UAAU,CAAC,EAAC;oBAChB,IAAI,CAAC,wBAAwB,CAAC,GAAG,uCAAc,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE;wBAC1C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;qBAC9B;yBAAM;wBACL,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF;YAED,kBAAK,GAAL;gBACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;YAED,qBAAQ,GAAR;gBAAA,iBA4BC;gBA3BC,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAC9D,CAAC,MAAM,CAAC,UAAC,CAAC,IAAM,OAAA,CAAS,CAAC,aAAa,CAAC,OAAO,GAAA,CAAC,CAAC;;gBAElD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;iBAC7D;gBAED,OAAO,IAAI,OAAO,CAAyB,UAAC,OAAO;oBACjD,OAAO,CAAC,GAAG,CACT,KAAK;yBACF,MAAM,CAAC,UAAC,CAAC,YAAK,OAAA,QAAO,MAAC,CAAS,0CAAE,QAAQ,CAAA,KAAK,UAAU,CAAA,EAAA,CAAC;yBACzD,GAAG,CAAC,UAAC,CAAC;wBACL,OAAQ,CAAS,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;qBACxC,CAAC,CACL,CAAC,IAAI,CAAC,UAAC,CAAC;wBACP,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,KAAK,GAAA,CAAC,CAAC;wBAChD,IAAI,KAAK,EAAE;4BACT,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,CAAC,CAAC;yBAC/C;6BAAM;4BACL,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;4BAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,CAAC,CAAC;yBAC9C;qBACF,CAAC,CAAC;iBACJ,CAAC,CAAC;aACJ;YAUD,2BAAc,GAAd,UAAe,KAAoC;gBAAE,cAAO;qBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;oBAAP,6BAAO;;gBAC1D,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBAChF,IAAI,CAAC,eAAe,EAAE;oBACtB,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC/D,IAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACvD,IAAM,KAAK,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,IAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;gBAEpC,QAAQ,KAAK;oBACX,KAAK,OAAO;wBACV,IAAI,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;4BAC7C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBAC/D;wBACD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;wBAC9D,MAAM;oBACR,KAAK,SAAS;wBACZ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBACzC,MAAM;oBACR,KAAK,OAAO;wBACV,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;4BACX,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;4BAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;yBAC1B;wBACD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBACvC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBACvC,MAAM;iBACT;aACF;qBACF;SA7LM,CAAc,IAAI,EA6LxB;;;;;;;;eAAA;IACH,CAAC;IAGM,IAAM,YAAY,GAAG;QAC1B,UAAU;QACV,WAAW;QACX,OAAO;QACP,cAAc;QACd,MAAM;KACP,CAAC;IACK,IAAM,YAAY,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC;;aChN7C,uBAAuB,CAA6C,IAAW;QAC3F;YAAqB,2BAAI;;;;YAoCrB;gBAAY,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAA1B,wDACa,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YAC5B;;;;gBAjCD,iBAAW,GAAW,IAAI,CAAC;;;;gBAK3B,eAAS,GAAW,GAAG,CAAC;;;;gBAKxB,kBAAY,GAAY,KAAK,CAAC;;;;;gBAO9B,eAAS,GAA6C,IAAIP,eAAY,EAA8B,CAAC;;aAgBpG;YAbD,qCAAmB,GAAnB,UAAoB,CAAgB;gBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAChB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;aACN;0BASJ;SAvCM,CAAc,IAAI,GAuCxB;IACL,CAAC;IAEM,IAAM,cAAc,kBAAI,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,UAAK,YAAY,EAAC,CAAA;IACjG,IAAM,cAAc,4BAAO,YAAY,EAAC;;QCtClC,oBAAoB,GAAG,oBAAoB,CAAC,eAAe,EAAE;QAE7D,uBAAuB,GAAG,uBAAuB,CAC5D,oBAAoB,CAAC,eAAe,CAAC,EACrC;QAEW,4BAA4B,GAAG,uBAAuB,CACjE,2BAA2B,CAAC,eAAe,CAAC,EAC5C;QAEW,oBAAoB,GAAG,uBAAuB,CACzD,2BAA2B,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,EACvE;QAEW,iBAAiB,GAAG,uBAAuB,CACtD,2BAA2B,CACzB,yBAAyB,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAClE,EACD;QAEW,yBAAyB,GAAG,uBAAuB,CAC9D,2BAA2B,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,EACxE;QAEW,kBAAkB,GAAG,uBAAuB,CACvD,2BAA2B,CACzB,qBAAqB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAChE,EACD;QAEW,mBAAmB,GAAG,uBAAuB,CACxD,2BAA2B,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EACtE;QAEW,yBAAyB,GAAG,uBAAuB,CAC9D,2BAA2B,CACzB,wBAAwB,CACtB,yBAAyB,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,CACvE,CACF,EACD;QAEW,wBAAwB,GAAG,uBAAuB,CAC7D,2BAA2B,CACzB,wBAAwB,CACtB,wBAAwB,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,CACtE,CACF,EACD;QAEW,4BAA4B,GAAG,uBAAuB,CACjE,2BAA2B,CACzB,wBAAwB,CACtB,wBAAwB,CACtB,yBAAyB,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,CACvE,CACF,CACF,EACD;QAEW,eAAe,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;;ICxExH;;;;;QAIA;SASC;sBAAA;KAAA,IAAA;IAED;;;;;QAIkD,+BAAO;QAAzD;;SAEC;0BAAA;KAFD,CAAkD,OAAO,GAExD;IAED;;;;;QAI4C,uCAAO;QAAnD;;SAKC;kCAAA;KALD,CAA4C,OAAO,GAKlD;IAGD;;;;;QAIkC,gCAAuB;QAAzD;;SAKC;2BAAA;KALD,CAAkC,WAAuB,GAKxD;IAED;;;;;QAIwC,sCAAY;QAApD;;SAEC;iCAAA;KAFD,CAAwC,YAAY,GAEnD;IAED;;;;;QAIyC,oCAAO;QAAhD;;SAEC;+BAAA;KAFD,CAAyC,OAAO,GAE/C;IAED;;;;;QAIkC,gCAAuB;QAAzD;;SACC;2BAAA;KADD,CAAkC,WAAuB,GACxD;IAGD;;;;;QAIkD,gDAAgC;QAAlF;YAAA,6EAMC;YAHG,iBAAW,GAAY,KAAK,CAAC;;SAGhC;2CAAA;KAND,CAAkD,mBAAgC;;QCzErE,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;QAQ1D,YAAY,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE;QAIrG,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY;;;QCQlD,+BAAoB,WAAuC;YAAvC,gBAAW,GAAX,WAAW,CAA4B;YAhBnD,cAAS,GAAmB,IAAI,cAAc,CAAC,UAAA,OAAO;;wCACjD,KAAK;oBAEV,IAAI,KAAK,CAAC,MAAM,EAAE;wBACd,IAAM,GAAC,GAAG,KAAK,CAAC,MAAM,CAAC;wBACvB,IAAM,QAAQ,kBAAI,GAAC,UAAK,KAAK,CAAC,IAAI,CAAC,GAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,EAAC,CAAC;wBAC1E,QAAQ,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,QAAC;4BACf,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAA,CAAC;yBACxF,IAAC,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;;4BACT,GAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAA,KAAA,CAAC,CAAC,OAAO,CAAC,SAAS,EAAC,GAAG,oCAAI,CAAC,CAAC,SAAS,MAAI,CAAA,KAAA,CAAC,CAAC,OAAO,CAAC,SAAS,EAAC,MAAM,oCAAI,CAAC,CAAC,SAAS,GAAC,CAAC;yBAC9G,CAAC,CAAC;qBACN;;;oBAXL,KAAkB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;wBAApB,IAAI,KAAK,oBAAA;gCAAL,KAAK;qBAYb;;;;;;;;;aACJ,CAAC,CAAC;YAGC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACrD;QAJE,CAAC;QAMJ,2CAAW,GAAX;YACI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SAC5D;;;4IAzBQ,qBAAqB;qHAArB,qBAAqB;qHAArB,qBAAqB;sBADjCQ,YAAS;uBAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE;;;;QCU1C;;;;qIAAa,cAAc;sIAAd,cAAc,iBAHR,qBAAqB,aAD1B,qBAAqB;sIAItB,cAAc,aAFZ,EAAE,YAHJ,EAAE;qHAKF,cAAc;sBAN1BC,WAAQ;uBAAC;wBACN,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,CAAC,qBAAqB,CAAC;wBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;wBACrC,SAAS,EAAE,EAAE;qBAChB;;;;ICPD;;;;;;QAYsC,oCAAoB;;;;QA2EtD,0BACI,UAAsB,EACtB,GAAsB;YAF1B,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YA1ED,gBAAU,GAAmC,IAAIT,eAAY,EAAoB,CAAC;YAyClF,4BAAkB;;SAiCjB;QAnED,sBACW,kCAAI;;;;iBADf;gBAEI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBACD,UAAgB,CAAmB;gBAC/B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,QAAQ,IAAI,CAAC,IAAI;oBACb,KAAK,SAAS;wBACV,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;wBACvC,MAAM;oBACV,KAAK,SAAS;wBACV,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;wBACnC,MAAM;oBACV,KAAK,QAAQ;wBACT,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;wBACjC,MAAM;oBACV;wBACI,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;wBACtC,MAAM;iBACb;aACJ;;;WAlBA;QAoBD,sBACI,uCAAS;iBADb;gBAEI,OAAO,QAAM,IAAI,CAAC,IAAM,CAAC;aAC5B;;;WAAA;QAaD,sBACW,qCAAO;;;;iBADlB;gBAEI,8CAAqB;aACxB;iBACD,UAAmB,CAAU;gBACzB,IAAI,0CAAiB,CAAC,EAAE;oBACpB,uBAAA,IAAI,YAAY,CAAC,EAAC;oBAClB,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,EAAE;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;wBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;qBAC/E;yBACI;wBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;qBAChF;iBACJ;aACJ;;;WAdA;QA2BD,iCAAM,GAAN;YAAA,iBAOC;;YALG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,UAAU,CAAC;oBACP,KAAI,CAAC,OAAO,EAAE,CAAA;iBACjB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;SACJ;QAED,qCAAU,GAAV;YACI,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;gBAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;SACJ;;;;QAKD,kCAAO,GAAP;YACI,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;;;;YAKpC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxC;;;;QAMD,+BAAI,GAAJ;YACI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACxB;;;;QAKD,+BAAI,GAAJ;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;;KA1HL,CAAsC,oBAAoB;;uIAA7C,gBAAgB;gHAAhB,gBAAgB,kSChB7B,2XAYa;qHDIA,gBAAgB;sBAP5BU,YAAS;uBAAC;wBACP,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,wBAAwB;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;qBACtC;2JAIG,IAAI;0BADHC,QAAK;oBAIN,UAAU;0BADTC,SAAM;oBASI,IAAI;0BADdD,QAAK;oBAwBF,SAAS;0BADZE,cAAW;2BAAC,OAAO;oBASpB,OAAO;0BADNF,QAAK;oBASK,OAAO;0BADjBA,QAAK;;;;QExDV;;;;4IAAa,qBAAqB;qHAArB,qBAAqB,6GARpB,qDAGT;qHAKQ,qBAAqB;sBAVjCH,YAAS;uBAAC;wBACP,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,qDAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;qBACpC;;;;QCI2C,0CAAoB;QAS5D,gCAAY,UAAsB,EAAE,GAAsB;mBACtD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QAGD,+CAAc,GAAd,UAAe,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC7B;QAGD,+CAAc,GAAd,UAAe,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC7B;QAGD,8CAAa,GAAb,UAAc,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC5B;;KA1BL,CAA4C,oBAAoB;6IAAnD,sBAAsB;sHAAtB,sBAAsB,qbATrB,4EAGT;qHAMQ,sBAAsB;sBAXlCF,YAAS;uBAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,4EAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,OAAO,2BAAM,aAAa,EAAC;wBAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;qBACrC;2JAIG,KAAK;0BADJC,QAAK;oBAIN,IAAI;0BADHA,QAAK;oBASN,cAAc;0BADbG,eAAY;2BAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;oBAMjC,cAAc;0BADbA,eAAY;2BAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;oBAMjC,aAAa;0BADZA,eAAY;2BAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;;QC1BpC;;;;8IAAa,uBAAuB;uHAAvB,uBAAuB,iHAP5B,2CAEH;qHAKQ,uBAAuB;sBAVnCN,YAAS;uBAAC;wBACP,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EACJ,2CAEH;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;qBACtC;;;;QCGD;;;;6IAAa,sBAAsB;sHAAtB,sBAAsB,+GAVrB,kJAKT;qHAKQ,sBAAsB;sBAZlCF,YAAS;uBAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,kJAKT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;qBACrC;;;;QCCD;;;;6IAAa,sBAAsB;sHAAtB,sBAAsB,+GAVrB,kJAKT;qHAKQ,sBAAsB;sBAZlCF,YAAS;uBAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,kJAKT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;qBACrC;;;ICJD,IAAMK,WAAS,GAAG;QACd,gBAAgB;QAChB,uBAAuB;QACvB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;KACzB,CAAC;IACF,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;oIAAa,aAAa;qIAAb,aAAa,iBAftB,gBAAgB;YAChB,uBAAuB;YACvB,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB,aAETA,eAAY,aAPzB,gBAAgB;YAChB,uBAAuB;YACvB,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;qIAUb,aAAa,aAFX,EAAE,qCAFAD,SAAO;qHAIX,aAAa;sBANzBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCZsC,qCAAuB;QAE1D,2BACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QAKD,sBACW,oCAAK;iBADhB;gBAEI,OAAO,IAAI,CAAC,MAAM,CAAC;aACtB;iBACD,UAAiB,CAAS;gBACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACnB;;;WAHA;QAOD,sBACW,oCAAK;iBADhB;gBAEI,OAAO,IAAI,CAAC,MAAM,CAAC;aACtB;iBACD,UAAiB,CAAS;gBACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACnB;;;WAHA;QAOD,sBACW,mCAAI;iBADf;gBAEI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBACD,UAAgB,CAAS;gBACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAClB;;;WAHA;QAOD,sBACW,mCAAI;iBADf;gBAEI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBACD,UAAgB,CAAS;gBACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAClB;;;WAHA;;KA7CL,CAAuC,uBAAuB;wIAAjD,iBAAiB;iHAAjB,iBAAiB,wQCZ9B,6BAEA;qHDUa,iBAAiB;sBAR7BP,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,yBAAyB;wBACtC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,MAAM,yCAAM,WAAW,WAAK,cAAc,EAAC;wBAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qBAC/B;2JAcc,KAAK;0BADfC,QAAK;oBAWK,KAAK;0BADfA,QAAK;oBAWK,IAAI;0BADdA,QAAK;oBAWK,IAAI;0BADdA,QAAK;;;IElDV,IAAMI,WAAS,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtC,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;qIAAa,cAAc;sIAAd,cAAc,iBATR,iBAAiB,aACnBA,eAAY,aADV,iBAAiB;sIASvB,cAAc,aAFZ,EAAE,qCAFAD,SAAO;qHAIX,cAAc;sBAN1BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;ICRD;;;;;;QAauC,qCAAiB;;;;QAKpD,2BAAY,UAAsB,EAAE,GAAsB;mBACtD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QAGD,4CAAgB,GAAhB,UAAiB,CAAgB;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,iBAAiB,CAAC,CAAQ,CAAC,CAAC;gBACjC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,6CAAiB,GAAjB,UAAkB,CAAa;YAC3B,IAAI,IAAI,CAAC,QAAQ;gBACb,OAAO;YACX,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;aAClC;YACD,iBAAM,iBAAiB,YAAC,CAAC,CAAC,CAAC;SAC9B;;KA1BL,CAAuC,iBAAiB;wIAA3C,iBAAiB;iHAAjB,iBAAiB,okBCjB9B,8eAQS;qHDSI,iBAAiB;sBAR7BP,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,yBAAyB;wBACtC,MAAM,iBAAG,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,UAAK,aAAa,EAAC;wBAClF,OAAO,2BAAM,aAAa,EAAC;wBAC3B,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;2JAWG,gBAAgB;0BADfI,eAAY;2BAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;;;QEpB1C,qBAAqB,GAC9B,2BAA2B,CACvB,yBAAyB,CAAC,eAAe,CAAC,EAC5C;;QAmBqC,yCAAqB;;;;QAM5D,+BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAGD,UAAI,GAAW,IAAI,CAAC;YAGpB,aAAO,GAAW,IAAI,CAAC;YAIvB,cAAQ,GAAY,KAAK,CAAC;YAG1B,eAAS,GAAY,KAAK,CAAC;YAU3B,WAAK,GAAqB,SAAS,CAAC;;SAvBnC;QA2BO,2CAAW,GAAX,UAAY,CAAa;YAC7B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,sBACY,8CAAW;iBADvB;gBAEI,IAAM,UAAU,GAAG;oBACf,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI;oBAC5B,mBAAmB,EAAE,IAAI,CAAC,QAAQ;oBAClC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;iBACrC,CAAC;gBACF,UAAU,CAAC,SAAM,IAAI,CAAC,KAAK,IAAI,SAAS,CAAE,CAAC,GAAG,IAAI,CAAC;gBACnD,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChF;;;WAAA;;KAhDL,CAA2C,qBAAqB;4IAAnD,qBAAqB;qHAArB,qBAAqB,kWAdpB,0PAQT;qHAMQ,qBAAqB;sBAhBjCN,YAAS;uBAAC;wBACP,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,0PAQT;wBACD,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;qBAC9B;2JAaG,IAAI;0BADHE,QAAK;oBAIN,OAAO;0BADNA,QAAK;oBAKN,QAAQ;0BADPA,QAAK;oBAIN,SAAS;0BADRA,QAAK;oBAIN,IAAI;0BADHA,QAAK;oBAIN,IAAI;0BADHA,QAAK;oBAKN,KAAK;0BADJA,QAAK;oBAKE,WAAW;0BADlBG,eAAY;2BAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;oBAMrB,WAAW;0BADtBD,cAAW;2BAAC,OAAO;;;;QC1Da,mCAAuB;QAUxD,yBACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QAVD,sBACI,sCAAS;iBADb;gBAEI,OAAO,WAAS,IAAI,CAAC,IAAM,CAAC;aAC/B;;;WAAA;;KARL,CAAqC,uBAAuB;sIAA/C,eAAe;+GAAf,eAAe,gKAJd,EAAE;qHAIH,eAAe;sBAN3BL,YAAS;uBAAC;wBACP,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,EAAE;wBACZ,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;2JAIG,IAAI;0BADHC,QAAK;oBAIF,SAAS;0BADZE,cAAW;2BAAC,OAAO;;;;QCDwB,8CAAoB;QAEhE,oCACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAAgD,oBAAoB;iJAAvD,0BAA0B;0HAA1B,0BAA0B,0HARzB,gHAGT;qHAKQ,0BAA0B;sBAVtCL,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,gHAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qBAC/B;;;QCoBY,yBAAyB,GAClC,uBAAuB,CACnB,2BAA2B,CACvB,yBAAyB,CACrB,qBAAqB,CACjB,wBAAwB,EAAE,eAAe,EACxC,CACJ,CACJ,CACJ,EACJ;;QAW0C,6CAAyB;QAiCpE,mCACI,WAAuB,EACvB,IAAuB,EACf,QAAiB,EACjB,SAAqB,EACrB,iBAAmC;YAL/C,YAMI,kBAAM,WAAW,EAAE,IAAI,CAAC,SAC3B;YAJW,cAAQ,GAAR,QAAQ,CAAS;YACjB,eAAS,GAAT,SAAS,CAAY;YACrB,uBAAiB,GAAjB,iBAAiB,CAAkB;YAhC/C,iBAAW,GAAqC,IAAIZ,eAAY,EAAsB,CAAC;YAwBvF,WAAK,GAAmB,EAAE,CAAC;YAkC3B,kBAAY,GAAW,0CAA0C,CAAC;YAGlE,aAAO,GAAY,IAAI,CAAC;;SA3BvB;QA3BD,sBACW,4CAAK;iBADhB;gBAEI,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;aAC5B;iBACD,UAAiB,CAAiB;gBAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aAC5B;;;WAJA;QA4BO,kDAAc,GAAd;YACJ,8CAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAE;SAClF;QAGD,8CAAU,GAAV;YAAA,iBAIC;YAHG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAA,CAAC;gBAC3B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC;aAC5E,CAAC,CAAC;SACN;QAED,6CAAS,GAAT;;YACI,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,CAAC;gBAChB,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,EAAE,CAAC;aACpB,CAAC,CAAC;SACN;QASD,yDAAqB,GAArB,UAAsB,CAAgB;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACpB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,CAAC,CAAC,eAAe,EAAE,CAAC;iBACvB;aACJ;SACJ;QAED,qDAAiB,GAAjB,UAAkB,CAAa;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;iBACI;gBACD,iBAAM,iBAAiB,YAAC,CAAC,CAAC,CAAC;aAC9B;SACJ;QAED,0DAAsB,GAAtB,UAAuB,CAAa;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAED,yDAAqB,GAArB,UAAsB,CAAe,EAAE,IAA2B;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;gBACnC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAEO,sDAAkB,GAAlB,UAAmB,CAAe;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;SAE9C;QAGD,0CAAM,GAAN;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;aAC5C;SACJ;QAED,yCAAK,GAAL;;YACI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO;aACV;YACD,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,wCAAI,GAAJ;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO;aACV;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAEO,yDAAqB,GAArB;YAAA,iBAmDP;YAlDG,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAE3H,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;qBAC5C,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBAC5C,aAAa,CAAC;oBACX;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,QAAQ;qBACpB;oBACD;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,QAAQ;qBACrB;iBACJ,CAAC;qBACD,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpC,gBAAgB,kBAAA;oBAChB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACtD,UAAU,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;oBACvE,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,CAAC,kCAAkC,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAA,CAAC;oBAC9D,IAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;oBACvC,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;oBACvC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;wBAC7B,KAAI,CAAC,KAAK,EAAE,CAAC;qBAChB;iBACJ,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;oBACrD,IAAI,KAAI,CAAC,SAAS,KAAK,IAAI,EAAE;wBACzB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC;qBAC5D;yBAAM;wBACH,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;qBAClE;oBACD,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC;wBAC7C,IAAI,CAAE,CAAC,CAAC,WAAW,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAC;4BAClE,KAAI,CAAC,KAAK,EAAE,CAAC;qBACpB,CAAC,CAAC;iBACN,CAAC,CAAC;aACN;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAIoB,mBAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACzF;SACJ;QAED,sBAAI,6CAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;aACpE;;;WAAA;;KAhML,CAA+C,yBAAyB;gJAA3D,yBAAyB;yHAAzB,yBAAyB,smBAEjB,qBAAqB,8JACxB,qBAAqB,kFCxDvC,2+CAgCc;qHDqBD,yBAAyB;sBATrCV,YAAS;uBAAC;wBACP,QAAQ,EAAE,oBAAoB;wBAC9B,WAAW,EAAE,gCAAgC;wBAC7C,MAAM,iBAAG,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,UAAK,aAAa,EAAC;wBACtE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;wBACzC,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;qBACxC;4QAG2C,eAAe;0BAAtDU,kBAAe;2BAAC,qBAAqB;oBACD,YAAY;0BAAhDC,eAAY;2BAAC,qBAAqB;oBAGnC,WAAW;0BADVR,SAAM;oBASI,KAAK;0BADfD,QAAK;oBAYN,aAAa;0BADZU,YAAS;2BAAC,cAAc;oBAwCzB,YAAY;0BADXV,QAAK;oBAIN,OAAO;0BADNA,QAAK;oBAIN,qBAAqB;0BADpBG,eAAY;2BAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;;QE9GK,0CAA4B;QAwEpE,gCACI,UAAsB,EACd,IAAY,EACpB,GAAsB;YAH1B,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHW,UAAI,GAAJ,IAAI,CAAQ;YAtExB,qBAAe,GAAkC,IAAIhB,eAAY,EAAE,CAAC;YAmBpE,iBAAW,GAAmC,IAAIA,eAAY,EAAE,CAAC;YACzD,YAAM,GAAqB,SAAS,CAAC;YAmB7C,gBAAU,GAAoC,IAAIA,eAAY,EAAE,CAAC;YACzD,WAAK,GAAuB,IAAI,CAAC;YAmBzC,iBAAW,GAAsD,IAAIA,eAAY,EAAuC,CAAC;YAElH,oBAAc,GAA+C,IAAIA,eAAY,EAAgC,CAAC;;SAYpH;QAtED,sBACW,6CAAS;iBADpB;gBAEI,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;iBACD,UAAqB,KAAuB;gBACxC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,IAAI,KAAK,IAAI,QAAQ,EAAE;oBACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC1E;aACJ;;;WATA;QAkBD,sBACI,yCAAK;;;;iBADT;gBAEI,OAAO,IAAI,CAAC,MAAM,CAAC;aACtB;iBACD,UAAU,KAAuB;gBAC7B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,KAAK,IAAI,QAAQ,EAAE;oBACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;iBACtE;aACJ;;;WATA;QAiBD,sBACI,wCAAI;;;;iBADR;gBAEI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBACD,UAAS,KAAwB;gBAC7B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,IAAI,KAAK,IAAI,QAAQ,EAAE;oBACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;iBACrE;aACJ;;;WATA;QA6BD,mDAAkB,GAAlB;YACI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QAGO,4CAAW,GAAX;YAAA,iBAMP;YALG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,OAAO,CAAC,UAAA,CAAC;gBAClC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAA,CAAC;oBACjB,KAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAChC,CAAC,CAAC;aACN,CAAC,CAAC;SACN;QAEO,2CAAU,GAAV;YAAA,iBAOP;YANG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,OAAO,CAAC,UAAA,CAAC;gBAClC,CAAC,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;gBAC3B,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;aACxB,CAAC,CAAC;SACN;QAED,gDAAe,GAAf,UAAgB,OAAO;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QAGD,kDAAiB,GAAjB,UAAkB,CAAe,EAAE,MAAyB;YACxD,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC9B,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;aACtC;iBACI,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAA,CAAC;oBAC1B,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACtB,CAAC,CAAA;gBACF,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC1B;iBACI;gBACD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC3B;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAG,MAAM;aAChB,CAAC,CAAC;SAEN;;KAhIL,CAA4C,4BAA4B;6IAA3D,sBAAsB;sHAAtB,sBAAsB,scAoEd,iBAAiB,kFChFtC,kDACa;qHDWA,sBAAsB;sBARlCU,YAAS;uBAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,WAAW,EAAE,6BAA6B;wBAC1C,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;wBAC3D,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpD;2LAKG,eAAe;0BADdG,SAAM;oBAKI,SAAS;0BADnBD,QAAK;oBAgBN,WAAW;0BADVC,SAAM;oBAOH,KAAK;0BADRD,QAAK;oBAeN,UAAU;0BADTC,SAAM;oBAOH,IAAI;0BADPD,QAAK;oBAeN,WAAW;0BADVC,SAAM;oBAOP,eAAe;0BADdO,kBAAe;2BAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;;QE/Db,8CAAoB;QAEhE,oCACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAAgD,oBAAoB;iJAAvD,0BAA0B;0HAA1B,0BAA0B,0HAZzB,qNAOT;qHAKQ,0BAA0B;sBAdtCX,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,qNAOT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qBAC/B;;;ICXD,IAAMK,WAAS,GAAG,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;IAC3E,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;8IAAa,uBAAuB;+IAAvB,uBAAuB,iBATjB,0BAA0B,EAAE,0BAA0B,aACxDA,eAAY,aADV,0BAA0B,EAAE,0BAA0B;+IAS5D,uBAAuB,aAFrB,EAAE,qCAFAD,SAAO;qHAIX,uBAAuB;sBANnCT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;ICTD,IAAMA,WAAS,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;mIAAa,YAAY;oIAAZ,YAAY,iBATN,eAAe,aACjBA,eAAY,aADV,eAAe;oIASrB,YAAY,aAFV,EAAE,qCAFAD,SAAO;qHAIX,YAAY;sBANxBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;ICFD,IAAMA,WAAS,GAAG;QACd,iBAAiB;QACjB,yBAAyB;QACzB,qBAAqB;QACrB,sBAAsB;KACzB,CAAC;IACF,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAC,YAAY,EAAC,uBAAuB,CAAC,CAAC;;QAQpE;;;;qIAAa,cAAc;sIAAd,cAAc,iBAbvB,iBAAiB;YACjB,yBAAyB;YACzB,qBAAqB;YACrB,sBAAsB,aAETA,eAAY,EAAC,YAAY,EAAC,uBAAuB,aAL9D,iBAAiB;YACjB,yBAAyB;YACzB,qBAAqB;YACrB,sBAAsB;sIAUb,cAAc,aAFZ,EAAE,YAHJ,CAACD,SAAO,CAAC;qHAKT,cAAc;sBAN1BT,WAAQ;uBAAC;wBACN,OAAO,EAAE,CAACS,SAAO,CAAC;wBAClB,OAAO,EAAE,CAACD,WAAS,CAAC;wBACpB,YAAY,EAAE,CAACA,WAAS,CAAC;wBACzB,SAAS,EAAE,EAAE;qBAChB;;;;QCLwC,uCAAe;QAGtD,6BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SAEvB;YAED,eAAS,GAAY,KAAK,CAAC;YAG3B,cAAQ,GAAY,KAAK,CAAC;YAE1B,cAAQ,GAAa,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,eAAS,GAAa,CAAC,IAAI,CAAC,CAAC;YAC7B,gBAAU,GAAa;gBACrB,SAAS;gBACT,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;aACX,CAAC;YAvBA,KAAI,CAAC,WAAW,EAAE,CAAC;;SACpB;QAwBD,6CAAe,GAAf;SAEC;QAED,yCAAW,GAAX;YACE,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;SACF;;KAxCH,CAAyC,eAAe;0IAA3C,mBAAmB;mHAAnB,mBAAmB,mVClBhC,6rHAyEM;qHDvDO,mBAAmB;sBAP/BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,2BAA2B;wBACxC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;wBAChE,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACtC;2JAEoB,IAAI;0BAAtBW,YAAS;2BAAC,MAAM;oBAOjB,SAAS;0BADRV,QAAK;oBAIN,QAAQ;0BADPA,QAAK;;;IErBR,IAAMI,WAAS,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,YAAY,CAAC,CAAC;;QAQtF;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBATV,mBAAmB,aACrBA,eAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,YAAY,aADjE,mBAAmB;wIASzB,gBAAgB,aAFd,EAAE,qCAFAD,SAAO;qHAIX,gBAAgB;sBAN5BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCVD;;;;qIAAsB,cAAc;yIAAd,cAAc;qHAAd,cAAc;sBADnCnB,aAAU;;;ICCX;QACI;SAEC;QAKD,kCAAK,GAAL,UAAM,QAAoB;YAA1B,iBAgBC;YAfG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAChG,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC3E,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;;YAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,UAAA,KAAK;gBACzC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,GAAA,CAAC,CAAC;gBAC3D,KAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAiB,kBAAkB,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBACtC,KAAI,CAAC,OAAO,EAAE,CAAC;aAClB,CAAC,CAAC;SACN;QAEO,gDAAmB,GAAnB,UAAoB,CAAS;YACjC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC/B,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;gBAChC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;gBAClC,QAAQ,UAAA;aACX,CAAC,CAAC;SACN;QAGO,uCAAU,GAAV;YACJ,OAAO;gBACH,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;gBACjC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO;gBACtE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;gBAC7B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG;gBACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAChC,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;gBAClC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC;gBACjF,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;gBAC/B,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,GAAG,KAAK;aACpD,CAAA;SACJ;QAID,iCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,iCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACtC;QAED,iCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,kCAAK,GAAL;YACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACnB;QAED,sCAAS,GAAT,UAAU,KAAa;YACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,qCAAQ,GAAR,UAAS,KAAa;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAI,KAAO,CAAC,CAAC;SAC7B;QAED,oCAAO,GAAP;YACI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACvB;QAED,oCAAO,GAAP;YACI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACvB;;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACzD;iCACJ;KAAA;;;QCtFwC,uCAAoB;QAGzD,6BACI,UAAsB,EACd,IAAY,EACpB,GAAsB,EACd,IAAoB;YAJhC,YAMI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YALW,UAAI,GAAJ,IAAI,CAAQ;YAEZ,UAAI,GAAJ,IAAI,CAAgB;YAOhC,sBAAgB,GAAuB,IAAIE,eAAY,EAAQ,CAAC;YAGzD,oBAAc,GAA8C,IAAIA,eAAY,EAA+B,CAAC;YAG5G,oBAAc,GAAyB,IAAIA,eAAY,EAAU,CAAC;YAEjE,eAAS,GAAW,CAAC,CAAA;YAoB7B,SAAG,GAAW,EAAE,CAAC;YAIV,oBAAc,GAA0B,IAAIA,eAAY,EAAW,CAAC;YAEnE,eAAS,GAAY,KAAK,CAAC;YAe5B,oBAAc,GAAyB,IAAIA,eAAY,EAAU,CAAC;YAEjE,eAAS,GAAW,IAAI,CAAA;YAgBzB,mBAAa,GAAkC,IAAIA,eAAY,EAAmB,CAAC;YAElF,cAAQ,GAAoB,CAAC,CAAA;YAgB9B,oBAAc,GAA0B,IAAIA,eAAY,EAAW,CAAC;YAEnE,eAAS,GAAY,KAAK,CAAC;YAmB5B,oBAAc,GAA0B,IAAIA,eAAY,EAAW,CAAC;YAEnE,eAAS,GAAY,KAAK,CAAC;YAe5B,gBAAU,GAA0B,IAAIA,eAAY,EAAW,CAAC;YAE/D,WAAK,GAAY,KAAK,CAAC;YAmBxB,kBAAY,GAA0B,IAAIA,eAAY,EAAW,CAAC;YAEjE,aAAO,GAAY,KAAK,CAAC;YAuBzB,mBAAa,GAAY,CAAC,CAAC;YAY5B,oBAAc,GAAwD,IAAIA,eAAY,EAAyC,CAAC;YAE/H,YAAM,GAAqB,EAAE,CAAC;;SA3LrC;QAaD,sBACW,yCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAS;gBACzB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAEE,6BAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;wBACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBAC1B;oBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAXA;QAuBD,sBACW,yCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAU;gBAC1B,IAAM,GAAG,GAAGD,8BAAqB,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WARA;QAcD,sBACW,yCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAS;gBACzB,IAAM,GAAG,GAAGC,6BAAoB,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAPA;QAeD,sBACW,wCAAO;iBADlB;gBAEI,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBACD,UAAmB,CAAkB;gBACjC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACpB,IAAI,CAAC,QAAQ,GAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAPA;QAeD,sBACW,yCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAU;gBAC1B,IAAM,GAAG,GAAGD,8BAAqB,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,IAAI,CAAC,SAAS,EAAE;wBAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACxB;oBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAZA;QAkBD,sBACW,yCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAU;gBAC1B,IAAM,GAAG,GAAGA,8BAAqB,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WARA;QAcD,sBACW,qCAAI;iBADf;gBAEI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBACD,UAAgB,CAAU;gBACtB,IAAM,GAAG,GAAGA,8BAAqB,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;oBACnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACxB;oBACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAZA;QAkBD,sBACW,uCAAM;iBADjB;gBAEI,OAAO,IAAI,CAAC,OAAO,CAAC;aACvB;iBACD,UAAkB,CAAU;gBACxB,IAAM,GAAG,GAAGA,8BAAqB,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;oBACrB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;oBACnB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBAC1B;oBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAChC;aACJ;;;WAdA;QAoBD,sBAAW,6CAAY;iBAAvB;gBACI,OAAO,IAAI,CAAC,aAAa,CAAC;aAC7B;iBACD,UAAwB,CAAU;gBAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC1B;;;WAHA;QAYD,sBAAW,sCAAK;iBAAhB;;gBACI,OAAO,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC;aAC5B;iBACD,UAAiB,CAAmB;gBAChC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;oBACnC,QAAQ,UAAA;oBACR,KAAK,EAAE,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAA;aACL;;;WAVA;QAaD,wCAAU,GAAV;YACI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;QAKD,kCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,kCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,kCAAI,GAAJ;YACI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,mCAAK,GAAL;YACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;QAED,uCAAS,GAAT,UAAU,KAAa;YACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,sCAAQ,GAAR,UAAS,KAAa;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC7B;QAGD,sBAAI,qCAAI;iBAAR;gBAEI,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;aACjC;;;WAAA;QAGD,uCAAS,GAAT;YAEI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACvB;;KA9PL,CAAyC,oBAAoB;0IAAhD,mBAAmB;mHAAnB,mBAAmB,koBALlB,CAAC;gBACP,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC,4DCfN,8SAUa;qHDOA,mBAAmB;sBAX/BS,YAAS;uBAAC;wBACP,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,2BAA2B;wBACxC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;wBAC9B,SAAS,EAAC,CAAC;gCACP,OAAO,EAAE,cAAc;gCACvB,QAAQ,EAAE,kBAAkB;6BAC/B,CAAC;qBACL;qNAeG,gBAAgB;0BADfE,SAAM;oBAIA,cAAc;0BADpBA,SAAM;oBAIA,cAAc;0BADpBA,SAAM;oBAKI,QAAQ;0BADlBD,QAAK;oBAmBN,GAAG;0BADFA,QAAK;oBAKC,cAAc;0BADpBC,SAAM;oBAKI,QAAQ;0BADlBD,QAAK;oBAcC,cAAc;0BADpBC,SAAM;oBAKI,QAAQ;0BADlBD,QAAK;oBAeC,aAAa;0BADnBC,SAAM;oBAKI,OAAO;0BADjBD,QAAK;oBAeC,cAAc;0BADpBC,SAAM;oBAKI,QAAQ;0BADlBD,QAAK;oBAkBC,cAAc;0BADpBC,SAAM;oBAKI,QAAQ;0BADlBD,QAAK;oBAcC,UAAU;0BADhBC,SAAM;oBAKI,IAAI;0BADdD,QAAK;oBAkBC,YAAY;0BADlBC,SAAM;oBAKI,MAAM;0BADhBD,QAAK;oBAkCC,cAAc;0BADpBC,SAAM;;;;QEzMkC,2CAAoB;QAE7D,iCACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAA6C,oBAAoB;8IAApD,uBAAuB;uHAAvB,uBAAuB,wIALtB,2BAA2B;qHAK5B,uBAAuB;sBAPnCJ,YAAS;uBAAC;wBACP,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,2BAA2B;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;qBACvC;;;;QCS8C,6CAAoB;QAQ/D,mCACI,UAAsB,EACtB,GAAsB,EAEd,MAA2B;YAJvC,YAMI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHW,YAAM,GAAN,MAAM,CAAqB;YAThC,iBAAW,GAA+B,IAAIZ,eAAY,EAAgB,CAAC;YAG3E,iBAAW,GAA+B,IAAIA,eAAY,EAAgB,CAAC;;SASjF;QAGD,oDAAgB,GAAhB,UAAiB,CAAa;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACtB;QAED,oDAAgB,GAAhB,UAAiB,CAAa;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACtB;;KA1BL,CAA+C,oBAAoB;gJAAtD,yBAAyB;yHAAzB,yBAAyB,iNAZxB,6VAOT;qHAKQ,yBAAyB;sBAdrCU,YAAS;uBAAC;wBACP,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,6VAOT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;qBACxC;;;kCAYQY,WAAQ;;6BARN,WAAW;0BADjBV,SAAM;oBAIA,WAAW;0BADjBA,SAAM;;;;QCRmC,4CAAoB;QAY9D,kCACI,UAAsB,EACd,GAAsB,EACtB,OAA4B;YAHxC,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SAYzB;YAfW,SAAG,GAAH,GAAG,CAAmB;YACtB,aAAO,GAAP,OAAO,CAAqB;YAZxC,mBAAa,GAAW,CAAC,CAAC;YAC1B,gBAAU,GAAW,CAAC,CAAC;YACf,WAAK,GAAW,CAAC,CAAC;YAE1B,WAAK,GAAU,EAAE,CAAC;YAGV,WAAK,GAAmB,EAAE,CAAC;YAQ9B,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,UAAA,CAAC;gBAC/B,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,aAAa,EAAE,CAAC;aACxB,CAAC,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,UAAA,CAAC;gBAC/B,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC7B,KAAI,CAAC,aAAa,EAAE,CAAC;aACxB,CAAC,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,UAAA,CAAC;gBAC/B,KAAI,CAAC,aAAa,EAAE,CAAC;aACxB,CAAC,CAAC;;SACN;QAGD,6CAAU,GAAV;YACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QAGO,gDAAa,GAAb;YACJ,IAAI,CAAC,KAAK,4BAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC;YAClF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC5B;QAGD,+CAAY,GAAZ,UAAa,CAAa,EAAE,KAAa;YACrC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChC;QAEO,gDAAa,GAAb,UAAc,KAAa;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC5B;QAEO,iDAAc,GAAd,UAAe,UAAkB;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC9E;QAED,4CAAS,GAAT;YACI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,CAAC;gBAChB,CAAC,CAAC,WAAW,EAAE,CAAC;aACnB,CAAC,CAAC;SACN;;KAjEL,CAA8C,oBAAoB;+IAArD,wBAAwB;wHAAxB,wBAAwB,0IARvB,iKAGT;qHAKQ,wBAAwB;sBAVpCJ,YAAS;uBAAC;wBACP,QAAQ,EAAE,mBAAmB;wBAC7B,QAAQ,EAAE,iKAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;qBACvC;;;ICLD,IAAMK,WAAS,GAAG,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;IACtH,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBATV,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,wBAAwB,aACnGA,eAAY,aADV,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,wBAAwB;wIASvG,gBAAgB,aAFd,EAAE,qCAFAD,SAAO;qHAIX,gBAAgB;sBAN5BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCNwC,uCAAyB;QAUhE,6BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;;YARD,mBAAa,GAAY,KAAK,CAAC;YAI/B,SAAG,GAAW,iBAAe,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAG,CAAA;;SAI9D;QAGD,oCAAM,GAAN;YACE,iBAAM,MAAM,WAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;SACF;QAGD,iDAAmB,GAAnB,UAAoB,CAAa;YAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;SACF;;KA5BH,CAAyC,yBAAyB;0IAArD,mBAAmB;mHAAnB,mBAAmB,mVCXhC,qtBAca;qHDHA,mBAAmB;sBAR/BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,WAAW,EAAE,2BAA2B;wBACxC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;wBAC7D,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;wBAC/D,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAChD;2JAKC,aAAa;0BADZE,QAAK;;;;QEJR;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBALZ,mBAAmB,aACxBM,eAAY,EAAEM,cAAW,aACzB,mBAAmB;wIAGlB,gBAAgB,aAFhB,EAAE,YAFJ,CAACN,eAAY,EAAEM,cAAW,CAAC;qHAIzB,gBAAgB;sBAN5BhB,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;wBACnC,OAAO,EAAE,CAACU,eAAY,EAAEM,cAAW,CAAC;wBACpC,OAAO,EAAE,CAAC,mBAAmB,CAAC;wBAC9B,SAAS,EAAE,EAAE;qBACd;;;;QCGwC,uCAAyB;QAE9D,6BAAY,UAAsB,EAAE,GAAsB;mBACtD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QASD,sBACW,6CAAY;iBADvB;gBAEI,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC9E;iBACD,UAAwB,CAAmB;gBACvC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC1B;;;WAHA;QASD,sBACW,8CAAa;iBADxB;gBAEI,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC;aACjF;iBACD,UAAyB,CAAmB;gBACxC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aAC3B;;;WAHA;QASD,sBACW,gDAAe;iBAD1B;gBAEI,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC;aACvF;iBACD,UAA2B,CAAmB;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;aAC7B;;;WAHA;QAMD,gDAAkB,GAAlB,UAAmB,CAAa,EAAE,IAAS;YACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,+CAAiB,GAAjB,UAAkB,CAAQ;YACtB,IAAM,IAAI,GAAG,CAAC,CAAC,MAAwB,CAAC;YACxC,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG;gBAC1D,OAAO;aACV;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QAGO,+CAAiB,GAAjB;YACJ,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC3C,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;SACJ;QAED,2CAAa,GAAb;YAAA,iBAKC;YAJG,UAAU,CAAC;gBACP,KAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B,EAAE,GAAG,CAAC,CAAC;SAEX;;KAvEL,CAAyC,yBAAyB;0IAArD,mBAAmB;mHAAnB,mBAAmB,48BCZhC,4pDAkCM;qHDtBO,mBAAmB;sBAT/Bf,YAAS;uBAAC;wBACP,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,2BAA2B;wBACxC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;wBAClF,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;wBAC/D,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE;qBAC/C;2JAQG,UAAU;0BADTW,YAAS;2BAAC,WAAW;oBAItB,oBAAoB;0BADnBG,eAAY;2BAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAKnC,YAAY;0BADtBb,QAAK;oBASN,qBAAqB;0BADpBa,eAAY;2BAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAKpC,aAAa;0BADvBb,QAAK;oBASN,uBAAuB;0BADtBa,eAAY;2BAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAKtC,eAAe;0BADzBb,QAAK;;;IE1CV,IAAMI,WAAS,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAE,cAAc,CAAC,CAAC;;QAQ/C;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBATV,mBAAmB,aACrBA,eAAY,EAAE,cAAc,aAD1B,mBAAmB;wIASzB,gBAAgB,aAFd,EAAE,qCAFAD,SAAO;qHAIX,gBAAgB;sBAN5BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCEwC,uCAAmB;QAYxD,6BACI,WAAuB,EACvB,IAAuB,EACf,QAAiB,EACjB,SAAqB,EACrB,iBAAmC;YAL/C,YAOI,kBAAM,WAAW,EAAE,IAAI,CAAC,SAC3B;YALW,cAAQ,GAAR,QAAQ,CAAS;YACjB,eAAS,GAAT,SAAS,CAAY;YACrB,uBAAiB,GAAjB,iBAAiB,CAAkB;YAR/C,WAAK,GAAmB,EAAE,CAAC;;SAW1B;QAID,wCAAU,GAAV;SAEC;QAED,yCAAW,GAAX;;YACI,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,CAAC;gBAChB,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,EAAE,CAAC;aACpB,CAAC,CAAC;SACN;QAGD,mDAAqB,GAArB,UAAsB,CAAgB;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACpB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,CAAC,CAAC,eAAe,EAAE,CAAC;iBACvB;aACJ;SACJ;QAED,oDAAsB,GAAtB;YACI,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAGD,oCAAM,GAAN;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;aAC5C;SACJ;QAED,mCAAK,GAAL;;YACI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO;aACV;YACD,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,kCAAI,GAAJ;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO;aACV;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAEO,mDAAqB,GAArB;YAAA,iBAmDP;YAlDG,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAE3H,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;qBAC5C,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBAC5C,aAAa,CAAC;oBACX;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,QAAQ;qBACpB;oBACD;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,QAAQ;qBACrB;iBACJ,CAAC;qBACD,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpC,gBAAgB,kBAAA;oBAChB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACtD,UAAU,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;oBACvE,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,CAAC,kCAAkC,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAA,CAAC;oBAC9D,IAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;oBACvC,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;oBACvC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;wBAC7B,KAAI,CAAC,KAAK,EAAE,CAAC;qBAChB;iBACJ,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;oBACrD,IAAI,KAAI,CAAC,SAAS,KAAK,IAAI,EAAE;wBACzB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC;qBAC7D;yBAAM;wBACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;qBAC9B;oBACD,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC;wBAC7C,IAAI,CAAE,CAAC,CAAC,WAAW,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAC;4BAClE,KAAI,CAAC,KAAK,EAAE,CAAC;qBACpB,CAAC,CAAC;iBACN,CAAC,CAAC;aACN;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAIG,mBAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACzF;SACJ;QAED,sBAAI,uCAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;aACpE;;;WAAA;;KAtIL,CAAyC,mBAAmB;0IAA/C,mBAAmB;mHAAnB,mBAAmB,sdCjBhC,u3BAkBM;qHDDO,mBAAmB;sBAT/BV,YAAS;uBAAC;wBACP,QAAQ,EAAE,cAAc;wBACxB,WAAW,EAAE,yBAAyB;wBACtC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;wBACjE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;wBACjC,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;qBACjC;4QAIG,aAAa;0BADZY,YAAS;2BAAC,cAAc;oBAmCzB,qBAAqB;0BADpBP,eAAY;2BAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;;QEtCI,yCAAoB;QAC7D,+BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SAEvB;YACD,cAAQ,GAAa,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,eAAS,GAAa,CAAC,IAAI,CAAC,CAAC;YAC7B,gBAAU,GAAa;gBACrB,SAAS;gBACT,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;aACX,CAAC;YAEF,eAAS,GAAY,IAAI,CAAC;YAC1B,kBAAY,GAAY,KAAK,CAAC;YAC9B,gBAAU,GAAY,KAAK,CAAC;YArB1B,KAAI,CAAC,WAAW,EAAE,CAAC;;SACpB;QAsBD,0CAAU,GAAV;YACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QAED,yCAAS,GAAT;YACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QAED,wCAAQ,GAAR;YACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,2CAAW,GAAX;YACE,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;SACF;;KAlDH,CAA2C,oBAAoB;4IAAlD,qBAAqB;qHAArB,qBAAqB,uFCflC,iZAYe;qHDGF,qBAAqB;sBANjCN,YAAS;uBAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,WAAW,EAAE,6BAA6B;wBAC1C,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACtC;;;QEeY,uBAAuB,GAChC,2BAA2B,CACvB,wBAAwB,EAAE,eAAe,EACxC,EACJ;;QASyC,4CAAuB;QAEjE,kCACI,UAAsB,EACtB,GAAsB,EACd,QAAiB,EACjB,SAAqB,EACrB,iBAAmC,EAEnC,OAA0B;YAPtC,YASI,kBAAM,UAAU,EAAE,GAAG,CAAC,SAKzB;YAXW,cAAQ,GAAR,QAAQ,CAAS;YACjB,eAAS,GAAT,SAAS,CAAY;YACrB,uBAAiB,GAAjB,iBAAiB,CAAkB;YAEnC,aAAO,GAAP,OAAO,CAAmB;YAatC,iBAAW,GAAqC,IAAIZ,eAAY,EAAsB,CAAC;YA4BvF,iBAAW,GAAU,KAAK,CAAC;YAC3B,WAAK,GAAmB,EAAE,CAAC;YAvCvB,IAAI,OAAO,EAAE;gBACT,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACtB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC;aACtE;;SACJ;QAiBD,sBACW,2CAAK;iBADhB;gBAEI,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;aAC5B;iBACD,UAAiB,CAAiB;gBAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aAC5B;;;WAJA;QAiBO,iDAAc,GAAd;YACJ,8CAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAE;SAClF;QAGD,6CAAU,GAAV;YAAA,iBAKC;YAJG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAA,CAAC;gBAC3B,KAAI,CAAC,WAAW,GAAC,IAAI,CAAC;gBACtB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC;aAC5E,CAAC,CAAC;SACN;QAED,4CAAS,GAAT;;YACI,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,CAAC;gBAChB,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,EAAE,CAAC;aACpB,CAAC,CAAC;SACN;QAID,wDAAqB,GAArB,UAAsB,CAAgB;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACpB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,CAAC,CAAC,eAAe,EAAE,CAAC;iBACvB;aACJ;SACJ;QAID,yDAAsB,GAAtB,UAAuB,CAAa;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAED,wDAAqB,GAArB,UAAsB,CAAe,EAAE,IAA2B;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;gBACnC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAEO,qDAAkB,GAAlB,UAAmB,CAAe;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;SAE9C;QAGD,yCAAM,GAAN;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;aAC5C;SACJ;QAED,wCAAK,GAAL;;YACI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO;aACV;YACD,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAC;YAC3B,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,uCAAI,GAAJ;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO;aACV;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAEO,wDAAqB,GAArB;YAAA,iBAqDP;YApDG,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACvH,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;qBAC5C,mBAAmB,CAAC,SAAS,CAAC;qBAC9B,aAAa,CAAC;oBACX;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,QAAQ;qBACpB;oBACD;wBACI,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,QAAQ;qBACrB;iBACJ,CAAC;qBACD,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpC,gBAAgB,kBAAA;oBAChB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;;oBAEtD,UAAU,EAAE,CAAC,oBAAoB,CAAC;oBAClC,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,CAAC,kCAAkC,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAA,CAAC;oBAC9D,IAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;oBACvC,IAAM,OAAO,GAAG,SAAS,CAAC;oBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;wBAC7B,KAAI,CAAC,KAAK,EAAE,CAAC;qBAChB;iBACJ,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;oBACrD,IAAI,KAAI,CAAC,SAAS,KAAK,IAAI,EAAE;wBACzB,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC;qBAC/C;yBAAM;wBACH,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC;qBACrD;oBACD,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC;wBAC7C,IAAI,CAAE,CAAC,CAAC,WAAW,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAC;4BAClE,KAAI,CAAC,KAAK,EAAE,CAAC;qBACpB,CAAC,CAAC;iBACN,CAAC,CAAC;aACN;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAIoB,mBAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACzF;SACJ;QAED,sBAAI,4CAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;aACpE;;;WAAA;;KAhML,CAA8C,uBAAuB;+IAAxD,wBAAwB;wHAAxB,wBAAwB,qPAkBhB,qBAAqB,8JACxB,qBAAqB,kFC7DvC,2rBAcc;qHD4BD,wBAAwB;sBANpCV,YAAS;uBAAC;wBACP,QAAQ,EAAE,mBAAmB;wBAC7B,WAAW,EAAE,iCAAiC;wBAC9C,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;;;kCASQY,WAAQ;;6BAU2B,eAAe;0BAAtDH,kBAAe;2BAAC,qBAAqB;oBACD,YAAY;0BAAhDC,eAAY;2BAAC,qBAAqB;oBAGnC,WAAW;0BADVR,SAAM;oBAKP,MAAM;0BADLD,QAAK;oBASK,KAAK;0BADfA,QAAK;oBAYN,aAAa;0BADZU,YAAS;2BAAC,cAAc;oBA+BzB,qBAAqB;0BADpBP,eAAY;2BAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;;QErGvC;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBAHV,mBAAmB,EAAE,wBAAwB,aAFlDG,eAAY,EAAE,cAAc,EAAEQ,kBAAa,EAAE,YAAY,EAAE,uBAAuB,aAClF,mBAAmB,EAAE,wBAAwB;wIAI9C,gBAAgB,aAFd,EAAE,YAHJ,CAACR,eAAY,EAAE,cAAc,EAAEQ,kBAAa,EAAE,YAAY,EAAE,uBAAuB,CAAC;qHAKpF,gBAAgB;sBAN5BlB,WAAQ;uBAAC;wBACN,OAAO,EAAE,CAACU,eAAY,EAAE,cAAc,EAAEQ,kBAAa,EAAE,YAAY,EAAE,uBAAuB,CAAC;wBAC7F,OAAO,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;wBACxD,YAAY,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;wBAC7D,SAAS,EAAE,EAAE;qBAChB;;;ICRD,IAAMV,WAAS,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC1C,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;;QAQnE;;;;yIAAa,kBAAkB;0IAAlB,kBAAkB,iBATZ,qBAAqB,aACvBA,eAAY,EAAE,gBAAgB,EAAE,gBAAgB,aAD9C,qBAAqB;0IAS3B,kBAAkB,aAFhB,EAAE,qCAFAD,SAAO;qHAIX,kBAAkB;sBAN9BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCHsC,qCAAoB;QAEvD,2BACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;QAMD,kCAAM,GAAN;YACI,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;gBACrB,KAAK,SAAS;oBACV,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC;oBACjC,MAAM;gBACV,KAAK,QAAQ;oBACT,IAAI,CAAC,KAAK,GAAG,0BAA0B,CAAC;oBACxC,MAAM;gBACV,KAAK,SAAS;oBACV,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC;oBAC1C,MAAM;gBACV;oBACI,IAAI,CAAC,KAAK,GAAG,yBAAyB,CAAC;oBACvC,MAAM;aACb;SACJ;QAED,8CAAkB,GAAlB,UAAmB,MAAoB;YACnC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;aACpB;SACJ;;KAlCL,CAAuC,oBAAoB;wIAA9C,iBAAiB;iHAAjB,iBAAiB,mFCX9B,soCAqBM;qHDVO,iBAAiB;sBAN7BP,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,yBAAyB;wBACtC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;;;;QEGC,yBACU,cAAuB,EACvB,cAAwB;YADxB,mBAAc,GAAd,cAAc,CAAS;YACvB,mBAAc,GAAd,cAAc,CAAU;SAC7B;QAEL,+BAAK,GAAL,UAAM,KAAa,EAAE,OAAe,EAAE,IAAkC;YAAxE,iBAsBC;YAtBqC,qBAAA,EAAA,gBAAkC;YACtE,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;gBACzB,IAAM,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC;oBACtB,KAAK,OAAA;oBACL,IAAI,EAAE,IAAI;oBACV,OAAO,SAAA;oBACP,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAEgB,eAAY,CAAC,GAAG,CAAC,aAAa,CAAC;4BACrC,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,KAAK,CAAC,KAAK,EAAE,CAAC;gCACd,IAAI,OAAO,EAAE;oCACX,OAAO,EAAE,CAAC;iCACX;6BACF;yBACF;qBACF;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QAED,iCAAO,GAAP,UAAQ,KAAa,EAAE,OAAe,EAAE,IAAkC;YAA1E,iBAoCC;YApCuC,qBAAA,EAAA,gBAAkC;YACxE,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACjC,IAAM,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC;oBACtB,KAAK,OAAA;oBACL,OAAO,SAAA;oBACP,IAAI,MAAA;oBACJ,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAEA,eAAY,CAAC,GAAG,CAAC,aAAa,CAAC;4BACrC,KAAK,EAAE,IAAI;4BACX,OAAO,EAAE;gCACP,KAAK,CAAC,KAAK,EAAE,CAAC;gCACd,IAAI,OAAO,EAAE;oCACX,OAAO,EAAE,CAAC;iCACX;6BACF;4BACD,cAAc,EAAE,IAAI;4BACpB,cAAc,EAAE,KAAK;yBACtB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAEA,eAAY,CAAC,GAAG,CAAC,eAAe,CAAC;4BACvC,KAAK,EAAE,OAAO;4BACd,OAAO,EAAE;gCACP,KAAK,CAAC,KAAK,EAAE,CAAC;gCACd,IAAI,MAAM,EAAE;oCACV,MAAM,EAAE,CAAC;iCACV;6BACF;4BACD,cAAc,EAAE,KAAK;4BACrB,cAAc,EAAE,IAAI;yBACrB;qBACF;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QAED,8BAAI,GAAJ,UAAK,OAAwB;YAA7B,iBAgBC;YAfC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;;gBACzB,IAAM,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAA,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAC,UAAC,CAAC;oBACzB,IAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC/B,CAAC,CAAC,OAAO,GAAG;wBACV,KAAK,CAAC,KAAK,EAAE,CAAC;wBACd,IAAI,YAAY,EAAE;4BAChB,YAAY,EAAE,CAAC;yBAChB;wBACD,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAC3B;qBACF,CAAC;iBACH,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QAEO,8BAAI,GAAJ,UAAK,OAAwB;YACnC,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc;iBACvC,QAAQ,EAAE;iBACV,MAAM,EAAE;iBACR,kBAAkB,EAAE;iBACpB,gBAAgB,EAAE,CAAC;YACtB,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC5C,gBAAgB,kBAAA;gBAChB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;aACxE,CAAC,CAAC;YACH,IAAM,YAAY,GAAG,IAAIC,oBAAe,CACtC,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC3B,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE;wBACL,UAAU,CAAC,OAAO,EAAE,CAAC;qBACtB;iBACF,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;iBACxC,EAAE,CAAC,CAAC,CAAC;aACP;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;iBACvB;aACF,CAAC;SACH;;;sIAxHU,eAAe;0IAAf,eAAe,cADF,MAAM;qHACnB,eAAe;sBAD3B/B,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;QCGM,sCAAoB;;;;QAOxD,4BACI,UAAsB,EACtB,GAAsB;YAF1B,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAID,mBAAa,GAA0B,IAAIE,eAAY,EAAE,CAAC;YAiB1D,UAAI,GAAW,SAAS,CAAC;;SArBxB;QAQD,sBACW,uCAAO;iBADlB;gBAEI,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBACD,UAAmB,CAAU;gBACzB,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAClB,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACzG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC9B;aACJ;;;WAPA;QAYD,mCAAM,GAAN;YACI,IAAM,OAAO,GAAG8B,WAAQ,CAAC,GAAG,CAAC,oBAAkB,IAAI,CAAC,IAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,IAAID,oBAAe,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B;;KAvCL,CAAwC,oBAAoB;yIAA/C,kBAAkB;kHAAlB,kBAAkB,uNAPjB,oFAET;qHAKQ,kBAAkB;sBAT9BnB,YAAS;uBAAC;wBACP,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,oFAET;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;qBAChC;2JAiBG,aAAa;0BADZE,SAAM;oBAMI,OAAO;0BADjBD,QAAK;oBAaN,IAAI;0BADHA,QAAK;;;;QC/BV;;;;gJAAa,yBAAyB;yHAAzB,yBAAyB,qEAXxB,okBAST;qHAEQ,yBAAyB;sBAbrCH,YAAS;uBAAC;wBACP,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,okBAST;qBACJ;;;ICDC,IAAM,aAAa,GAAG,iBAAiB,CAAC;IAExC;IACA;;QAYE,4BACqB,UAAsB,EACtB,QAAmB,EACnB,iBAAoC,EACpC,gBAAkC,EAClC,wBAAkD;YAJlD,eAAU,GAAV,UAAU,CAAY;YACtB,aAAQ,GAAR,QAAQ,CAAW;YACnB,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,6BAAwB,GAAxB,wBAAwB,CAA0B;YAXvE,cAAS,GAAG,KAAK,CAAC;YAahB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC9C;QAED,wCAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;YAED,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,IAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;gBAEtD,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBACI;oBACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBAC/B;gBAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;aACvC;SACF;QAES,gDAAmB,GAAnB;YACR,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACrE;QAES,mDAAsB,GAAtB;YACR,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SAC/B;QAES,iCAAI,GAAJ;YACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAES,iDAAoB,GAApB;YACR,IAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;YAC1G,IAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;YACxF,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC;SAC/D;QAES,+CAAkB,GAAlB;YACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;SAC5D;;;yIA/DU,kBAAkB;kHAAlB,kBAAkB;qHAAlB,kBAAkB;sBAH9BF,YAAS;uBAAC;wBACT,QAAQ,EAAE,eAAe;qBAC1B;0RAGC,SAAS;0BADRK,QAAK;2BAAC,aAAa;;;ICZxB,IAAMI,WAAS,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;IACtF,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAEQ,kBAAa,EAAEI,iBAAY,CAAC,CAAC;;QAWxD;YACID,WAAQ,CAAC,GAAG,CAAC;gBACT,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,OAAO,EAAE,yBAAyB;qBACrC;iBACJ;aACJ,CAAC,CAAA;SAEL;;;sIAZQ,eAAe;uIAAf,eAAe,iBATT,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,aACnEX,eAAY,EAAEQ,kBAAa,EAAEI,iBAAY,aADvC,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB;uIASvE,eAAe,aAFb,EAAE,qCAFAb,SAAO;qHAIX,eAAe;sBAN3BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;ICSD;QAA6C,2CAAgB;QAA7D;;;QACW,qDAAmB,GAAnB,UAAoB,gBAA6B;YACpD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;SAC7C;;KAHL,CAA6Ce,qBAAgB;8IAAhD,uBAAuB;kJAAvB,uBAAuB,cAFpB,MAAM;qHAET,uBAAuB;sBAHnClC,aAAU;uBAAC;wBACR,UAAU,EAAE,MAAM;qBACrB;;IAYD;QAAoC,kCAAO;QAIvC,wBACI,gBAAuC,EACvC,iBAA0C,EAC1C,yBAAmD,EACnD,gBAAwC,EACxC,mBAA8C,EAC9C,SAAmB,EACnB,OAAe,EACG,SAAc,EAChC,eAA+B,EAC/B,eAAiC,EACjC,SAAmB,EACnB,uBAAsD;YAZ1D,YAcI,kBACI,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,EACT,uBAAuB,CAC1B,SAIJ;YAHG,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,wBAAwB,GAAG,iBAAiB,CAAC;;SACrD;QAEO,4CAAmB,GAAnB,UAAoB,gBAA6B;YACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YACvE,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;SACvE;QAEM,iCAAQ,GAAR,UAAS,gBAA6B,EAAE,MAAsB;YACjE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC3C,OAAO,iBAAM,MAAM,YAAC,MAAM,CAAC,CAAC;SAC/B;;KA5CL,CAAoCmC,YAAO;qIAA9B,cAAc,oEAMA,uBAAuB,6OAMlCC,WAAQ;yIAZX,cAAc,cAFX,MAAM;qHAET,cAAc;sBAH1BpC,aAAU;uBAAC;wBACR,UAAU,EAAE,MAAM;qBACrB;;6EAO0B,uBAAuB;kCAMzCC,SAAM;mCAACmC,WAAQ;;;;ICtBxB;QACI,0BACY,cAA8B,EAC9B,eAAwB,EACxB,MAAsB;YAFtB,mBAAc,GAAd,cAAc,CAAgB;YAC9B,oBAAe,GAAf,eAAe,CAAS;YACxB,WAAM,GAAN,MAAM,CAAgB;SAEjC;QAED,+BAAI,GAAJ,UAAK,OAAY,EAAE,OAAa,EAAE,OAA0B;YACxD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBACpB,WAAW,EAAE,IAAI;gBACjB,mBAAmB,EAAE,IAAI;gBACzB,mBAAmB,EAAE,IAAI;aAC5B,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;;YAElB,IAAM,OAAO,GAAqB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAE7E,IAAI,MAAmB,CAAC;;YAExB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;aAEhC;;iBAEI,IAAI,OAAO,YAAYC,cAAW,EAAE;gBACrC,MAAM,GAAG,IAAIf,mBAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aAC1D;iBACI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;gBACpC,MAAM,GAAG,IAAIS,oBAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAClD;YACD,IAAI,gBAAkC,CAAC;YACvC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE;gBAC3C,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;qBAC5C,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC;qBAC1C,aAAa,CACV,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC1E;qBACA,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;iBACI;gBACD,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;aACtG;YACD,IAAI,cAAc,GAAmB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1G,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;gBAC5B,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;aACjE;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;gBAC5B,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;aACjE;YAED,IAAM,MAAM,GAAG;gBACX,gBAAgB,kBAAA;gBAChB,cAAc,gBAAA;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,mBAAmB,EAAE,IAAI;gBACzB,aAAa,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,mBAAmB,GAAG,kCAAkC,GAAG,SAAS,CAAC;gBAC7I,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,EAAC,iBAAiB,CAAC;aACnH,CAAC;;YAEF,IAAI,UAAU,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjJ,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtC,UAAU,CAAC;oBACP,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;iBAC1C,EAAE,CAAC,CAAC,CAAC;aACT;YACD,IAAI,OAAO,CAAC,mBAAmB,EAAE;gBAC7BO,UAAK,CACD,UAAU,CAAC,aAAa,EAAE,EAC1B,UAAU,CAAC,WAAW,EAAE,CAC3B,CAAC,SAAS,CAAC;oBACR,UAAU,CAAC,OAAO,EAAE,CAAC;oBACrB,UAAU,GAAG,SAAS,CAAC;oBACvB,IAAI,OAAO,CAAC,eAAe,EAAE;wBACzB,OAAO,CAAC,eAAe,EAAE,CAAC;qBAC7B;iBACJ,CAAC,CAAC;aAEN;YACD,OAAO;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE;oBACJ,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;iBACnC;aACJ,CAAC;SACL;;;uIAvFQ,gBAAgB;2IAAhB,gBAAgB,cADH,MAAM;qHACnB,gBAAgB;sBAD5BtC,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;IClBlC,IAAM,iBAAiB,GAAa,UAAU,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;QA6BI,0BAAsB,OAAe,EAAU,cAAgC;YAAzD,YAAO,GAAP,OAAO,CAAQ;YAAU,mBAAc,GAAd,cAAc,CAAkB;;;YALrE,kBAAa,GAAG,IAAI,OAAO,EAA0C,CAAC;;;YAGtE,mBAAc,GAAG,IAAI,OAAO,EAA2D,CAAC;YAI1F,WAAM,GAAkD,EAAE,CAAC;SAFiB;QAIpF,+BAAI,GAAJ,UAAK,QAAkB;YACnB,IAAI,IAAa,CAAC;YAClB,IAAI,QAAQ,EAAE;gBACV,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;aAC/C;YACD,IAAM,gBAAgB,IAAI,IAAI,IAAI,QAAQ,CAAmB,CAAC;YAC9D,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EACvD;gBACI,mBAAmB,EAAE,KAAK;gBAC1B,gBAAgB,kBAAA;gBAChB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,CAAC,oBAAoB,CAAC;gBACrC,MAAM,EAAE,OAAO;aAClB,CAAC,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,IAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAA,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;SACb;QAED,+BAAI,GAAJ,UAAK,EAAE;YACH,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE;gBACH,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;aACtD;SACJ;;;;;;QAQD,oCAAS,GAAT,UAAa,OAAsB,EAAE,OAAuB,EAAE,QAAmB;YAAjF,iBAOC;YANG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAErC,OAAO,OAAO,CAAC,IAAI,CACfuC,mBAAS,CAACC,mBAAc,CAAC,EACzBC,kBAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAA,CAAC,CACrD,CAAC;SACL;;;;;QAMD,oCAAS,GAAT,UAAU,OAAuB,EAAE,QAAmB;;YAClD,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,CAAC,YAAY,EAAE;gBACf,OAAO,KAAK,CAAC;aAChB;iBACI;gBACD,IAAI,QAAQ,KAAK,SAAS,EAAE;oBACxB,OAAO,MAAA,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,mCAAI,KAAK,CAAC;iBAChE;qBACI;oBACD,OAAO,yBAAI,YAAY,CAAC,MAAM,EAAE,GAAE,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,GAAA,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;iBACvE;aACJ;SACJ;;;QAID,qCAAU,GAAV,UAAW,OAAuB,EAAE,QAAmB;YACnD,IAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAClD;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;SAClE;;;QAID,uCAAY,GAAZ,UAAa,OAAuB,EAAE,QAAmB;YACrD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnE;QAED,qCAAU,GAAV,UAAW,OAAuB,EAAE,QAAmB;YACnD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpE;;QAGD,wCAAa,GAAb;YACI,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAA0C,CAAC;YAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA2D,CAAC;SAChG;QAES,0CAAe,GAAf,UAAgB,OAAuB,EAAE,KAAc,EAAE,QAAkB;YACjF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBAC3C,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;oBACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAIC,oBAAe,CAAU,KAAK,CAAC,CAAC,CAAC;iBACvF;qBACI;oBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAoB;wBACvD,CAAC,QAAQ,EAAE,KAAK,CAAC;qBACpB,CAAC,CAAC,CAAC;oBACJ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAqC;wBACzE,CAAC,QAAQ,EAAE,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;qBAClD,CAAC,CAAC,CAAC;iBACP;aACJ;iBACI;;gBAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9D;SACJ;QAES,2CAAgB,GAAhB,UAAiB,OAAuB,EAAE,QAAkB;YAClE,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAChG;QAES,iDAAsB,GAAtB,UAAuB,OAAuB;YACpD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC9E;QAES,gDAAqB,GAArB,UAAsB,OAAuB,EAAE,QAAkB;YACvE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC1G;QAES,sCAAW,GAAX,UAAY,QAAmB;YACrC,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAiB,CAAC;SACxC;;;uIA3IQ,gBAAgB;2IAAhB,gBAAgB,cAFb,MAAM;qHAET,gBAAgB;sBAH5B1C,aAAU;uBAAC;wBACR,UAAU,EAAE,MAAM;qBACrB;;;;QCzB6C,mCAAoB;QAE9D,yBACI,UAAsB,EACtB,GAAsB,EACY,eAAe;YAHrD,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHqC,qBAAe,GAAf,eAAe,CAAA;YAO7C,gBAAU,GAAY,KAAK,CAAC;;SAJnC;QAKD,sBAAW,sCAAS;iBAApB;gBACI,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;iBACD,UAAqB,CAAU;gBAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;oBACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBAC1B;gBACD,IAAI,CAAC,EAAE;oBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;iBACvE;aACJ;;;WAVA;;KAfL,CAA8C,oBAAoB;sIAA5C,eAAe,mGAKrB,gBAAgB;0IALV,eAAe;qHAAf,eAAe;sBADpCA,aAAU;;;kCAMFC,SAAM;mCAAC,gBAAgB;;;;;QCIhC;;;;4IAAa,qBAAqB;qHAArB,qBAAqB,gGAEnBoC,cAAW,yEAZZ,yMAOT;qHAGQ,qBAAqB;sBAZjCzB,YAAS;uBAAC;wBACP,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,yMAOT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;qBAClD;kCAIG,QAAQ;0BADPY,YAAS;2BAACY,cAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;QCT/B,YAAY,GAAG,WAAW;;QAED,oCAAO;QAA7C;;SAEC;+BAAA;KAFD,CAAsC,OAAO,GAE5C;;QACD;YACI,WAAM,GAAY,KAAK,CAAC;SAE3B;4BAAA;KAAA,IAAA;;QAED;SAGC;2BAAA;KAAA,IAAA;IAED;;;;QAGyC,uCAAqB;QAG1D,6BACI,QAC2C;mBAE3C,kBAAM,QAAQ,CAAC;SAClB;QAEM,mCAAK,GAAL;YACH,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;kCACJ;KAfD,CAAyC,OAAqB,GAe7D;;QAGD;YASY,eAAU,GAAY,KAAK,CAAC;YAYpC,aAAQ,GAAmC,IAAInC,eAAY,EAAoB,CAAC;SAenF;QA1BG,sBAAW,0CAAS;iBAApB;gBACI,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;iBACD,UAAqB,CAAU;gBAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;iBACjD;aACJ;;;WANA;QAWD,mCAAK,GAAL,UAAM,IAAU;YACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;SACN;QAED,uCAAS,GAAT,UAAU,CAAgB;SACzB;QAED,yCAAW,GAAX;YACI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC/B;;;0IAlCQ,mBAAmB;8IAAnB,mBAAmB;qHAAnB,mBAAmB;sBAD/BF,aAAU;kCAIC,aAAa;0BADpByB,YAAS;2BAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAI5C,MAAM;0BADLA,YAAS;2BAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCvCtD;;;;mIAAa,YAAY;oIAAZ,YAAY,iBAHN,qBAAqB,aAD1B,qBAAqB;oIAItB,YAAY,aAFV,EAAE,YAHJ,EAAE;qHAKF,YAAY;sBANxBd,WAAQ;uBAAC;wBACN,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,CAAC,qBAAqB,CAAC;wBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;wBACrC,SAAS,EAAE,EAAE;qBAChB;;;ICAD,IAAMQ,WAAS,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAEsB,mBAAc,EAAEC,eAAU,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;;QAQlH;;;;qIAAa,cAAc;sIAAd,cAAc,iBATR,iBAAiB,aACnBvB,eAAY,EAAEsB,mBAAc,EAAEC,eAAU,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,aAD7F,iBAAiB;sIASvB,cAAc,aAFZ,EAAE,qCAFAxB,SAAO;qHAIX,cAAc;sBAN1BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCJsC,qCAAoB;QAEvD,2BACY,UAAsB,EAC9B,GAAsB,EACd,IAAY;YAHxB,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YALW,gBAAU,GAAV,UAAU,CAAY;YAEtB,UAAI,GAAJ,IAAI,CAAQ;YAMxB,eAAS,GAA0B,IAAIjB,eAAY,EAAW,CAAC;YAG/D,UAAI,GAAuB,MAAM,CAAC;YAKlC,cAAQ,GAAoB,OAAO,CAAC;YAI5B,gBAAU,GAAY,KAAK,CAAC;;SAfnC;QAgBD,sBACW,wCAAS;iBADpB;gBAEI,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;iBACD,UAAqB,CAAU;gBAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,EAAE,CAAC;iBACtB;aACJ;;;WAPA;QASD,kCAAM,GAAN;YACI,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,GAAG,iBAAiB,GAAG,eAAe,CAAC,CAAC;YACrG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;SACjC;QAEO,wCAAY,GAAZ;YAAA,iBAqBP;YApBG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACxB,IAAM,GAAG,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;;gBAEnC,KAAI,CAAC,YAAY,IAAI,SAAS,GAAG,KAAI,CAAC,eAAe,EAAE,GAAG,KAAI,CAAC,YAAY,EAAE,CAAC;;gBAE9E,IAAI,KAAI,CAAC,SAAS,EAAE;oBAChB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACpC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAClC,IAAI,KAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAChC,KAAI,CAAC,eAAe,EAAE,CAAC;qBAC1B;iBACJ;qBACI;oBACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACjC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACrC,IAAI,KAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAChC,KAAI,CAAC,YAAY,EAAE,CAAC;qBACvB;iBACJ;aACJ,CAAC,CAAC;SACN;QAED,sCAAU,GAAV;YACI,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,kCAAM,GAAN;YACI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SACpC;QAGD,gDAAoB,GAApB,UAAqB,CAAS;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAGD,uCAAW,GAAX;YAAA,iBAmBC;;YAjBG,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAC3E,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBACzC,UAAU,CAAC;oBACP,KAAI,CAAC,WAAW,EAAE,CAAC;iBACtB,EAAE,CAAC,CAAC,CAAC;gBACN,OAAO;aACV;YACD,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE;gBACnB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;iBACI;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;aACjC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAEO,uCAAW,GAAX;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;aAC7C,CAAC,CAAA;SACL;QAEO,2CAAe,GAAf;YACJ,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAE7D;QAEO,wCAAY,GAAZ;YACJ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC7D,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QAEO,wCAAY,GAAZ;YACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBAClD,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAClF;SACJ;QAEO,2CAAe,GAAf;YACJ,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;SACJ;QAEO,gDAAoB,GAApB,UAAqB,CAAa;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;;KA5IL,CAAuC,oBAAoB;wIAA9C,iBAAiB;iHAAjB,iBAAiB,uSARhB,qDAGT;qHAKQ,iBAAiB;sBAV7BU,YAAS;uBAAC;wBACP,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,qDAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qBAC/B;2LAYG,SAAS;0BADRE,SAAM;oBAIP,IAAI;0BADHD,QAAK;oBAMN,QAAQ;0BADPA,QAAK;oBAOK,SAAS;0BADnBA,QAAK;oBAiDN,oBAAoB;0BADnBG,eAAY;2BAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;;QClEG,8CAAoB;QAEhE,oCACI,UAAsB,EACtB,GAAsB,EACd,IAAY;YAHxB,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHW,UAAI,GAAJ,IAAI,CAAQ;;SAGvB;QAOD,+CAAU,GAAV;YAAA,iBAcC;YAbG,IAAI,CAAC,YAAY,EAAE,CAAC;;YAEpB,UAAU,CAAC;gBACP,KAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;oBAC1D,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;iBAClC,CAAC,CAAC;aACN,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC;gBAClB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAA,CAAC;oBACnB,KAAI,CAAC,YAAY,EAAE,CAAC;iBACvB,CAAC,CAAC;aACN,CAAC,CAAC;SACN;QAEO,iDAAY,GAAZ;YAAA,iBAiBP;YAhBG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACxB,IAAM,SAAS,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAmB,CAAC;gBAC1F,IAAM,WAAW,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;oBAC1D,IAAM,GAAG,GAAG,CAAmB,CAAC;oBAChC,IAAM,KAAK,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;oBAChD,IAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;oBACrC,IAAM,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC;oBACjC,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAA,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;oBACzF,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAK,KAAK,OAAI,CAAC,CAAC;;oBAEpD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAI,CAAC,CAAC;iBACpE,CAAC,CAAC;gBACH,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAK,WAAW,GAAG,CAAC,OAAI,CAAC,CAAC;aAC/E,CAAC,CAAC;SACN;;KAhDL,CAAgD,oBAAoB;iJAAvD,0BAA0B;0HAA1B,0BAA0B,4JAWlB,iBAAiB,+DAxBxB,wPAOT;qHAMQ,0BAA0B;sBAftCN,YAAS;uBAAC;wBACP,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ,EAAE,wPAOT;wBACD,MAAM,EAAE,CAAC,KAAK,CAAC;wBACf,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;qBACzC;2LAaG,OAAO;0BADNS,kBAAe;2BAAC,iBAAiB;;;;QCjBQ,4CAAoB;QAE9D,kCACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAA8C,oBAAoB;+IAArD,wBAAwB;wHAAxB,wBAAwB,0IARvB,qDAGT;qHAKQ,wBAAwB;sBAVpCX,YAAS;uBAAC;wBACP,QAAQ,EAAE,mBAAmB;wBAC7B,QAAQ,EAAE,qDAGT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;qBACvC;;;ICND,IAAMK,WAAS,GAAG,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB,CAAC,CAAC;IAC5F,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;qIAAa,cAAc;sIAAd,cAAc,iBATR,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB,aACzEA,eAAY,aADV,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB;sIAS7E,cAAc,aAFZ,EAAE,qCAFAD,SAAO;qHAIX,cAAc;sBAN1BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCLyC,wCAAoB;QAE1D,8BACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAA0C,oBAAoB;2IAAjD,oBAAoB;oHAApB,oBAAoB,uFAJnB,4DAA4D;qHAI7D,oBAAoB;sBANhCP,YAAS;uBAAC;wBACP,QAAQ,EAAE,eAAe;wBACzB,QAAQ,EAAE,4DAA4D;wBACtE,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAClD;;;;QCCwC,uCAAoB;QAEzD,6BACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAAyC,oBAAoB;0IAAhD,mBAAmB;mHAAnB,mBAAmB,sFAJlB,+EAA+E;qHAIhF,mBAAmB;sBAN/BD,YAAS;uBAAC;wBACP,QAAQ,EAAE,cAAc;wBACxB,QAAQ,EAAE,+EAA+E;wBACzF,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAClD;;;;QCEoC,mCAAoB;QAErD,yBACI,UAAsB,EACd,GAAsB;YAFlC,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHW,SAAG,GAAH,GAAG,CAAmB;;SAGjC;QAGD,yCAAe,GAAf;YACI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;SACxF;QAED,kCAAQ,GAAR;YACI,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;YAEvC,OAAO,IAAI,OAAO,CAAqB,UAAC,OAAO,EAAE,MAAM;gBACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC5C;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAM,OAAA,CAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAA,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAU;oBACjF,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,CAAC,MAAM,GAAA,CAAC,CAAC;oBACnD,IAAI,MAAM,CAAC,MAAM,EAAE;wBACf,MAAM,CAAC;4BACH,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,MAAM;yBAChB,CAAC,CAAC;qBACN;yBACI;wBACD,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC7B;iBACJ,CAAC,CAAC;aACN,CAAC,CAAC;SACN;QAED,+BAAK,GAAL;YACI,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC;gBACZ,CAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aACpC,CAAC,CAAC;SAEN;;KA1CL,CAAqC,oBAAoB;sIAA5C,eAAe;+GAAf,eAAe,iFAJd,sDAAsD;qHAIvD,eAAe;sBAN3BD,YAAS;uBAAC;wBACP,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,sDAAsD;wBAChE,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAClD;;;;QCID;;;;mIAAa,YAAY;oIAAZ,YAAY,iBAHN,oBAAoB,EAAE,eAAe,EAAC,mBAAmB,aAF9DQ,eAAY,aACZ,oBAAoB,EAAE,eAAe,EAAC,mBAAmB;oIAI1D,YAAY,aAFV,EAAE,YAHJ,CAACA,eAAY,CAAC;qHAKd,YAAY;sBANxBV,WAAQ;uBAAC;wBACN,OAAO,EAAE,CAACU,eAAY,CAAC;wBACvB,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAC,mBAAmB,CAAC;wBACpE,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAC,mBAAmB,CAAC;wBACzE,SAAS,EAAE,EAAE;qBAChB;;;;QCVD;YAgCI,kBAAa,GAAY,KAAK,CAAC;YAG/B,oBAAe,GAAY,KAAK,CAAC;SAKpC;QA9BE,sBACW,wCAAM;iBADjB;gBAEI,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;aAC7B;iBACD,UAAkB,CAAU;gBACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aACpB;;;WAHA;QAQD,sBACW,wCAAM;iBADjB;gBAEI,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;aAC7B;iBACD,UAAkB,CAAU;gBACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aACpB;;;WAHA;;;2IAlBS,oBAAoB;oHAApB,oBAAoB,kMAJnB,EAAE;qHAIH,oBAAoB;sBANhCT,YAAS;uBAAC;wBACP,QAAQ,EAAE,eAAe;wBACzB,QAAQ,EAAE,EAAE;wBACZ,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;kCAMa,MAAM;0BADhBC,QAAK;oBAYK,MAAM;0BADhBA,QAAK;oBAWL,aAAa;0BADZA,QAAK;oBAIN,eAAe;0BADdA,QAAK;oBAIN,IAAI;0BADHA,QAAK;;;IClCV,IAAMI,WAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACzC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAEwB,kBAAa,CAAC,OAAO,EAAE,CAAC,CAAC;;QAQxD;;;;wIAAa,iBAAiB;yIAAjB,iBAAiB,iBATX,oBAAoB,aACtBxB,eAAY,4CADV,oBAAoB;yIAS1B,iBAAiB,aAFf,EAAE,qCAFAD,SAAO;qHAIX,iBAAiB;sBAN7BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCJqC,oCAAuB;QAE3D,0BAAY,UAAsB,EAAE,GAAsB;mBACxD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACvB;;KAJH,CAAsC,uBAAuB;uIAAhD,gBAAgB;gHAAhB,gBAAgB,kFCT7B,8EAEQ;qHDOK,gBAAgB;sBAN5BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,wBAAwB;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACtC;;;IEJD,IAAMK,WAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;oIAAa,aAAa;qIAAb,aAAa,iBATP,gBAAgB,aAClBA,eAAY,aADV,gBAAgB;qIAStB,aAAa,aAFX,EAAE,qCAFAD,SAAO;qHAIX,aAAa;sBANzBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;ICMD;;;;;;QA2B0C,wCAAkB;;;;QA0F1D,8BACE,UAAsB,EACd,GAAsB,EACtB,YAAgC;YAH1C,YAKE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;YAJS,SAAG,GAAH,GAAG,CAAmB;YACtB,kBAAY,GAAZ,YAAY,CAAoB;;;;YAlF1C,eAAS,GAAW,GAAG,CAAC;;;;YAMxB,uBAAiB,GAAY,KAAK,CAAC;;;;YAMnC,UAAI,GAAW,CAAC,CAAC;;;;YAMjB,WAAK,GAAW,CAAC,CAAC;;;;YAMlB,iBAAW,GAAW,GAAG,CAAC;;;;YAM1B,qBAAe,GAAY,IAAI,CAAC;YAExB,eAAS,GAAW,MAAM,CAAC,SAAS,CAAC;YAarC,eAAS,GAAW,MAAM,CAAC,SAAS,CAAC;YActC,uBAAiB,GAAyB,IAAIjB,eAAY,EAAU,CAAC;;SA0B3E;QA9FD,sBACI,2CAAS;iBADb;gBAEE,OAAU,IAAI,CAAC,QAAQ,YAAO,IAAI,CAAC,IAAM,CAAC;aAC3C;;;WAAA;QA2CD,sBACW,0CAAQ;;;;iBADnB;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAoB,CAAS;gBAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;aACnD;;;WAHA;QAUD,sBACW,0CAAQ;;;;iBADnB;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAoB,CAAS;gBAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;aACnD;;;WAHA;QAYD,sBACW,6CAAW;;;;iBADtB;gBAEE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAED,UAAuB,CAAS;gBAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChC;;;WALA;QAmBD,oDAAqB,GAArB,UAAsB,CAAgB;YACpC,IAAM,MAAM,GAAG;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB,CAAC;YACF,IAAM,KAAK,GAAG,UAAC,GAAW;gBACxB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC;YACF,IAAM,IAAI,GAAa,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,GAAA,CAAC,CAAC;YAC/B,IAAM,KAAK,GAAa;gBACtB,GAAG;gBACH,GAAG;gBACH,WAAW;gBACX,WAAW;gBACX,SAAS;gBACT,YAAY;gBACZ,WAAW;gBACX,KAAK;gBACL,OAAO;aACR,CAAC;YACF,IAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC3C,IAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;YAClB,IAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC5C,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;;;YAIxC,IAAI,CAAC,uCAAI,IAAI,WAAK,KAAK,GAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtC,MAAM,EAAE,CAAC;aACV;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;gBAChD,IAAM,OAAO,GACX,iBAAiB,GAAG,CAAC,CAAC;sBAClB,cAAc,IAAI,iBAAiB;0BACjC,IAAI,CAAC,WAAW;0BAChB,IAAI,CAAC,IAAI;sBACX,IAAI,CAAC,IAAI,CAAC;gBAChB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;oBACzB,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC;iBAC5B;gBACD,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;aACzD;iBAAM,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,EAAE;gBAC/B,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvB,MAAM,EAAE,CAAC;oBACT,KAAK,CAAC,iBAAiB,CAAC,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;iBACjE;qBAAM;oBACL,IAAM,MAAM,GAAG,KAAK,CAClB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CACnE,CAAC;oBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;oBACpB,MAAM,EAAE,CAAC;oBACT,IAAI,MAAM,IAAI,CAAC,EAAE;wBACf,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC/B;yBAAM;wBACL,KAAK,CAAC,iBAAiB,CAAC,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;qBACjE;iBACF;aACF;iBAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,MAAM,EAAE,CAAC;iBACV;qBAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,EAAE;oBACjC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;oBACtE,MAAM,EAAE,CAAC;iBACV;qBAAM;oBACL,IAAI,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;wBACvC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;wBACtD,MAAM,EAAE,CAAC;qBACV;iBACF;aACF;iBAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE;gBACvB,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,MAAM,EAAE,CAAC;iBACV;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvC,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC9C,MAAM,EAAE,CAAC;iBACV;aACF;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAM,MAAM,GAAG,KAAK,CAClB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CACrE,CAAC;gBACF,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;;;;;;;;;iBAS3B;qBAAM,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;oBACjC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,CAAC;iBACV;qBAAM;oBACL,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;oBACpB,MAAM,EAAE,CAAC;iBACV;aACF;YACD,iBAAM,mBAAmB,YAAC,CAAC,CAAC,CAAC;SAC9B;QAED,+CAAgB,GAAhB,UAAiB,KAAa;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,wCAAS,GAAT,UAAU,KAAa;YACrB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,EAAE;gBACvC,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC9C;iBAAM,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAChC,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBAAM,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAChC,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QAED,sCAAO,GAAP,UAAQ,KAAa;YACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAC9C,IAAM,MAAM,GAAG,eAAa,IAAI,CAAC,KAAO,CAAC;gBACzC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAC9C,IAAM,MAAM,GAAG,eAAa,IAAI,CAAC,KAAO,CAAC;gBACzC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC/D;SACF;QAED,8CAAe,GAAf,UAAgB,QAAa,EAAE,QAAa;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAED,iDAAkB,GAAlB,UAAmB,CAAa;YAC9B,IAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC3B;;KA1PH,CAA0C,kBAAkB;2IAA/C,oBAAoB;oHAApB,oBAAoB,oyBC7CjC,i1BAca;qHD+BA,oBAAoB;sBAtBhCU,YAAS;uBAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,WAAW,EAAE,6BAA6B;wBAC1C,MAAM;4BACJ,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,MAAM;4BACN,OAAO;kCACJ,cAAc,EAClB;wBACD,OAAO;4BACL,aAAa;4BACb,gBAAgB;4BAChB,QAAQ;4BACR,SAAS;kCACN,cAAc,EAClB;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE;qBACrD;yMAIK,SAAS;0BADZG,cAAW;2BAAC,OAAO;oBASpB,SAAS;0BADRF,QAAK;oBAON,iBAAiB;0BADhBA,QAAK;oBAON,IAAI;0BADHA,QAAK;oBAON,KAAK;0BADJA,QAAK;oBAON,WAAW;0BADVA,QAAK;oBAON,eAAe;0BADdA,QAAK;oBASK,QAAQ;0BADlBA,QAAK;oBAcK,QAAQ;0BADlBA,QAAK;oBASC,iBAAiB;0BADvBC,SAAM;oBAQI,WAAW;0BADrBD,QAAK;;;IElHR,IAAMI,WAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACzC,IAAMC,SAAO,GAAG;QACZC,eAAY;QACZM,cAAW;QACX,cAAc;QACdkB,kBAAa,CAAC,QAAQ,EAAE;KAC3B,CAAC;;QAQF;;;;wIAAa,iBAAiB;yIAAjB,iBAAiB,iBAdX,oBAAoB,aAEnCxB,eAAY;YACZM,cAAW;YACX,cAAc,4CAJC,oBAAoB;yIAc1B,iBAAiB,aAFf,EAAE,qCAFAP,SAAO;qHAIX,iBAAiB;sBAN7BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCRC,4BACU,cAAgC,EAChC,IAAY,EACZ,GAAsB;YAFtB,mBAAc,GAAd,cAAc,CAAkB;YAChC,SAAI,GAAJ,IAAI,CAAQ;YACZ,QAAG,GAAH,GAAG,CAAmB;;YAab,aAAQ,GAAiC,QAAQ,CAAC;;YAEjD,cAAS,GAAuC,UAAU,CAAC;;YAEvE,aAAQ,GAAY,KAAK,CAAC;SAfjC;QAgBD,sBACW,uCAAO;iBADlB;gBAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBACD,UAAmB,CAAU;gBAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;oBACvB,IAAI,CAAC,EAAE;wBACL,IAAI,CAAC,YAAY,EAAE,CAAC;qBACrB;yBAAM;wBACL,IAAI,CAAC,YAAY,EAAE,CAAC;qBACrB;oBACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBAC1B;aACF;;;WAXA;;QAaD,mCAAM,GAAN;YACE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9B;QAED,kCAAK,GAAL;YAAA,iBAIC;YAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACZ,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,CAAC,CAAC;SACJ;QAED,iCAAI,GAAJ;YAAA,iBAIC;YAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACZ,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB,CAAC,CAAC;SACJ;QAEO,yCAAY,GAAZ;YAAA,iBAaP;YAZC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO;aACR;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;gBACzD,mBAAmB,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU;gBAClD,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU;gBAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE;oBACf,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;aACF,CAAC,CAAC;SACJ;QAEO,yCAAY,GAAZ;YACN,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aACxB;SACF;QAED,4CAAe,GAAf;YAAA,iBAeC;YAdC,UAAU,CAAC;gBACT,KAAI,CAAC,QAAQ,GAAG,OAAO,KAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAc,KAAI,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC;;gBAEjH,IAAI,KAAI,CAAC,SAAS,KAAK,UAAU,EAAE;oBACjC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;iBACnE;gBACD,IAAI,KAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAI,CAAC,QAAQ,EAAE;oBAC9C,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;iBACnE;;gBAED,IAAI,KAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAI,CAAC,QAAQ,EAAE;oBAC9C,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;iBAC/D;aACF,EAAE,GAAG,CAAC,CAAC;SACT;QAED,wCAAW,GAAX;YACE,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACrE;SACF;QAED,sBAAI,sCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;WAAA;;;yIAtGU,kBAAkB;kHAAlB,kBAAkB,oRCX/B,6IAIc;qHDOD,kBAAkB;sBAN9BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,WAAW,EAAE,0BAA0B;wBACvC,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAChD;mLAYS,QAAQ;0BADfY,YAAS;2BAAC,KAAK;oBAGC,MAAM;0BAAtBV,QAAK;2BAAC,QAAQ;oBAEI,QAAQ;0BAA1BA,QAAK;2BAAC,UAAU;oBAEE,QAAQ;0BAA1BA,QAAK;2BAAC,UAAU;oBAEG,SAAS;0BAA5BA,QAAK;2BAAC,WAAW;oBAIP,OAAO;0BADjBA,QAAK;;;;QEvBR;;;;sIAAa,eAAe;uIAAf,eAAe,iBALX,kBAAkB,aACvBM,eAAY,aACZ,kBAAkB;uIAGjB,eAAe,aAFf,EAAE,YAFJ,CAACA,eAAY,CAAC;qHAIZ,eAAe;sBAN3BV,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;wBAClC,OAAO,EAAE,CAACU,eAAY,CAAC;wBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;wBAC7B,SAAS,EAAE,EAAE;qBACd;;;;QCC2C,0CAAoB;QAE5D,gCACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;;SAEzB;;KARL,CAA4C,oBAAoB;6IAAnD,sBAAsB;sHAAtB,sBAAsB,sICVnC,2FAA+E;qHDUlE,sBAAsB;sBAPlCT,YAAS;uBAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,WAAW,EAAE,+BAA+B;wBAC5C,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;qBACrC;;;IELD,IAAMK,WAAS,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC3C,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;0IAAa,mBAAmB;2IAAnB,mBAAmB,iBATb,sBAAsB,aACxBA,eAAY,aADV,sBAAsB;2IAS5B,mBAAmB,aAFjB,EAAE,qCAFAD,SAAO;qHAIX,mBAAmB;sBAN/BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCEqC,oCAAoB;QAyBtD,0BACI,UAAsB,EACtB,GAAsB,EACd,iBAAmC,EACnC,cAAgC;YAJ5C,YAMI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAJW,uBAAiB,GAAjB,iBAAiB,CAAkB;YACnC,oBAAc,GAAd,cAAc,CAAkB;YA3B5C,eAAS,GAAY,IAAI,CAAC;YAK1B,cAAQ,GAAmC,IAAIjB,eAAY,EAAoB,CAAC;YAEhF,UAAI,GAAgC,IAAI,CAAC;YAGzC,UAAI,GAAQ,EAAE,CAAC;YAGf,qBAAe,GAAY,IAAI,CAAC;YAChC,gBAAU,GAAY,IAAI,CAAC;;SAgB1B;QAED,qCAAU,GAAV;YACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC;;YAE7G,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;;;;;;aAMrC;iBACI,IAAI,IAAI,CAAC,OAAO,YAAYmC,cAAW,EAAE;gBAC1C,IAAI,CAAC,eAAe,GAAG,IAAIf,mBAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aAE5B;iBACI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,IAAIS,oBAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aAC5B;SACJ;QAED,yCAAc,GAAd,UAAe,GAA+B;YAA9C,iBAiBC;YAhBG,GAAG,GAAG,GAAwB,CAAC;YAC/B,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACvB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAmB;wBAChD,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACzB,CAAC,CAAC;iBACN;aACJ;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,aAAa,GAAG,IAAIT,mBAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aACtI;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B;QAID,2CAAgB,GAAhB,UAAiB,KAAoB;YACjC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;aAChB;SACJ;QAED,4CAAiB,GAAjB;YACI,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,sCAAW,GAAX;YACI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C;QAED,gCAAK,GAAL;YAAA,iBAEC;YADG,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,GAAA,CAAC,CAAC;SACpD;QAED,gCAAK,GAAL;YACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS;gBACvC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC7B;QAED,uCAAY,GAAZ,eAAkB;;KAtGtB,CAAsC,oBAAoB;uIAA7C,gBAAgB;gHAAhB,gBAAgB,yJCd7B,6iCAwBM;qHDVO,gBAAgB;sBAN5BV,YAAS;uBAAC;wBACP,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,wBAAwB;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACxC;iOA6EG,gBAAgB;0BADfI,eAAY;2BAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;IElF9C;;;;;;;;;QAeE,wBAAoB,cAAgC;YAAhC,mBAAc,GAAd,cAAc,CAAkB;YAN5C,UAAK,GAA4B,EAAE,CAAC;SAMa;;;;QA0BzD,6BAAI,GAAJ,UAAK,IAAI,EAAE,IAAI;YAAf,iBAgCC;YA/BC,IAAM,OAAO,GAAQ;gBACnB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,KAAK;aACnB,CAAC;YACF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;aACtB;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC9B;YACD,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7I,IAAM,KAAK,GAAG,GAAG,CAAC,QAA4B,CAAC;YAC/C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;aAC3B;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAA,CAAC;gBACxB,KAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAChC,CAAC,CAAC;YACH,IAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,UAAC,OAAO;gBAC9C,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,UAAC,CAAC;oBAC5B,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,CAAC,CAAC,CAAC;qBACZ;iBACF,CAAC;aACH,CAAC,CAAC;YACH,OAAO,CAAC,aAAa,CAAC,GAAG,cAAQ,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC;SAChB;QAGO,mCAAU,GAAV,UAAW,KAAuB,EAAE,GAAqB,EAAE,MAAwB;YAAnF,iBA2BP;;YA1BC,IAAM,SAAS,GAAG,UAAC,CAAC;gBAClB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,KAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC,MAAM,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBAAE,KAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;iBAAE;aAC5D,CAAC;YACF,IAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC5B,IAAM,WAAW,GAAG,MAAA,MAAA,KAAK,CAAC,YAAY,CAAC,0CAAE,SAAS,0CAAE,SAAS,CAAC;YAC9D,IAAI,WAAW,EAAE;gBACf,IAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,GAAG,YAAY,OAAO,EAAE;oBAC1B,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;4BAClC,SAAS,CAAC,MAAM,CAAC,CAAC;yBACnB;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;wBAClC,SAAS,CAAC,MAAM,CAAC,CAAC;qBACnB;iBACF;aACF;iBAAM;gBACL,SAAS,CAAC,MAAM,CAAC,CAAC;aACnB;SACF;;;qIAjGU,cAAc;yIAAd,cAAc;qHAAd,cAAc;sBAD1BlB,aAAU;;;ICHX,IAAMmB,WAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAEsB,mBAAc,EAAEC,eAAU,EAAE,cAAc,EAAEX,iBAAY,CAAC,CAAC;;QAQzF;;;;oIAAa,aAAa;qIAAb,aAAa,iBATP,gBAAgB,aAClBZ,eAAY,EAAEsB,mBAAc,EAAEC,eAAU,EAAE,cAAc,EAAEX,iBAAY,aADpE,gBAAgB;qIAStB,aAAa,aAFX,CAAC,cAAc,CAAC,qCAFdb,SAAO;qHAIX,aAAa;sBANzBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,CAAC,cAAc,CAAC;qBAC9B;;;;QCFyC,wCAA4B;QAWlE,8BACI,UAAsB,EACtB,GAAsB,EACd,IAAY;YAHxB,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAHW,UAAI,GAAJ,IAAI,CAAQ;YALxB,0BAAoB,GAAW,CAAC,CAAC,CAAC;;SAQjC;QAED,mCAAI,GAAJ;YACI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACxB;QACD,oCAAK,GAAL;YACI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACzB;QACD,qCAAM,GAAN;YACI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;QAGD,yCAAU,GAAV;YAAA,iBAIC;YAHG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC7B,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAC7B,CAAC,CAAC;SACN;QAED,sBAAI,wCAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC/B;;;WAAA;QAGD,iDAAkB,GAAlB,UAAmB,CAAa,EAAE,IAAS;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,gDAAiB,GAAjB,UAAkB,CAAQ;YACtB,IAAM,IAAI,GAAG,CAAC,CAAC,MAAwB,CAAC;YACxC,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG;gBAC1D,OAAO;aACV;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QAEO,gDAAiB,GAAjB;YACJ,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;YAC9C,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;SACJ;QAED,4CAAa,GAAb;YAAA,iBAIC;YAHG,UAAU,CAAC;gBACP,KAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B,EAAE,GAAG,CAAC,CAAC;SACX;QAED,uDAAwB,GAAxB,UAAyB,CAAa,EAAE,IAAS;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC,CAAC,eAAe,EAAE,CAAC;SACvB;QAGD,6CAAc,GAAd,UAAe,CAAgB;YAC3B,IAAI,EACA,IAAI,CAAC,eAAe,EAAE,IAAI,QAAQ,CAAC,aAAa;gBAChD,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACvD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CACpE,EAAE;gBACC,OAAO;aACV;YAED,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;aACV;YACD,IAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;iBAC5C,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;qBACrD,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;aACV;iBACI,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBACtI,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,IAAI,EAAE,CAAC;iBACf;qBACI;oBACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,CAAC,OAAO,EAAE;wBACX,IAAI,CAAC,IAAI,EAAE,CAAC;qBACf;yBACI;wBACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC3F;iBACJ;gBACD,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;aACV;iBACI,IAAI,QAAQ,EAAE;gBACf,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;aACV;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;qBAClE;oBACD,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO;iBACV;gBACD,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG;oBAC3C,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACjE,IAAI,WAAW,EAAE;wBACb,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;yBAClC;6BACI;4BACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;4BAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;yBAChB;qBACJ;oBACD,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO;iBACV;aACJ;SACJ;QAGO,8CAAe,GAAf,UAAgB,IAA0B;YAA1C,iBAiBP;YAjBuB,qBAAA,EAAA,WAA0B;YAC9C,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,IAAM,kBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,oBAAoB,GAAG,kBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,IAAI,kBAAgB,CAAC,KAAI,CAAC,UAAU,CAAC,GAAA,CAAC,GAAG,CAAC,CAAC;aAChJ;iBACI;gBACD,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC3E;YACD,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;aACjC;YACD,IAAI,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aAC5D;;YAGD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACrD;QAEO,gDAAiB,GAAjB,UAAkB,KAAa;YAA/B,iBAUP;YATG,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACxB,IAAM,OAAO,GAAG,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAc,8BAA2B,KAAK,GAAG,CAAC,OAAG,CAAC,CAAC;oBACrH,IAAI,OAAO,EAAE;wBACT,OAAO,CAAC,KAAK,EAAE,CAAC;wBAChB,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;qBAChD;iBACJ,CAAC,CAAC;aACN;SACJ;QAEO,iDAAkB,GAAlB;YAAA,iBAIP;YAHG,IAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,KAAI,CAAC,UAAU,CAAC,GAAA,CAAC,GAAG,CAAC,CAAC;YAC7I,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACrD;QAEO,mDAAoB,GAApB,UAAqB,KAAa;YACtC,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,KAAK,GAAG,CAAC,CAAC;aACb;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACrC;;KAlML,CAA0C,4BAA4B;2IAAzD,oBAAoB;oHAApB,oBAAoB,wlBAElB,mBAAmB,iMCjBlC,ghHA2De;qHD5CF,oBAAoB;sBAThCP,YAAS;uBAAC;wBACP,QAAQ,EAAE,eAAe;wBACzB,WAAW,EAAE,0BAA0B;wBACvC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;wBACvI,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;wBACvF,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;qBACrC;2LAIW,QAAQ;0BADfY,YAAS;2BAAC,mBAAmB;oBAItB,aAAa;0BADpBA,YAAS;2BAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAoE5C,cAAc;0BADbP,eAAY;2BAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;;;;QEzEhD;;;;wIAAa,iBAAiB;yIAAjB,iBAAiB,iBAHX,oBAAoB,aAFzBG,eAAY,EAAE,gBAAgB,EAAEM,cAAW,aAC3C,oBAAoB;yIAIrB,iBAAiB,aAFf,EAAE,YAHJ,CAACN,eAAY,EAAE,gBAAgB,EAAEM,cAAW,CAAC;qHAK7C,iBAAiB;sBAN7BhB,WAAQ;uBAAC;wBACN,OAAO,EAAE,CAACU,eAAY,EAAE,gBAAgB,EAAEM,cAAW,CAAC;wBACtD,OAAO,EAAE,CAAC,oBAAoB,CAAC;wBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,SAAS,EAAE,EAAE;qBAChB;;;;QCgB6C,4CAAyB;QACrE,kCAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;YAGD,eAAS,GAAgB,YAAY,CAAC;;SAHrC;QAMD,2DAAwB,GAAxB,UAAyB,IAAS,EAAE,CAAQ;YAC1C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;iBAAM;gBACJ,CAAC,CAAC,MAAc,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC/E;SACF;;KAhBH,CAA8C,yBAAyB;+IAA1D,wBAAwB;wHAAxB,wBAAwB,wcC7BrC,uiEAkCM;qHDLO,wBAAwB;sBAnBpCf,YAAS;uBAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,WAAW,EAAE,iCAAiC;wBAC9C,MAAM,EAAE;4BACN,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,MAAM;4BACN,OAAO;4BACP,YAAY;4BACZ,WAAW;4BACX,UAAU;4BACV,OAAO;4BACP,eAAe;yBAChB;wBACD,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;wBAC/D,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAChD;2JAOC,SAAS;0BADRE,QAAK;;;;QEtBR;;;;4IAAa,qBAAqB;6IAArB,qBAAqB,iBALjB,wBAAwB,aAC7BM,eAAY,EAAEM,cAAW,EAAE,gBAAgB,aAC3C,wBAAwB;6IAGvB,qBAAqB,aAFrB,EAAE,YAFJ,CAACN,eAAY,EAAEM,cAAW,EAAE,gBAAgB,CAAC;qHAI3C,qBAAqB;sBANjChB,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;wBACxC,OAAO,EAAE,CAACU,eAAY,EAAEM,cAAW,EAAE,gBAAgB,CAAC;wBACtD,OAAO,EAAE,CAAC,wBAAwB,CAAC;wBACnC,SAAS,EAAE,EAAE;qBACd;;;;QCDwC,uCAAoB;QAEzD,6BACI,UAAsB,EACtB,GAAsB;mBAEtB,kBAAM,UAAU,EAAE,GAAG,CAAC;SACzB;;KAPL,CAAyC,oBAAoB;0IAAhD,mBAAmB;mHAAnB,mBAAmB,gICVhC,gCAEA;qHDQa,mBAAmB;sBAP/Bf,YAAS;uBAAC;wBACP,QAAQ,EAAE,cAAc;wBACxB,WAAW,EAAE,4BAA4B;wBACzC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAG,EAAE,KAAK,EAAE,cAAc,EAAE;qBACnC;;;IELD,IAAMK,WAAS,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxC,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;uIAAa,gBAAgB;wIAAhB,gBAAgB,iBATV,mBAAmB,aACrBA,eAAY,aADV,mBAAmB;wIASzB,gBAAgB,aAFd,EAAE,qCAFAD,SAAO;qHAIX,gBAAgB;sBAN5BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCAsC,qCAAyB;QAE9D,2BAAY,UAAsB,EAAE,GAAsB;mBACxD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACvB;QAED,8CAAkB,GAAlB,UAAmB,CAAa;YAC9B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;SACF;;KAXH,CAAuC,yBAAyB;wIAAnD,iBAAiB;iHAAjB,iBAAiB,gaCZ9B,6gBAOa;qHDKA,iBAAiB;sBAR7BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,yBAAyB;wBACtC,MAAM,iBAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,UAAK,YAAY,EAAC;wBAC7F,OAAO,iBAAG,QAAQ,EAAE,SAAS,UAAK,YAAY,EAAC;wBAC/C,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;qBAChD;;;;QECD;;;;qIAAa,cAAc;sIAAd,cAAc,iBANR,iBAAiB,aACtBQ,eAAY,EAAEM,cAAW,aACzB,iBAAiB;sIAIlB,cAAc,aAFZ,EAAE,YAHJ,CAACN,eAAY,EAAEM,cAAW,CAAC;qHAK3B,cAAc;sBAP1BhB,WAAQ;uBAAC;wBACN,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,OAAO,EAAE,CAACU,eAAY,EAAEM,cAAW,CAAC;wBACpC,OAAO,EAAE,CAAC,iBAAiB,CAAC;wBAC5B,eAAe,EAAE,CAAC,iBAAiB,CAAC;wBACpC,SAAS,EAAE,EAAE;qBAChB;;;;QCUwC,uCAAuB;QAC9D,6BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;YAmBD,UAAI,GAAsD,SAAS,CAAC;YAGpE,eAAS,GAAY,KAAK,CAAC;YAG3B,cAAQ,GAAY,KAAK,CAAC;YAG1B,wBAAkB,GAAyC,IAAIzB,eAAY,EAA0B,CAAC;;SA5BrG;QAGD,sBACW,sCAAK;iBADhB;gBAEE,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;iBACD,UAAiB,CAAmB;gBAClC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IACE,IAAI,CAAC,MAAM;oBACX,IAAI,CAAC,KAAK,CAAC,MAAM;oBACjB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,GAAA,CAAC,EAClC;oBACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACrC;aACF;;;WAVA;QAwBD,0CAAY,GAAZ,UAAa,GAAmB,EAAE,KAAa;YAC7C,IAAI,GAAG,CAAC,QAAQ,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,CAAC,MAAM,GAAG,KAAK,IAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,GAAG;gBAChB,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;aACpC,CAAC,CAAC;SACJ;;KA7CH,CAAyC,uBAAuB;0IAAnD,mBAAmB;mHAAnB,mBAAmB,mTCrBhC,uvCAsBM;qHDDO,mBAAmB;sBAR/BU,YAAS;uBAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,WAAW,EAAE,4BAA4B;wBACzC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;wBAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;qBAChC;2JAQY,KAAK;0BADfC,QAAK;oBAgBN,IAAI;0BADHA,QAAK;oBAIN,SAAS;0BADRA,QAAK;oBAIN,QAAQ;0BADPA,QAAK;oBAIN,kBAAkB;0BADjBC,SAAM;;;;QEpC2B,kCAAoB;QAoBpD,wBACI,UAAsB,EACtB,GAAsB;YAF1B,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAbD,aAAO,GAAY,IAAI,CAAC;YAExB,cAAQ,GAAY,KAAK,CAAC;YAI1B,aAAO,GAAY,KAAK,CAAA;;SAOvB;QAED,6BAAI,GAAJ;YACI,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;aAC7B;SACJ;QAED,6BAAI,GAAJ;YACI,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACjD;;KArCL,CAAoC,oBAAoB;qIAA3C,cAAc;8GAAd,cAAc,4RAVb,mGAKT;qHAKQ,cAAc;sBAZ1BJ,YAAS;uBAAC;wBACP,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,mGAKT;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;qBACnD;2JAKG,IAAI;0BADHC,QAAK;oBAGN,OAAO;0BADNA,QAAK;oBAGN,OAAO;0BADNA,QAAK;oBAGN,IAAI;0BADHA,QAAK;oBAGN,OAAO;0BADNA,QAAK;oBAGN,QAAQ;0BADPA,QAAK;oBAGN,IAAI;0BADHA,QAAK;;;;QCjB8B,sCAAmB;QAMvD,4BACI,UAAsB,EACtB,GAAsB;YAF1B,YAII,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YARD,WAAK,GAAqB,EAAE,CAAC;;SAQ5B;QAGD,uCAAU,GAAV;YACI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,QAAC;gBACjD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,OAAO;gBACf,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACvB,IAAC,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAE7B;QAGD,oDAAuB,GAAvB,UAAwB,CAAyB;YAC7C,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG;gBACZ,GAAG,CAAC,IAAI,EAAE,CAAC;aACd,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAChC;;KAlCL,CAAwC,mBAAmB;yIAA9C,kBAAkB;kHAAlB,kBAAkB,mJAEV,cAAc,+DCfnC,2SAOM;qHDMO,kBAAkB;sBAR9BH,YAAS;uBAAC;wBACP,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,2BAA2B;wBACxC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,MAAM,EAAE,CAAC,MAAM,CAAC;wBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;qBACjC;2JAGoC,YAAY;0BAA5CS,kBAAe;2BAAC,cAAc;;;;QECW,0CAAO;QAAnD;;SAIC;qCAAA;KAJD,CAA4C,OAAO;;ICVrD,IAAMJ,WAAS,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAC5E,IAAMC,SAAO,GAAG,CAACC,eAAY,CAAC,CAAC;;QAQ/B;;;;mIAAa,YAAY;oIAAZ,YAAY,iBATN,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,aACzDA,eAAY,aADV,kBAAkB,EAAE,mBAAmB,EAAE,cAAc;oIAS7D,YAAY,aAFV,EAAE,qCAFAD,SAAO;qHAIX,YAAY;sBANxBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCCuC,sCAAkB;QA+CtD,4BACI,UAAsB,EACd,GAAsB,EACtB,YAAgC;YAH5C,YAKI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAJW,SAAG,GAAH,GAAG,CAAmB;YACtB,kBAAY,GAAZ,YAAY,CAAoB;YAtB5C,YAAM,GAAW,OAAO,CAAC;YAKlB,uBAAiB,GAAyB,IAAIjB,eAAY,EAAU,CAAC;YACpE,kBAAY,GAAW,EAAE,CAAC;;SAmBjC;QAnDD,sBACI,yCAAS;iBADb;gBAEE,OAAU,IAAI,CAAC,QAAQ,YAAO,IAAI,CAAC,IAAM,CAAC;aAC3C;;;WAAA;QAID,sBACW,wCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAO;gBACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACtB;;;WAHA;QAMD,sBACW,wCAAQ;iBADnB;gBAEI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBACD,UAAoB,CAAO;gBACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACtB;;;WAHA;QAeD,sBACW,2CAAW;iBADtB;gBAEI,OAAO,IAAI,CAAC,YAAY,CAAC;aAC5B;iBAED,UAAuB,CAAS;gBAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAClC;;;WALA;QAgBD,kDAAqB,GAArB,UAAsB,CAAgB;YAClC,IAAM,MAAM,GAAG;gBACX,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACvB,CAAA;YACD,IAAM,MAAM,GAAG,UAAC,GAAW;gBACvB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB,CAAA;YACD,IAAM,IAAI,GAAa,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,GAAA,CAAC,CAAC;YACrE,IAAM,KAAK,GAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9G,IAAM,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC;YAC7C,IAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,IAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC5C,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;;;YAIxC,IAAI,CAAC,uCAAI,IAAI,WAAK,KAAK,GAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACpC,MAAM,EAAE,CAAC;aACZ;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;;;;;;;;gBAQ9C,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;aAC3D;iBACI,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,EAAE;aAE9B;iBACI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;aAE5B;YACD,iBAAM,mBAAmB,YAAC,CAAC,CAAC,CAAC;SAChC;QAED,6CAAgB,GAAhB,UAAiB,KAAW;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,sCAAS,GAAT,UAAU,KAAW;YACjB,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,GAAG;gBACvC,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;aAChD;iBACI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBACI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;YACD,OAAO,KAAK,CAAC;SAChB;QAED,oCAAO,GAAP,UAAQ,KAAW;YACf,OAAO,IAAI4C,aAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpD;QAED,4CAAe,GAAf,UAAgB,QAAa,EAAE,QAAa;YACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC7C;QAED,+CAAkB,GAAlB,UAAmB,CAAa;YAC5B,IAAM,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC7B;;KA/HL,CAAwC,kBAAkB;yIAA7C,kBAAkB;kHAAlB,kBAAkB,opBCf/B,qwBAaa;qHDEA,kBAAkB;sBAT9BlC,YAAS;uBAAC;wBACP,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,2BAA2B;wBACxC,MAAM,iBAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,UAAK,cAAc,EAAC;wBAChF,OAAO,iBAAG,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,UAAK,cAAc,EAAC;wBAClF,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE;qBACrD;yMAIO,SAAS;0BADZG,cAAW;2BAAC,OAAO;oBAQT,QAAQ;0BADlBF,QAAK;oBAUK,QAAQ;0BADlBA,QAAK;oBAUN,MAAM;0BADLA,QAAK;oBAMC,iBAAiB;0BADvBC,SAAM;oBAKI,WAAW;0BADrBD,QAAK;;;IE5CV,IAAMI,WAAS,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,IAAMC,SAAO,GAAG;QACZC,eAAY;QACZM,cAAW;QACX,cAAc;QACdkB,kBAAa,CAAC,QAAQ,EAAE;KAC3B,CAAC;;QAQF;;;;sIAAa,eAAe;uIAAf,eAAe,iBAdT,kBAAkB,aAEjCxB,eAAY;YACZM,cAAW;YACX,cAAc,4CAJC,kBAAkB;uIAcxB,eAAe,aAFb,EAAE,qCAFAP,SAAO;qHAIX,eAAe;sBAN3BT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCRqC,oCAAoB;QAOtD,0BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACI,kBAAM,UAAU,EAAE,GAAG,CAAC,SACzB;YAND,iBAAW,GAAW,GAAG,CAAC;;SAMzB;QAED,iCAAM,GAAN;YAAA,iBAqBC;YApBG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAM,IAAI,CAAC,OAAO,CAAC,IAAM,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACtB,UAAU,CAAC;oBACP,KAAI,CAAC,KAAK,EAAE,CAAC;iBAChB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC5B;YACD,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;gBACrB,KAAK,SAAS;oBACV,IAAI,CAAC,KAAK,GAAG,0BAA0B,CAAC;oBACxC,MAAM;gBACV,KAAK,SAAS;oBACV,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC;oBAC1C,MAAM;gBACV,KAAK,QAAQ;oBACT,IAAI,CAAC,KAAK,GAAG,0BAA0B,CAAC;oBACxC,MAAM;gBACV;oBACI,IAAI,CAAC,KAAK,GAAG,yBAAyB,CAAC;oBACvC,MAAM;aACb;SACJ;QAED,6CAAkB,GAAlB,UAAmB,MAAoB;YACnC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACxB;SACJ;;KAtCL,CAAsC,oBAAoB;uIAA7C,gBAAgB;gHAAhB,gBAAgB,wHCZ7B,6/DAyCU;qHD7BG,gBAAgB;sBAP5BP,YAAS;uBAAC;wBACP,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,wBAAwB;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;qBAC9B;;;IEND,IAAMK,WAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC,IAAMC,SAAO,GAAG,CAACC,eAAY,EAAE,cAAc,CAAC,CAAC;;QAQ/C;;;;oIAAa,aAAa;qIAAb,aAAa,iBATP,gBAAgB,aAClBA,eAAY,EAAE,cAAc,aAD1B,gBAAgB;qIAStB,aAAa,aAFX,EAAE,qCAFAD,SAAO;qHAIX,aAAa;sBANzBT,WAAQ;uBAAC;wBACN,YAAY,2BAAMQ,WAAS,EAAC;wBAC5B,OAAO,2BAAMC,SAAO,EAAC;wBACrB,OAAO,2BAAMD,WAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBAChB;;;;QCFG,wBAAoB,cAAuB,EAAU,cAAwB;YAAzD,mBAAc,GAAd,cAAc,CAAS;YAAU,mBAAc,GAAd,cAAc,CAAU;YAErE,gBAAW,GAAuB,EAAE,CAAC;SAFqC;QAIlF,6BAAI,GAAJ,UAAK,OAAe;YAChB,IAAI,CAAC,IAAI,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;SACN;QAED,gCAAO,GAAP,UAAQ,OAAe;YACnB,IAAI,CAAC,IAAI,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;SACN;QAED,gCAAO,GAAP,UAAQ,OAAe;YACnB,IAAI,CAAC,IAAI,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;SACN;QAED,+BAAM,GAAN,UAAO,OAAe;YAClB,IAAI,CAAC,IAAI,CAAC;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;SACN;QAED,6BAAI,GAAJ,UAAK,OAAuB;YAA5B,iBA8DC;YA7DG,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACrB;gBACI,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,eAAe;aAC5B,EACD,OAAO,CACV,CAAC;YACF,IAAM,OAAO,GAAG,CAAC,CAAC;YAElB,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;YAC5D,QAAQ,GAAG,CAAC,QAAQ;gBAChB,KAAK,eAAe;oBAChB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAA;oBACpE,MAAM;gBACV,KAAK,YAAY;oBACb,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBACtE,MAAM;gBACV,KAAK,cAAc;oBACf,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBACrE,MAAM;gBACV,KAAK,YAAY;oBACb,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAA;oBACjE,MAAM;gBACV,KAAK,SAAS;oBACV,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBACnE,MAAM;gBACV,KAAK,WAAW;oBACZ,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBAClE,MAAM;gBACV;oBACI,MAAM;aACb;YACD,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CACzC;gBACI,gBAAgB,kBAAA;gBAChB,UAAU,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;aAC1E,CAAC,CAAC;YACP,IAAM,WAAW,GAAG,IAAIY,oBAAe,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAErF,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACzB,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE;wBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAA,CAAC,CAAC;wBACpE,UAAU,CAAC,OAAO,EAAE,CAAA;qBACvB;iBACJ,CAAC,CAAC;gBACH,UAAU,CAAC;oBACP,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;iBAC1C,EAAE,CAAC,CAAC,CAAC;aACT;YAED,OAAO;gBACH,KAAK,EAAE;oBACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;iBACzB;aACJ,CAAA;SACJ;QAEO,oCAAW,GAAX,UAAY,QAAgB;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,GAAA,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;YAC/B,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBACpC,OAAO,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC;aACjF;iBACI;gBACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC;aACnH;SACJ;;;qIA/GQ,cAAc;yIAAd,cAAc,cADD,MAAM;qHACnB,cAAc;sBAD1B/B,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;QCmBM,sCAAoB;QAC1D,4BAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;YAED,UAAI,GAAW,MAAM,CAAC;YAEb,cAAQ,GAAG,KAAK,CAAC;;SAJzB;;KAHH,CAAwC,oBAAoB;yIAA/C,kBAAkB;kHAAlB,kBAAkB,4KC3B/B,qMAKM,cDYQ;YACV+C,kBAAO,CAAC,SAAS,EAAE;gBACjBC,qBAAU,CAAC,QAAQ,EAAE;oBACnBC,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrBC,kBAAO,CAAC,EAAE,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBACnC,CAAC;gBACFD,qBAAU,CAAC,QAAQ,EAAE,CAACE,kBAAO,CAAC,EAAE,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC3D,CAAC;SACH;qHAEU,kBAAkB;sBAhB9BrC,YAAS;uBAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,WAAW,EAAE,0BAA0B;wBACvC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;wBAC7B,UAAU,EAAE;4BACViC,kBAAO,CAAC,SAAS,EAAE;gCACjBC,qBAAU,CAAC,QAAQ,EAAE;oCACnBC,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oCACrBC,kBAAO,CAAC,EAAE,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iCACnC,CAAC;gCACFD,qBAAU,CAAC,QAAQ,EAAE,CAACE,kBAAO,CAAC,EAAE,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;6BAC3D,CAAC;yBACH;qBACF;2JAMC,IAAI;0BADHlC,QAAK;oBAGG,QAAQ;0BAAhBA,QAAK;;;;QETN,4BACU,OAAgB,EAChB,sBAA8C,EAC9C,UAAsB;YAFtB,YAAO,GAAP,OAAO,CAAS;YAChB,2BAAsB,GAAtB,sBAAsB,CAAwB;YAC9C,eAAU,GAAV,UAAU,CAAY;YAVZ,SAAI,GAAG,EAAE,CAAC;YACH,aAAQ,GAAG,KAAK,CAAC;SAUxC;QAEJ,qCAAQ,GAAR;YACE,QAAQ,IAAI,CAAC,QAAQ;gBACnB,QAAQ;gBACR,KAAK,KAAK;oBACR,IAAI,CAAC,SAAS,GAAG;wBACf,OAAO,EAAE,QAAQ;wBACjB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,CAAC,CAAC;qBACZ,CAAC;oBACF,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,SAAS,GAAG;wBACf,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,CAAC;qBACX,CAAC;oBACF,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,SAAS,GAAG;wBACf,OAAO,EAAE,QAAQ;wBACjB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,CAAC;qBACX,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,SAAS,GAAG;wBACf,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,CAAC,CAAC;qBACZ,CAAC;oBACF,MAAM;aACT;YACD,IAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;iBACjD,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACpC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,kBAAA,EAAE,CAAC,CAAC;SAC7D;QAGD,iCAAI,GAAJ;YACE,IAAM,UAAU,GAAqC,IAAI,CAAC,UAAU,CAAC,MAAM,CACzE,IAAIgB,oBAAe,CAAC,kBAAkB,CAAC,CACxC,CAAC;YAEF,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrC,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC9C;QAGD,iCAAI,GAAJ;YACE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;SAC1B;;;yIA1EU,kBAAkB;kHAAlB,kBAAkB;qHAAlB,kBAAkB;sBAD9BrB,YAAS;uBAAC,EAAE,QAAQ,EAAE,aAAa,EAAE;qMAEhB,IAAI;0BAAvBK,QAAK;2BAAC,WAAW;oBACS,QAAQ;0BAAlCA,QAAK;2BAAC,kBAAkB;oBA4DzB,IAAI;0BADHG,eAAY;2BAAC,YAAY;oBAW1B,IAAI;0BADHA,eAAY;2BAAC,UAAU;;;IClF1B,IAAM,SAAS,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,IAAM,OAAO,GAAG,CAACG,eAAY,EAAEQ,kBAAa,CAAC,CAAC;;QAQ9C;;;;sIAAa,eAAe;uIAAf,eAAe,iBATT,kBAAkB,EAAE,kBAAkB,aACxCR,eAAY,EAAEQ,kBAAa,aADzB,kBAAkB,EAAE,kBAAkB;uIAS5C,eAAe,aAFf,EAAE,qCAFA,OAAO;qHAIT,eAAe;sBAN3BlB,WAAQ;uBAAC;wBACR,YAAY,2BAAM,SAAS,EAAC;wBAC5B,OAAO,2BAAM,OAAO,EAAC;wBACrB,OAAO,2BAAM,SAAS,EAAC;wBACvB,SAAS,EAAE,EAAE;qBACd;;;ICID;;;;;;QA2BwC,sCAAkB;;;;QAexD,4BAAY,UAAsB,EAAE,GAAsB;mBACxD,kBAAM,UAAU,EAAE,GAAG,CAAC;SACvB;QAVD,sBACI,yCAAS;;iBADb;gBAEE,OAAU,IAAI,CAAC,QAAQ,YAAO,IAAI,CAAC,IAAM,CAAC;aAC3C;;;WAAA;;KAVH,CAAwC,kBAAkB;yIAA7C,kBAAkB;kHAAlB,kBAAkB,gjBACf,oBAAoB,kFC9CpC,qjCAmBa;qHD0BA,kBAAkB;sBAtB9BC,YAAS;uBAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,WAAW,EAAE,wBAAwB;wBACrC,MAAM;4BACJ,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,MAAM;kCACH,cAAc,EAClB;wBACD,OAAO;4BACL,aAAa;4BACb,gBAAgB;4BAChB,QAAQ;4BACR,SAAS;kCACN,cAAc,EAClB;wBACD,aAAa,EAAEE,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE;qBACnD;2JAGC,YAAY;0BADXe,eAAY;2BAAC,oBAAoB;oBAO9B,SAAS;0BADZX,cAAW;2BAAC,OAAO;;;;QE7BtB;;;;sIAAa,eAAe;uIAAf,eAAe,iBAHT,kBAAkB,aAR7BI,eAAY;YACZM,cAAW;YACX,cAAc;YACd,uBAAuB;YACvB,YAAY,4CAGN,kBAAkB;uIAInB,eAAe,aAFb,EAAE,YAVJ;gBACLN,eAAY;gBACZM,cAAW;gBACX,cAAc;gBACd,uBAAuB;gBACvB,YAAY;gBACZkB,kBAAa,CAAC,QAAQ,EAAE;aAC3B;qHAKQ,eAAe;sBAb3BlC,WAAQ;uBAAC;wBACN,OAAO,EAAE;4BACLU,eAAY;4BACZM,cAAW;4BACX,cAAc;4BACd,uBAAuB;4BACvB,YAAY;4BACZkB,kBAAa,CAAC,QAAQ,EAAE;yBAC3B;wBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;wBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;wBAClC,SAAS,EAAE,EAAE;qBAChB;;;IChBD;;QACA;;QAGgB,yBAAO,GAAd,UAAe,IAAY,EAAE,IAAsB;YACxD,IAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;iBACI;gBACH,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC;oBACpC,IAAI,MAAA;oBACJ,IAAI,MAAA;iBACL,CAAC,CAAC;aACJ;SACF;QAEa,qBAAG,GAAV,UAAW,IAAY;YAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CAAC,CAAC;SACvD;;;IAjBc,gCAAc,GAA+C,EAAE,CAAC;;QA2BlC,6CAAoB;QAiBjE,mCAAY,UAAsB,EAAE,GAAsB;YAA1D,YACE,kBAAM,UAAU,EAAE,GAAG,CAAC,SACvB;YAhBD,UAAI,GAA0B,UAAU,CAAC;YAMzC,iBAAW,GAAY,IAAI,CAAC;YAM5B,aAAO,GAAY,IAAI,CAAC;;SAIvB;QAED,0CAAM,GAAN;YACG,IAAI,CAAC,eAAe,EAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrE;QAED,4CAAQ,GAAR,UAAS,KAAU;YACjB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;gBAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;YACD,IAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnH;iBACI;gBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3E;SACF;QAGO,qDAAiB,GAAjB,UAAkB,IAAY,EAAE,KAAW,EAAE,OAAgB,EAAE,SAAe;YAA9E,iBA4CP;YA3CC,OAAO,IAAI,OAAO,CAAyB,UAAA,OAAO;gBAChD,QAAQ,IAAI;oBACV,KAAK,UAAU;wBACb,OAAO,CAAC;4BACN,OAAO,EAAE,KAAI,CAAC,WAAW,IAAI,OAAO,IAAIf,eAAY,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,IAAI;4BAChG,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;yBAC9G,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,OAAO;wBACV,IAAM,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;wBACjC,OAAO,CAAC;4BACN,OAAO,EAAE,KAAI,CAAC,WAAW,IAAI,OAAO,IAAIA,eAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,IAAI;4BAC7F,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;yBACvB,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,QAAQ,CAAC;oBACd,KAAK,UAAU;wBACb,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;4BACnC,IAAM,KAAG,GAAQ,EAAE,CAAC;4BACpB,KAAG,CAAC,OAAO,GAAG,KAAI,CAAC,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;4BAChD,IAAM,GAAG,GAAG,SAAS,CAAC,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;4BAC1C,IAAI,GAAG,YAAY,OAAO,EAAE;gCAC1B,GAAG,CAAC,IAAI,CAAC,UAAA,CAAC;oCACR,KAAG,CAAC,MAAM,GAAG,CAAC,CAAC;iCAChB,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;oCACR,KAAG,CAAC,MAAM,GAAG,KAAK,CAAC;iCACpB,CAAC,CAAC,OAAO,CAAC;oCACT,OAAO,CAAC,KAAG,CAAC,CAAC;iCACd,CAAC,CAAC;6BACJ;iCACI;gCACH,KAAG,CAAC,MAAM,GAAG,GAAG,CAAC;gCACjB,OAAO,CAAC,KAAG,CAAC,CAAC;6BACd;yBACF;6BACI;4BACH,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC3B;wBACD,MAAM;oBACR;wBACE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7B;aACF,CAAC,CAAC;SACJ;;KAnFH,CAA+C,oBAAoB;gJAAtD,yBAAyB;yHAAzB,yBAAyB,0MAJ1B,EAAE;qHAID,yBAAyB;sBANrClB,YAAS;uBAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,EAAE;wBACZ,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;qBACtC;2JAIC,IAAI;0BADHC,QAAK;oBAIN,OAAO;0BADNA,QAAK;oBAIN,WAAW;0BADVA,QAAK;oBAIN,KAAK;0BADJA,QAAK;oBAIN,OAAO;0BADNA,QAAK;;;;QCpCN;YACE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE;gBACjC,OAAO,EAAEe,eAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC;gBACtD,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,uJAAuJ;aAC/J,CAAC,CAAA;YACF,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE;gBACjC,OAAO,EAAEA,eAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC;gBACtD,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,8CAA8C;aACtD,CAAC,CAAA;SACH;;;yIAZU,kBAAkB;0IAAlB,kBAAkB,iBALd,yBAAyB,aAC9BT,eAAY,aACZ,yBAAyB;0IAGxB,kBAAkB,aAFlB,EAAE,YAFJ,CAACA,eAAY,CAAC;qHAIZ,kBAAkB;sBAN9BV,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;wBACzC,OAAO,EAAE,CAACU,eAAY,CAAC;wBACvB,OAAO,EAAE,CAAC,yBAAyB,CAAC;wBACpC,SAAS,EAAE,EAAE;qBACd;;;ICXD;;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}