design-angular-kit 1.0.0-2 → 1.0.0-21

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 (220) hide show
  1. package/README.md +102 -26
  2. package/assets/i18n/en.json +122 -0
  3. package/assets/i18n/it.json +52 -11
  4. package/esm2022/lib/abstracts/abstract-form.component.mjs +186 -0
  5. package/esm2022/lib/abstracts/abstract.component.mjs +45 -0
  6. package/esm2022/lib/components/components.module.mjs +188 -0
  7. package/esm2022/lib/components/core/accordion/accordion.component.mjs +38 -0
  8. package/esm2022/lib/components/core/alert/alert.component.mjs +74 -0
  9. package/esm2022/lib/components/core/badge/badge.directive.mjs +38 -0
  10. package/esm2022/lib/components/core/button/button.directive.mjs +85 -0
  11. package/esm2022/lib/components/core/callout/callout.component.mjs +57 -0
  12. package/esm2022/lib/components/core/card/card.component.mjs +64 -0
  13. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +89 -0
  14. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
  15. package/esm2022/lib/components/core/carousel/carousel.module.mjs +23 -0
  16. package/esm2022/lib/components/core/chip/chip.component.mjs +96 -0
  17. package/esm2022/lib/components/core/collapse/collapse.component.mjs +101 -0
  18. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
  19. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  20. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +59 -0
  21. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +27 -0
  22. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +143 -0
  23. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
  24. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
  25. package/esm2022/lib/components/core/forward/forward.directive.mjs +53 -0
  26. package/esm2022/lib/components/core/link/link.component.mjs +46 -0
  27. package/esm2022/lib/components/core/list/list/list.component.mjs +17 -0
  28. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +40 -0
  29. package/esm2022/lib/components/core/list/list.module.mjs +23 -0
  30. package/esm2022/lib/components/core/modal/modal.component.mjs +192 -0
  31. package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
  32. package/esm2022/lib/components/core/pagination/pagination.component.mjs +133 -0
  33. package/esm2022/lib/components/core/popover/popover.directive.mjs +175 -0
  34. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +35 -0
  35. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +27 -0
  36. package/esm2022/lib/components/core/spinner/spinner.component.mjs +36 -0
  37. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +138 -0
  38. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +19 -0
  39. package/esm2022/lib/components/core/steppers/steppers.module.mjs +23 -0
  40. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +60 -0
  41. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
  42. package/esm2022/lib/components/core/tab/tab.module.mjs +23 -0
  43. package/esm2022/lib/components/core/table/table.component.mjs +57 -0
  44. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +142 -0
  45. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +49 -0
  46. package/esm2022/lib/components/form/form.module.mjs +55 -0
  47. package/esm2022/lib/components/form/input/input.component.mjs +239 -0
  48. package/esm2022/lib/components/form/password-input/password-input.component.mjs +155 -0
  49. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +69 -0
  50. package/esm2022/lib/components/form/range/range.component.mjs +64 -0
  51. package/esm2022/lib/components/form/rating/rating.component.mjs +51 -0
  52. package/esm2022/lib/components/form/select/select.component.mjs +70 -0
  53. package/esm2022/lib/components/form/textarea/textarea.component.mjs +47 -0
  54. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +140 -0
  55. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +112 -0
  56. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +71 -0
  57. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +64 -0
  58. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +57 -0
  59. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
  60. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
  61. package/esm2022/lib/components/navigation/header/header.component.mjs +58 -0
  62. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +81 -0
  63. package/esm2022/lib/components/utils/icon/icon.component.mjs +55 -0
  64. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +47 -0
  65. package/esm2022/lib/design-angular-kit-config.mjs +15 -0
  66. package/esm2022/lib/design-angular-kit.module.mjs +68 -0
  67. package/esm2022/lib/interfaces/core.mjs +16 -0
  68. package/esm2022/lib/interfaces/design-angular-kit-init.mjs +2 -0
  69. package/esm2022/lib/interfaces/form.mjs +2 -0
  70. package/esm2022/lib/interfaces/icon.mjs +165 -0
  71. package/esm2022/lib/interfaces/utils.mjs +2 -0
  72. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +37 -0
  73. package/esm2022/lib/services/notification/notification.service.mjs +120 -0
  74. package/esm2022/lib/utils/file-utils.mjs +73 -0
  75. package/esm2022/lib/utils/regex.mjs +31 -0
  76. package/esm2022/lib/validators/it-validators.mjs +153 -0
  77. package/esm2022/public_api.mjs +85 -0
  78. package/fesm2022/design-angular-kit.mjs +4649 -0
  79. package/fesm2022/design-angular-kit.mjs.map +1 -0
  80. package/lib/abstracts/{abstract-form-component.d.ts → abstract-form.component.d.ts} +12 -10
  81. package/lib/abstracts/abstract.component.d.ts +24 -8
  82. package/lib/components/components.module.d.ts +40 -0
  83. package/lib/components/core/accordion/accordion.component.d.ts +11 -9
  84. package/lib/components/core/alert/alert.component.d.ts +32 -5
  85. package/lib/components/core/badge/badge.directive.d.ts +12 -6
  86. package/lib/components/core/button/button.directive.d.ts +24 -17
  87. package/lib/components/core/callout/callout.component.d.ts +26 -17
  88. package/lib/components/core/card/card.component.d.ts +23 -13
  89. package/lib/components/core/carousel/carousel/carousel.component.d.ts +34 -15
  90. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +8 -3
  91. package/lib/components/core/carousel/carousel.module.d.ts +8 -0
  92. package/lib/components/core/chip/chip.component.d.ts +8 -5
  93. package/lib/components/core/collapse/collapse.component.d.ts +16 -15
  94. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +3 -3
  95. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +3 -3
  96. package/lib/components/core/dimmer/dimmer.component.d.ts +4 -4
  97. package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
  98. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +53 -10
  99. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +8 -13
  100. package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
  101. package/lib/components/core/forward/forward.directive.d.ts +3 -3
  102. package/lib/components/core/link/link.component.d.ts +9 -10
  103. package/lib/components/core/list/list/list.component.d.ts +6 -5
  104. package/lib/components/core/list/list-item/list-item.component.d.ts +12 -8
  105. package/lib/components/core/list/list.module.d.ts +8 -0
  106. package/lib/components/core/modal/modal.component.d.ts +83 -14
  107. package/lib/components/core/notifications/notifications.component.d.ts +25 -11
  108. package/lib/components/core/pagination/pagination.component.d.ts +71 -10
  109. package/lib/components/core/popover/popover.directive.d.ts +15 -14
  110. package/lib/components/core/progress-bar/progress-bar.component.d.ts +6 -6
  111. package/lib/components/core/progress-button/progress-button.component.d.ts +5 -5
  112. package/lib/components/core/spinner/spinner.component.d.ts +6 -6
  113. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +128 -0
  114. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +20 -0
  115. package/lib/components/core/steppers/steppers.module.d.ts +8 -0
  116. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +14 -12
  117. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +11 -11
  118. package/lib/components/core/tab/tab.module.d.ts +8 -0
  119. package/lib/components/core/table/table.component.d.ts +14 -14
  120. package/lib/components/core/tooltip/tooltip.directive.d.ts +12 -11
  121. package/lib/components/form/checkbox/checkbox.component.d.ts +13 -10
  122. package/lib/components/form/form.module.d.ts +16 -0
  123. package/lib/components/form/input/input.component.d.ts +59 -13
  124. package/lib/components/form/password-input/password-input.component.d.ts +33 -8
  125. package/lib/components/form/radio-button/radio-button.component.d.ts +7 -6
  126. package/lib/components/form/range/range.component.d.ts +42 -0
  127. package/lib/components/form/rating/rating.component.d.ts +24 -0
  128. package/lib/components/form/select/select.component.d.ts +12 -6
  129. package/lib/components/form/textarea/textarea.component.d.ts +5 -5
  130. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +8 -7
  131. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +11 -9
  132. package/lib/components/navigation/back-button/back-button.component.d.ts +4 -4
  133. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +28 -13
  134. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +11 -9
  135. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +6 -6
  136. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  137. package/lib/components/navigation/header/header.component.d.ts +9 -13
  138. package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
  139. package/lib/components/utils/icon/icon.component.d.ts +14 -16
  140. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
  141. package/lib/design-angular-kit-config.d.ts +16 -0
  142. package/lib/design-angular-kit.module.d.ts +9 -4
  143. package/lib/interfaces/core.d.ts +40 -16
  144. package/lib/interfaces/design-angular-kit-init.d.ts +7 -0
  145. package/lib/interfaces/form.d.ts +32 -8
  146. package/lib/interfaces/icon.d.ts +4 -3
  147. package/lib/interfaces/utils.d.ts +10 -0
  148. package/lib/pipes/mark-matching-text.pipe.d.ts +10 -0
  149. package/lib/services/{notifications/notifications.service.d.ts → notification/notification.service.d.ts} +20 -20
  150. package/lib/utils/boolean-input.d.ts +1 -1
  151. package/lib/utils/file-utils.d.ts +5 -0
  152. package/lib/utils/regex.d.ts +5 -0
  153. package/lib/validators/it-validators.d.ts +16 -9
  154. package/package.json +13 -17
  155. package/public_api.d.ts +21 -4
  156. package/esm2020/lib/abstracts/abstract-form-component.mjs +0 -165
  157. package/esm2020/lib/abstracts/abstract.component.mjs +0 -20
  158. package/esm2020/lib/components/core/accordion/accordion.component.mjs +0 -20
  159. package/esm2020/lib/components/core/alert/alert.component.mjs +0 -29
  160. package/esm2020/lib/components/core/badge/badge.directive.mjs +0 -34
  161. package/esm2020/lib/components/core/button/button.directive.mjs +0 -78
  162. package/esm2020/lib/components/core/callout/callout.component.mjs +0 -59
  163. package/esm2020/lib/components/core/card/card.component.mjs +0 -58
  164. package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +0 -66
  165. package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -14
  166. package/esm2020/lib/components/core/chip/chip.component.mjs +0 -89
  167. package/esm2020/lib/components/core/collapse/collapse.component.mjs +0 -96
  168. package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -24
  169. package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
  170. package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +0 -59
  171. package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -60
  172. package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -71
  173. package/esm2020/lib/components/core/forward/forward.directive.mjs +0 -51
  174. package/esm2020/lib/components/core/link/link.component.mjs +0 -39
  175. package/esm2020/lib/components/core/list/list/list.component.mjs +0 -13
  176. package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +0 -36
  177. package/esm2020/lib/components/core/modal/modal.component.mjs +0 -98
  178. package/esm2020/lib/components/core/notifications/notifications.component.mjs +0 -66
  179. package/esm2020/lib/components/core/pagination/pagination.component.mjs +0 -51
  180. package/esm2020/lib/components/core/popover/popover.directive.mjs +0 -176
  181. package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
  182. package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +0 -27
  183. package/esm2020/lib/components/core/spinner/spinner.component.mjs +0 -35
  184. package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -33
  185. package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -36
  186. package/esm2020/lib/components/core/table/table.component.mjs +0 -57
  187. package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +0 -140
  188. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -40
  189. package/esm2020/lib/components/form/input/input.component.mjs +0 -159
  190. package/esm2020/lib/components/form/password-input/password-input.component.mjs +0 -112
  191. package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +0 -53
  192. package/esm2020/lib/components/form/select/select.component.mjs +0 -62
  193. package/esm2020/lib/components/form/textarea/textarea.component.mjs +0 -46
  194. package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -134
  195. package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -99
  196. package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +0 -69
  197. package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -39
  198. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -45
  199. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -23
  200. package/esm2020/lib/components/navigation/header/header.component.mjs +0 -61
  201. package/esm2020/lib/components/utils/icon/icon.component.mjs +0 -54
  202. package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +0 -13
  203. package/esm2020/lib/design-angular-kit.module.mjs +0 -42
  204. package/esm2020/lib/interfaces/core.mjs +0 -16
  205. package/esm2020/lib/interfaces/form.mjs +0 -2
  206. package/esm2020/lib/interfaces/icon.mjs +0 -2
  207. package/esm2020/lib/modules/components.module.mjs +0 -241
  208. package/esm2020/lib/services/notifications/notifications.service.mjs +0 -122
  209. package/esm2020/lib/utils/file-utils.mjs +0 -65
  210. package/esm2020/lib/utils/regex.mjs +0 -26
  211. package/esm2020/lib/validators/it-validators.mjs +0 -131
  212. package/esm2020/public_api.mjs +0 -64
  213. package/fesm2015/design-angular-kit.mjs +0 -3271
  214. package/fesm2015/design-angular-kit.mjs.map +0 -1
  215. package/fesm2020/design-angular-kit.mjs +0 -3231
  216. package/fesm2020/design-angular-kit.mjs.map +0 -1
  217. package/lib/components/utils/not-found-page/not-found-page.component.d.ts +0 -5
  218. package/lib/modules/components.module.d.ts +0 -57
  219. /package/{esm2020 → esm2022}/design-angular-kit.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/utils/boolean-input.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-angular-kit.mjs","sources":["../../../projects/design-angular-kit/src/lib/abstracts/abstract.component.ts","../../../projects/design-angular-kit/src/lib/utils/boolean-input.ts","../../../projects/design-angular-kit/src/lib/abstracts/abstract-form-component.ts","../../../projects/design-angular-kit/src/lib/components/core/accordion/accordion.component.ts","../../../projects/design-angular-kit/src/lib/components/core/accordion/accordion.component.html","../../../projects/design-angular-kit/src/lib/components/utils/icon/icon.component.ts","../../../projects/design-angular-kit/src/lib/components/utils/icon/icon.component.html","../../../projects/design-angular-kit/src/lib/components/core/alert/alert.component.ts","../../../projects/design-angular-kit/src/lib/components/core/alert/alert.component.html","../../../projects/design-angular-kit/src/lib/components/core/badge/badge.directive.ts","../../../projects/design-angular-kit/src/lib/components/core/progress-bar/progress-bar.component.ts","../../../projects/design-angular-kit/src/lib/components/core/progress-bar/progress-bar.component.html","../../../projects/design-angular-kit/src/lib/components/core/button/button.directive.ts","../../../projects/design-angular-kit/src/lib/components/core/callout/callout.component.ts","../../../projects/design-angular-kit/src/lib/components/core/callout/callout.component.html","../../../projects/design-angular-kit/src/lib/components/core/card/card.component.ts","../../../projects/design-angular-kit/src/lib/components/core/card/card.component.html","../../../projects/design-angular-kit/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts","../../../projects/design-angular-kit/src/lib/components/core/carousel/carousel-item/carousel-item.component.html","../../../projects/design-angular-kit/src/lib/components/core/carousel/carousel/carousel.component.ts","../../../projects/design-angular-kit/src/lib/components/core/carousel/carousel/carousel.component.html","../../../projects/design-angular-kit/src/lib/components/core/collapse/collapse.component.ts","../../../projects/design-angular-kit/src/lib/components/core/collapse/collapse.component.html","../../../projects/design-angular-kit/src/lib/components/core/link/link.component.ts","../../../projects/design-angular-kit/src/lib/components/core/link/link.component.html","../../../projects/design-angular-kit/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts","../../../projects/design-angular-kit/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html","../../../projects/design-angular-kit/src/lib/components/core/dropdown/dropdown/dropdown.component.ts","../../../projects/design-angular-kit/src/lib/components/core/dropdown/dropdown/dropdown.component.html","../../../projects/design-angular-kit/src/lib/components/core/list/list/list.component.ts","../../../projects/design-angular-kit/src/lib/components/core/list/list/list.component.html","../../../projects/design-angular-kit/src/lib/components/core/list/list-item/list-item.component.ts","../../../projects/design-angular-kit/src/lib/components/core/list/list-item/list-item.component.html","../../../projects/design-angular-kit/src/lib/components/core/modal/modal.component.ts","../../../projects/design-angular-kit/src/lib/components/core/modal/modal.component.html","../../../projects/design-angular-kit/src/lib/interfaces/core.ts","../../../projects/design-angular-kit/src/lib/services/notifications/notifications.service.ts","../../../projects/design-angular-kit/src/lib/components/core/notifications/notifications.component.ts","../../../projects/design-angular-kit/src/lib/components/core/notifications/notifications.component.html","../../../projects/design-angular-kit/src/lib/components/core/pagination/pagination.component.ts","../../../projects/design-angular-kit/src/lib/components/core/pagination/pagination.component.html","../../../projects/design-angular-kit/src/lib/components/core/popover/popover.directive.ts","../../../projects/design-angular-kit/src/lib/components/core/progress-button/progress-button.component.ts","../../../projects/design-angular-kit/src/lib/components/core/progress-button/progress-button.component.html","../../../projects/design-angular-kit/src/lib/components/core/spinner/spinner.component.ts","../../../projects/design-angular-kit/src/lib/components/core/spinner/spinner.component.html","../../../projects/design-angular-kit/src/lib/components/core/tab/tab-item/tab-item.component.ts","../../../projects/design-angular-kit/src/lib/components/core/tab/tab-item/tab-item.component.html","../../../projects/design-angular-kit/src/lib/components/core/tab/tab-container/tab-container.component.ts","../../../projects/design-angular-kit/src/lib/components/core/tab/tab-container/tab-container.component.html","../../../projects/design-angular-kit/src/lib/components/core/table/table.component.ts","../../../projects/design-angular-kit/src/lib/components/core/table/table.component.html","../../../projects/design-angular-kit/src/lib/components/core/tooltip/tooltip.directive.ts","../../../projects/design-angular-kit/src/lib/components/form/checkbox/checkbox.component.ts","../../../projects/design-angular-kit/src/lib/components/form/checkbox/checkbox.component.html","../../../projects/design-angular-kit/src/lib/utils/regex.ts","../../../projects/design-angular-kit/src/lib/validators/it-validators.ts","../../../projects/design-angular-kit/src/lib/components/form/input/input.component.ts","../../../projects/design-angular-kit/src/lib/components/form/input/input.component.html","../../../projects/design-angular-kit/src/lib/components/form/password-input/password-input.component.ts","../../../projects/design-angular-kit/src/lib/components/form/password-input/password-input.component.html","../../../projects/design-angular-kit/src/lib/components/form/radio-button/radio-button.component.ts","../../../projects/design-angular-kit/src/lib/components/form/radio-button/radio-button.component.html","../../../projects/design-angular-kit/src/lib/components/form/select/select.component.ts","../../../projects/design-angular-kit/src/lib/components/form/select/select.component.html","../../../projects/design-angular-kit/src/lib/components/form/textarea/textarea.component.ts","../../../projects/design-angular-kit/src/lib/components/form/textarea/textarea.component.html","../../../projects/design-angular-kit/src/lib/utils/file-utils.ts","../../../projects/design-angular-kit/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts","../../../projects/design-angular-kit/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html","../../../projects/design-angular-kit/src/lib/components/form/upload-file-list/upload-file-list.component.ts","../../../projects/design-angular-kit/src/lib/components/form/upload-file-list/upload-file-list.component.html","../../../projects/design-angular-kit/src/lib/components/navigation/back-button/back-button.component.ts","../../../projects/design-angular-kit/src/lib/components/navigation/back-button/back-button.component.html","../../../projects/design-angular-kit/src/lib/components/navigation/back-to-top/back-to-top.component.ts","../../../projects/design-angular-kit/src/lib/components/navigation/back-to-top/back-to-top.component.html","../../../projects/design-angular-kit/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/design-angular-kit/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html","../../../projects/design-angular-kit/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts","../../../projects/design-angular-kit/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html","../../../projects/design-angular-kit/src/lib/components/navigation/header/header.component.ts","../../../projects/design-angular-kit/src/lib/components/navigation/header/header.component.html","../../../projects/design-angular-kit/src/lib/components/utils/not-found-page/not-found-page.component.ts","../../../projects/design-angular-kit/src/lib/components/utils/not-found-page/not-found-page.component.html","../../../projects/design-angular-kit/src/lib/components/core/chip/chip.component.ts","../../../projects/design-angular-kit/src/lib/components/core/chip/chip.component.html","../../../projects/design-angular-kit/src/lib/components/core/forward/forward.directive.ts","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer.component.ts","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer.component.html","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts","../../../projects/design-angular-kit/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html","../../../projects/design-angular-kit/src/lib/modules/components.module.ts","../../../projects/design-angular-kit/src/lib/design-angular-kit.module.ts","../../../projects/design-angular-kit/src/public_api.ts","../../../projects/design-angular-kit/src/design-angular-kit.ts"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, Renderer2} from \"@angular/core\";\n\n@Component({template: ''})\nexport class AbstractComponent implements AfterViewInit {\n\n /**\n * The element ID\n */\n @Input() id?: string;\n\n constructor(\n protected readonly _renderer: Renderer2,\n protected readonly _elementRef: ElementRef\n ) {\n }\n\n ngAfterViewInit(): void {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'id');\n }\n\n}\n","export type BooleanInput = boolean | 'true' | 'false'\n\n/**\n * Check if boolean input has true value and not is `undefined`\n * @param booleanInput the boolean input\n */\nexport function isTrueBooleanInput(booleanInput?: BooleanInput): boolean {\n return booleanInput !== undefined && (booleanInput === true || booleanInput === 'true');\n}\n\n/**\n * Check if boolean input has false value or is `undefined`\n * @param booleanInput the boolean input\n */\nexport function isFalseBooleanInput(booleanInput?: BooleanInput): boolean {\n return booleanInput === undefined || booleanInput === false || booleanInput === 'false'\n}\n","import { ControlValueAccessor, FormControl, NgControl, ValidatorFn } from '@angular/forms';\nimport { Component, DoCheck, ElementRef, Input, OnInit, Optional, Renderer2, Self } from '@angular/core';\nimport { AbstractComponent } from './abstract.component';\nimport { BooleanInput, isFalseBooleanInput } from '../utils/boolean-input';\nimport { Observable } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({ template: '' })\nexport class AbstractFormComponent<T = any> extends AbstractComponent implements OnInit, ControlValueAccessor, DoCheck {\n\n /**\n * The label of form control\n */\n @Input() label?: string;\n\n /**\n * Validation color display mode (validation triggered if field is touched or not pristine)\n * - <b>true</b>: Always show the validation color\n * - <b>false</b>: Never show validation color\n * - <b>only-valid</b>: Show only valid validation color\n * - <b>only-invalid</b>: Show only invalid validation color\n * @default <b>only-invalid</b>: Show only invalid validation color\n */\n @Input() validationMode: BooleanInput | 'only-valid' | 'only-invalid' = 'only-invalid';\n\n /**\n * Internal form control\n */\n control: FormControl;\n\n constructor(\n @Self() @Optional() protected readonly _ngControl: NgControl,\n protected readonly _translateService: TranslateService,\n protected override readonly _renderer: Renderer2,\n protected override readonly _elementRef: ElementRef\n ) {\n super(_renderer, _elementRef);\n this.control = new FormControl();\n this._ngControl && (this._ngControl.valueAccessor = this);\n }\n\n /**\n * Check if field is invalid (Validation failed)\n */\n get isInvalid(): boolean | undefined {\n if (this.validationMode === 'only-valid' || (this.validationMode !== 'only-invalid' && isFalseBooleanInput(this.validationMode))) {\n return undefined;\n }\n\n if (this._ngControl) {\n return this._ngControl.invalid === true && (!this._ngControl.pristine || this._ngControl.touched === true);\n }\n return this.control.invalid && (!this.control.pristine || this.control.touched);\n }\n\n /**\n * Check if field is valid (Validation successful)\n */\n get isValid(): boolean | undefined {\n if (this.validationMode === 'only-invalid' || (this.validationMode !== 'only-valid' && isFalseBooleanInput(this.validationMode))) {\n return undefined;\n }\n\n if (this._ngControl) {\n return this._ngControl.valid === true && (!this._ngControl.pristine || this._ngControl.touched === true);\n }\n return this.control.valid && (!this.control.pristine || this.control.touched);\n }\n\n /**\n * Return the invalid message string from TranslateService\n */\n get invalidMessage(): Observable<string> {\n if (this.control.hasError('required')) {\n return this._translateService.get('it.errors.required-field');\n }\n\n return this._translateService.get('it.errors.invalid-field');\n }\n\n ngOnInit(): void {\n if (this._ngControl) {\n this.control.setValidators((this._ngControl.control as FormControl).validator);\n }\n }\n\n onChange = (_: T) => {\n };\n\n onTouched = () => {\n };\n\n registerOnChange(fn: any): void {\n this.control.valueChanges.subscribe(fn);\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n return this.control.disable();\n }\n this.control.enable();\n }\n\n writeValue(value: T): void {\n this.control.setValue(value, { emitEvent: false });\n }\n\n /**\n * Mark the control as touched\n */\n markAsTouched(): void {\n if (!this.control.touched) {\n this.onTouched();\n }\n }\n\n /**\n * Fired to check if form control is touched\n */\n ngDoCheck() {\n if (this.control.touched) {\n return;\n }\n if (this._ngControl?.control?.touched) {\n this.control.markAsTouched();\n }\n }\n\n /**\n * Add the validators in control and parent control\n * @param validators the validators\n * @protected\n */\n protected addValidators(validators: ValidatorFn | ValidatorFn[]): void {\n if (!Array.isArray(validators)) {\n validators = [validators];\n }\n\n validators.forEach(validator => {\n if (!this.control.hasValidator(validator)) {\n this.control.addValidators(validator);\n }\n\n if (this._ngControl?.control && !this._ngControl.control.hasValidator(validator)) {\n this._ngControl.control.addValidators(validator);\n }\n });\n }\n\n /**\n * Reports whether the control with the given path has the error specified. <br/>\n * If the control is not present, false is returned.\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n * @returns whether the given error is present in the control at the given path.\n */\n public hasError(errorCode: string, path?: Array<string | number> | string): boolean {\n if (this._ngControl) {\n return this._ngControl.hasError(errorCode, path);\n }\n return this.control.hasError(errorCode, path)\n }\n\n /**\n * Reports error data for the control with the given path.\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n * @returns error data for that particular error. If the control or error is not present,\n * null is returned.\n */\n public getError(errorCode: string, path?: Array<string | number> | string): any {\n if (this._ngControl) {\n return this._ngControl.getError(errorCode, path);\n }\n return this.control.getError(errorCode, path);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {AbstractComponent} from \"../../../abstracts/abstract.component\";\nimport {BooleanInput} from \"../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-accordion[id][title]',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss']\n})\nexport class AccordionComponent extends AbstractComponent {\n\n /**\n * Accordion Title\n */\n @Input() title!: string;\n\n /**\n * True to set accordion opened by default\n */\n @Input() opened?: BooleanInput;\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');\n }\n\n}\n","<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button px-0\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"!opened\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"opened ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div id=\"collapse-{{id}}\"\n class=\"accordion-collapse collapse\"\n role=\"region\"\n [class.show]=\"opened\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n","import {AfterViewInit, Component, ElementRef, Input, Renderer2} from '@angular/core';\nimport {IconColor, IconName, IconSize} from \"../../../interfaces/icon\";\nimport {BooleanInput} from \"../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-icon[name]',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent implements AfterViewInit {\n\n /**\n * The icon size\n */\n @Input() name!: IconName;\n\n /**\n * The icon size\n */\n @Input() size?: IconSize;\n\n /**\n * The icon color\n */\n @Input() color?: IconColor;\n\n /**\n * Create a padding proportional to the size of the surrounding icon.\n */\n @Input() padded?: BooleanInput;\n\n /**\n * Custom class\n */\n @Input() class: string = ''\n\n /**\n * Return the icon href\n */\n get iconHref(): string {\n return `/bootstrap-italia/dist/svg/sprites.svg#it-${this.name}`;\n }\n\n /**\n * Return the icon class\n */\n get iconClass(): string {\n let iconClass = 'icon';\n if (this.size) {\n iconClass += ` icon-${this.size}`\n }\n if (this.color) {\n iconClass += ` icon-${this.color}`\n }\n if (this.class) {\n iconClass += ` ${this.class}`\n }\n return iconClass;\n }\n\n constructor(\n protected readonly _renderer: Renderer2,\n protected readonly _elementRef: ElementRef\n ) {\n }\n\n ngAfterViewInit() {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');\n }\n}\n","<svg [class]=\"iconClass\" [class.icon-padded]=\"padded\">\n <use [attr.href]=\"iconHref\" [attr.xlink:href]=\"iconHref\"></use>\n</svg>\n","import { Component, Input } from '@angular/core';\nimport { AlertColor } from '../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent {\n\n /**\n * The alert color\n * @default info\n */\n @Input() color: AlertColor = 'info';\n\n /**\n * Inserts the close button\n */\n @Input() dismissible?: BooleanInput;\n\n get isDismissible(): boolean {\n return isTrueBooleanInput(this.dismissible);\n }\n}\n","<div class=\"alert alert-{{color}}\"\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BadgeColor } from '../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Directive({\n selector: '[itBadge]',\n exportAs: 'itBadge'\n})\nexport class BadgeDirective {\n\n /**\n * Define the badge color\n */\n @Input('itBadge') color?: BadgeColor;\n\n /**\n * Show rounded badge\n */\n @Input('rounded') rounded?: BooleanInput;\n\n @HostBinding('class')\n get badgeClass(): string {\n let badgeClass = 'badge';\n if (isTrueBooleanInput(this.rounded)) {\n badgeClass += ` rounded-pill`;\n }\n if (this.color) {\n badgeClass += ` bg-${this.color}`;\n }\n\n return badgeClass;\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ProgressBarColor } from '../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-progress-bar[value]',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressBarComponent {\n\n /**\n * The progress bar value [0, 100]\n */\n @Input() value!: number;\n\n /**\n * Show the progress label\n */\n @Input() showLabel?: BooleanInput;\n\n /**\n * Show the progress as indeterminate\n */\n @Input() indeterminate?: BooleanInput;\n\n /**\n * The progress bar color\n */\n @Input() color?: ProgressBarColor;\n\n /**\n * Return the background color\n */\n get bgColor(): string {\n if (!this.color) {\n return '';\n }\n\n return ` bg-${this.color}`;\n }\n\n get isIndeterminate(): boolean {\n return isTrueBooleanInput(this.indeterminate);\n }\n}\n","<div class=\"progress-bar-wrapper\">\n <div *ngIf=\"showLabel\" class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{'it.core.progress'|translate}} </span>{{value}}%\n </div>\n <div class=\"progress\"\n [class.progress-color]=\"!!color\"\n [class.progress-indeterminate]=\"isIndeterminate\">\n\n <div *ngIf=\"isIndeterminate; else determinate\" class=\"progress-bar{{bgColor}}\" role=\"progressbar\"></div>\n <ng-template #determinate>\n <div class=\"progress-bar{{bgColor}}\" role=\"progressbar\" [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </ng-template>\n </div>\n</div>\n","import { ContentChildren, Directive, HostBinding, HostListener, Input, QueryList } from '@angular/core';\nimport { ButtonColor, ButtonSize } from '../../../interfaces/core';\nimport { IconComponent } from '../../utils/icon/icon.component';\nimport { ProgressBarComponent } from '../progress-bar/progress-bar.component';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Directive({\n selector: '[itButton]',\n exportAs: 'itButton'\n})\nexport class ButtonDirective {\n\n /**\n * Button color\n */\n @Input('itButton') color?: ButtonColor;\n\n /**\n * Button size\n */\n @Input() size?: ButtonSize;\n\n /**\n * Indicates whether the button occupies all the width available to it.\n */\n @Input() block?: ButtonSize;\n\n /**\n * If button is disabled\n */\n @Input() @HostBinding('disabled') disabled?: BooleanInput;\n\n /**\n * The icon children\n */\n @ContentChildren(IconComponent) icons?: QueryList<IconComponent>;\n\n /**\n * The progress bar children\n */\n @ContentChildren(ProgressBarComponent) progressBar?: ProgressBarComponent;\n\n private isFocus = false;\n\n @HostListener('focus')\n onFocus() {\n this.isFocus = true;\n }\n\n @HostListener('blur')\n onBlur() {\n this.isFocus = false;\n }\n\n @HostBinding('class')\n get hostClasses(): string {\n let cssClass = 'btn';\n\n if (this.color) {\n cssClass += ` btn-${this.color}`;\n }\n\n if (this.size) {\n cssClass += ` btn-${this.size}`;\n }\n\n if (this.block) {\n cssClass += ' btn-block';\n }\n\n if (isTrueBooleanInput(this.disabled)) {\n cssClass += ' disabled';\n }\n\n if (this.isFocus) {\n cssClass += ' focus--mouse';\n }\n\n if (this.icons?.length && !this.progressBar) {\n cssClass += ' btn-icon';\n }\n\n if (this.progressBar) {\n cssClass += ' btn-progress';\n }\n\n return cssClass;\n }\n\n}\n","import {AfterViewInit, Component, ElementRef, Input, Renderer2} from '@angular/core';\nimport {IconName} from \"../../../interfaces/icon\";\nimport {CalloutAppearance, CalloutColor} from \"../../../interfaces/core\";\n\n@Component({\n selector: 'it-callout',\n templateUrl: './callout.component.html',\n styleUrls: ['./callout.component.scss']\n})\nexport class CalloutComponent implements AfterViewInit {\n\n /**\n * Callout title\n */\n @Input() title?: string;\n\n /**\n * Custom icon\n */\n @Input() icon?: IconName;\n\n /**\n * Callout color\n */\n @Input() color?: CalloutColor;\n\n /**\n * Callout appearance\n * - <b>default</b>\n * - <b>highlight</b>: Callout version with border only on the left side\n * - <b>more</b>: It looks radically different from the other styles available and is suitable for more extensive texts\n * @default default\n */\n @Input() appearance: CalloutAppearance = 'default';\n\n\n /**\n * Retrieve the current icon to show\n */\n get iconName(): IconName {\n if (this.icon) {\n return this.icon;\n }\n\n if (this.appearance === 'more') {\n return 'zoom-in';\n }\n\n switch (this.color) {\n case 'success':\n return 'check-circle';\n case 'warning':\n return 'help-circle';\n case 'danger':\n return 'close-circle';\n case 'important':\n case 'note':\n default:\n return 'info-circle';\n }\n }\n\n constructor(\n private readonly _renderer: Renderer2,\n private readonly _elementRef: ElementRef\n ) {\n }\n\n ngAfterViewInit(): void {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');\n }\n\n}\n","<div class=\"callout {{color}}\"\n [class.callout-highlight]=\"appearance === 'highlight'\"\n [class.callout-more]=\"appearance === 'more'\">\n\n <div class=\"callout-title\" *ngIf=\"title\">\n <it-icon [name]=\"iconName\"></it-icon>\n <span class=\"visually-hidden\">{{title}}</span>\n {{title}}\n </div>\n <p class=\"callout-big-text\">\n <ng-content select=\"[bigText]\"></ng-content>\n </p>\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AbstractComponent } from '../../../abstracts/abstract.component';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CardComponent extends AbstractComponent {\n\n /**\n * It serves to space the cards in their mobile version.\n * @default true\n */\n @Input() space: BooleanInput = true;\n\n /**\n * To create cards with short or \"preview\" content\n */\n @Input() teaser?: BooleanInput;\n\n /**\n * Card with image\n */\n @Input() hasImage?: BooleanInput;\n\n /**\n * To add rounding effects\n */\n @Input() rounded?: BooleanInput;\n\n /**\n * To add shadow effects\n */\n @Input() shadow?: BooleanInput;\n\n /**\n * Custom card class\n */\n @Input() cardClass: string = '';\n\n /**\n * Custom card body class\n */\n @Input() bodyClass: string = '';\n\n get isSpace(): boolean {\n return isTrueBooleanInput(this.space);\n }\n\n get isTeaser(): boolean {\n return isTrueBooleanInput(this.teaser);\n }\n\n get isHasImage(): boolean {\n return isTrueBooleanInput(this.hasImage);\n }\n\n get isRounded(): boolean {\n return isTrueBooleanInput(this.rounded);\n }\n\n get isShadow(): boolean {\n return isTrueBooleanInput(this.shadow);\n }\n\n}\n","<div class=\"card-wrapper\" [class.card-space]=\"isSpace\">\n <div class=\"card {{cardClass}}\"\n [class.card-teaser]=\"isTeaser\"\n [class.card-img.no-after]=\"isHasImage\"\n [class.shadow]=\"isShadow\"\n [class.rounded]=\"isRounded\">\n\n <ng-content select=\"[beforeBody]\"></ng-content>\n\n <div class=\"card-body {{bodyClass}}\">\n <ng-content></ng-content>\n </div>\n\n </div>\n</div>\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'it-carousel-item',\n templateUrl: './carousel-item.component.html',\n styleUrls: ['./carousel-item.component.scss']\n})\nexport class CarouselItemComponent {\n\n /**\n * The content of item\n */\n @ViewChild(TemplateRef)\n public htmlContent!: TemplateRef<any>;\n\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import { AfterViewInit, Component, ContentChildren, ElementRef, Input, QueryList, ViewChild } from '@angular/core';\nimport { CarouselType } from '../../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../../utils/boolean-input';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\n\nimport { CarouselBI } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n exportAs: 'itCarousel'\n})\nexport class CarouselComponent implements AfterViewInit {\n\n /**\n * The callout title\n */\n @Input() title?: string;\n\n /**\n * The carousel type\n * @default default\n */\n @Input() type: CarouselType = 'default';\n\n /**\n * Custom class in splide__track element\n */\n @Input() trackClass: string = '';\n\n /**\n * True for full screen (landscape) viewing\n */\n @Input() fullCarousel?: BooleanInput;\n\n /**\n * To indicate that the contained image is of a large type\n */\n @Input() bigImg?: BooleanInput;\n\n /**\n * Card line style\n */\n @Input() lined?: BooleanInput;\n\n @ContentChildren(CarouselItemComponent) items?: QueryList<CarouselItemComponent>;\n\n @ViewChild('carousel')\n private carouselDiv!: ElementRef<HTMLDivElement>;\n private carousel?: any;\n\n get typeClass(): string {\n const typeClass = 'it-carousel-landscape-abstract';\n return this.type === 'default' ? typeClass : typeClass + `-${this.type}`;\n }\n\n get isFullCarousel(): boolean {\n return isTrueBooleanInput(this.fullCarousel);\n }\n\n get isBigImg(): boolean {\n return isTrueBooleanInput(this.bigImg);\n }\n\n get isLined(): boolean {\n return isTrueBooleanInput(this.lined);\n }\n\n ngAfterViewInit(): void {\n this.carousel = CarouselBI.getOrCreateInstance(this.carouselDiv.nativeElement);\n }\n\n /**\n * Removes CarouselBI features\n */\n public dispose(): void {\n this.carousel?.dispose();\n }\n}\n","<div class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide #carousel>\n\n <div class=\"it-header-block\" *ngIf=\"title\">\n <div class=\"it-header-block-title\">\n <h2>{{title}}</h2>\n </div>\n </div>\n\n <div class=\"splide__track {{trackClass}}\">\n <ul class=\"splide__list\">\n <li *ngFor=\"let item of items\" class=\"splide__slide\" [class.lined_slide]=\"isLined\">\n <div class=\"it-single-slide-wrapper\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </div>\n </li>\n </ul>\n </div>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractComponent } from '../../../abstracts/abstract.component';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\nimport { Collapse } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-collapse[id]',\n templateUrl: './collapse.component.html',\n styleUrls: ['./collapse.component.scss'],\n exportAs: 'itCollapse'\n})\nexport class CollapseComponent extends AbstractComponent {\n\n /**\n * Enable multiple collapse\n */\n @Input() multi?: BooleanInput;\n\n /**\n * Custom class\n */\n @Input() class: string = '';\n\n /**\n * This event fires immediately when the show method is called.\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).\n */\n @Output() onShown: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires immediately when the hide method is called.\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).\n */\n @Output() onHidden: EventEmitter<Event> = new EventEmitter();\n\n private readonly element: HTMLElement;\n private collapse?: any;\n\n @ViewChild('collapse')\n private collapseDiv!: ElementRef<HTMLDivElement>;\n\n get isMulti(): boolean {\n return isTrueBooleanInput(this.multi);\n }\n\n constructor(\n override readonly _renderer: Renderer2,\n override readonly _elementRef: ElementRef\n ) {\n super(_renderer, _elementRef);\n this.element = this._elementRef.nativeElement;\n }\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');\n this.collapse = Collapse.getOrCreateInstance(this.collapseDiv.nativeElement, {\n toggle: false\n });\n\n this.element.addEventListener('show.bs.collapse', event => this.onShow.emit(event));\n this.element.addEventListener('shown.bs.collapse', event => this.onShown.emit(event));\n this.element.addEventListener('hide.bs.collapse', event => this.onHide.emit(event));\n this.element.addEventListener('hidden.bs.collapse', event => this.onHidden.emit(event));\n }\n\n /**\n * Shows a resealable item\n * NOTE: Returns to the caller before the collapsable element has actually been shown (onShown event).\n */\n public show(): void {\n this.collapse?.show();\n }\n\n /**\n * Hides a resealable item\n * NOTE: Returns to the caller before the collapsable element has actually been hidden (onHidden Event)\n */\n public hide(): void {\n this.collapse?.hide();\n }\n\n /**\n * Toggle a collapsible item to show or hide it.\n * NOTE: Returns to the caller before the collapsable element has actually been shown or hidden (onShown and onHidden events)\n */\n public toggle(): void {\n this.collapse?.toggle();\n }\n\n /**\n * Eliminates the possibility of an item being resealable\n */\n public dispose(): void {\n this.collapse?.dispose();\n }\n}\n","<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n","import { AfterViewInit, Component, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss']\n})\nexport class LinkComponent implements AfterViewInit {\n\n /**\n * The router link action\n *\n * Commands to pass to Router#createUrlTree.\n * - array: commands to pass to Router#createUrlTree.\n * - string: shorthand for array of commands with just the string, i.e. ['/route']\n * - null|undefined: Disables the link by removing the href\n */\n @Input() href?: any[] | string | null;\n\n /**\n * Is an external link (false to not use Angular router link)\n */\n @Input() externalLink?: BooleanInput;\n\n /**\n * Is disabled link\n */\n @Input() disabled?: BooleanInput;\n\n /**\n * Custom class\n */\n @Input() class: string = '';\n\n get isExternalLink(): boolean {\n return isTrueBooleanInput(this.externalLink);\n }\n\n get isDisabled(): boolean {\n return isTrueBooleanInput(this.disabled);\n }\n\n constructor(\n protected readonly _renderer: Renderer2,\n protected readonly _elementRef: ElementRef\n ) {\n }\n\n ngAfterViewInit(): void {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');\n }\n}\n","<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectorRef, Component, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../../utils/boolean-input';\nimport { IconName } from '../../../../interfaces/icon';\nimport { LinkComponent } from '../../link/link.component';\n\n@Component({\n selector: 'it-dropdown-item',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss']\n})\nexport class DropdownItemComponent extends LinkComponent {\n\n /**\n * Show divider\n */\n @Input() divider?: BooleanInput;\n\n /**\n * Active item\n */\n @Input() active?: BooleanInput;\n\n /**\n * To increase the size of links\n */\n @Input() large?: BooleanInput;\n\n /**\n * The name of icon to show\n */\n @Input() iconName?: IconName;\n\n /**\n * The icon position\n * @default right\n */\n @Input() iconPosition: 'left' | 'right' = 'right';\n\n /**\n * Change icon color if menu is dark\n * @default false\n */\n isDark: boolean = false;\n\n get isDivider(): boolean {\n return isTrueBooleanInput(this.divider);\n }\n\n get isActive(): boolean {\n return isTrueBooleanInput(this.active);\n }\n\n get isLarge(): boolean {\n return isTrueBooleanInput(this.large);\n }\n\n get linkClass(): string {\n let linkClass = `list-item ${this.isActive ? 'active' : 'dropdown-item'}`;\n if (this.isDisabled) {\n linkClass += ' disabled';\n }\n if (this.isLarge) {\n linkClass += ' large';\n }\n if (this.iconName) {\n linkClass += ` ${this.iconPosition === 'right' ? 'right-icon' : 'left-icon'}`;\n }\n\n return linkClass;\n }\n\n constructor(\n protected override readonly _renderer: Renderer2,\n protected override readonly _elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {\n super(_renderer, _elementRef);\n }\n\n setDark(dark: boolean): void {\n if (this.isDark !== dark) {\n this.isDark = dark;\n this._changeDetectorRef.detectChanges();\n }\n }\n}\n","<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n","import { Component, ContentChildren, Input, OnChanges, QueryList, SimpleChanges } from '@angular/core';\nimport { AbstractComponent } from '../../../../abstracts/abstract.component';\nimport { ButtonColor, DropdownDirection } from '../../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../../utils/boolean-input';\nimport { DropdownItemComponent } from '../dropdown-item/dropdown-item.component';\n\n@Component({\n selector: 'it-dropdown[id]',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent extends AbstractComponent implements OnChanges {\n\n /**\n * Button color\n */\n @Input() color?: ButtonColor;\n\n /**\n * To open menu items to:\n * - <strong>dropup</strong>: up\n * - <strong>dropend</strong>: right\n * - <strong>dropstart</strong>: left\n */\n @Input() direction?: DropdownDirection;\n\n /**\n * To get a dropdown menu as wide as the element containing the dropdown button\n */\n @Input() fullWidth?: BooleanInput;\n\n /**\n * Dark menu style\n */\n @Input() dark?: BooleanInput;\n\n /**\n * The dropdown items\n */\n @ContentChildren(DropdownItemComponent) items?: QueryList<DropdownItemComponent>;\n\n get buttonClass(): string {\n let btnClass = 'btn dropdown-toggle';\n if (this.color) {\n btnClass += ` btn-${this.color}`;\n } else {\n btnClass += ` btn-dropdown`;\n }\n\n return btnClass;\n }\n\n get isFullWidth(): boolean {\n return isTrueBooleanInput(this.fullWidth);\n }\n\n get isDark(): boolean {\n return isTrueBooleanInput(this.dark);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['dark'] && !changes['dark'].firstChange) {\n this.setDarkItems();\n }\n }\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n this.setDarkItems();\n }\n\n /**\n * Set child items dark mode\n * @private\n */\n private setDarkItems(): void {\n this.items?.forEach(item => {\n item.setDark(this.isDark);\n });\n }\n\n}\n","<div class=\"dropdown {{direction}}\">\n <button [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { BooleanInput } from '../../../../utils/boolean-input';\n\n@Component({\n selector: 'it-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss']\n})\nexport class ListComponent {\n\n /**\n * Add 'link-list' class for navigation menù\n */\n @Input() linkList?: BooleanInput;\n\n}\n","<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../../utils/boolean-input';\nimport { LinkComponent } from '../../link/link.component';\n\n@Component({\n selector: 'it-list-item',\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.scss']\n})\nexport class ListItemComponent extends LinkComponent {\n\n /**\n * Add active class\n */\n @Input() active?: BooleanInput;\n\n /**\n * Add large class\n */\n @Input() large?: BooleanInput;\n\n /**\n * The avatar url\n */\n @Input() avatar?: URL;\n\n /**\n * The thumb image url\n */\n @Input() image?: URL;\n\n\n get itemClass(): string {\n let itemClass = 'list-item';\n if (isTrueBooleanInput(this.active)) {\n itemClass += ` active`;\n }\n if (isTrueBooleanInput(this.large)) {\n itemClass += ` large`;\n }\n if (this.class) {\n itemClass += ` ${this.class}`;\n }\n return itemClass;\n }\n\n}\n","<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport {AbstractComponent} from \"../../../abstracts/abstract.component\";\n\nimport { Modal } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-modal[id][title]',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n exportAs: 'itModal'\n})\nexport class ModalComponent extends AbstractComponent {\n\n /**\n * The modal Title\n */\n @Input() title!: string;\n\n /**\n * The modal size\n */\n @Input() size?: 'modal-sm' | 'modal-lg' | 'modal-xl';\n\n /**\n * This event fires immediately when the instance method show is called.\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).\n */\n @Output() onShown: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is raised immediately when the instance method hide has been called.\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).\n */\n @Output() onHidden: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is fired when the modal is displayed, its background is static and a click outside the modal or a press\n * of the esc key occurs and data-bs-keyboard is set to false.\n */\n @Output() onHidePrevented: EventEmitter<Event> = new EventEmitter();\n\n\n private modal: any;\n\n @ViewChild('modalElement', {static: false})\n private modalElement?: ElementRef<HTMLDivElement>;\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');\n\n if (this.modalElement) {\n const element = this.modalElement.nativeElement;\n this.modal = Modal.getOrCreateInstance(element);\n\n element.addEventListener('show.bs.modal', event => this.onShow.emit(event));\n element.addEventListener('shown.bs.modal', event => this.onShown.emit(event));\n element.addEventListener('hide.bs.modal', event => this.onHide.emit(event));\n element.addEventListener('hidden.bs.modal', event => this.onHidden.emit(event));\n element.addEventListener('hidePrevented.bs.modal', event => this.onHidePrevented.emit(event));\n }\n }\n\n /**\n * Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden\n */\n public toggle(): void {\n this.modal?.toggle()\n }\n\n /**\n * Manually open a modal. Returns to the caller before the modal has actually been displayed\n */\n public show(): void {\n this.modal?.show()\n }\n\n /**\n * Manually hide a modal. Returns to the caller before the modal has actually been hidden\n */\n public hide(): void {\n this.modal?.hide()\n }\n\n /**\n * Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).\n */\n public handleUpdate(): void {\n this.modal?.handleUpdate()\n }\n\n /**\n * Destroys the modal of an element.\n */\n public dispose(): void {\n this.modal?.dispose()\n }\n\n}\n","<div [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\" #modalElement>\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n","export type AlertColor = 'info' | 'success' | 'warning' | 'danger';\n\nexport type ButtonColor =\n 'primary'\n | 'outline-primary'\n | 'secondary'\n | 'outline-secondary'\n | 'success'\n | 'outline-success'\n | 'danger'\n | 'outline-danger'\n | 'warning'\n | 'outline-warning'\n | 'info'\n | 'outline-info'\n | 'light'\n | 'outline-light'\n | 'dark'\n | 'outline-dark'\n | 'link';\n\nexport type ButtonSize = 'lg' | 'sm' | 'xs';\nexport type ButtonType = 'submit' | 'button';\n\nexport type CalloutColor = 'success' | 'warning' | 'danger' | 'important' | 'note';\nexport type CalloutAppearance = 'default' | 'highlight' | 'more';\n\nexport type ElementPlacement = 'top' | 'bottom' | 'left' | 'right';\n\nexport type ProgressBarColor = 'primary' | 'success' | 'warning' | 'danger' | 'info';\n\nexport type BadgeColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger';\n\nexport type TableColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';\n\nexport type TableHeadColor = 'light' | 'dark';\n\nexport type TableResponsive =\n 'responsive'\n | 'responsive-sm'\n | 'responsive-md'\n | 'responsive-lg'\n | 'responsive-xl'\n | 'responsive-xxl';\n\nexport type VerticalAlignment =\n 'align-baseline'\n | 'align-top'\n | 'align-middle'\n | 'align-bottom'\n | 'align-text-bottom'\n | 'align-text-top';\n\nexport type DropdownDirection = 'dropup' | 'dropend' | 'dropstart';\n\nexport type CarouselType = 'default' | 'three-cols' | 'three-cols-arrow-visible';\n\nexport interface Notification {\n type: NotificationType;\n title: string;\n message?: string;\n duration?: number;\n dismissable?: boolean;\n position?: NotificationPosition;\n}\n\nexport enum NotificationType {\n Standard = 'standard',\n Success = 'success',\n Error = 'error',\n Info = 'info',\n Warning = 'warning'\n}\n\nexport enum NotificationPosition {\n Top = 'top-fix mt-3',\n Bottom = 'bottom-fix mb-3',\n Left = 'left-fix ms-3',\n Right = 'right-fix me-3'\n}\n","import {Injectable} from '@angular/core';\nimport {filter, Observable, Subject} from \"rxjs\";\nimport {Notification, NotificationPosition, NotificationType} from \"../../interfaces/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationsService {\n private subject = new Subject<Notification>();\n\n /**\n * Listen on notification arrived\n * @param filterType filter type of notification\n */\n onNotification(filterType?: NotificationType): Observable<Notification> {\n return this.subject.asObservable().pipe(\n filter(n => n && (!filterType || (n.type === filterType)))\n );\n }\n\n /**\n * Show new notification\n * @param notification notification\n */\n addNotification(notification: Notification): void {\n this.subject.next(notification);\n }\n\n /**\n * Create new Standard notification\n * @param title notification title\n * @param message notification message\n * @param dismissable notification dismissable\n * @param duration notification duration (millis)\n * @param position notification position\n */\n standard(title: string, message?: string, dismissable = true, duration?: number, position?: NotificationPosition): void {\n this.addNotification({\n type: NotificationType.Standard,\n message,\n title,\n duration,\n dismissable,\n position\n });\n }\n\n /**\n * Create new Success notification\n * @param title notification title\n * @param message notification message\n * @param dismissable notification dismissable\n * @param duration notification duration (millis)\n * @param position notification position\n */\n success(title: string, message?: string, dismissable = true, duration?: number, position?: NotificationPosition): void {\n this.addNotification({\n type: NotificationType.Success,\n message,\n title,\n duration,\n dismissable,\n position\n });\n }\n\n /**\n * Create new Error notification\n * @param title notification title\n * @param message notification message\n * @param dismissable notification dismissable\n * @param duration notification duration (millis)\n * @param position notification position\n */\n error(title: string, message?: string, dismissable = true, duration?: number, position?: NotificationPosition): void {\n this.addNotification({\n type: NotificationType.Error,\n message,\n title,\n duration,\n dismissable,\n position\n });\n }\n\n /**\n * Create new Warning notification\n * @param title notification title\n * @param message notification message\n * @param dismissable notification dismissable\n * @param duration notification duration (millis)\n * @param position notification position\n */\n warning(title: string, message?: string, dismissable = true, duration?: number, position?: NotificationPosition): void {\n this.addNotification({\n type: NotificationType.Warning,\n message,\n title,\n duration,\n dismissable,\n position\n });\n }\n\n /**\n * Create new Info notification\n * @param title notification title\n * @param message notification message\n * @param dismissable notification dismissable\n * @param duration notification duration (millis)\n * @param position notification position\n */\n info(title: string, message?: string, dismissable = true, duration?: number, position?: NotificationPosition): void {\n this.addNotification({\n type: NotificationType.Info,\n message,\n title,\n duration,\n dismissable,\n position\n });\n }\n}\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NotificationsService } from '../../../services/notifications/notifications.service';\nimport { Notification, NotificationPosition, NotificationType } from '../../../interfaces/core';\n\nimport { Notification as BSNotification } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss']\n})\nexport class NotificationsComponent implements OnDestroy {\n\n /**\n * Default notifications duration\n * @default 8000\n */\n @Input() duration: number = 8000;\n\n /**\n * Default notifications position\n */\n @Input() position?: NotificationPosition;\n\n private subscription: Subscription;\n notifications: Array<Notification & { id: string }> = [];\n\n constructor(\n private readonly _notificationService: NotificationsService\n ) {\n this.subscription = this._notificationService.onNotification().subscribe(notification => {\n if (!notification.duration) {\n notification.duration = this.duration; // Add duration if not is set\n }\n if (!notification.position && this.position) {\n notification.position = this.position; // Add position if not is set\n }\n\n const newNotification = {\n ...notification,\n id: `${notification.type}-${this.notifications.length}-notification`\n };\n const index = this.notifications.push(newNotification);\n\n setTimeout(() => {\n // Show the notification\n new BSNotification(document.getElementById(newNotification.id), {\n timeout: notification.duration\n }).show();\n\n // Clear notification after the duration\n setTimeout(() => {\n this.notifications = this.notifications.splice(index, 1);\n }, notification.duration);\n }, 200);\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n get NotificationType(): typeof NotificationType {\n return NotificationType;\n }\n\n /**\n * Hide the notification\n * @param id\n */\n hideNotification(id: string): void {\n BSNotification.getInstance(document.getElementById(id))?.hide();\n }\n}\n","<div *ngFor=\"let notification of notifications; let i = index\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"notification.type !== NotificationType.Standard\"\n [class.dismissable]=\"notification.dismissable\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissable\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{title: notification.title} }}</span>\n </button>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'it-pagination[currentPage][pageNumbers]',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss']\n})\nexport class PaginationComponent {\n\n /**\n * Index of page (start 0)\n */\n @Input() currentPage!: number;\n\n /**\n * Max number of page (counter)\n */\n @Input() pageNumbers!: number;\n\n /**\n * Pagination alignment (justify-content)\n */\n @Input() alignment?: 'center' | 'end';\n\n /**\n * Fired when page is changed\n */\n @Output() newPageEvent = new EventEmitter<number>();\n\n /**\n * Create array to generate pagination of 5 element\n */\n get pages(): Array<number> {\n const length = this.pageNumbers > 5 ? 5 : this.pageNumbers;\n let start = (this.currentPage > 1 && this.pageNumbers > 5) ? this.currentPage - 1 : 1;\n\n if (this.pageNumbers > 5) {\n if ((this.currentPage + 1) >= this.pageNumbers) {\n start -= 2;\n } else if (this.currentPage >= (this.pageNumbers - 2)) {\n start -= (this.pageNumbers - (this.currentPage + 1));\n }\n }\n\n return Array.from({ length }, (_, i) => i + start);\n }\n\n /**\n * On click page change\n * @param newPage the new page of table\n */\n pageChange(newPage: number): void {\n this.newPageEvent.emit(newPage - 1); // emit new page\n }\n\n}\n","<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';\nimport { ElementPlacement } from '../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\nimport { Popover } from 'bootstrap-italia';\n\n@Directive({\n selector: '[itPopover]',\n exportAs: 'itPopover'\n})\nexport class PopoverDirective implements AfterViewInit {\n\n /**\n * Define the popover content\n * @param content the popover content\n */\n @Input('itPopover') set content(content: string) {\n this.element.setAttribute('data-bs-content', content);\n }\n\n /**\n * Define the popover title\n * @param title the popover title\n */\n @Input('popoverTitle') set title(title: string | undefined) {\n if (title) {\n // this.element.setAttribute(\"title\", title);\n this.element.setAttribute('data-bs-original-title', title);\n }\n }\n\n\n /**\n * Define the popover placement\n * @param placement\n */\n @Input('popoverPlacement') set placement(placement: ElementPlacement) {\n this.element.setAttribute('data-bs-placement', placement);\n }\n\n /**\n * Appends the popover to a specific element.\n * @param container\n */\n @Input('popoverContainer') set container(container: 'body' | string | undefined) {\n if (container) {\n this.element.setAttribute('data-container', container);\n }\n }\n\n /**\n * Indicates whether the title contains html\n * @param html true if contain html\n */\n @Input('popoverHtml') set html(html: BooleanInput) {\n this.element.setAttribute('data-bs-html', isTrueBooleanInput(html) ? 'true' : 'false');\n }\n\n /**\n * How popover is triggered\n * - 'hover': To open the Popover on hover of the mouse over the element\n * - 'focus': To ignore popovers on the user's next click of an element other than the toggle element.\n * @param trigger\n */\n @Input('popoverTrigger') set hover(trigger: 'click' | 'hover' | 'focus' | 'manual' | undefined) {\n if (trigger) {\n this.element.setAttribute('data-bs-trigger', trigger);\n }\n }\n\n /**\n * This event fires immediately when the show method is called.\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).\n */\n @Output() onShown: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires immediately when the hide method is called.\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).\n */\n @Output() onHidden: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires after the show event when the tooltip template has been added to the DOM.\n */\n @Output() onInserted: EventEmitter<Event> = new EventEmitter();\n\n private readonly element: HTMLElement;\n private popover?: any;\n\n constructor(\n private readonly _elementRef: ElementRef\n ) {\n this.element = this._elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.element.setAttribute('data-bs-toggle', 'popover');\n this.popover = Popover.getOrCreateInstance(this.element);\n\n this.element.addEventListener('show.bs.popover', event => this.onShow.emit(event));\n this.element.addEventListener('shown.bs.popover', event => this.onShown.emit(event));\n this.element.addEventListener('hide.bs.popover', event => this.onHide.emit(event));\n this.element.addEventListener('hidden.bs.popover', event => this.onHidden.emit(event));\n this.element.addEventListener('inserted.bs.popover', event => this.onInserted.emit(event));\n }\n\n /**\n * Shows the popover of an item.\n */\n public show(): void {\n this.popover?.show();\n }\n\n /**\n * Hide the popover of an element.\n */\n public hide(): void {\n this.popover?.hide();\n }\n\n /**\n * Activate / Deactivate the popover of an element\n */\n public toggle(): void {\n this.popover?.toggle();\n }\n\n /**\n * Hides and destroys the popover of an element.\n */\n public dispose(): void {\n this.popover?.dispose();\n }\n\n /**\n * Gives the popover of an element a chance to be shown.\n */\n public enable(): void {\n this.popover?.enable();\n }\n\n /**\n * Removes the ability to show the popover of an element.\n */\n public disable(): void {\n this.popover?.disable();\n }\n\n /**\n * Toggles the possibility that the popover of an element is shown or hidden.\n */\n public toggleEnabled(): void {\n this.popover?.disable();\n }\n\n /**\n * Updates the position of an element's popover.\n */\n public update(): void {\n this.popover?.disable();\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\nimport { ProgressBarColor } from '../../../interfaces/core';\n\n@Component({\n selector: 'button[itButton][progress]',\n templateUrl: './progress-button.component.html',\n styleUrls: ['./progress-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressButtonComponent {\n\n /**\n * Behavior of the progress bar\n * - <b>true</b>: Show indeterminate progress bar\n * - <b>false</b> or <b>undefined</b>: Hide progress bar\n * - <b>number</b> [0, 100]: Assign a specific value to the progress bar\n * @default undefined\n */\n @Input() progress?: number | BooleanInput;\n\n /**\n * The progress bar color\n */\n @Input() progressColor?: ProgressBarColor;\n\n get isProgress(): boolean {\n return typeof this.progress === 'number' || isTrueBooleanInput(this.progress);\n }\n\n get progressValue(): number {\n return typeof this.progress === 'number' ? this.progress : 0;\n }\n\n get isIndeterminate(): boolean {\n return typeof this.progress !== 'number' && isTrueBooleanInput(this.progress);\n }\n\n}\n","<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n","import {Component, Input} from '@angular/core';\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss']\n})\nexport class SpinnerComponent {\n\n /**\n * The spinner is active\n */\n @Input() active: BooleanInput = true;\n\n /**\n * Show a small spinner\n */\n @Input() small?: BooleanInput;\n\n /**\n * Show the double animation\n */\n @Input() double?: BooleanInput;\n\n get isActive(): boolean {\n return isTrueBooleanInput(this.active);\n }\n\n get isSmall(): boolean {\n return isTrueBooleanInput(this.small);\n }\n\n get isDouble(): boolean {\n return isTrueBooleanInput(this.double);\n }\n\n}\n","<div class=\"progress-spinner\"\n [class.progress-spinner-double]=\"isDouble\"\n [class.progress-spinner-active]=\"isActive\"\n [class.size-sm]=\"isSmall\">\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <span class=\"visually-hidden\">{{'it.core.loading'|translate}}...</span>\n</div>\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {AbstractComponent} from \"../../../../abstracts/abstract.component\";\nimport {BooleanInput} from \"../../../../utils/boolean-input\";\nimport {IconName} from \"../../../../interfaces/icon\";\n\n@Component({\n selector: 'it-tab-item[id]',\n templateUrl: './tab-item.component.html',\n styleUrls: ['./tab-item.component.scss']\n})\nexport class TabItemComponent extends AbstractComponent {\n\n /**\n * The tab label\n */\n @Input() label?: string;\n\n /**\n * The icon name\n */\n @Input() icon?: IconName;\n\n /**\n * Default active tab\n */\n @Input() active?: BooleanInput;\n\n /**\n * Default disabled tab\n */\n @Input() disabled?: BooleanInput;\n\n /**\n * Custom class\n */\n @Input() class: string = ''\n\n /**\n * The content of tab\n */\n @ViewChild(TemplateRef)\n public htmlContent!: TemplateRef<any>;\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {AfterViewInit, ChangeDetectorRef, Component, ContentChildren, Input, QueryList} from '@angular/core';\nimport {BooleanInput, isTrueBooleanInput} from \"../../../../utils/boolean-input\";\nimport {TabItemComponent} from \"../tab-item/tab-item.component\";\n\n@Component({\n selector: 'it-tab-container',\n templateUrl: './tab-container.component.html',\n styleUrls: ['./tab-container.component.scss']\n})\nexport class TabContainerComponent implements AfterViewInit {\n\n /**\n * Tabs automatically occupy the entire available width\n */\n @Input() auto?: BooleanInput;\n\n /**\n * To obtain the correct margin between text and icon in the horizontally developed tab\n */\n @Input() iconText?: BooleanInput;\n\n /**\n * Dark style\n */\n @Input() dark?: BooleanInput;\n\n /**\n * The tab items\n */\n @ContentChildren(TabItemComponent) tabs?: QueryList<TabItemComponent>;\n\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {\n }\n\n isTrueBooleanInput(booleanInput?: BooleanInput): boolean {\n return isTrueBooleanInput(booleanInput)\n }\n\n ngAfterViewInit(): void {\n this._changeDetectorRef.detectChanges();\n }\n}\n","<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n data-bs-toggle=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {TableColor, TableHeadColor, TableResponsive, VerticalAlignment} from \"../../../interfaces/core\";\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss']\n})\nexport class TableComponent {\n\n /**\n * Table color\n */\n @Input() color?: TableColor;\n\n /**\n * Head table color\n */\n @Input() headColor?: TableHeadColor;\n\n /**\n * Use vertical alignment classes to realign where needed.\n */\n @Input() alignment?: VerticalAlignment;\n\n /**\n * Use .table-striped to add zebra stripes to each table row contained in <tbody>.\n */\n @Input() striped?: BooleanInput;\n\n /**\n * Add .table-hover to enable hover state on table rows contained in <tbody>.\n */\n @Input() hover?: BooleanInput;\n\n /**\n * Add .table-bordered to have borders on all sides of the table and on all cells.\n */\n @Input() bordered?: BooleanInput;\n\n /**\n * Add the .table-borderless class for a borderless table.\n */\n @Input() borderless?: BooleanInput;\n\n /**\n * Add .table-sm to make tables more compact by halving the cell padding.\n */\n @Input() compact?: BooleanInput;\n\n /**\n * To render the <caption> on top of the table\n */\n @Input() captionTop?: BooleanInput;\n\n /**\n * Responsive tables allow you to scroll tables horizontally with ease.\n * @default responsive\n */\n @Input() responsive: TableResponsive = 'responsive';\n\n\n get isStriped(): boolean {\n return isTrueBooleanInput(this.striped);\n }\n\n get isHover(): boolean {\n return isTrueBooleanInput(this.hover);\n }\n\n get isBordered(): boolean {\n return isTrueBooleanInput(this.bordered);\n }\n\n get isBorderless(): boolean {\n return isTrueBooleanInput(this.borderless);\n }\n\n get isCompact(): boolean {\n return isTrueBooleanInput(this.compact);\n }\n\n get isCaptionTop(): boolean {\n return isTrueBooleanInput(this.captionTop);\n }\n}\n","<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table class=\"table{{color ? ' table-' + color : '' }}\"\n [class.table-striped]=\"isStriped\"\n [class.table-hover]=\"isHover\"\n [class.table-bordered]=\"isBordered\"\n [class.table-borderless]=\"isBorderless\"\n [class.table-sm]=\"isCompact\"\n [class.caption-top]=\"isCaptionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';\nimport { ElementPlacement } from '../../../interfaces/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\nimport { Tooltip } from 'bootstrap-italia';\n\n@Directive({\n selector: '[itTooltip]',\n exportAs: 'itTooltip'\n})\nexport class TooltipDirective implements AfterViewInit {\n\n /**\n * Define the tooltip title\n * @param title the tooltip title\n */\n @Input('itTooltip') set title(title: string | undefined) {\n if (title) {\n // this.element.setAttribute(\"title\", title);\n this.element.setAttribute('data-bs-original-title', title);\n }\n }\n\n /**\n * Define the tooltip placement\n * @param placement\n */\n @Input('tooltipPlacement') set placement(placement: ElementPlacement) {\n this.element.setAttribute('data-bs-placement', placement);\n }\n\n /**\n * Indicates whether the title contains html\n * @param html true if contain html\n */\n @Input('tooltipHtml') set html(html: BooleanInput) {\n this.element.setAttribute('data-bs-html', isTrueBooleanInput(html) ? 'true' : 'false');\n }\n\n /**\n * This event fires immediately when the show method is called.\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).\n */\n @Output() onShown: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires immediately when the hide method is called.\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).\n */\n @Output() onHidden: EventEmitter<Event> = new EventEmitter();\n\n /**\n * This event fires after the show event when the tooltip template has been added to the DOM.\n */\n @Output() onInserted: EventEmitter<Event> = new EventEmitter();\n\n private readonly element: HTMLElement;\n private tooltip?: any;\n\n constructor(\n private readonly _elementRef: ElementRef\n ) {\n this.element = this._elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.element.setAttribute('data-bs-toggle', 'tooltip');\n this.tooltip = Tooltip.getOrCreateInstance(this.element);\n\n this.element.addEventListener('show.bs.tooltip', event => this.onShow.emit(event));\n this.element.addEventListener('shown.bs.tooltip', event => this.onShown.emit(event));\n this.element.addEventListener('hide.bs.tooltip', event => this.onHide.emit(event));\n this.element.addEventListener('hidden.bs.tooltip', event => this.onHidden.emit(event));\n this.element.addEventListener('inserted.bs.tooltip', event => this.onInserted.emit(event));\n }\n\n /**\n * Shows the tooltip of an item.\n */\n public show(): void {\n this.tooltip?.show();\n }\n\n /**\n * Hide the tooltip of an element.\n */\n public hide(): void {\n this.tooltip?.hide();\n }\n\n /**\n * Activate / Deactivate the tooltip of an element\n */\n public toggle(): void {\n this.tooltip?.toggle();\n }\n\n /**\n * Hides and destroys the tooltip of an element.\n */\n public dispose(): void {\n this.tooltip?.dispose();\n }\n\n /**\n * Gives the tooltip of an element a chance to be shown.\n */\n public enable(): void {\n this.tooltip?.enable();\n }\n\n /**\n * Removes the ability to show the tooltip of an element.\n */\n public disable(): void {\n this.tooltip?.disable();\n }\n\n /**\n * Toggles the possibility that the tooltip of an element is shown or hidden.\n */\n public toggleEnabled(): void {\n this.tooltip?.disable();\n }\n\n /**\n * Updates the position of an element's tooltip.\n */\n public update(): void {\n this.tooltip?.disable();\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {AbstractFormComponent} from \"../../../abstracts/abstract-form-component\";\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-checkbox[id][label]',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss']\n})\nexport class CheckboxComponent extends AbstractFormComponent<boolean> {\n\n /**\n * If show checkbox as toggle\n */\n @Input() toggle?: BooleanInput;\n\n /**\n * If show checkbox inline\n */\n @Input() inline?: BooleanInput;\n\n /**\n * If is checkbox group\n */\n @Input() group?: BooleanInput;\n\n /**\n * If checkbox is checked\n */\n @Input() checked?: BooleanInput;\n\n /**\n * If checkbox is indeterminate\n */\n @Input() indeterminate?: BooleanInput;\n\n get isIndeterminate(): boolean {\n return isTrueBooleanInput(this.indeterminate);\n }\n\n get isGroup(): boolean {\n return isTrueBooleanInput(this.group);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n\n if (this.control.value || this.checked === undefined) {\n return;\n }\n\n const value = isTrueBooleanInput(this.checked);\n this.writeValue(value);\n return this.onChange(value);\n }\n}\n","<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"inline\">\n\n <div *ngIf=\"toggle; else defaultStyle\" class=\"toggles\">\n <label [for]=\"id\">\n {{label}}\n <input [id]=\"id\"\n type=\"checkbox\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <span class=\"lever\"></span>\n </label>\n </div>\n\n <ng-template #defaultStyle>\n <input [id]=\"id\"\n type=\"checkbox\"\n class=\"form-check-input\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [class.semi-checked]=\"isIndeterminate\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n </ng-template>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #error>\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n</ng-template>\n","/**\n * General Email Regex (RFC 5322 Official Standard)\n * http://emailregex.com/\n */\nexport const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/\n\n/**\n * Phone number Regex\n */\nexport const PHONE_NUMBER_REGEX = /^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{3})(?: *x(\\d+))?\\s*$/\n\n/**\n * URL Regex\n */\nexport const URL_REGEX = /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/\n\n/**\n * The italian tax code Regex (Codice Fiscale)\n */\nexport const ITALIAN_TAX_CODE_REGEX = /^[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]$/\n\n/**\n * The VAT number Regex (Partita iva)\n */\nexport const VAT_NUMBER_REGEX = /^[0-9]{11}$/\n\n/**\n * Italian CAP Regex\n */\nexport const CAP_REGEX = /^[0-9]{5}$/;\n","import {AbstractControl, ValidationErrors, ValidatorFn, Validators} from '@angular/forms';\nimport {\n CAP_REGEX,\n EMAIL_REGEX,\n ITALIAN_TAX_CODE_REGEX,\n PHONE_NUMBER_REGEX,\n URL_REGEX,\n VAT_NUMBER_REGEX\n} from \"../utils/regex\";\n\nexport class ItValidators {\n public static SpecialCharacterPattern = '!@#$%&*_+=;:|,.';\n\n /**\n * Static pattern validator with custom error\n * @param regex\n * @param error\n */\n public static customPattern(regex: RegExp, error: ValidationErrors): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) {\n // if control is empty return no error\n return null;\n }\n\n // test the value of the control against the regexp supplied\n const valid = regex.test(control.value);\n\n // if true, return no error (no error), else return error passed in the second parameter\n return valid ? null : error;\n };\n }\n\n /**\n * Set Validator if the condition is satisfied\n * @param validator the validator to apply if the condition is true\n * @param condition the condition\n */\n public static conditional(validator: ValidatorFn, condition: (control: AbstractControl) => boolean): ValidatorFn {\n return formControl => {\n if (!formControl.parent) {\n return null;\n }\n if (condition(formControl)) {\n return validator(formControl);\n }\n return null;\n };\n }\n\n /**\n * Check whether our password and confirm password are a match\n * @param control\n */\n public static passwordMatch(control: AbstractControl): AbstractControl | null {\n const confirmControl = control.get('passwordConfirm'); //confirmPassword form control\n if (!confirmControl) {\n return null;\n }\n\n const password = control.get('password')?.value; // get password from our password form control\n\n // compare is the password match\n if ((password && !confirmControl.value) || (confirmControl.value && password !== confirmControl.value)) {\n // if they don't match, set an error in our confirmPassword form control\n confirmControl?.setErrors({noPasswordMatch: true});\n confirmControl?.markAsTouched();\n return control;\n }\n\n if (password) {\n confirmControl?.markAsTouched();\n }\n return null;\n }\n\n /**\n * Password validator\n * @param minLength minimum password length - default 10\n * @param hasNumber check whether the entered password has a number - default true\n * @param hasCapitalCase check whether the entered password has upper case letter - default true\n * @param hasSmallCase check whether the entered password has a lower-case letter - default true\n * @param hasSpecialCharacters check whether the entered password has a special character - default true\n */\n public static password(minLength = 10, hasNumber = true, hasCapitalCase = true, hasSmallCase = true, hasSpecialCharacters = true): ValidatorFn {\n return <ValidatorFn>Validators.compose([\n Validators.required,\n ItValidators.customPattern(/\\d/, {hasNumber: hasNumber}),\n ItValidators.customPattern(/[A-Z]/, {hasCapitalCase: hasCapitalCase}),\n ItValidators.customPattern(/[a-z]/, {hasSmallCase: hasSmallCase}),\n ItValidators.customPattern(new RegExp(`[${ItValidators.SpecialCharacterPattern}]`), {hasSpecialCharacters: hasSpecialCharacters}),\n Validators.minLength(minLength)\n ]);\n }\n\n /**\n * Email validator\n */\n public static email(): Array<ValidatorFn> {\n return [Validators.email, ItValidators.customPattern(EMAIL_REGEX, {invalidEmail: true})]\n }\n\n /**\n * Phone number validator\n */\n public static tel(): ValidatorFn {\n return ItValidators.customPattern(PHONE_NUMBER_REGEX, {invalidTel: true})\n }\n\n /**\n * URL validator\n */\n public static url(): ValidatorFn {\n return ItValidators.customPattern(URL_REGEX, {invalidUrl: true})\n }\n\n /**\n * Italian Tax Code validator\n */\n public static taxCode(): ValidatorFn {\n return ItValidators.customPattern(ITALIAN_TAX_CODE_REGEX, {invalidTaxCode: true})\n }\n\n /**\n * VAT Number validator\n */\n public static vatNumber(): ValidatorFn {\n return ItValidators.customPattern(VAT_NUMBER_REGEX, {invalidVatNumber: true})\n }\n\n /**\n * Italian Postal Code validator (CAP)\n */\n public static cap(): ValidatorFn {\n return ItValidators.customPattern(CAP_REGEX, {invalidCap: true})\n }\n\n /**\n * Check if value is a valid RegExp\n */\n public static regExp(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n try {\n if (control?.value) {\n new RegExp(control.value)\n }\n } catch (e) {\n return {invalidRegex: true};\n }\n return null;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { AbstractFormComponent } from '../../../abstracts/abstract-form-component';\nimport { InputControlType } from '../../../interfaces/form';\nimport { AbstractControl, ValidatorFn, Validators } from '@angular/forms';\nimport { ItValidators } from '../../../validators/it-validators';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'it-input[id]',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss']\n})\nexport class InputComponent extends AbstractFormComponent<string | number> {\n\n /**\n * The input type\n * @default text\n */\n @Input() type: InputControlType = 'text';\n\n /**\n * The input placeholder\n */\n @Input() placeholder: string = '';\n\n /**\n * The input description\n */\n @Input() description?: string;\n\n /**\n * To prevent modification of the contained value.\n * - <b>plaintext</b>: Readonly field in the form stylized as plain text\n */\n @Input() readonly?: BooleanInput | 'plaintext';\n\n /**\n * The max value [Used only in type = 'number']\n */\n @Input() max?: number;\n\n /**\n * The min value [Used only in type = 'number']\n */\n @Input() min?: number;\n\n /**\n * The step value [Used only in type = 'number']\n */\n @Input() step?: number | 'any';\n\n /**\n * If is a currency number [Used only in type = 'number']\n */\n @Input() currency?: BooleanInput;\n\n /**\n * If is a percentage number [Used only in type = 'number']\n */\n @Input() percentage?: BooleanInput;\n\n /**\n * To make the numeric field automatically resize according to the value contained in it. [Used only in type = 'number']\n */\n @Input() adaptive?: BooleanInput;\n\n get isActiveLabel(): boolean {\n const value = this.control.value;\n if ((!!value && value !== 0) || value === 0 || !!this.placeholder) {\n return true;\n }\n\n if (this.type === 'number' && (isTrueBooleanInput(this.currency) || isTrueBooleanInput(this.percentage))) {\n return true;\n }\n\n return this.type === 'date' || this.type === 'time';\n }\n\n /**\n * Check is readonly field\n */\n get isReadonly(): boolean {\n return this.readonly === 'plaintext' || isTrueBooleanInput(this.readonly);\n }\n\n /**\n * Return the invalid message string from TranslateService\n */\n override get invalidMessage(): Observable<string> {\n if (this.hasError('min') && this.min) {\n return this._translateService.get('it.errors.min-invalid', {\n min: this.min\n });\n }\n if (this.hasError('max') && this.max) {\n return this._translateService.get('it.errors.max-invalid', {\n max: this.max\n });\n }\n if (this.hasError('minlength')) {\n const error = this.getError('minlength');\n return this._translateService.get('it.errors.min-length-invalid', { min: error.requiredLength });\n }\n if (this.hasError('maxlength')) {\n const error = this.getError('maxlength');\n return this._translateService.get('it.errors.max-length-invalid', { max: error.requiredLength });\n }\n if (this.hasError('email') || this.hasError('invalidEmail')) {\n return this._translateService.get('it.errors.email-invalid');\n }\n if (this.hasError('invalidTel')) {\n return this._translateService.get('it.errors.tel-invalid');\n }\n if (this.hasError('invalidUrl')) {\n return this._translateService.get('it.errors.url-invalid');\n }\n if (this.hasError('invalidTaxCode')) {\n return this._translateService.get('it.errors.tax-code-invalid');\n }\n if (this.hasError('invalidVatNumber')) {\n return this._translateService.get('it.errors.vat-number-invalid');\n }\n if (this.hasError('invalidCap')) {\n return this._translateService.get('it.errors.cap-invalid');\n }\n if (this.hasError('invalidRegex')) {\n return this._translateService.get('it.errors.regex-invalid');\n }\n if (this.hasError('pattern')) {\n const error = this.getError('pattern');\n return this._translateService.get('it.errors.pattern-invalid', { pattern: error.requiredPattern });\n }\n\n return super.invalidMessage;\n }\n\n override ngOnInit() {\n super.ngOnInit();\n\n const validators: Array<ValidatorFn> = [];\n switch (this.type) {\n case 'number':\n if (isTrueBooleanInput(this.percentage)) {\n this.min = this.min || 0;\n this.max = this.max || 100;\n }\n\n // Dynamic min/max validators\n validators.push((control: AbstractControl) => this.min ? Validators.min(this.min)(control) : null);\n validators.push((control: AbstractControl) => this.max ? Validators.max(this.max)(control) : null);\n break;\n case 'email':\n validators.push(ItValidators.email);\n break;\n case 'tel':\n validators.push(ItValidators.tel);\n break;\n case 'url':\n validators.push(ItValidators.url);\n break;\n }\n\n this.addValidators(validators);\n }\n\n /**\n * Increment or decrease the input number value of step\n * @param decrease true to decrease value\n */\n incrementNumber(decrease: boolean = false): void {\n if (this.type !== 'number') {\n return;\n }\n const step = (this.step === 'any' ? 1 : (this.step ?? 1));\n let value = Number(this.control.value);\n value = (isNaN(value) ? 0 : value) + (decrease ? -step : step);\n value = Math.round(value * 1e12) / 1e12; // prevent js decimal error\n\n if (this.min !== undefined && value < this.min) {\n value = this.min;\n } else if (this.max !== undefined && value > this.max) {\n value = this.max;\n }\n\n this.control.setValue(value);\n }\n\n}\n","<div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\" [class.d-none]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n <div #prepend>\n <ng-content select=\"[prepend]\"></ng-content>\n </div>\n <div class=\"input-group-text\" #prependText>\n <ng-content select=\"[prependText]\"></ng-content>\n </div>\n </div>\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"isActiveLabel\"\n [class.empty-prepend-label]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n {{label}}\n </label>\n\n <span *ngIf=\"type === 'number'\"\n class=\"input-number\"\n [class.input-number-currency]=\"currency\"\n [class.input-number-percentage]=\"percentage\"\n [class.input-number-adaptive]=\"adaptive\">\n\n <input type=\"number\"\n [id]=\"id\"\n [step]=\"step ?? null\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\" />\n\n <button type=\"button\" class=\"input-number-add\" (click)=\"incrementNumber()\">\n <span class=\"visually-hidden\">{{'it.form.increase-value'}}</span>\n </button>\n <button type=\"button\" class=\"input-number-sub\" (click)=\"incrementNumber(true)\">\n <span class=\"visually-hidden\">{{'it.form.decrease-value'}}</span>\n </button>\n </span>\n\n <input *ngIf=\"type !== 'number'\"\n [id]=\"id\"\n [type]=\"type\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\">\n\n <div class=\"input-group-append\">\n <ng-content select=\"[append]\"></ng-content>\n\n <div class=\"input-group-text\">\n <ng-content select=\"[appendText]\"></ng-content>\n </div>\n </div>\n </div>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { AbstractFormComponent } from '../../../abstracts/abstract-form-component';\nimport { ItValidators } from '../../../validators/it-validators';\nimport { Observable } from 'rxjs';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\nimport { InputPassword } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-password-input[id]',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss']\n})\nexport class PasswordInputComponent extends AbstractFormComponent<string> {\n\n /**\n * The password minimum length\n * @default 10\n */\n @Input() minLength: number = 10;\n\n /**\n * The password must contain at least one number\n * @default true\n */\n @Input() useNumber: boolean = true;\n\n /**\n * The password must contain at least one uppercase character\n * @default true\n */\n @Input() useCapitalCase: boolean = true;\n\n /**\n * The password must contain at least one lowercase character\n * @default true\n */\n @Input() useSmallCase: boolean = true;\n\n /**\n * The password must contain at least one special character\n * @default true\n */\n @Input() useSpecialCharacters: boolean = true;\n\n /**\n * The input placeholder\n */\n @Input() placeholder: string = '';\n\n /**\n * The input description\n */\n @Input() description?: string;\n\n /**\n * Enable to show the strength meter\n */\n @Input() showStrengthMeter?: BooleanInput;\n\n inputPasswordBs?: any;\n\n @ViewChild('input')\n private inputElement?: ElementRef<HTMLInputElement>;\n\n override ngOnInit() {\n super.ngOnInit();\n\n this.addValidators(ItValidators.password(\n this.minLength,\n this.useNumber,\n this.useCapitalCase,\n this.useSmallCase,\n this.useSpecialCharacters\n ));\n }\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n\n if (this.inputElement) {\n this.inputPasswordBs = new InputPassword(this.inputElement.nativeElement, {\n ...this.description && { enterPass: this.description },\n showText: this.isStrengthMeter,\n minimumLength: this.minLength\n });\n }\n }\n\n get isStrengthMeter(): boolean {\n return isTrueBooleanInput(this.showStrengthMeter);\n }\n\n /**\n * Return the invalid message string from TranslateService\n */\n override get invalidMessage(): Observable<string> {\n if (this.hasError('noPasswordMatch')) {\n return this._translateService.get('it.errors.password-no-match');\n }\n if (this.hasError('minlength')) {\n return this._translateService.get('it.errors.password-min-length', {\n minLength: this.minLength\n });\n }\n if (this.hasError('hasNumber')) {\n return this._translateService.get('it.errors.password-number');\n }\n if (this.hasError('hasCapitalCase')) {\n return this._translateService.get('it.errors.password-capital-case');\n }\n if (this.hasError('hasSmallCase')) {\n return this._translateService.get('it.errors.password-capital-case');\n }\n if (this.hasError('hasSpecialCharacters')) {\n return this._translateService.get('it.errors.password-special-character');\n }\n\n return super.invalidMessage;\n }\n}\n","<div class=\"form-group\">\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n\n <input type=\"password\"\n [id]=\"id\"\n class=\"form-control input-password\"\n [class.input-password-strength-meter]=\"isStrengthMeter\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [attr.aria-describedby]=\"id + '-description'\" #input>\n\n <span class=\"password-icon\" aria-hidden=\"true\">\n <it-icon name=\"password-visible\" size=\"sm\" class=\"password-icon-visible\"></it-icon>\n <it-icon name=\"password-invisible\" size=\"sm\" class=\"password-icon-invisible d-none\"></it-icon>\n </span>\n\n <small *ngIf=\"description && !isStrengthMeter\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AbstractFormComponent } from '../../../abstracts/abstract-form-component';\nimport { BooleanInput, isFalseBooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-radio-button[id][label][value]',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss']\n})\nexport class RadioButtonComponent extends AbstractFormComponent<string | number> {\n\n /**\n * The radio value\n */\n @Input() value?: string | number;\n\n /**\n * If show radio inline\n * @default false\n */\n @Input() inline: BooleanInput = false;\n\n /**\n * If is radio group\n * @default false\n */\n @Input() group: BooleanInput = false;\n\n /**\n * If is radio is checked\n */\n @Input() checked?: BooleanInput;\n\n get isInline(): boolean {\n return isTrueBooleanInput(this.inline);\n }\n\n get isGroup(): boolean {\n return isTrueBooleanInput(this.group);\n }\n\n get name(): string {\n return this._ngControl?.name?.toString() || '';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n\n if (this.control.value || !this.value || isFalseBooleanInput(this.checked)) {\n return;\n }\n\n this.writeValue(this.value);\n return this.onChange(this.value);\n }\n}\n","<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"isInline\">\n\n <input\n [id]=\"id\"\n type=\"radio\"\n [value]=\"value\"\n class=\"form-check-input\"\n [name]=\"name\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</ng-container>\n","import { Component, Input } from '@angular/core';\nimport { AbstractFormComponent } from '../../../abstracts/abstract-form-component';\nimport { SelectControlGroup, SelectControlOption } from '../../../interfaces/form';\n\n@Component({\n selector: 'it-select[id][options]',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss']\n})\nexport class SelectComponent extends AbstractFormComponent {\n\n /**\n * The select options\n */\n @Input() options!: Array<SelectControlOption>;\n\n /**\n * The select group options\n */\n @Input() groups?: Array<SelectControlGroup>;\n\n /**\n * The select description\n */\n @Input() description?: string;\n\n override ngOnInit() {\n super.ngOnInit();\n\n if (this.control.value) {\n return;\n }\n const selectedOption = this.options.find(this.optionIsSelected);\n if (selectedOption) {\n this.writeValue(selectedOption.value);\n return this.onChange(selectedOption.value);\n }\n\n const selectedGroupOption = this.groups?.flatMap(g => g.options).find(this.optionIsSelected);\n if (selectedGroupOption) {\n this.writeValue(selectedGroupOption.value);\n this.onChange(selectedGroupOption.value);\n }\n }\n\n /**\n * Check if the option is selected\n * @param option the option\n */\n optionIsSelected(option: SelectControlOption): boolean {\n if (option.selected === true) {\n return true;\n }\n\n if (typeof option.selected === 'function') {\n return option.selected(this.control.value);\n }\n\n return false;\n }\n\n /**\n * Check if the option is disabled\n * @param option the option\n */\n optionIsDisabled(option: SelectControlOption): boolean {\n if (option.disabled === true) {\n return true;\n }\n\n if (typeof option.disabled === 'function') {\n return option.disabled(this.control.value);\n }\n\n return false;\n }\n}\n","<div class=\"select-wrapper\">\n <label [for]=\"id\">{{label}}</label>\n <select [id]=\"id\" [formControl]=\"control\" [attr.aria-describedby]=\"id + '-description'\">\n <option *ngFor=\"let option of options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n\n <ng-container *ngIf=\"groups\">\n <optgroup *ngFor=\"let group of groups\" [label]=\"group.label\">\n <option *ngFor=\"let option of group.options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AbstractFormComponent } from '../../../abstracts/abstract-form-component';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'it-textarea[id]',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss']\n})\nexport class TextareaComponent extends AbstractFormComponent<string> {\n\n /**\n * Textarea Rows\n * @default 3\n */\n @Input() rows?: number = 3;\n\n /**\n * The textarea placeholder\n */\n @Input() placeholder: string = '';\n\n /**\n * The input description\n */\n @Input() description?: string;\n\n /**\n * Return the invalid message string from TranslateService\n */\n override get invalidMessage(): Observable<string> {\n if (this.control.hasError('maxlength')) {\n const error = this.getError('maxlength');\n return this._translateService.get('it.errors.max-length-invalid', { max: error.requiredLength });\n }\n if (this.control.hasError('pattern')) {\n const error = this.getError('pattern');\n return this._translateService.get('it.errors.pattern-invalid', { pattern: error.requiredPattern });\n }\n\n return super.invalidMessage;\n }\n}\n","<div class=\"form-group\">\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n (blur)=\"markAsTouched()\"></textarea>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n","import { Observable } from 'rxjs';\n\nexport class FileUtils {\n\n /**\n * Return the file size string\n * @param file the file\n * @param decimals decimal to show\n */\n public static getFileSizeString(file: File, decimals = 2): string {\n const bytes = file.size;\n if (!+bytes) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n }\n\n /**\n * Convert a file to base64 string\n * @param file the base64 string\n */\n public static fileToBase64(file: File): Observable<string> {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n return new Observable<string>(observer => {\n reader.onload = (e) => {\n const target = e.target;\n if (!target || !target.result || target.result instanceof ArrayBuffer) {\n return observer.error('Error on parse');\n }\n observer.next(target.result);\n observer.complete();\n };\n reader.onerror = error => {\n observer.error(error);\n };\n });\n }\n\n /**\n * Convert base64 to Blob\n * @param base64 the base64 string\n * @param mimeType the <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\">MIME type</a> (example 'application/pdf')\n */\n public static base64ToBlob(base64: string, mimeType: string): Blob {\n const byteString = window.atob(base64);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n return new Blob([int8Array], { type: mimeType });\n }\n\n /**\n * Convert base64 to File\n * @param base64 the base64 string\n * @param mimeType the <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\">MIME type</a> (example 'application/pdf')\n * @param filename the file name\n */\n public static base64ToFile(base64: string, mimeType: string, filename: string): File {\n const fileBlob = FileUtils.base64ToBlob(base64, mimeType);\n return new File([fileBlob], filename, { type: mimeType });\n }\n}\n","import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { AbstractComponent } from '../../../abstracts/abstract.component';\nimport { FileUtils } from '../../../utils/file-utils';\nimport { ProgressDonut } from 'bootstrap-italia';\n\n@Component({\n selector: 'it-upload-drag-drop[id]',\n templateUrl: './upload-drag-drop.component.html',\n styleUrls: ['./upload-drag-drop.component.scss'],\n exportAs: 'itUploadDragDrop'\n})\nexport class UploadDragDropComponent extends AbstractComponent {\n\n /**\n * The accepted file type to upload <br>\n * Possible values: <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\">MIME Types</a> separated by comma\n * @example application/pdf,image/png\n * @default *\n */\n @Input() accept: string = '*';\n\n /**\n * Fired when file start to upload\n */\n @Output() fileStartUpload = new EventEmitter<File>();\n\n isDragover: boolean = false;\n isLoading: boolean = false;\n isSuccess: boolean = false;\n\n donut?: any;\n\n @ViewChild('donutElement')\n private donutElement?: ElementRef<HTMLDivElement>;\n\n filename?: string;\n extension?: string;\n fileSize?: string;\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.donutElement) {\n this.donut = ProgressDonut.getOrCreateInstance(this.donutElement.nativeElement);\n }\n }\n\n // Dragover listener\n @HostListener('dragover', ['$event'])\n public onDragOver(evt: DragEvent): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.isDragover = !this.isLoading;\n }\n\n\n // Dragleave listener\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt: DragEvent): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.isDragover = false;\n }\n\n // Drop leave listener\n @HostListener('drop', ['$event'])\n public onDrop(evt: DragEvent): void {\n evt.preventDefault();\n evt.stopPropagation();\n\n this.isDragover = false;\n const files = evt.dataTransfer?.files;\n if (this.isLoading || !files?.length) {\n return;\n }\n this.start(files[0]);\n }\n\n /**\n * On load file from input\n * @param event\n */\n onLoadFile(event: Event): void {\n const files = (event.target as HTMLInputElement)?.files;\n if (!files?.length) {\n return;\n }\n this.start(files[0]);\n }\n\n /**\n * Start the upload file\n * @param file\n */\n public start(file: File): void {\n if (this.accept !== '*' && !this.accept.includes(file.type)) {\n return;\n }\n\n this.donut?.set(0);\n this.isLoading = true;\n\n const splitName = file.name.split('.');\n this.filename = splitName[0];\n this.extension = splitName[1]?.toUpperCase();\n this.fileSize = FileUtils.getFileSizeString(file);\n\n this.fileStartUpload.emit(file);\n }\n\n /**\n * Percentage of upload\n * @param value the percentage\n */\n public progress(value: number) {\n if (value >= 100) {\n this.success();\n } else {\n this.donut?.set(((value < 0) ? 0 : value) / 100);\n }\n }\n\n /**\n * Upload success\n */\n public success(): void {\n this.isLoading = false;\n this.isSuccess = true;\n }\n\n /**\n * Reset file uploader\n */\n public reset(): void {\n this.isLoading = false;\n this.isSuccess = false;\n this.filename = this.extension = this.fileSize = undefined;\n this.donut?.set(0);\n }\n\n}\n","<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img src=\"/bootstrap-italia/dist/assets/upload-drag-drop-icon.svg\" alt=\"drag-drop-icon\" aria-hidden=\"true\">\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{extension}} ({{fileSize}})\n </p>\n <h5>{{filename || ('it.form.upload-drag-file'|translate)}}</h5>\n <p *ngIf=\"isLoading\">{{'it.form.upload-loading'|translate}}</p>\n <p *ngIf=\"isSuccess\">{{'it.form.upload-complete'|translate}}</p>\n <p *ngIf=\"!isLoading && !isSuccess\">{{'it.form.upload-or'|translate}}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\"/>\n <label [for]=\"id\">{{'it.form.upload-select-device'|translate}}</label>\n </p>\n </div>\n</div>\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';\nimport {AbstractComponent} from \"../../../abstracts/abstract.component\";\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\nimport {UploadFileListItem} from \"../../../interfaces/form\";\nimport {FileUtils} from \"../../../utils/file-utils\";\nimport {take} from \"rxjs\";\n\n@Component({\n selector: 'it-upload-file-list[id][fileList]',\n templateUrl: './upload-file-list.component.html',\n styleUrls: ['./upload-file-list.component.scss']\n})\nexport class UploadFileListComponent extends AbstractComponent implements OnInit, OnChanges {\n\n /**\n * The list of files to show in list\n */\n @Input() fileList!: Array<UploadFileListItem>;\n\n /**\n * The accepted file type to upload\n * @default *\n */\n @Input() accept: string = \"*\";\n\n /**\n * If upload multiple files\n */\n @Input() multiple: BooleanInput = true;\n\n /**\n * If is file list image\n */\n @Input() images?: BooleanInput;\n\n /**\n * Hide the load button\n */\n @Input() hideLoadButton?: BooleanInput;\n\n /**\n * Fired when upload new files\n */\n @Output() uploadFiles: EventEmitter<FileList> = new EventEmitter<FileList>();\n\n /**\n * Fired on delete item button click\n */\n @Output() deleteItem: EventEmitter<UploadFileListItem> = new EventEmitter<UploadFileListItem>();\n\n /**\n * Cache to preview image\n */\n previewImages: Map<number, string> = new Map<number, string>();\n\n ngOnInit(): void {\n if (this.isImageList && this.accept === '*') {\n this.accept = 'image/*'\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fileList'] && this.isImageList) {\n this.fileList.forEach(item => {\n FileUtils.fileToBase64(item.file).pipe(take(1)).subscribe(base64 => {\n this.previewImages.set(item.id, base64);\n })\n })\n }\n }\n\n get isMultipleInput(): boolean {\n return isTrueBooleanInput(this.multiple);\n }\n\n get isImageList(): boolean {\n return isTrueBooleanInput(this.images);\n }\n\n get isHideLoadButton(): boolean {\n return isTrueBooleanInput(this.hideLoadButton);\n }\n\n /**\n * On load file from input\n * @param event\n */\n onLoadFiles(event: Event): void {\n const files = (event.target as HTMLInputElement)?.files;\n if (!files || !files.length) {\n return;\n }\n this.uploadFiles.emit(files);\n }\n\n /**\n * Get the file size string\n * @param file\n */\n getFileSize(file: File): string {\n return FileUtils.getFileSizeString(file);\n }\n\n}\n","<ng-container *ngIf=\"!isHideLoadButton\">\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"isMultipleInput\"\n (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{'it.form.upload'|translate}}</span>\n </label>\n</ng-container>\n\n<ul class=\"upload-file-list\" [class.upload-file-list-image]=\"isImageList\" *ngIf=\"fileList.length\">\n <li *ngFor=\"let item of fileList\" class=\"upload-file\"\n [class.error]=\"!!item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n\n <div class=\"upload-image\" *ngIf=\"isImageList; else icon\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n <ng-template #icon>\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? 'primary' : 'danger'\"></it-icon>\n </ng-template>\n\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{'it.form.uploaded-file'|translate : { name: item.file.name } }}</span>\n {{item.file.name}} <span class=\"upload-file-weight\">{{getFileSize(item.file)}}</span>\n </p>\n\n <button *ngIf=\"item.removable && (!item.progress || item.progress < 100)\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{'it.form.delete-file'|translate : { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n <button disabled *ngIf=\"(!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)\">\n <span class=\"visually-hidden\">{{'it.form.upload-complete'|translate}}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n\n <it-progress-bar *ngIf=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [value]=\"item.progress\"></it-progress-bar>\n </li>\n</ul>\n","import { Component, Input } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { BooleanInput, isTrueBooleanInput } from '../../../utils/boolean-input';\n\n@Component({\n selector: 'it-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n exportAs: 'itBackButton'\n})\nexport class BackButtonComponent {\n\n /**\n * Back button style\n * - <b>link</b>: use a link with icon and text\n * - <b>button</b>: use a button with icon and text\n * @default button\n */\n @Input() buttonStyle: 'link' | 'button' = 'button';\n\n /**\n * Button direction\n * - <b>left</b>: Back direction\n * - <b>up</b>: Upper direction\n * @default left\n */\n @Input() direction: 'left' | 'up' = 'left';\n\n /**\n * Show/Hide icon\n * @default true\n */\n @Input() showIcon: BooleanInput = true;\n\n /**\n * Show/Hide text\n * @default true\n */\n @Input() showText: BooleanInput = true;\n\n /**\n * Custom back logic <br/>\n *\n * NOTE: to use 'this' need bind function <br/>\n * @example backCbFn = this.errorCallback.bind(this);\n * (errorCallback is your function, pass backCbFn to the component)\n */\n @Input() backFn?: (location: Location) => void;\n\n get isShowIcon(): boolean {\n return isTrueBooleanInput(this.showIcon);\n }\n\n get isShowText(): boolean {\n return isTrueBooleanInput(this.showText);\n }\n\n constructor(\n public readonly _location: Location\n ) {\n }\n\n /**\n * Go back function\n */\n public goBack(): void {\n if (this.backFn) {\n return this.backFn(this._location);\n }\n\n this._location.back();\n }\n}\n","<a *ngIf=\"buttonStyle === 'link'\" class=\"go-back\" data-bs-toggle=\"historyback\" (click)=\"goBack()\" [routerLink]=\"null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<button *ngIf=\"buttonStyle === 'button'\"\n itButton=\"primary\"\n class=\"go-back\"\n data-bs-toggle=\"historyback\"\n (click)=\"goBack()\">\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</button>\n\n<ng-template #content>\n <it-icon *ngIf=\"isShowIcon\"\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"isShowText\"></it-icon>\n\n <span [class.visually-hidden]=\"!isShowText\">\n {{(direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate}}\n </span>\n</ng-template>\n","import {Component, Input} from '@angular/core';\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\nimport {AbstractComponent} from \"../../../abstracts/abstract.component\";\n\n@Component({\n selector: 'it-back-to-top',\n templateUrl: './back-to-top.component.html',\n styleUrls: ['./back-to-top.component.scss']\n})\nexport class BackToTopComponent extends AbstractComponent {\n\n /**\n * The back to top ID\n * @default 'back-to-top-button'\n */\n @Input() override id: string = 'back-to-top-button';\n\n /**\n * Show small button\n */\n @Input() small?: BooleanInput;\n\n /**\n * Show shadow\n */\n @Input() shadow?: BooleanInput;\n\n /**\n * Button usable button on a dark background\n */\n @Input() dark?: BooleanInput;\n\n get isSmall(): boolean {\n return isTrueBooleanInput(this.small);\n }\n\n get isShadow(): boolean {\n return isTrueBooleanInput(this.shadow);\n }\n\n get isDark(): boolean {\n return isTrueBooleanInput(this.dark);\n }\n}\n","<a [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n data-bs-toggle=\"backtotop\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"isSmall\"\n [class.shadow]=\"isShadow\"\n [class.dark]=\"isDark\">\n\n <it-icon name=\"arrow-up\" [color]=\"isDark ? 'secondary' : 'light'\"></it-icon>\n</a>\n","import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { BooleanInput, isTrueBooleanInput } from '../../../../utils/boolean-input';\nimport { IconName } from '../../../../interfaces/icon';\nimport { LinkComponent } from '../../../core/link/link.component';\n\n@Component({\n selector: 'it-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss']\n})\nexport class BreadcrumbItemComponent extends LinkComponent {\n\n /**\n * Is active breadcrumb item\n */\n @Input() active?: BooleanInput;\n\n /**\n * The name of icon to show\n */\n @Input() iconName?: IconName;\n\n /**\n * The content of item\n */\n @ViewChild(TemplateRef)\n public htmlContent!: TemplateRef<any>;\n\n get isActive(): boolean {\n return isTrueBooleanInput(this.active);\n }\n\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {ChangeDetectorRef, Component, ContentChildren, Input, QueryList} from '@angular/core';\nimport {BreadcrumbItemComponent} from \"../breadcrumb-item/breadcrumb-item.component\";\nimport {BooleanInput, isTrueBooleanInput} from \"../../../../utils/boolean-input\";\n\n@Component({\n selector: 'it-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n /**\n * The character to use as separator\n * @default /\n */\n @Input() separator: string = '/';\n\n /**\n * Dark style\n */\n @Input() dark?: BooleanInput;\n\n /**\n * The tab items\n */\n @ContentChildren(BreadcrumbItemComponent) items?: QueryList<BreadcrumbItemComponent>;\n\n get isDark(): boolean {\n return isTrueBooleanInput(this.dark);\n }\n\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {\n }\n\n ngAfterViewInit(): void {\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * Check if index is last item\n * @param index\n */\n isLastItem(index: number): boolean {\n return !!this.items && index >= (this.items.length - 1);\n }\n\n}\n","<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path'|translate\">\n <ol class=\"breadcrumb\" [class.dark]=\"isDark\" [class.px-3]=\"isDark\">\n <li *ngFor=\"let item of items; let i = index\"\n class=\"breadcrumb-item\"\n [class.active]=\"item.isActive\"\n [attr.aria-current]=\"item.isActive ? 'page' : null\">\n\n <it-icon *ngIf=\"item.iconName\"\n [name]=\"item.iconName\"\n [color]=\"isDark ? 'white' : 'secondary'\"\n size=\"sm\"\n class=\"align-top me-1\"></it-icon>\n\n <it-link *ngIf=\"!item.isActive && !isLastItem(i); else activeContent\"\n [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n\n <ng-template #activeContent>\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </ng-template>\n\n <span *ngIf=\"!isLastItem(i)\" class=\"separator\">{{separator}}</span>\n </li>\n </ol>\n</nav>\n","import {Component, ElementRef, EventEmitter, Input, Output, Renderer2} from '@angular/core';\nimport {BooleanInput, isTrueBooleanInput} from \"../../../utils/boolean-input\";\nimport {AbstractComponent} from \"../../../abstracts/abstract.component\";\n\n@Component({\n selector: 'it-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent extends AbstractComponent {\n\n @Input() light?: BooleanInput;\n\n @Input() showSlim?: BooleanInput = true;\n\n @Input() slimTitle?: string;\n\n @Input() loginStyle: 'none' | 'default' | 'full' = 'full';\n\n @Input() smallHeader?: BooleanInput = true;\n\n @Input() showSearch?: BooleanInput = true;\n\n @Output() loginClick: EventEmitter<Event>;\n\n @Output() searchClick: EventEmitter<Event>;\n\n /**\n * TODO: complete header\n * @param _renderer\n * @param _elementRef\n */\n constructor(\n protected override readonly _renderer: Renderer2,\n protected override readonly _elementRef: ElementRef\n ) {\n super(_renderer, _elementRef);\n this.loginClick = new EventEmitter<Event>()\n this.searchClick = new EventEmitter<Event>()\n }\n\n get isLight(): boolean {\n return isTrueBooleanInput(this.light);\n }\n\n get isShowSlim(): boolean {\n return isTrueBooleanInput(this.showSlim);\n }\n\n get isSmallHeader(): boolean {\n return isTrueBooleanInput(this.smallHeader);\n }\n\n get isShowSearch(): boolean {\n return isTrueBooleanInput(this.showSearch);\n }\n\n}\n","<header class=\"it-header-wrapper\">\n <div *ngIf=\"isShowSlim\" class=\"it-header-slim-wrapper\" [class.theme-light]=\"isLight\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" href=\"#\">{{slimTitle}}</a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation'|translate\">\n <a class=\"it-opener d-lg-none\" data-bs-toggle=\"collapse\" href=\"#menuC1\" role=\"button\"\n aria-expanded=\"false\" aria-controls=\"menuC1\">\n <span>{{slimTitle}}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <!-- TODO: add language dropdown -->\n <ng-content select=\"[slimRightZone]\"></ng-content>\n <div *ngIf=\"loginStyle === 'default'\" class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"loginClick.emit($event)\">\n {{'it.navigation.login'|translate}}\n </a>\n </div>\n </div>\n <button *ngIf=\"loginStyle === 'full'\" itButton=\"primary\" class=\"btn-full\" (click)=\"loginClick.emit($event)\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n <span class=\"d-none d-lg-block\">{{'it.navigation.full-login'|translate}}</span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"isSmallHeader\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n <div class=\"it-search-wrapper\" *ngIf=\"isShowSearch\">\n <span class=\"d-none d-md-block\">{{'it.navigation.search'|translate}}</span>\n <a class=\"search-link rounded-icon\" [attr.aria-label]=\"'it.navigation.website-search'|translate\" (click)=\"searchClick.emit($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- TODO: complete header -->\n </div>\n</header>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'it-not-found-page',\n templateUrl: './not-found-page.component.html',\n styleUrls: ['./not-found-page.component.scss']\n})\nexport class NotFoundPageComponent {\n\n}\n","<div class=\"error-template text-center mt-5\">\n <h1>404</h1>\n <h2>{{'it.utils.404.title' | translate}}</h2>\n <p>{{'it.utils.404.description' | translate}}</p>\n\n <div class=\"mt-3\">\n <it-back-button></it-back-button>\n <a class=\"btn btn-primary ms-3\" href=\"/\" title=\"{{'it.utils.404.go-to-homepage' | translate}}\">\n {{'it.utils.404.go-to-homepage' | translate}}\n </a>\n </div>\n\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IconName } from '../../../interfaces/icon';\n\nexport type ChipColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning';\n\n@Component({\n selector: 'it-chip',\n templateUrl: './chip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChipComponent {\n\n /**\n * Indica la label\n */\n @Input() set label (value: string) { this._label = value; }\n get label (): string { return this._label; }\n private _label = '';\n\n /**\n * Indica se mostrate il pulante di chisura\n */\n @Input() set showCloseButton (value: boolean) { this._showCloseButton = value; }\n get showCloseButton (): boolean { return this._showCloseButton; }\n private _showCloseButton = false;\n\n /**\n * Indica il size\n */\n @Input() set size (value: '' | 'lg') { this._size = value; }\n get size (): '' | 'lg' { return this._size; }\n private _size: '' | 'lg' = '';\n\n /**\n * Indica il colore della chip\n */\n @Input() set color (value: ChipColor | undefined) { this._color = value; }\n get color (): ChipColor | undefined { return this._color; }\n private _color: ChipColor | undefined = undefined;\n\n /**\n * Indica se la chip è disabilitata\n */\n @Input() set disabled (value: boolean) { this._disabled = value; }\n get disabled (): boolean { return this._disabled; }\n private _disabled: boolean = false;\n\n /**\n * Indica il nome dell'icona, se valorizzata viene mostrata\n */\n @Input() set icon (value: IconName | undefined) { this._icon = value; }\n get icon (): IconName | undefined { return this._icon; }\n private _icon: IconName | undefined = undefined;\n\n /**\n * Indica l'url dell'avatar, se valorizzata viene mostrata\n */\n @Input() set avatar (value: string | undefined) { this._avatar = value; }\n get avatar (): string | undefined { return this._avatar; }\n private _avatar: string | undefined = undefined;\n\n /**\n * Indica il valore da aggiungere al parametro alt, di default ''\n */\n @Input() set altAvatar (value: string) { this._altAvatar = value; }\n get altAvatar (): string { return this._altAvatar; }\n private _altAvatar: string = '';\n\n /**\n * Evento emesso al click sul bottone di chiusura\n */\n @Output() close = new EventEmitter();\n\n iconClose: IconName = 'close';\n\n clickToClose(): void {\n this.close.emit();\n }\n}\n","<div class=\"chip\" [ngClass]=\"[!showCloseButton ? 'chip-simple': 'alert', size === 'lg' ? 'chip-lg': '', color ? 'chip-' + color : '', disabled ? 'chip-disabled' : '']\">\n <svg *ngIf=\"icon\" class=\"icon icon-xs\"><use [attr.href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\" [attr.xlink:href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\"></use></svg>\n <div *ngIf=\"avatar\" class=\"avatar size-xs\">\n <img [src]=\"avatar\" [alt]=\"altAvatar\">\n </div>\n <span class=\"chip-label\">{{ label }}</span>\n <button *ngIf=\"showCloseButton\" (click)=\"clickToClose()\" [disabled]=\"disabled\">\n <svg class=\"icon\"><use href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\" xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\"></use></svg>\n <span class=\"visually-hidden\">{{ 'it.core.remove' | translate }} {{ label }}</span>\n </button>\n</div>","import { DOCUMENT } from '@angular/common';\nimport { Directive, HostListener, Inject, Input } from '@angular/core';\n\n@Directive({\n selector: '[itForward]',\n host: {'class': 'forward'}\n})\nexport class ForwardDirective {\n\n /**\n * Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.\n */\n @Input() set itForward(value: HTMLElement | string | undefined) { this._itForward = value; }\n get itForward(): HTMLElement | string | undefined { return this._itForward; }\n private _itForward: HTMLElement | string | undefined = undefined;\n\n constructor(\n @Inject(DOCUMENT) private document?: Document\n ) { }\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n event.preventDefault();\n if (this.itForward) {\n if (typeof this.itForward === 'string') {\n this.document?.querySelector(this.itForward)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: \"nearest\"\n })\n } else if (this.itForward instanceof HTMLElement) {\n this.itForward.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: \"nearest\"\n });\n }\n }\n }\n\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\n\nexport type DimmerColor = '' | 'dimmer-primary';\n\n@Component({\n selector: 'it-dimmer',\n templateUrl: './dimmer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 0.92 })),\n ]),\n transition(':leave', [\n animate('150ms', style({ opacity: 0 })),\n ]),\n ])\n]\n})\nexport class DimmerComponent implements OnInit {\n\n /**\n * Dimmer status\n * @default false\n */\n @Input() set active (value: boolean) {this._active = value};\n get active() {return this._active; }\n private _active = false;\n\n /**\n * Colore del dimmer\n * @default ''\n */\n @Input() set color (value: DimmerColor) {this._color = value};\n get color() {return this._color; }\n private _color: DimmerColor = '';\n\n constructor(\n private elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.elementRef?.nativeElement?.parentElement?.classList?.add('dimmable');\n }\n}\n","<div class=\"dimmer\" *ngIf=\"active\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n</div>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'it-dimmer-buttons',\n templateUrl: './dimmer-buttons.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DimmerButtonsComponent {\n\n /**\n * Indica se abbiamo 1 solo bottone\n * @default false\n */\n @Input() set hasOneButton (value: boolean) {this._hasOneButton = value};\n get hasOneButton() {return this._hasOneButton; }\n private _hasOneButton = false;\n\n}\n","<div class=\"dimmer-buttons bg-dark\" [ngClass]=\"{'single-button': hasOneButton}\">\n <ng-content></ng-content>\n</div>","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'it-dimmer-icon',\n templateUrl: './dimmer-icon.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DimmerIconComponent {\n\n}\n","<div class=\"dimmer-icon\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule, NgForOf, NgIf } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { AbstractFormComponent } from '../abstracts/abstract-form-component';\nimport { AbstractComponent } from '../abstracts/abstract.component';\nimport { AccordionComponent } from '../components/core/accordion/accordion.component';\nimport { AlertComponent } from '../components/core/alert/alert.component'\nimport { BadgeDirective } from '../components/core/badge/badge.directive';\nimport { ButtonDirective } from '../components/core/button/button.directive';\nimport { CalloutComponent } from '../components/core/callout/callout.component';\nimport { CardComponent } from '../components/core/card/card.component';\nimport { CarouselComponent } from '../components/core/carousel/carousel/carousel.component';\nimport { CarouselItemComponent } from '../components/core/carousel/carousel-item/carousel-item.component';\nimport { CollapseComponent } from '../components/core/collapse/collapse.component';\nimport { DropdownComponent } from '../components/core/dropdown/dropdown/dropdown.component';\nimport { DropdownItemComponent } from '../components/core/dropdown/dropdown-item/dropdown-item.component';\nimport { LinkComponent } from '../components/core/link/link.component';\nimport { ListComponent } from '../components/core/list/list/list.component';\nimport { ListItemComponent } from '../components/core/list/list-item/list-item.component';\nimport { ModalComponent } from '../components/core/modal/modal.component';\nimport { NotificationsComponent } from '../components/core/notifications/notifications.component';\nimport { PaginationComponent } from '../components/core/pagination/pagination.component';\nimport { PopoverDirective } from '../components/core/popover/popover.directive';\nimport { ProgressBarComponent } from '../components/core/progress-bar/progress-bar.component';\nimport { ProgressButtonComponent } from '../components/core/progress-button/progress-button.component';\nimport { SpinnerComponent } from '../components/core/spinner/spinner.component';\nimport { TabContainerComponent } from '../components/core/tab/tab-container/tab-container.component';\nimport { TabItemComponent } from '../components/core/tab/tab-item/tab-item.component';\nimport { TableComponent } from '../components/core/table/table.component';\nimport { TooltipDirective } from '../components/core/tooltip/tooltip.directive';\nimport { CheckboxComponent } from '../components/form/checkbox/checkbox.component';\nimport { InputComponent } from '../components/form/input/input.component';\nimport { PasswordInputComponent } from '../components/form/password-input/password-input.component';\nimport { RadioButtonComponent } from '../components/form/radio-button/radio-button.component';\nimport { SelectComponent } from '../components/form/select/select.component';\nimport { TextareaComponent } from '../components/form/textarea/textarea.component';\nimport { UploadDragDropComponent } from '../components/form/upload-drag-drop/upload-drag-drop.component';\nimport { UploadFileListComponent } from '../components/form/upload-file-list/upload-file-list.component';\nimport { BackButtonComponent } from '../components/navigation/back-button/back-button.component';\nimport { BackToTopComponent } from '../components/navigation/back-to-top/back-to-top.component';\nimport { BreadcrumbComponent } from '../components/navigation/breadcrumbs/breadcrumb/breadcrumb.component';\nimport {\n BreadcrumbItemComponent\n} from '../components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component';\nimport { HeaderComponent } from '../components/navigation/header/header.component';\nimport { IconComponent } from '../components/utils/icon/icon.component';\nimport { NotFoundPageComponent } from '../components/utils/not-found-page/not-found-page.component';\nimport { ChipComponent } from '../components/core/chip/chip.component';\nimport { ForwardDirective } from '../components/core/forward/forward.directive';\nimport { DimmerComponent } from '../components/core/dimmer/dimmer.component';\nimport { DimmerButtonsComponent } from '../components/core/dimmer/dimmer-buttons/dimmer-buttons.component';\nimport { DimmerIconComponent } from '../components/core/dimmer/dimmer-icon/dimmer-icon.component';\n\n\n/**\n * Core components\n */\nconst core = [\n AccordionComponent,\n AlertComponent,\n BadgeDirective,\n ButtonDirective,\n CalloutComponent,\n CardComponent,\n CarouselComponent,\n CarouselItemComponent,\n ChipComponent,\n CollapseComponent,\n DimmerButtonsComponent,\n DimmerComponent,\n DimmerIconComponent,\n DropdownComponent,\n DropdownItemComponent,\n ForwardDirective,\n LinkComponent,\n ListComponent,\n ListItemComponent,\n ModalComponent,\n NotificationsComponent,\n PaginationComponent,\n PopoverDirective,\n ProgressBarComponent,\n ProgressButtonComponent,\n SpinnerComponent,\n TabContainerComponent,\n TabItemComponent,\n TableComponent,\n TooltipDirective\n];\n\n/**\n * Form components\n */\nconst form = [\n CheckboxComponent,\n InputComponent,\n PasswordInputComponent,\n RadioButtonComponent,\n SelectComponent,\n TextareaComponent,\n UploadDragDropComponent,\n UploadFileListComponent\n];\n\n/**\n * Navigation Components\n */\nconst navigation = [\n BackButtonComponent,\n BackToTopComponent,\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n HeaderComponent\n];\n\n/**\n * Utils components\n */\nconst utils = [\n IconComponent,\n NotFoundPageComponent\n];\n\n@NgModule({\n declarations: [\n AbstractComponent,\n AbstractFormComponent,\n ...core,\n ...form,\n ...navigation,\n ...utils\n ],\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n NgIf,\n NgForOf,\n RouterLink\n ],\n exports: [\n ...core,\n ...form,\n ...navigation,\n ...utils\n ]\n})\nexport class ComponentsModule {\n}\n","import { NgModule } from '@angular/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { ComponentsModule } from './modules/components.module';\n\n@NgModule({\n declarations: [],\n imports: [\n ComponentsModule,\n HttpClientModule,\n TranslateModule.forChild({\n loader: {\n provide: TranslateLoader,\n useFactory: (http: HttpClient) => new TranslateHttpLoader(http, '/bootstrap-italia/i18n/'),\n deps: [HttpClient]\n },\n defaultLanguage: 'it'\n })],\n exports: [ComponentsModule]\n})\nexport class DesignAngularKitModule {\n}\n","/*\n * Public API Surface of design-angular-kit\n */\n\nexport * from './lib/design-angular-kit.module';\nexport * from './lib/modules/components.module';\n\n\n// Core\nexport * from './lib/components/core/accordion/accordion.component';\nexport * from './lib/components/core/alert/alert.component';\nexport * from './lib/components/core/badge/badge.directive';\nexport * from './lib/components/core/button/button.directive';\nexport * from './lib/components/core/callout/callout.component';\nexport * from './lib/components/core/card/card.component';\nexport * from './lib/components/core/carousel/carousel/carousel.component';\nexport * from './lib/components/core/carousel/carousel-item/carousel-item.component';\nexport * from './lib/components/core/chip/chip.component';\nexport * from './lib/components/core/collapse/collapse.component';\nexport * from './lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component';\nexport * from './lib/components/core/dimmer/dimmer.component';\nexport * from './lib/components/core/dimmer/dimmer-icon/dimmer-icon.component';\nexport * from './lib/components/core/dropdown/dropdown/dropdown.component';\nexport * from './lib/components/core/dropdown/dropdown-item/dropdown-item.component';\nexport * from './lib/components/core/forward/forward.directive';\nexport * from './lib/components/core/link/link.component';\nexport * from './lib/components/core/list/list/list.component';\nexport * from './lib/components/core/list/list-item/list-item.component';\nexport * from './lib/components/core/modal/modal.component';\nexport * from './lib/components/core/notifications/notifications.component';\nexport * from './lib/components/core/pagination/pagination.component';\nexport * from './lib/components/core/popover/popover.directive';\nexport * from './lib/components/core/progress-bar/progress-bar.component';\nexport * from './lib/components/core/progress-button/progress-button.component';\nexport * from './lib/components/core/spinner/spinner.component';\nexport * from './lib/components/core/tab/tab-container/tab-container.component';\nexport * from './lib/components/core/tab/tab-item/tab-item.component';\nexport * from './lib/components/core/table/table.component';\nexport * from './lib/components/core/tooltip/tooltip.directive';\n\n// Forms\nexport * from './lib/components/form/checkbox/checkbox.component';\nexport * from './lib/components/form/input/input.component';\nexport * from './lib/components/form/password-input/password-input.component';\nexport * from './lib/components/form/radio-button/radio-button.component';\nexport * from './lib/components/form/select/select.component';\nexport * from './lib/components/form/textarea/textarea.component';\nexport * from './lib/components/form/upload-drag-drop/upload-drag-drop.component';\nexport * from './lib/components/form/upload-file-list/upload-file-list.component';\n\n// Navigation\nexport * from './lib/components/navigation/back-button/back-button.component';\nexport * from './lib/components/navigation/back-to-top/back-to-top.component';\nexport * from './lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component';\nexport * from './lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component';\nexport * from './lib/components/navigation/header/header.component';\n\n\n// Utils\nexport * from './lib/components/utils/icon/icon.component';\nexport * from './lib/components/utils/not-found-page/not-found-page.component';\n\n// Services\nexport * from './lib/services/notifications/notifications.service';\n\n// Interfaces\nexport * from './lib/interfaces/core';\nexport * from './lib/interfaces/form';\nexport * from './lib/interfaces/icon';\n\nexport * from './lib/utils/regex';\nexport * from './lib/utils/file-utils';\nexport * from './lib/validators/it-validators';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.IconComponent","i3","i2.LinkComponent","i3.IconComponent","i4","i1.IconComponent","BSNotification","i1.NotificationsService","i2.ProgressBarComponent","i3.TooltipDirective","i4.IconComponent","i5","i3.ButtonDirective","i2.ButtonDirective","i1.BackButtonComponent"],"mappings":";;;;;;;;;;;;;;;;MAGa,iBAAiB,CAAA;IAO5B,WACqB,CAAA,SAAoB,EACpB,WAAuB,EAAA;AADvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;KAE3C;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;KACtE;;8GAfU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,0EADR,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FACX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,SAAS;mBAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAA;yHAMd,EAAE,EAAA,CAAA;sBAAV,KAAK;;;ACNR;;;AAGG;AACG,SAAU,kBAAkB,CAAC,YAA2B,EAAA;AAC5D,IAAA,OAAO,YAAY,KAAK,SAAS,KAAK,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED;;;AAGG;AACG,SAAU,mBAAmB,CAAC,YAA2B,EAAA;IAC7D,OAAO,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,OAAO,CAAA;AACzF;;ACRM,MAAO,qBAA+B,SAAQ,iBAAiB,CAAA;AAsBnE,IAAA,WAAA,CACyC,UAAqB,EACzC,iBAAmC,EAC1B,SAAoB,EACpB,WAAuB,EAAA;AAEnD,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AALS,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACzC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAnBrD;;;;;;;AAOG;AACM,QAAA,IAAc,CAAA,cAAA,GAAiD,cAAc,CAAC;AA+DvF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAI,KAAI;AACpB,SAAC,CAAC;AAEF,QAAA,IAAS,CAAA,SAAA,GAAG,MAAK;AACjB,SAAC,CAAC;AArDA,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;KAC3D;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,KAAK,IAAI,CAAC,cAAc,KAAK,cAAc,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE;AAChI,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC5G,SAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACjF;AAED;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;QACT,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,KAAK,IAAI,CAAC,cAAc,KAAK,YAAY,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE;AAChI,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC1G,SAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/E;AAED;;AAEG;AACH,IAAA,IAAI,cAAc,GAAA;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC/D,SAAA;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;KAC9D;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAE,IAAI,CAAC,UAAU,CAAC,OAAuB,CAAC,SAAS,CAAC,CAAC;AAChF,SAAA;KACF;AAQD,IAAA,gBAAgB,CAAC,EAAO,EAAA;QACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAC/B,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KACvB;AAED,IAAA,UAAU,CAAC,KAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;KACpD;AAED;;AAEG;IACH,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;AAED;;AAEG;IACH,SAAS,GAAA;;AACP,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACxB,OAAO;AACR,SAAA;QACD,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC9B,SAAA;KACF;AAED;;;;AAIG;AACO,IAAA,aAAa,CAAC,UAAuC,EAAA;AAC7D,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC9B,YAAA,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,SAAA;AAED,QAAA,UAAU,CAAC,OAAO,CAAC,SAAS,IAAG;;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;AACzC,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACvC,aAAA;AAED,YAAA,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;gBAChF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAClD,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;IACI,QAAQ,CAAC,SAAiB,EAAE,IAAsC,EAAA;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,SAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;KAC9C;AAED;;;;;;;AAOG;IACI,QAAQ,CAAC,SAAiB,EAAE,IAAsC,EAAA;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,SAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KAC/C;;kHA9KU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yIADX,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FACZ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;;8BAwBtB,IAAI;;8BAAI,QAAQ;;yBAlBV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAUG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;ACdF,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;IAY9C,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE;;+GAfU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,oICT/B,s0BA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDpBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,s0BAAA,EAAA,CAAA;8BAS1B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEVK,aAAa,CAAA;IAmDxB,WACqB,CAAA,SAAoB,EACpB,WAAuB,EAAA;AADvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AA/B5C;;AAEG;AACM,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAA;KA8B1B;AA5BD;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,CAA6C,0CAAA,EAAA,IAAI,CAAC,IAAI,EAAE,CAAC;KACjE;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,SAAS,IAAI,CAAS,MAAA,EAAA,IAAI,CAAC,IAAI,EAAE,CAAA;AAClC,SAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,SAAS,IAAI,CAAS,MAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAA;AACnC,SAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,SAAS,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAA;AAC9B,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;IAQD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE;;0GA3DU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,+ICT1B,6IAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDMa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,6IAAA,EAAA,CAAA;yHAShB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEzBK,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;AAOE;;;AAGG;AACM,QAAA,IAAK,CAAA,KAAA,GAAe,MAAM,CAAC;KAUrC;AAHC,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC7C;;2GAfU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,wGCT3B,yjBAmBA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDVa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,yjBAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,CAAA;8BAUX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEZK,cAAc,CAAA;AAYzB,IAAA,IACI,UAAU,GAAA;QACZ,IAAI,UAAU,GAAG,OAAO,CAAC;AACzB,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACpC,UAAU,IAAI,eAAe,CAAC;AAC/B,SAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,UAAU,IAAI,CAAO,IAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;AACnC,SAAA;AAED,QAAA,OAAO,UAAU,CAAC;KACnB;;2GAvBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,SAAS;iBACpB,CAAA;8BAMmB,KAAK,EAAA,CAAA;sBAAtB,KAAK;uBAAC,SAAS,CAAA;gBAKE,OAAO,EAAA,CAAA;sBAAxB,KAAK;uBAAC,SAAS,CAAA;gBAGZ,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO,CAAA;;;MCVT,oBAAoB,CAAA;AAsB/B;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AAED,QAAA,OAAO,CAAO,IAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;KAC5B;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC/C;;iHAnCU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,kKCVjC,2rBAeA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDLa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2rBAAA,EAAA,CAAA;8BAOtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEpBK,eAAe,CAAA;AAJ5B,IAAA,WAAA,GAAA;AAoCU,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;KA+CzB;IA5CC,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AAED,IAAA,IACI,WAAW,GAAA;;QACb,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,QAAQ,IAAI,CAAQ,KAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC,SAAA;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,QAAQ,IAAI,CAAQ,KAAA,EAAA,IAAI,CAAC,IAAI,EAAE,CAAC;AACjC,SAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,IAAI,YAAY,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,QAAQ,IAAI,WAAW,CAAC;AACzB,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,QAAQ,IAAI,eAAe,CAAC;AAC7B,SAAA;AAED,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3C,QAAQ,IAAI,WAAW,CAAC;AACzB,SAAA;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,QAAQ,IAAI,eAAe,CAAC;AAC7B,SAAA;AAED,QAAA,OAAO,QAAQ,CAAC;KACjB;;4GA7EU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAyBT,aAAa,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAKb,oBAAoB,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FA9B1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;iBACrB,CAAA;8BAMoB,KAAK,EAAA,CAAA;sBAAvB,KAAK;uBAAC,UAAU,CAAA;gBAKR,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAK4B,QAAQ,EAAA,CAAA;sBAAzC,KAAK;;sBAAI,WAAW;uBAAC,UAAU,CAAA;gBAKA,KAAK,EAAA,CAAA;sBAApC,eAAe;uBAAC,aAAa,CAAA;gBAKS,WAAW,EAAA,CAAA;sBAAjD,eAAe;uBAAC,oBAAoB,CAAA;gBAKrC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,CAAA;gBAMrB,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,CAAA;gBAMhB,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO,CAAA;;;MC7CT,gBAAgB,CAAA;IAqD3B,WACmB,CAAA,SAAoB,EACpB,WAAuB,EAAA;AADvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAtC1C;;;;;;AAMG;AACM,QAAA,IAAU,CAAA,UAAA,GAAsB,SAAS,CAAC;KAiClD;AA9BD;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;QACV,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AAC9B,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QAED,QAAQ,IAAI,CAAC,KAAK;AAChB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,cAAc,CAAC;AACxB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,aAAa,CAAC;AACvB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,cAAc,CAAC;AACxB,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,MAAM,CAAC;AACZ,YAAA;AACE,gBAAA,OAAO,aAAa,CAAC;AACxB,SAAA;KACF;IAQD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE;;6GA7DU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,sICT7B,2cAcA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDLa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,2cAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;yHASb,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;AExBF,MAAO,aAAc,SAAQ,iBAAiB,CAAA;AALpD,IAAA,WAAA,GAAA;;AAOE;;;AAGG;AACM,QAAA,IAAK,CAAA,KAAA,GAAiB,IAAI,CAAC;AAsBpC;;AAEG;AACM,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAEhC;;AAEG;AACM,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;KAsBjC;AApBC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;;0GAxDU,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,gOCT1B,kbAeA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA,CAAA,CAAA;2FDNa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,kbAAA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA,CAAA;8BAUV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEtCK,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKrB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZxB,8DAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDIa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA;8BAUrB,WAAW,EAAA,CAAA;sBADjB,SAAS;uBAAC,WAAW,CAAA;;;MECX,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;AAaE;;;AAGG;AACM,QAAA,IAAI,CAAA,IAAA,GAAiB,SAAS,CAAC;AAExC;;AAEG;AACM,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;KAkDlC;AA3BC,IAAA,IAAI,SAAS,GAAA;QACX,MAAM,SAAS,GAAG,gCAAgC,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,EAAE,CAAC;KAC1E;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9C;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAChF;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KAC1B;;8GAjEU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAiCX,qBAAqB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CxC,2rBAqBA,EAAA,MAAA,EAAA,CAAA,+hLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDRa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,YAGb,YAAY,EAAA,QAAA,EAAA,2rBAAA,EAAA,MAAA,EAAA,CAAA,+hLAAA,CAAA,EAAA,CAAA;8BAOb,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAMG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEkC,KAAK,EAAA,CAAA;sBAA5C,eAAe;uBAAC,qBAAqB,CAAA;gBAG9B,WAAW,EAAA,CAAA;sBADlB,SAAS;uBAAC,UAAU,CAAA;;;AEpCjB,MAAO,iBAAkB,SAAQ,iBAAiB,CAAA;IA0CtD,WACoB,CAAA,SAAoB,EACpB,WAAuB,EAAA;AAEzC,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAHZ,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AArC3C;;AAEG;AACM,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AAE5B;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE5D;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE,CAAC;QAiB3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KAC/C;AAVD,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAUQ,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AAC3E,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACzF;AAED;;;AAGG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACvB;AAED;;;AAGG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACvB;AAED;;;AAGG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KAC1B;;8GA5FU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,wVCZ9B,oIAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDSa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,YAGjB,YAAY,EAAA,QAAA,EAAA,oIAAA,EAAA,CAAA;yHAOb,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMC,WAAW,EAAA,CAAA;sBADlB,SAAS;uBAAC,UAAU,CAAA;;;MEvCV,aAAa,CAAA;IAmCxB,WACqB,CAAA,SAAoB,EACpB,WAAuB,EAAA;AADvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAf5C;;AAEG;AACM,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;KAc3B;AAZD,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9C;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;IAQD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE;;0GA3CU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,6ICR1B,gcAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDJa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,gcAAA,EAAA,CAAA;yHAcV,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AEvBF,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AA6DtD,IAAA,WAAA,CAC8B,SAAoB,EACpB,WAAuB,EAClC,kBAAqC,EAAA;AAEtD,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAJF,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAClC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AA1CxD;;;AAGG;AACM,QAAA,IAAY,CAAA,YAAA,GAAqB,OAAO,CAAC;AAElD;;;AAGG;AACH,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;KAmCvB;AAjCD,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,SAAS,GAAG,CAAa,UAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,eAAe,EAAE,CAAC;QAC1E,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,SAAS,IAAI,WAAW,CAAC;AAC1B,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,SAAS,IAAI,QAAQ,CAAC;AACvB,SAAA;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,SAAS,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,YAAY,KAAK,OAAO,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC;AAC/E,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAUD,IAAA,OAAO,CAAC,IAAa,EAAA;AACnB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;AACzC,SAAA;KACF;;kHA1EU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,qMCVlC,42BAuBA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,42BAAA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,CAAA;yJASnB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,YAAY,EAAA,CAAA;sBAApB,KAAK;;;AEzBF,MAAO,iBAAkB,SAAQ,iBAAiB,CAAA;AA8BtD,IAAA,IAAI,WAAW,GAAA;QACb,IAAI,QAAQ,GAAG,qBAAqB,CAAC;QACrC,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,QAAQ,IAAI,CAAQ,KAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,QAAQ,IAAI,eAAe,CAAC;AAC7B,SAAA;AAED,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;KACF;IAEQ,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED;;;AAGG;IACK,YAAY,GAAA;;QAClB,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,IAAI,IAAG;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;KACJ;;8GApEU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EA4BX,qBAAqB,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCxC,0zBAsBA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDXa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,0zBAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,CAAA;8BASlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKkC,KAAK,EAAA,CAAA;sBAA5C,eAAe;uBAAC,qBAAqB,CAAA;;;ME/B3B,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,iFCR1B,6GAKA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDGa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,6GAAA,EAAA,CAAA;8BASV,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEJF,MAAO,iBAAkB,SAAQ,aAAa,CAAA;AAuBlD,IAAA,IAAI,SAAS,GAAA;QACX,IAAI,SAAS,GAAG,WAAW,CAAC;AAC5B,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnC,SAAS,IAAI,SAAS,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,SAAS,IAAI,QAAQ,CAAC;AACvB,SAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,SAAS,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;;8GAnCU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,2JCT9B,woCAyCA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDhCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,woCAAA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA,CAAA;8BASf,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AElBF,MAAO,cAAe,SAAQ,iBAAiB,CAAA;AANrD,IAAA,WAAA,GAAA;;AAkBE;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE5D;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE7D;;;AAGG;AACO,QAAA,IAAA,CAAA,eAAe,GAAwB,IAAI,YAAY,EAAE,CAAC;KA2DrE;IAnDU,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAEhD,YAAA,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,YAAA,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,YAAA,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,YAAA,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,YAAA,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/F,SAAA;KACF;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAA;KACrB;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAA;KACnB;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAA;KACnB;AAED;;AAEG;IACI,YAAY,GAAA;;AACjB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,EAAE,CAAA;KAC3B;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAA;KACtB;;2GA7FU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,gYCX3B,4vBAoBA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDTa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,YAGrB,SAAS,EAAA,QAAA,EAAA,4vBAAA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA,CAAA;8BAOV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAMC,YAAY,EAAA,CAAA;sBADnB,SAAS;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;AEchC,IAAA,iBAMX;AAND,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,GAM3B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,qBAKX;AALD,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,cAAoB,CAAA;AACpB,IAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,iBAA0B,CAAA;AAC1B,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,eAAsB,CAAA;AACtB,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB,CAAA;AAC1B,CAAC,EALW,oBAAoB,KAApB,oBAAoB,GAK/B,EAAA,CAAA,CAAA;;MCxEY,oBAAoB,CAAA;AAHjC,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAgB,CAAC;KAkH/C;AAhHC;;;AAGG;AACH,IAAA,cAAc,CAAC,UAA6B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CACrC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC3D,CAAC;KACH;AAED;;;AAGG;AACH,IAAA,eAAe,CAAC,YAA0B,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjC;AAED;;;;;;;AAOG;IACH,QAAQ,CAAC,KAAa,EAAE,OAAgB,EAAE,WAAW,GAAG,IAAI,EAAE,QAAiB,EAAE,QAA+B,EAAA;QAC9G,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,OAAO;YACP,KAAK;YACL,QAAQ;YACR,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;IACH,OAAO,CAAC,KAAa,EAAE,OAAgB,EAAE,WAAW,GAAG,IAAI,EAAE,QAAiB,EAAE,QAA+B,EAAA;QAC7G,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,OAAO;YACP,KAAK;YACL,QAAQ;YACR,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;IACH,KAAK,CAAC,KAAa,EAAE,OAAgB,EAAE,WAAW,GAAG,IAAI,EAAE,QAAiB,EAAE,QAA+B,EAAA;QAC3G,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,gBAAgB,CAAC,KAAK;YAC5B,OAAO;YACP,KAAK;YACL,QAAQ;YACR,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;IACH,OAAO,CAAC,KAAa,EAAE,OAAgB,EAAE,WAAW,GAAG,IAAI,EAAE,QAAiB,EAAE,QAA+B,EAAA;QAC7G,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,OAAO;YACP,KAAK;YACL,QAAQ;YACR,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;IACH,IAAI,CAAC,KAAa,EAAE,OAAgB,EAAE,WAAW,GAAG,IAAI,EAAE,QAAiB,EAAE,QAA+B,EAAA;QAC1G,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,gBAAgB,CAAC,IAAI;YAC3B,OAAO;YACP,KAAK;YACL,QAAQ;YACR,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;;iHAlHU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCMY,sBAAsB,CAAA;AAgBjC,IAAA,WAAA,CACmB,oBAA0C,EAAA;AAA1C,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;AAf7D;;;AAGG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AAQjC,QAAA,IAAa,CAAA,aAAA,GAAyC,EAAE,CAAC;AAKvD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,YAAY,IAAG;AACtF,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;gBAC1B,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACvC,aAAA;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC3C,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACvC,aAAA;AAED,YAAA,MAAM,eAAe,GAChB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,KACf,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA,aAAA,CAAe,GACrE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEvD,UAAU,CAAC,MAAK;;gBAEd,IAAIQ,YAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;oBAC9D,OAAO,EAAE,YAAY,CAAC,QAAQ;iBAC/B,CAAC,CAAC,IAAI,EAAE,CAAC;;gBAGV,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3D,iBAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC3B,EAAE,GAAG,CAAC,CAAC;AACV,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KACjC;AAED,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,gBAAgB,CAAC;KACzB;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,EAAU,EAAA;;AACzB,QAAA,CAAA,EAAA,GAAAA,YAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACjE;;mHA7DU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,gHCZnC,s4BAkBA,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDNa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,s4BAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,CAAA;wGAUnB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEhBK,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;AAsBE;;AAEG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;KA4BrD;AA1BC;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtF,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;gBAC9C,KAAK,IAAI,CAAC,CAAC;AACZ,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;AACrD,gBAAA,KAAK,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;KACpD;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,OAAe,EAAA;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;KACrC;;gHA9CU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,sNCPhC,20DA0CA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDnCa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,20DAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,CAAA;8BAS1C,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;MEjBI,gBAAgB,CAAA;AAwF3B,IAAA,WAAA,CACmB,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AA7B1C;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE5D;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE7D;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAE,CAAC;QAQ7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KAC/C;AA1FD;;;AAGG;IACH,IAAwB,OAAO,CAAC,OAAe,EAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;KACvD;AAED;;;AAGG;IACH,IAA2B,KAAK,CAAC,KAAyB,EAAA;AACxD,QAAA,IAAI,KAAK,EAAE;;YAET,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC5D,SAAA;KACF;AAGD;;;AAGG;IACH,IAA+B,SAAS,CAAC,SAA2B,EAAA;QAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;KAC3D;AAED;;;AAGG;IACH,IAA+B,SAAS,CAAC,SAAsC,EAAA;AAC7E,QAAA,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACxD,SAAA;KACF;AAED;;;AAGG;IACH,IAA0B,IAAI,CAAC,IAAkB,EAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACxF;AAED;;;;;AAKG;IACH,IAA6B,KAAK,CAAC,OAA2D,EAAA;AAC5F,QAAA,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACvD,SAAA;KACF;IAoCD,eAAe,GAAA;QACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5F;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACtB;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACtB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;KACxB;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;KACxB;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,aAAa,GAAA;;AAClB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;;6GA/JU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,CAAA,cAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,KAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,WAAW;iBACtB,CAAA;iGAOyB,OAAO,EAAA,CAAA;sBAA9B,KAAK;uBAAC,WAAW,CAAA;gBAQS,KAAK,EAAA,CAAA;sBAA/B,KAAK;uBAAC,cAAc,CAAA;gBAYU,SAAS,EAAA,CAAA;sBAAvC,KAAK;uBAAC,kBAAkB,CAAA;gBAQM,SAAS,EAAA,CAAA;sBAAvC,KAAK;uBAAC,kBAAkB,CAAA;gBAUC,IAAI,EAAA,CAAA;sBAA7B,KAAK;uBAAC,aAAa,CAAA;gBAUS,KAAK,EAAA,CAAA;sBAAjC,KAAK;uBAAC,gBAAgB,CAAA;gBASb,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAKG,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MCnFI,uBAAuB,CAAA;AAgBlC,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC/E;AAED,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;KAC9D;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC/E;;oHA1BU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oICVpC,uOAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,oBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDIa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,4BAA4B,EAAA,eAAA,EAGrB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uOAAA,EAAA,CAAA;8BAWtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MEhBK,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;AAOE;;AAEG;AACM,QAAA,IAAM,CAAA,MAAA,GAAiB,IAAI,CAAC;KAwBtC;AAZC,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;;6GA3BU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kHCR7B,uYAQA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDAa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,uYAAA,EAAA,CAAA;8BASb,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEbF,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AALvD,IAAA,WAAA,GAAA;;AA2BE;;AAEG;AACM,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAA;KAY5B;IAJU,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE;;6GApCU,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA8BhB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCxB,8DAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDOa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA;8BASlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAMC,WAAW,EAAA,CAAA;sBADjB,SAAS;uBAAC,WAAW,CAAA;;;ME/BX,qBAAqB,CAAA;AAsBhC,IAAA,WAAA,CACmB,kBAAqC,EAAA;AAArC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;KAEvD;AAED,IAAA,kBAAkB,CAAC,YAA2B,EAAA;AAC5C,QAAA,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAA;KACxC;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KACzC;;kHAjCU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAoBf,gBAAgB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BnC,ynCAgCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDvBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,ynCAAA,EAAA,CAAA;wGASnB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAK6B,IAAI,EAAA,CAAA;sBAAtC,eAAe;uBAAC,gBAAgB,CAAA;;;MEpBtB,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;AAoDE;;;AAGG;AACM,QAAA,IAAU,CAAA,UAAA,GAAoB,YAAY,CAAC;KA0BrD;AAvBC,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5C;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5C;;2GA5EU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,wRCT3B,+xBAsBA,EAAA,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA,CAAA,CAAA;2FDba,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,+xBAAA,EAAA,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA,CAAA;8BASX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAMG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEnDK,gBAAgB,CAAA;AAyD3B,IAAA,WAAA,CACmB,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AA7B1C;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE5D;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE,CAAC;AAE7D;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAE,CAAC;QAQ7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KAC/C;AA3DD;;;AAGG;IACH,IAAwB,KAAK,CAAC,KAAyB,EAAA;AACrD,QAAA,IAAI,KAAK,EAAE;;YAET,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC5D,SAAA;KACF;AAED;;;AAGG;IACH,IAA+B,SAAS,CAAC,SAA2B,EAAA;QAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;KAC3D;AAED;;;AAGG;IACH,IAA0B,IAAI,CAAC,IAAkB,EAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACxF;IAoCD,eAAe,GAAA;QACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5F;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACtB;AAED;;AAEG;IACI,IAAI,GAAA;;AACT,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACtB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;KACxB;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;KACxB;AAED;;AAEG;IACI,OAAO,GAAA;;AACZ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,aAAa,GAAA;;AAClB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;IACI,MAAM,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KACzB;;6GAhIU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,WAAW;iBACtB,CAAA;iGAOyB,KAAK,EAAA,CAAA;sBAA5B,KAAK;uBAAC,WAAW,CAAA;gBAWa,SAAS,EAAA,CAAA;sBAAvC,KAAK;uBAAC,kBAAkB,CAAA;gBAQC,IAAI,EAAA,CAAA;sBAA7B,KAAK;uBAAC,aAAa,CAAA;gBAOV,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAKG,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;ACpDH,MAAO,iBAAkB,SAAQ,qBAA8B,CAAA;AA2BnE,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC/C;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACpD,OAAO;AACR,SAAA;QAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC7B;;8GA7CU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,yMCT9B,oqDAgDA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDvCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,oqDAAA,EAAA,CAAA;8BASzB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;AElCR;;;AAGG;AACI,MAAM,WAAW,GAAG,6aAA4a;AAEvc;;AAEG;AACI,MAAM,kBAAkB,GAAG,kFAAiF;AAEnH;;AAEG;AACI,MAAM,SAAS,GAAG,oNAAmN;AAE5O;;AAEG;AACI,MAAM,sBAAsB,GAAG,oDAAmD;AAEzF;;AAEG;AACI,MAAM,gBAAgB,GAAG,cAAa;AAE7C;;AAEG;AACI,MAAM,SAAS,GAAG;;MCnBZ,YAAY,CAAA;AAGvB;;;;AAIG;AACI,IAAA,OAAO,aAAa,CAAC,KAAa,EAAE,KAAuB,EAAA;QAChE,OAAO,CAAC,OAAwB,KAA6B;AAC3D,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;;AAElB,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;;YAGD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;YAGxC,OAAO,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAC9B,SAAC,CAAC;KACH;AAED;;;;AAIG;AACI,IAAA,OAAO,WAAW,CAAC,SAAsB,EAAE,SAAgD,EAAA;QAChG,OAAO,WAAW,IAAG;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACvB,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACD,YAAA,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE;AAC1B,gBAAA,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;AAC/B,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC;KACH;AAED;;;AAGG;IACI,OAAO,aAAa,CAAC,OAAwB,EAAA;;QAClD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;;QAGhD,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,MAAM,cAAc,CAAC,KAAK,IAAI,QAAQ,KAAK,cAAc,CAAC,KAAK,CAAC,EAAE;;AAEtG,YAAA,cAAc,KAAd,IAAA,IAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAc,CAAE,SAAS,CAAC,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;AACnD,YAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAE,aAAa,EAAE,CAAC;AAChC,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAE,aAAa,EAAE,CAAC;AACjC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;AAOG;IACI,OAAO,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,oBAAoB,GAAG,IAAI,EAAA;QAC9H,OAAoB,UAAU,CAAC,OAAO,CAAC;AACrC,YAAA,UAAU,CAAC,QAAQ;YACnB,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC;YACxD,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC;YACrE,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;AACjE,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,uBAAuB,CAAA,CAAA,CAAG,CAAC,EAAE,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,CAAC;AACjI,YAAA,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC;AAChC,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,OAAO,KAAK,GAAA;AACjB,QAAA,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;KACzF;AAED;;AAEG;AACI,IAAA,OAAO,GAAG,GAAA;AACf,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;KAC1E;AAED;;AAEG;AACI,IAAA,OAAO,GAAG,GAAA;AACf,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;KACjE;AAED;;AAEG;AACI,IAAA,OAAO,OAAO,GAAA;AACnB,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,sBAAsB,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAA;KAClF;AAED;;AAEG;AACI,IAAA,OAAO,SAAS,GAAA;AACrB,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAC,gBAAgB,EAAE,IAAI,EAAC,CAAC,CAAA;KAC9E;AAED;;AAEG;AACI,IAAA,OAAO,GAAG,GAAA;AACf,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;KACjE;AAED;;AAEG;AACI,IAAA,OAAO,MAAM,GAAA;QAClB,OAAO,CAAC,OAAwB,KAA6B;YAC3D,IAAI;AACF,gBAAA,IAAI,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;AAClB,oBAAA,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC1B,iBAAA;AACF,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC;AAC7B,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAA;KACF;;AA5Ia,YAAuB,CAAA,uBAAA,GAAG,iBAAiB;;ACErD,MAAO,cAAe,SAAQ,qBAAsC,CAAA;AAL1E,IAAA,WAAA,GAAA;;AAOE;;;AAGG;AACM,QAAA,IAAI,CAAA,IAAA,GAAqB,MAAM,CAAC;AAEzC;;AAEG;AACM,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;KAqKnC;AA1HC,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;AACjE,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,KAAK,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AACxG,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3E;AAED;;AAEG;AACH,IAAA,IAAa,cAAc,GAAA;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AACpC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACzD,GAAG,EAAE,IAAI,CAAC,GAAG;AACd,aAAA,CAAC,CAAC;AACJ,SAAA;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AACpC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACzD,GAAG,EAAE,IAAI,CAAC,GAAG;AACd,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AAClG,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AAClG,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC9D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC5D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC5D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACjE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AACnE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC5D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC9D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;AACpG,SAAA;QAED,OAAO,KAAK,CAAC,cAAc,CAAC;KAC7B;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,MAAM,UAAU,GAAuB,EAAE,CAAC;QAC1C,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACvC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5B,iBAAA;;AAGD,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAC,OAAwB,KAAK,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnG,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAC,OAAwB,KAAK,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnG,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM;AACT,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KAChC;AAED;;;AAGG;IACH,eAAe,CAAC,WAAoB,KAAK,EAAA;;AACvC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO;AACR,SAAA;QACD,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC/D,QAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAExC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;AAC9C,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AAClB,SAAA;aAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;AACrD,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9B;;2GA9KU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,+RCb3B,wxFAuEA,EAAA,MAAA,EAAA,CAAA,iYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD1Da,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,wxFAAA,EAAA,MAAA,EAAA,CAAA,iYAAA,CAAA,EAAA,CAAA;8BAUf,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAMG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAKG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEpDF,MAAO,sBAAuB,SAAQ,qBAA6B,CAAA;AALzE,IAAA,WAAA,GAAA;;AAOE;;;AAGG;AACM,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAEhC;;;AAGG;AACM,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAEnC;;;AAGG;AACM,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;AAExC;;;AAGG;AACM,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;AAEtC;;;AAGG;AACM,QAAA,IAAoB,CAAA,oBAAA,GAAY,IAAI,CAAC;AAE9C;;AAEG;AACM,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;KAwEnC;IAvDU,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEjB,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CACtC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,oBAAoB,CAC1B,CAAC,CAAC;KACJ;IAEQ,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EACnE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,WAAW,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CACtD,EAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,eAAe,EAC9B,aAAa,EAAE,IAAI,CAAC,SAAS,IAC7B,CAAC;AACJ,SAAA;KACF;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACnD;AAED;;AAEG;AACH,IAAA,IAAa,cAAc,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAClE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,+BAA+B,EAAE;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAChE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACtE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACtE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAC3E,SAAA;QAED,OAAO,KAAK,CAAC,cAAc,CAAC;KAC7B;;mHA1GU,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,qcCbnC,ysCA0BA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDba,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,ysCAAA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA,CAAA;8BAUxB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAMG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAMG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKE,YAAY,EAAA,CAAA;sBADnB,SAAS;uBAAC,OAAO,CAAA;;;AErDd,MAAO,oBAAqB,SAAQ,qBAAsC,CAAA;AALhF,IAAA,WAAA,GAAA;;AAYE;;;AAGG;AACM,QAAA,IAAM,CAAA,MAAA,GAAiB,KAAK,CAAC;AAEtC;;;AAGG;AACM,QAAA,IAAK,CAAA,KAAA,GAAiB,KAAK,CAAC;KA6BtC;AAtBC,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,KAAI,EAAE,CAAC;KAChD;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEjB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1E,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;;iHA7CU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,kLCTjC,ivCAkCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDzBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,ivCAAA,EAAA,CAAA;8BASpC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAMG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEtBF,MAAO,eAAgB,SAAQ,qBAAqB,CAAA;IAiB/C,QAAQ,GAAA;;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEjB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO;AACR,SAAA;AACD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAChE,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAA;QAED,MAAM,mBAAmB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAE,CAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7F,QAAA,IAAI,mBAAmB,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1C,SAAA;KACF;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,MAA2B,EAAA;AAC1C,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,MAA2B,EAAA;AAC1C,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;;4GAlEU,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mKCT5B,iyBAiBA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDRa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,iyBAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;8BASzB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;AEfF,MAAO,iBAAkB,SAAQ,qBAA6B,CAAA;AALpE,IAAA,WAAA,GAAA;;AAOE;;;AAGG;AACM,QAAA,IAAI,CAAA,IAAA,GAAY,CAAC,CAAC;AAE3B;;AAEG;AACM,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;KAsBnC;AAfC;;AAEG;AACH,IAAA,IAAa,cAAc,GAAA;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AAClG,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;AACpG,SAAA;QAED,OAAO,KAAK,CAAC,cAAc,CAAC;KAC7B;;8GAhCU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,gKCT9B,qwBAiBA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDRa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,qwBAAA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,CAAA;8BAUlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEvBK,SAAS,CAAA;AAEpB;;;;AAIG;AACI,IAAA,OAAO,iBAAiB,CAAC,IAAU,EAAE,QAAQ,GAAG,CAAC,EAAA;AACtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,EAAE;AACX,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QAED,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAExE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAA,EAAG,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAI,CAAA,EAAA,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;KAC1E;AAED;;;AAGG;IACI,OAAO,YAAY,CAAC,IAAU,EAAA;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAE3B,QAAA,OAAO,IAAI,UAAU,CAAS,QAAQ,IAAG;AACvC,YAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAI;AACpB,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AACxB,gBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,YAAY,WAAW,EAAE;AACrE,oBAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACzC,iBAAA;AACD,gBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,OAAO,GAAG,KAAK,IAAG;AACvB,gBAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACxB,aAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACI,IAAA,OAAO,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAA;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACvD,QAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KAClD;AAED;;;;;AAKG;AACI,IAAA,OAAO,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB,EAAA;QAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC3D;AACF;;AC5DK,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAN9D,IAAA,WAAA,GAAA;;AAQE;;;;;AAKG;AACM,QAAA,IAAM,CAAA,MAAA,GAAW,GAAG,CAAC;AAE9B;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;AAErD,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;KA+G5B;IApGU,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AACjF,SAAA;KACF;;AAIM,IAAA,UAAU,CAAC,GAAc,EAAA;QAC9B,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KACnC;;AAKM,IAAA,WAAW,CAAC,GAAc,EAAA;QAC/B,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;;AAIM,IAAA,MAAM,CAAC,GAAc,EAAA;;QAC1B,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;AAEtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,GAAG,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,EAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,CAAA,EAAE;YACpC,OAAO;AACR,SAAA;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAY,EAAA;;QACrB,MAAM,KAAK,GAAI,CAAA,EAAA,GAAA,KAAK,CAAC,MAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;QACxD,IAAI,EAAC,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,EAAE;YAClB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB;AAED;;;AAGG;AACI,IAAA,KAAK,CAAC,IAAU,EAAA;;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO;AACR,SAAA;QAED,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAElD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;AAED;;;AAGG;AACI,IAAA,QAAQ,CAAC,KAAa,EAAA;;QAC3B,IAAI,KAAK,IAAI,GAAG,EAAE;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;AAAM,aAAA;YACL,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAClD,SAAA;KACF;AAED;;AAEG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;AAED;;AAEG;IACI,KAAK,GAAA;;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3D,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACpB;;oHA9HU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,4aCXpC,+rCAwBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDba,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,YAGzB,kBAAkB,EAAA,QAAA,EAAA,+rCAAA,EAAA,CAAA;8BAUnB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBASC,YAAY,EAAA,CAAA;sBADnB,SAAS;uBAAC,cAAc,CAAA;gBAgBlB,UAAU,EAAA,CAAA;sBADhB,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAU7B,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAS9B,MAAM,EAAA,CAAA;sBADZ,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEpD5B,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAL9D,IAAA,WAAA,GAAA;;AAYE;;;AAGG;AACM,QAAA,IAAM,CAAA,MAAA,GAAW,GAAG,CAAC;AAE9B;;AAEG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAiB,IAAI,CAAC;AAYvC;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAA2B,IAAI,YAAY,EAAY,CAAC;AAE7E;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAqC,IAAI,YAAY,EAAsB,CAAC;AAEhG;;AAEG;AACH,QAAA,IAAA,CAAA,aAAa,GAAwB,IAAI,GAAG,EAAkB,CAAC;KAkDhE;IAhDC,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3C,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;AACxB,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;AAC3C,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAG;gBAC3B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAG;oBACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC1C,iBAAC,CAAC,CAAA;AACJ,aAAC,CAAC,CAAA;AACH,SAAA;KACF;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAChD;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,KAAY,EAAA;;QACtB,MAAM,KAAK,GAAI,CAAA,EAAA,GAAA,KAAK,CAAC,MAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;AACxD,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,IAAU,EAAA;AACpB,QAAA,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC1C;;oHAzFU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,sTCZpC,kiEAwCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,oBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,kBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD5Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,kiEAAA,EAAA,CAAA;8BASpC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEtCI,mBAAmB,CAAA;AA+C9B,IAAA,WAAA,CACkB,SAAmB,EAAA;AAAnB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AA9CrC;;;;;AAKG;AACM,QAAA,IAAW,CAAA,WAAA,GAAsB,QAAQ,CAAC;AAEnD;;;;;AAKG;AACM,QAAA,IAAS,CAAA,SAAA,GAAkB,MAAM,CAAC;AAE3C;;;AAGG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAiB,IAAI,CAAC;AAEvC;;;AAGG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAiB,IAAI,CAAC;KAsBtC;AAXD,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAOD;;AAEG;IACI,MAAM,GAAA;QACX,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;;gHA7DU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,gNCVhC,y4BAwBA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDda,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,YAGhB,cAAc,EAAA,QAAA,EAAA,y4BAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,CAAA;+FAUf,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEtCF,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;AALzD,IAAA,WAAA,GAAA;;AAOE;;;AAGG;AACe,QAAA,IAAE,CAAA,EAAA,GAAW,oBAAoB,CAAC;KA4BrD;AAXC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;;+GAjCU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,mJCT/B,wTAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDFa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,wTAAA,EAAA,CAAA;8BAUR,EAAE,EAAA,CAAA;sBAAnB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEpBF,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAkBxD,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxC;;oHApBU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAevB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBxB,8DAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDOa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA;8BASrB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMC,WAAW,EAAA,CAAA;sBADjB,SAAS;uBAAC,WAAW,CAAA;;;MEhBX,mBAAmB,CAAA;AAsB9B,IAAA,WAAA,CACmB,kBAAqC,EAAA;AAArC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AArBxD;;;AAGG;AACM,QAAA,IAAS,CAAA,SAAA,GAAW,GAAG,CAAC;KAmBhC;AAPD,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;IAOD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KACzC;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACzD;;gHArCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAnB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAgBb,uBAAuB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB1C,ioCA0BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDjBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,ioCAAA,EAAA,CAAA;wGAUhB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKoC,KAAK,EAAA,CAAA;sBAA9C,eAAe;uBAAC,uBAAuB,CAAA;;;AEhBpC,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAkBpD;;;;AAIG;IACH,WAC8B,CAAA,SAAoB,EACpB,WAAuB,EAAA;AAEnD,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAHF,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AArB5C,QAAA,IAAQ,CAAA,QAAA,GAAkB,IAAI,CAAC;AAI/B,QAAA,IAAU,CAAA,UAAA,GAAgC,MAAM,CAAC;AAEjD,QAAA,IAAW,CAAA,WAAA,GAAkB,IAAI,CAAC;AAElC,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;AAgBxC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,EAAS,CAAA;AAC3C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAS,CAAA;KAC7C;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC7C;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5C;;4GA9CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,qSCT5B,+/FAmEA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD1Da,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,+/FAAA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,CAAA;yHAMZ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MElBI,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yDCPlC,waAaA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAf,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDNa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,waAAA,EAAA,CAAA;;;MEOlB,aAAa,CAAA;AAL1B,IAAA,WAAA,GAAA;AAYU,QAAA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;AAOZ,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAOzB,QAAA,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;AAOvB,QAAA,IAAM,CAAA,MAAA,GAA2B,SAAS,CAAC;AAO3C,QAAA,IAAS,CAAA,SAAA,GAAa,KAAK,CAAC;AAO5B,QAAA,IAAK,CAAA,KAAA,GAA0B,SAAS,CAAC;AAOzC,QAAA,IAAO,CAAA,OAAA,GAAwB,SAAS,CAAC;AAOzC,QAAA,IAAU,CAAA,UAAA,GAAY,EAAE,CAAC;AAEjC;;AAEE;AACQ,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAErC,QAAA,IAAS,CAAA,SAAA,GAAa,OAAO,CAAC;KAK/B;AAlEC;;AAEE;IACF,IAAa,KAAK,CAAE,KAAa,EAAI,EAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;IAC3D,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;AAG5C;;AAEE;IACF,IAAa,eAAe,CAAE,KAAc,EAAI,EAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,EAAE;IAChF,IAAI,eAAe,KAAe,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAGjE;;AAEE;IACF,IAAa,IAAI,CAAE,KAAgB,EAAI,EAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;IAC5D,IAAI,IAAI,KAAiB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;AAG7C;;AAEE;IACF,IAAa,KAAK,CAAE,KAA4B,EAAI,EAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;IAC1E,IAAI,KAAK,KAA6B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;AAG3D;;AAEE;IACF,IAAa,QAAQ,CAAE,KAAc,EAAI,EAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE;IAClE,IAAI,QAAQ,KAAe,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;AAGnD;;AAEE;IACF,IAAa,IAAI,CAAE,KAA2B,EAAI,EAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;IACvE,IAAI,IAAI,KAA4B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;AAGxD;;AAEE;IACF,IAAa,MAAM,CAAE,KAAyB,EAAI,EAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;IACzE,IAAI,MAAM,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;AAG1D;;AAEE;IACF,IAAa,SAAS,CAAE,KAAa,EAAI,EAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE;IACnE,IAAI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;IAUpD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;;0GAnEU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,wPCV1B,85BAUM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDAO,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,eAAA,EAEF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,85BAAA,EAAA,CAAA;8BAOlC,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAOO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAOO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAOO,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAOO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAOO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAOO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAOO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAOI,KAAK,EAAA,CAAA;sBAAd,MAAM;;;MEhEI,gBAAgB,CAAA;AAS3B,IAAA,WAAA,CAC4B,QAAmB,EAAA;AAAnB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAHvC,QAAA,IAAU,CAAA,UAAA,GAAqC,SAAS,CAAC;KAI5D;AATL;;AAEE;IACF,IAAa,SAAS,CAAC,KAAuC,EAAI,EAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE;IAC5F,IAAI,SAAS,KAAuC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;AAQ7E,IAAA,OAAO,CAAC,KAAU,EAAA;;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AACtC,gBAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,CAAC;AAC3D,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,MAAM,EAAE,SAAS;AAClB,iBAAA,CAAC,CAAA;AACH,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,SAAS,YAAY,WAAW,EAAE;AAChD,gBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;AAC5B,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,MAAM,EAAE,SAAS;AAClB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;KACF;;AA/BU,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAUjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAVP,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC;iBAC3B,CAAA;;;8BAWI,MAAM;+BAAC,QAAQ,CAAA;;yBALL,SAAS,EAAA,CAAA;sBAArB,KAAK;gBASN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCCtB,eAAe,CAAA;AAkB1B,IAAA,WAAA,CACU,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAXxB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAQhB,QAAA,IAAM,CAAA,MAAA,GAAgB,EAAE,CAAC;KAI7B;AAlBJ;;;AAGE;IACF,IAAa,MAAM,CAAE,KAAc,EAAG,EAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA,EAAC;;IAC3D,IAAI,MAAM,KAAI,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;AAGpC;;;AAGE;IACF,IAAa,KAAK,CAAE,KAAkB,EAAG,EAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA,EAAC;;IAC7D,IAAI,KAAK,KAAI,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;IAOlC,QAAQ,GAAA;;AACN,QAAA,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,0CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,UAAU,CAAC,CAAC;KAC3E;;4GAxBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB5B,sJAIM,EDKQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,MAAM,EAAE;YACZ,UAAU,CAAC,QAAQ,EAAE;AACjB,gBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7C,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;gBACjB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;aAC1C,CAAC;SACL,CAAC;KACL,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAEJ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACV,OAAO,CAAC,MAAM,EAAE;4BACZ,UAAU,CAAC,QAAQ,EAAE;AACjB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;6BAC7C,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACjB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC1C,CAAC;yBACL,CAAC;AACL,qBAAA,EAAA,QAAA,EAAA,sJAAA,EAAA,CAAA;iGAQc,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAQO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;ME5BK,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAaU,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;KAE/B;AARC;;;AAGE;IACF,IAAa,YAAY,CAAE,KAAc,EAAG,EAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA,EAAC;;IACvE,IAAI,YAAY,KAAI,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;;mHAPrC,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,mGCPnC,6HAEM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDKO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAEZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6HAAA,EAAA,CAAA;8BAQlC,YAAY,EAAA,CAAA;sBAAxB,KAAK;;;MENK,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,sDCPhC,oEAEM,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDKO,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,gBAAgB,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oEAAA,EAAA,CAAA;;;AEmDjD;;AAEG;AACH,MAAM,IAAI,GAAG;IACX,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,iBAAiB;IACjB,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,sBAAsB;IACtB,eAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF;;AAEG;AACH,MAAM,IAAI,GAAG;IACX,iBAAiB;IACjB,cAAc;IACd,sBAAsB;IACtB,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAEF;;AAEG;AACH,MAAM,UAAU,GAAG;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,eAAe;CAChB,CAAC;AAEF;;AAEG;AACH,MAAM,KAAK,GAAG;IACZ,aAAa;IACb,qBAAqB;CACtB,CAAC;MA0BW,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAtBzB,iBAAiB;AACjB,QAAA,qBAAqB,EApEvB,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,qBAAqB;QACrB,aAAa;QACb,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,mBAAmB;QACnB,iBAAiB;QACjB,qBAAqB;QACrB,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;QAChB,oBAAoB;QACpB,uBAAuB;QACvB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,cAAc;AACd,QAAA,gBAAgB,EAOhB,iBAAiB;QACjB,cAAc;QACd,sBAAsB;QACtB,oBAAoB;QACpB,eAAe;QACf,iBAAiB;QACjB,uBAAuB;AACvB,QAAA,uBAAuB,EAOvB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;AACvB,QAAA,eAAe,EAOf,aAAa;AACb,QAAA,qBAAqB,aAanB,YAAY;QACZ,eAAe;QACf,mBAAmB;QACnB,IAAI;QACJ,OAAO;AACP,QAAA,UAAU,aAhFZ,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,qBAAqB;QACrB,aAAa;QACb,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,mBAAmB;QACnB,iBAAiB;QACjB,qBAAqB;QACrB,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;QAChB,oBAAoB;QACpB,uBAAuB;QACvB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,cAAc;AACd,QAAA,gBAAgB,EAOhB,iBAAiB;QACjB,cAAc;QACd,sBAAsB;QACtB,oBAAoB;QACpB,eAAe;QACf,iBAAiB;QACjB,uBAAuB;AACvB,QAAA,uBAAuB,EAOvB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;AACvB,QAAA,eAAe,EAOf,aAAa;QACb,qBAAqB,CAAA,EAAA,CAAA,CAAA;AA2BV,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAdzB,YAAY;QACZ,eAAe;QACf,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FAYV,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,qBAAqB;AACrB,wBAAA,GAAG,IAAI;AACP,wBAAA,GAAG,IAAI;AACP,wBAAA,GAAG,UAAU;AACb,wBAAA,GAAG,KAAK;AACT,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,mBAAmB;wBACnB,IAAI;wBACJ,OAAO;wBACP,UAAU;AACX,qBAAA;AACD,oBAAA,OAAO,EAAE;AACP,wBAAA,GAAG,IAAI;AACP,wBAAA,GAAG,IAAI;AACP,wBAAA,GAAG,UAAU;AACb,wBAAA,GAAG,KAAK;AACT,qBAAA;iBACF,CAAA;;;MC/HY,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAZ/B,gBAAgB;AAChB,QAAA,gBAAgB,mCASR,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAEf,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAZ/B,gBAAgB;QAChB,gBAAgB;QAChB,eAAe,CAAC,QAAQ,CAAC;AACvB,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,CAAC,IAAgB,KAAK,IAAI,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,CAAC;gBAC1F,IAAI,EAAE,CAAC,UAAU,CAAC;AACnB,aAAA;AACD,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,EACM,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAEf,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,gBAAgB;wBAChB,eAAe,CAAC,QAAQ,CAAC;AACvB,4BAAA,MAAM,EAAE;AACN,gCAAA,OAAO,EAAE,eAAe;AACxB,gCAAA,UAAU,EAAE,CAAC,IAAgB,KAAK,IAAI,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,CAAC;gCAC1F,IAAI,EAAE,CAAC,UAAU,CAAC;AACnB,6BAAA;AACD,4BAAA,eAAe,EAAE,IAAI;yBACtB,CAAC;AAAC,qBAAA;oBACL,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B,CAAA;;;ACpBD;;AAEG;;ACFH;;AAEG;;;;"}