@mediusinc/mng-commons 4.2.0 → 5.0.0-rc.0

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 (1373) hide show
  1. package/README.md +1 -0
  2. package/core/README.md +8 -0
  3. package/core/action/action-data.model.d.ts +3 -0
  4. package/core/action/action-parameters.model.d.ts +17 -0
  5. package/core/components/pages/error/error.page.component.d.ts +8 -0
  6. package/core/components/pages/not-found/not-found.page.component.d.ts +8 -0
  7. package/core/data-list/data-list-params.util.d.ts +84 -0
  8. package/core/data-list/data-list.model.d.ts +27 -0
  9. package/core/data-list/filter-match.model.d.ts +36 -0
  10. package/core/data-providers/base.data-provider.d.ts +32 -0
  11. package/core/data-providers/lookup.data-provider.d.ts +10 -0
  12. package/core/descriptors/action.descriptor.d.ts +12 -0
  13. package/core/descriptors/column.descriptor.d.ts +3 -0
  14. package/core/descriptors/editor.descriptor.d.ts +11 -0
  15. package/core/descriptors/filter.descriptor.d.ts +3 -0
  16. package/core/descriptors/lookup.descriptor.d.ts +12 -0
  17. package/core/descriptors/model.descriptor.d.ts +8 -0
  18. package/core/descriptors/table.descriptor.d.ts +9 -0
  19. package/core/descriptors/tableview.descriptor.d.ts +11 -0
  20. package/core/directives/component.directive.d.ts +20 -0
  21. package/core/directives/dialog-keydown-handler.directive.d.ts +12 -0
  22. package/core/directives/template.directive.d.ts +12 -0
  23. package/core/enum/enum.model.d.ts +8 -0
  24. package/core/enum/enum.util.d.ts +51 -0
  25. package/core/error/error-handler.d.ts +6 -0
  26. package/core/error/error.model.d.ts +47 -0
  27. package/core/error/error.util.d.ts +116 -0
  28. package/core/helpers/coercion.d.ts +9 -0
  29. package/core/helpers/notification.d.ts +2 -0
  30. package/core/helpers/type-helpers.d.ts +16 -0
  31. package/core/index.d.ts +77 -0
  32. package/core/log/log-publisher-console.service.d.ts +4 -0
  33. package/core/log/log.model.d.ts +40 -0
  34. package/core/log/logger.service.d.ts +33 -0
  35. package/core/models/class-service.model.d.ts +7 -0
  36. package/core/models/getter.model.d.ts +2 -0
  37. package/core/models/i18n.model.d.ts +1 -0
  38. package/core/models/menu.model.d.ts +32 -0
  39. package/core/models/user.model.d.ts +8 -0
  40. package/core/pipes/boolean.pipe.d.ts +7 -0
  41. package/core/pipes/class-map.pipe.d.ts +7 -0
  42. package/core/pipes/enumerate-async.pipe.d.ts +9 -0
  43. package/core/pipes/enumerate.pipe.d.ts +16 -0
  44. package/core/pipes/getter.pipe.d.ts +8 -0
  45. package/core/pipes/json-path.pipe.d.ts +13 -0
  46. package/core/pipes/parametrize.pipe.d.ts +12 -0
  47. package/core/pipes/template.pipe.d.ts +10 -0
  48. package/core/provide.d.ts +12 -0
  49. package/core/reflect/type-enum-metadata.d.ts +32 -0
  50. package/core/registry/registry.model.d.ts +8 -0
  51. package/core/registry/type-registry.d.ts +27 -0
  52. package/core/router/route-builder.d.ts +67 -0
  53. package/core/router/router.model.d.ts +13 -0
  54. package/core/router/routes-builder.d.ts +19 -0
  55. package/core/rxjs/map-data-list-result-operator.d.ts +9 -0
  56. package/core/security/permission.guard.d.ts +2 -0
  57. package/core/security/permission.service.d.ts +16 -0
  58. package/core/security/permission.util.d.ts +5 -0
  59. package/core/security/permissions.model.d.ts +55 -0
  60. package/core/services/commons-configuration.service.d.ts +69 -0
  61. package/core/services/commons-init.service.d.ts +30 -0
  62. package/core/services/commons-router.service.d.ts +37 -0
  63. package/core/services/commons.service.d.ts +66 -0
  64. package/core/services/local-storage-config.service.d.ts +11 -0
  65. package/core/services/providers/commons-init.provider.d.ts +4 -0
  66. package/core/services/tokens/browser-storage.token.d.ts +2 -0
  67. package/core/services/tokens/commons-init.token.d.ts +3 -0
  68. package/core/services/tokens/log-publisher.token.d.ts +3 -0
  69. package/core/services/tokens/module-config.token.d.ts +34 -0
  70. package/core/styles/style-constants.d.ts +10 -0
  71. package/core/styles/style.model.d.ts +17 -0
  72. package/core/utils/date.util.d.ts +20 -0
  73. package/core/utils/i18n.util.d.ts +36 -0
  74. package/core/utils/object.util.d.ts +31 -0
  75. package/core/utils/route.util.d.ts +37 -0
  76. package/dev-scripts/version-info.js +1 -1
  77. package/esm2022/core/action/action-data.model.mjs +2 -0
  78. package/esm2022/core/action/action-parameters.model.mjs +2 -0
  79. package/esm2022/core/components/notification/notification-wrapper.component.mjs +50 -0
  80. package/esm2022/core/components/pages/error/error.page.component.mjs +21 -0
  81. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +21 -0
  82. package/esm2022/core/data-list/data-list-params.util.mjs +417 -0
  83. package/esm2022/core/data-list/data-list.model.mjs +2 -0
  84. package/esm2022/core/data-list/filter-match.model.mjs +105 -0
  85. package/esm2022/core/data-providers/base.data-provider.mjs +48 -0
  86. package/esm2022/core/data-providers/lookup.data-provider.mjs +2 -0
  87. package/esm2022/core/descriptors/action.descriptor.mjs +2 -0
  88. package/esm2022/core/descriptors/column.descriptor.mjs +2 -0
  89. package/esm2022/core/descriptors/editor.descriptor.mjs +2 -0
  90. package/esm2022/core/descriptors/filter.descriptor.mjs +2 -0
  91. package/esm2022/core/descriptors/lookup.descriptor.mjs +2 -0
  92. package/esm2022/core/descriptors/model.descriptor.mjs +2 -0
  93. package/esm2022/core/descriptors/table.descriptor.mjs +2 -0
  94. package/esm2022/core/descriptors/tableview.descriptor.mjs +2 -0
  95. package/esm2022/core/directives/component.directive.mjs +72 -0
  96. package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +49 -0
  97. package/esm2022/core/directives/template.directive.mjs +29 -0
  98. package/esm2022/core/enum/enum.model.mjs +2 -0
  99. package/esm2022/core/enum/enum.util.mjs +83 -0
  100. package/esm2022/core/error/error-handler.mjs +20 -0
  101. package/esm2022/core/error/error.model.mjs +32 -0
  102. package/esm2022/core/error/error.util.mjs +249 -0
  103. package/esm2022/core/helpers/coercion.mjs +52 -0
  104. package/esm2022/core/helpers/notification.mjs +6 -0
  105. package/esm2022/core/helpers/type-helpers.mjs +2 -0
  106. package/esm2022/core/index.mjs +99 -0
  107. package/esm2022/core/log/log-publisher-console.service.mjs +40 -0
  108. package/esm2022/core/log/log.model.mjs +10 -0
  109. package/esm2022/core/log/logger.service.mjs +131 -0
  110. package/esm2022/core/mediusinc-mng-commons-core.mjs +5 -0
  111. package/esm2022/core/models/class-attribute.model.mjs +2 -0
  112. package/esm2022/core/models/class-service.model.mjs +2 -0
  113. package/esm2022/core/models/getter.model.mjs +2 -0
  114. package/esm2022/core/models/i18n.model.mjs +2 -0
  115. package/esm2022/core/models/menu.model.mjs +2 -0
  116. package/esm2022/core/models/user.model.mjs +2 -0
  117. package/esm2022/core/models/version.model.mjs +2 -0
  118. package/esm2022/core/pipes/boolean.pipe.mjs +28 -0
  119. package/esm2022/core/pipes/class-map.pipe.mjs +23 -0
  120. package/esm2022/core/pipes/enumerate-async.pipe.mjs +36 -0
  121. package/esm2022/core/pipes/enumerate.pipe.mjs +49 -0
  122. package/esm2022/core/pipes/getter.pipe.mjs +21 -0
  123. package/esm2022/core/pipes/json-path.pipe.mjs +25 -0
  124. package/esm2022/core/pipes/parametrize.pipe.mjs +86 -0
  125. package/esm2022/core/pipes/template.pipe.mjs +26 -0
  126. package/esm2022/core/provide.mjs +98 -0
  127. package/esm2022/core/reflect/type-enum-decorator.mjs +12 -0
  128. package/esm2022/core/reflect/type-enum-metadata.mjs +62 -0
  129. package/esm2022/core/registry/registry.model.mjs +2 -0
  130. package/esm2022/core/registry/type-registry.mjs +106 -0
  131. package/esm2022/core/router/route-builder.mjs +336 -0
  132. package/esm2022/core/router/router.model.mjs +2 -0
  133. package/esm2022/core/router/routes-builder.mjs +53 -0
  134. package/esm2022/core/rxjs/map-data-list-result-operator.mjs +19 -0
  135. package/esm2022/core/security/permission.guard.mjs +15 -0
  136. package/esm2022/core/security/permission.service.mjs +49 -0
  137. package/esm2022/core/security/permission.util.mjs +16 -0
  138. package/esm2022/core/security/permissions.model.mjs +93 -0
  139. package/esm2022/core/services/commons-configuration.service.mjs +174 -0
  140. package/esm2022/core/services/commons-init.service.mjs +111 -0
  141. package/esm2022/core/services/commons-router.service.mjs +180 -0
  142. package/esm2022/core/services/commons.service.mjs +390 -0
  143. package/esm2022/core/services/local-storage-config.service.mjs +29 -0
  144. package/esm2022/core/services/providers/commons-init.provider.mjs +4 -0
  145. package/esm2022/core/services/tokens/browser-storage.token.mjs +3 -0
  146. package/esm2022/core/services/tokens/commons-init.token.mjs +3 -0
  147. package/esm2022/core/services/tokens/log-publisher.token.mjs +3 -0
  148. package/esm2022/core/services/tokens/module-config.token.mjs +3 -0
  149. package/esm2022/core/styles/style-constants.mjs +11 -0
  150. package/esm2022/core/styles/style.model.mjs +20 -0
  151. package/esm2022/core/utils/date.util.mjs +136 -0
  152. package/esm2022/core/utils/i18n.util.mjs +137 -0
  153. package/esm2022/core/utils/object.util.mjs +147 -0
  154. package/esm2022/core/utils/route.util.mjs +60 -0
  155. package/esm2022/core/utils/string.util.mjs +59 -0
  156. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +186 -0
  157. package/esm2022/filter/descriptors/filter.descriptor.mjs +197 -0
  158. package/esm2022/filter/index.mjs +6 -0
  159. package/esm2022/filter/mediusinc-mng-commons-filter.mjs +5 -0
  160. package/esm2022/filter/models/filter.model.mjs +15 -0
  161. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +45 -0
  162. package/esm2022/form/api/descriptors/action-button.descriptor.mjs +68 -0
  163. package/esm2022/form/api/descriptors/button-style.builder.mjs +174 -0
  164. package/esm2022/form/api/index.mjs +8 -0
  165. package/esm2022/form/api/mediusinc-mng-commons-form-api.mjs +5 -0
  166. package/esm2022/form/api/models/trim.model.mjs +2 -0
  167. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +404 -0
  168. package/esm2022/form/components/date-range/date-range.component.mjs +110 -0
  169. package/esm2022/form/components/dropdown/dropdown.component.mjs +213 -0
  170. package/esm2022/form/directives/input-trim.directive.mjs +55 -0
  171. package/esm2022/form/index.mjs +7 -0
  172. package/esm2022/form/mediusinc-mng-commons-form.mjs +5 -0
  173. package/esm2022/index.mjs +2 -77
  174. package/esm2022/model/descriptors/enum.descriptor.mjs +31 -0
  175. package/esm2022/model/descriptors/model.descriptor.mjs +78 -0
  176. package/esm2022/model/descriptors/type.descriptor.mjs +21 -0
  177. package/esm2022/model/index.mjs +11 -0
  178. package/esm2022/model/mediusinc-mng-commons-model.mjs +5 -0
  179. package/esm2022/model/pipes/enum.pipe.mjs +26 -0
  180. package/esm2022/model/pipes/i18n-property.pipe.mjs +19 -0
  181. package/esm2022/model/utils/i18n.util.mjs +51 -0
  182. package/esm2022/model/utils/model.util.mjs +73 -0
  183. package/esm2022/provide.mjs +6 -0
  184. package/esm2022/table/api/data-providers/table.data-provider.mjs +63 -0
  185. package/esm2022/table/api/descriptors/column.descriptor.mjs +359 -0
  186. package/esm2022/table/api/descriptors/sort.descriptor.mjs +45 -0
  187. package/esm2022/table/api/descriptors/table.descriptor.mjs +750 -0
  188. package/esm2022/table/api/helpers/class-attribute-converter.mjs +104 -0
  189. package/esm2022/table/api/index.mjs +16 -0
  190. package/esm2022/table/api/mediusinc-mng-commons-table-api.mjs +5 -0
  191. package/esm2022/table/api/models/class-table-attribute.model.mjs +2 -0
  192. package/esm2022/table/api/models/column-value.model.mjs +2 -0
  193. package/esm2022/table/api/models/column.model.mjs +21 -0
  194. package/esm2022/table/api/models/table-columns.model.mjs +2 -0
  195. package/esm2022/table/api/models/table-event.model.mjs +2 -0
  196. package/esm2022/table/api/models/table.model.mjs +22 -0
  197. package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +594 -0
  198. package/esm2022/table/components/column-value/column-value.component.mjs +88 -0
  199. package/esm2022/table/components/table/table.component.mjs +647 -0
  200. package/esm2022/table/helpers/notification.mjs +15 -0
  201. package/esm2022/table/helpers/table-layout-prefs.mjs +10 -0
  202. package/esm2022/table/index.mjs +13 -0
  203. package/esm2022/table/mediusinc-mng-commons-table.mjs +5 -0
  204. package/esm2022/table/models/column-preferences.model.mjs +2 -0
  205. package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +27 -0
  206. package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +25 -0
  207. package/esm2022/table/services/data-list.service.mjs +23 -0
  208. package/esm2022/tableview/action/components/action/action.component.mjs +323 -0
  209. package/esm2022/tableview/action/components/editor/action-editor.component.mjs +97 -0
  210. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +398 -0
  211. package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +53 -0
  212. package/esm2022/tableview/action/components/route/action-route.component.mjs +152 -0
  213. package/esm2022/tableview/action/components/table/action-table.component.mjs +158 -0
  214. package/esm2022/tableview/action/guards/unsaved-changes.guard.mjs +4 -0
  215. package/esm2022/tableview/action/helpers/notification.mjs +17 -0
  216. package/esm2022/tableview/action/helpers/styles.mjs +32 -0
  217. package/esm2022/tableview/action/models/action-editor-dialog-data.model.mjs +2 -0
  218. package/esm2022/tableview/action/models/can-component-deactivate.model.mjs +2 -0
  219. package/esm2022/tableview/action/models/execution/action-context.model.mjs +56 -0
  220. package/esm2022/tableview/action/models/execution/action-instance-state.model.mjs +32 -0
  221. package/esm2022/tableview/action/models/execution/action-instance.model.mjs +170 -0
  222. package/esm2022/tableview/action/services/action-error-mapper.service.mjs +20 -0
  223. package/esm2022/tableview/action/services/action-executor.service.mjs +766 -0
  224. package/esm2022/tableview/action/services/component-action-executor.service.mjs +19 -0
  225. package/esm2022/tableview/action/services/data-provider-executor.service.mjs +26 -0
  226. package/esm2022/tableview/action/services/navigation.service.mjs +52 -0
  227. package/esm2022/tableview/action/services/providers/provide-action-executor.mjs +9 -0
  228. package/esm2022/tableview/action/services/providers/provide-view-container.mjs +17 -0
  229. package/esm2022/tableview/action/services/root-action-executor.service.mjs +18 -0
  230. package/esm2022/tableview/action/services/tokens/action-editor.token.mjs +3 -0
  231. package/esm2022/tableview/action/services/view-container.service.mjs +56 -0
  232. package/esm2022/tableview/action/utils/i18n.util.mjs +126 -0
  233. package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +76 -0
  234. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +264 -0
  235. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +89 -0
  236. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +385 -0
  237. package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +80 -0
  238. package/esm2022/tableview/api/action/models/action-component.model.mjs +2 -0
  239. package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +2 -0
  240. package/esm2022/tableview/api/action/models/action-editor.model.mjs +2 -0
  241. package/esm2022/tableview/api/action/models/action-error.model.mjs +14 -0
  242. package/esm2022/tableview/api/action/models/action.type.mjs +26 -0
  243. package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +2 -0
  244. package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +2 -0
  245. package/esm2022/tableview/api/action/models/execution/action-execution-error.model.mjs +2 -0
  246. package/esm2022/tableview/api/action/models/execution/action-instance-state.model.mjs +32 -0
  247. package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +2 -0
  248. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +2 -0
  249. package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +11 -0
  250. package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +28 -0
  251. package/esm2022/tableview/api/action/services/tokens/data-language-dropdown.token.mjs +3 -0
  252. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +104 -0
  253. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +626 -0
  254. package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +49 -0
  255. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +288 -0
  256. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +97 -0
  257. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +213 -0
  258. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +153 -0
  259. package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +25 -0
  260. package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +343 -0
  261. package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +85 -0
  262. package/esm2022/tableview/api/editor/helpers/field-validators.mjs +33 -0
  263. package/esm2022/tableview/api/editor/models/class-tableview-attribute.model.mjs +2 -0
  264. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +2 -0
  265. package/esm2022/tableview/api/editor/models/editor.model.mjs +9 -0
  266. package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +2 -0
  267. package/esm2022/tableview/api/editor/models/field.model.mjs +56 -0
  268. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +27 -0
  269. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +2 -0
  270. package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +69 -0
  271. package/esm2022/tableview/api/editor/models/formly-field.model.mjs +2 -0
  272. package/esm2022/tableview/api/editor/models/radio.model.mjs +2 -0
  273. package/esm2022/tableview/api/index.mjs +64 -0
  274. package/esm2022/tableview/api/mediusinc-mng-commons-tableview-api.mjs +5 -0
  275. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +105 -0
  276. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +672 -0
  277. package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +34 -0
  278. package/esm2022/tableview/api/tableview/helpers/files-export.mjs +34 -0
  279. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +24 -0
  280. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +240 -0
  281. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +162 -0
  282. package/esm2022/tableview/api/tableview/models/class-tableview-attribute.model.mjs +2 -0
  283. package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +2 -0
  284. package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +2 -0
  285. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +285 -0
  286. package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +61 -0
  287. package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +54 -0
  288. package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +39 -0
  289. package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +49 -0
  290. package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +27 -0
  291. package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +220 -0
  292. package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +24 -0
  293. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +215 -0
  294. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +217 -0
  295. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +196 -0
  296. package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +18 -0
  297. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +33 -0
  298. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +30 -0
  299. package/esm2022/tableview/editor/helpers/formly-config.mjs +260 -0
  300. package/esm2022/tableview/editor/helpers/notification.mjs +11 -0
  301. package/esm2022/tableview/editor/models/formly-config.model.mjs +2 -0
  302. package/esm2022/tableview/editor/services/formly-config.provider.mjs +31 -0
  303. package/esm2022/tableview/editor/utils/editor-formly.util.mjs +337 -0
  304. package/esm2022/tableview/index.mjs +64 -0
  305. package/esm2022/tableview/mediusinc-mng-commons-tableview.mjs +5 -0
  306. package/esm2022/tableview/provide.mjs +61 -0
  307. package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +15 -0
  308. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +84 -0
  309. package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +201 -0
  310. package/esm2022/tableview/tableview/services/tableview-feature-config.token.mjs +3 -0
  311. package/fesm2022/mediusinc-mng-commons-core.mjs +3904 -0
  312. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -0
  313. package/fesm2022/mediusinc-mng-commons-filter.mjs +403 -0
  314. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -0
  315. package/fesm2022/mediusinc-mng-commons-form-api.mjs +294 -0
  316. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -0
  317. package/fesm2022/mediusinc-mng-commons-form.mjs +770 -0
  318. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -0
  319. package/fesm2022/mediusinc-mng-commons-model.mjs +300 -0
  320. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -0
  321. package/fesm2022/mediusinc-mng-commons-table-api.mjs +1363 -0
  322. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -0
  323. package/fesm2022/mediusinc-mng-commons-table.mjs +1393 -0
  324. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -0
  325. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +4372 -0
  326. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -0
  327. package/fesm2022/mediusinc-mng-commons-tableview.mjs +4756 -0
  328. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -0
  329. package/fesm2022/mediusinc-mng-commons.mjs +5 -18545
  330. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  331. package/filter/README.md +9 -0
  332. package/filter/descriptors/filter-lookup.descriptor.d.ts +67 -0
  333. package/filter/descriptors/filter.descriptor.d.ts +67 -0
  334. package/filter/index.d.ts +3 -0
  335. package/filter/models/filter.model.d.ts +12 -0
  336. package/form/README.md +8 -0
  337. package/form/api/README.md +7 -0
  338. package/form/api/data-providers/lookup.data-provider.d.ts +19 -0
  339. package/form/api/descriptors/action-button.descriptor.d.ts +25 -0
  340. package/form/api/descriptors/button-style.builder.d.ts +68 -0
  341. package/form/api/index.d.ts +4 -0
  342. package/form/components/autocomplete/autocomplete.component.d.ts +82 -0
  343. package/form/components/date-range/date-range.component.d.ts +28 -0
  344. package/form/components/dropdown/dropdown.component.d.ts +55 -0
  345. package/form/directives/input-trim.directive.d.ts +14 -0
  346. package/form/index.d.ts +4 -0
  347. package/i18n/en.json +234 -0
  348. package/i18n/sl.json +231 -0
  349. package/index.d.ts +1 -52
  350. package/model/README.md +7 -0
  351. package/model/descriptors/enum.descriptor.d.ts +14 -0
  352. package/model/descriptors/model.descriptor.d.ts +31 -0
  353. package/model/descriptors/type.descriptor.d.ts +10 -0
  354. package/model/index.d.ts +7 -0
  355. package/model/pipes/enum.pipe.d.ts +8 -0
  356. package/model/pipes/i18n-property.pipe.d.ts +8 -0
  357. package/model/utils/i18n.util.d.ts +15 -0
  358. package/model/utils/model.util.d.ts +8 -0
  359. package/package.json +56 -2
  360. package/provide.d.ts +7 -0
  361. package/table/README.md +11 -0
  362. package/table/api/README.md +9 -0
  363. package/table/api/data-providers/table.data-provider.d.ts +38 -0
  364. package/table/api/descriptors/column.descriptor.d.ts +148 -0
  365. package/table/api/descriptors/sort.descriptor.d.ts +17 -0
  366. package/table/api/descriptors/table.descriptor.d.ts +271 -0
  367. package/table/api/helpers/class-attribute-converter.d.ts +22 -0
  368. package/table/api/index.d.ts +11 -0
  369. package/table/api/models/class-table-attribute.model.d.ts +8 -0
  370. package/table/api/models/column-value.model.d.ts +7 -0
  371. package/table/api/models/table-columns.model.d.ts +42 -0
  372. package/table/api/models/table-event.model.d.ts +17 -0
  373. package/table/api/models/table.model.d.ts +35 -0
  374. package/table/components/column-filter-full/column-filter-full.component.d.ts +100 -0
  375. package/table/components/column-value/column-value.component.d.ts +33 -0
  376. package/table/components/table/table.component.d.ts +114 -0
  377. package/table/helpers/notification.d.ts +4 -0
  378. package/table/helpers/table-layout-prefs.d.ts +7 -0
  379. package/table/index.d.ts +8 -0
  380. package/table/models/column-preferences.model.d.ts +12 -0
  381. package/table/pipes/locale-default-row-class.pipe.d.ts +10 -0
  382. package/table/pipes/table-column-filter-class.pipe.d.ts +8 -0
  383. package/table/services/data-list.service.d.ts +16 -0
  384. package/tableview/README.md +13 -0
  385. package/tableview/action/components/action/action.component.d.ts +73 -0
  386. package/tableview/action/components/editor/action-editor.component.d.ts +31 -0
  387. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +76 -0
  388. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +22 -0
  389. package/tableview/action/components/route/action-route.component.d.ts +31 -0
  390. package/tableview/action/components/table/action-table.component.d.ts +48 -0
  391. package/tableview/action/guards/unsaved-changes.guard.d.ts +3 -0
  392. package/tableview/action/helpers/notification.d.ts +6 -0
  393. package/tableview/action/helpers/styles.d.ts +5 -0
  394. package/tableview/action/models/action-editor-dialog-data.model.d.ts +11 -0
  395. package/tableview/action/models/execution/action-context.model.d.ts +36 -0
  396. package/tableview/action/models/execution/action-instance-state.model.d.ts +30 -0
  397. package/tableview/action/models/execution/action-instance.model.d.ts +56 -0
  398. package/tableview/action/services/action-error-mapper.service.d.ts +18 -0
  399. package/tableview/action/services/action-executor.service.d.ts +175 -0
  400. package/tableview/action/services/component-action-executor.service.d.ts +9 -0
  401. package/tableview/action/services/data-provider-executor.service.d.ts +23 -0
  402. package/tableview/action/services/navigation.service.d.ts +15 -0
  403. package/tableview/action/services/root-action-executor.service.d.ts +9 -0
  404. package/tableview/action/services/tokens/action-editor.token.d.ts +2 -0
  405. package/tableview/action/services/view-container.service.d.ts +30 -0
  406. package/tableview/action/utils/i18n.util.d.ts +48 -0
  407. package/tableview/api/README.md +11 -0
  408. package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +36 -0
  409. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +117 -0
  410. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +34 -0
  411. package/tableview/api/action/descriptors/action.descriptor.d.ts +151 -0
  412. package/tableview/api/action/helpers/data-provider-executors.d.ts +18 -0
  413. package/tableview/api/action/models/action-component.model.d.ts +12 -0
  414. package/tableview/api/action/models/action-descriptor.types.d.ts +5 -0
  415. package/tableview/api/action/models/action-editor.model.d.ts +4 -0
  416. package/tableview/api/action/models/action-error.model.d.ts +14 -0
  417. package/tableview/api/action/models/execution/action-context-validation.model.d.ts +11 -0
  418. package/tableview/api/action/models/execution/action-context.model.d.ts +24 -0
  419. package/tableview/api/action/models/execution/action-execution-error.model.d.ts +4 -0
  420. package/tableview/api/action/models/execution/action-instance-state.model.d.ts +30 -0
  421. package/tableview/api/action/models/execution/action-instance.model.d.ts +31 -0
  422. package/tableview/api/action/models/execution/view-container.model.d.ts +38 -0
  423. package/tableview/api/action/services/data-provider-executor.service.d.ts +38 -0
  424. package/tableview/api/action/services/tokens/data-language-dropdown.token.d.ts +2 -0
  425. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +87 -0
  426. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +366 -0
  427. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +22 -0
  428. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +120 -0
  429. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +41 -0
  430. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +80 -0
  431. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +61 -0
  432. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +19 -0
  433. package/tableview/api/editor/descriptors/field.descriptor.d.ts +168 -0
  434. package/tableview/api/editor/helpers/class-attribute-converter.d.ts +21 -0
  435. package/tableview/api/editor/helpers/field-validators.d.ts +3 -0
  436. package/tableview/api/editor/models/class-tableview-attribute.model.d.ts +7 -0
  437. package/tableview/api/editor/models/editor-fields.model.d.ts +34 -0
  438. package/tableview/api/editor/models/editor.model.d.ts +7 -0
  439. package/tableview/api/editor/models/field-action-context.model.d.ts +24 -0
  440. package/tableview/api/editor/models/field.model.d.ts +66 -0
  441. package/tableview/api/editor/models/form-editor.event.d.ts +55 -0
  442. package/tableview/api/editor/models/formly-custom-field.model.d.ts +27 -0
  443. package/tableview/api/editor/models/formly-field.model.d.ts +18 -0
  444. package/tableview/api/index.d.ts +50 -0
  445. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +43 -0
  446. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +296 -0
  447. package/tableview/api/tableview/helpers/class-attribute-converter.d.ts +8 -0
  448. package/tableview/api/tableview/helpers/files-export.d.ts +4 -0
  449. package/tableview/api/tableview/helpers/tableview-create.d.ts +16 -0
  450. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +38 -0
  451. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +114 -0
  452. package/tableview/api/tableview/models/class-tableview-attribute.model.d.ts +3 -0
  453. package/tableview/api/tableview/models/tableview-input.model.d.ts +8 -0
  454. package/tableview/api/tableview/models/tableview-route.model.d.ts +20 -0
  455. package/tableview/editor/components/editor/form-editor.component.d.ts +50 -0
  456. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +14 -0
  457. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +15 -0
  458. package/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +11 -0
  459. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -0
  460. package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +12 -0
  461. package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +37 -0
  462. package/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -0
  463. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +43 -0
  464. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +23 -0
  465. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +41 -0
  466. package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -0
  467. package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +11 -0
  468. package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +9 -0
  469. package/tableview/editor/helpers/formly-config.d.ts +18 -0
  470. package/tableview/editor/helpers/notification.d.ts +4 -0
  471. package/tableview/editor/models/formly-config.model.d.ts +5 -0
  472. package/tableview/editor/services/formly-config.provider.d.ts +5 -0
  473. package/tableview/editor/utils/editor-formly.util.d.ts +12 -0
  474. package/tableview/index.d.ts +48 -0
  475. package/tableview/provide.d.ts +8 -0
  476. package/tableview/tableview/components/route/tableview-route.component.d.ts +7 -0
  477. package/tableview/tableview/components/tableview/tableview.component.d.ts +26 -0
  478. package/tableview/tableview/router/tableview-route-builder.d.ts +42 -0
  479. package/tableview/tableview/services/tableview-feature-config.token.d.ts +18 -0
  480. package/assets/fonts/poppins-v20-latin-500.woff +0 -0
  481. package/assets/fonts/poppins-v20-latin-500.woff2 +0 -0
  482. package/assets/fonts/poppins-v20-latin-600.woff +0 -0
  483. package/assets/fonts/poppins-v20-latin-600.woff2 +0 -0
  484. package/assets/fonts/poppins-v20-latin-700.woff +0 -0
  485. package/assets/fonts/poppins-v20-latin-700.woff2 +0 -0
  486. package/assets/fonts/poppins-v20-latin-regular.woff +0 -0
  487. package/assets/fonts/poppins-v20-latin-regular.woff2 +0 -0
  488. package/assets/i18n/en.json +0 -287
  489. package/assets/i18n/sl.json +0 -286
  490. package/assets/images/effect-ondark.png +0 -0
  491. package/assets/images/effect-ondark.svg +0 -38
  492. package/assets/images/effect-ondark@2x.png +0 -0
  493. package/assets/images/effect-onlight.png +0 -0
  494. package/assets/images/effect-onlight.svg +0 -38
  495. package/assets/images/effect-onlight@2x.png +0 -0
  496. package/assets/images/pages/exception-ondark.png +0 -0
  497. package/assets/images/pages/exception-onlight.png +0 -0
  498. package/assets/images/pages/login-ondark.png +0 -0
  499. package/assets/images/pages/login-onlight.png +0 -0
  500. package/esm2022/lib/api/models/builders/query-param.builder.mjs +0 -59
  501. package/esm2022/lib/api/models/filter-match-type.model.mjs +0 -27
  502. package/esm2022/lib/api/models/filter-param.model.mjs +0 -33
  503. package/esm2022/lib/api/models/index.mjs +0 -7
  504. package/esm2022/lib/api/models/query-mode.model.mjs +0 -18
  505. package/esm2022/lib/api/models/query-param.model.mjs +0 -68
  506. package/esm2022/lib/api/models/query-result.model.mjs +0 -35
  507. package/esm2022/lib/api/services/api.abstract.service.mjs +0 -58
  508. package/esm2022/lib/api/services/crud-api.abstract.service.mjs +0 -75
  509. package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +0 -30
  510. package/esm2022/lib/api/services/index.mjs +0 -4
  511. package/esm2022/lib/api/utils/index.mjs +0 -3
  512. package/esm2022/lib/api/utils/medius-rest.util.mjs +0 -293
  513. package/esm2022/lib/api/utils/object-serializer.util.mjs +0 -185
  514. package/esm2022/lib/components/action/action.component.mjs +0 -315
  515. package/esm2022/lib/components/action/editor/action-editor.component.mjs +0 -98
  516. package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +0 -394
  517. package/esm2022/lib/components/action/index.mjs +0 -6
  518. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +0 -53
  519. package/esm2022/lib/components/action/models/action-component.model.mjs +0 -2
  520. package/esm2022/lib/components/action/models/action-execution.model.mjs +0 -322
  521. package/esm2022/lib/components/action/models/index.mjs +0 -4
  522. package/esm2022/lib/components/action/models/tableview-action-default-categories.model.mjs +0 -11
  523. package/esm2022/lib/components/action/route/action-route.component.mjs +0 -142
  524. package/esm2022/lib/components/action/table/action-table.component.mjs +0 -154
  525. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -396
  526. package/esm2022/lib/components/form/date-range/date-range.component.mjs +0 -110
  527. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +0 -221
  528. package/esm2022/lib/components/form/editor/form-editor.component.mjs +0 -281
  529. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +0 -61
  530. package/esm2022/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -54
  531. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +0 -69
  532. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +0 -39
  533. package/esm2022/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -49
  534. package/esm2022/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -27
  535. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -220
  536. package/esm2022/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +0 -24
  537. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +0 -217
  538. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -221
  539. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -201
  540. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -18
  541. package/esm2022/lib/components/form/formly/fields/index.mjs +0 -13
  542. package/esm2022/lib/components/form/formly/formly.config.mjs +0 -250
  543. package/esm2022/lib/components/form/formly/index.mjs +0 -2
  544. package/esm2022/lib/components/form/formly/models/formly-config.model.mjs +0 -2
  545. package/esm2022/lib/components/form/formly/models/formly-field.model.mjs +0 -2
  546. package/esm2022/lib/components/form/formly/models/index.mjs +0 -3
  547. package/esm2022/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +0 -33
  548. package/esm2022/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -31
  549. package/esm2022/lib/components/form/formly/wrappers/index.mjs +0 -3
  550. package/esm2022/lib/components/form/index.mjs +0 -5
  551. package/esm2022/lib/components/form/models/field-action-context.model.mjs +0 -2
  552. package/esm2022/lib/components/form/models/form-editor.event.mjs +0 -49
  553. package/esm2022/lib/components/form/models/form-editor.interface.mjs +0 -2
  554. package/esm2022/lib/components/form/models/index.mjs +0 -4
  555. package/esm2022/lib/components/layout/breadcrumb.component.mjs +0 -34
  556. package/esm2022/lib/components/layout/footer.component.mjs +0 -19
  557. package/esm2022/lib/components/layout/index.mjs +0 -9
  558. package/esm2022/lib/components/layout/main-layout.component.mjs +0 -53
  559. package/esm2022/lib/components/layout/menu-item.component.mjs +0 -296
  560. package/esm2022/lib/components/layout/menu.component.mjs +0 -34
  561. package/esm2022/lib/components/layout/services/index.mjs +0 -2
  562. package/esm2022/lib/components/layout/services/main-layout.component.service.mjs +0 -196
  563. package/esm2022/lib/components/layout/topbar-user.component.mjs +0 -46
  564. package/esm2022/lib/components/layout/topbar.component.mjs +0 -66
  565. package/esm2022/lib/components/layout/version.component.mjs +0 -60
  566. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +0 -30
  567. package/esm2022/lib/components/layoutV2/footer.component.mjs +0 -29
  568. package/esm2022/lib/components/layoutV2/index.mjs +0 -8
  569. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +0 -95
  570. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +0 -275
  571. package/esm2022/lib/components/layoutV2/menu.component.mjs +0 -39
  572. package/esm2022/lib/components/layoutV2/model/index.mjs +0 -3
  573. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +0 -2
  574. package/esm2022/lib/components/layoutV2/model/menu.model.mjs +0 -2
  575. package/esm2022/lib/components/layoutV2/services/index.mjs +0 -3
  576. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +0 -71
  577. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +0 -122
  578. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +0 -62
  579. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +0 -40
  580. package/esm2022/lib/components/layoutV2/topbar.component.mjs +0 -69
  581. package/esm2022/lib/components/layoutV2/version.component.mjs +0 -63
  582. package/esm2022/lib/components/notification/notification-wrapper.component.mjs +0 -50
  583. package/esm2022/lib/components/pages/error/error.page.component.mjs +0 -21
  584. package/esm2022/lib/components/pages/index.mjs +0 -3
  585. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +0 -21
  586. package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +0 -468
  587. package/esm2022/lib/components/table/column-value/column-value.component.mjs +0 -90
  588. package/esm2022/lib/components/table/models/table.event.mjs +0 -16
  589. package/esm2022/lib/components/table/models/table.interface.mjs +0 -2
  590. package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +0 -25
  591. package/esm2022/lib/components/table/table.component.mjs +0 -735
  592. package/esm2022/lib/components/tableview/index.mjs +0 -4
  593. package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -158
  594. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +0 -47
  595. package/esm2022/lib/components/tableview/tableview.component.mjs +0 -82
  596. package/esm2022/lib/data-providers/base.data-provider.mjs +0 -48
  597. package/esm2022/lib/data-providers/editor.data-provider.mjs +0 -105
  598. package/esm2022/lib/data-providers/index.mjs +0 -7
  599. package/esm2022/lib/data-providers/lookup.data-provider.mjs +0 -45
  600. package/esm2022/lib/data-providers/table.data-provider.mjs +0 -65
  601. package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +0 -32
  602. package/esm2022/lib/data-providers/tableview.data-provider.mjs +0 -105
  603. package/esm2022/lib/descriptors/action/action-button.descriptor.mjs +0 -68
  604. package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +0 -77
  605. package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +0 -262
  606. package/esm2022/lib/descriptors/action/action-link.descriptor.mjs +0 -89
  607. package/esm2022/lib/descriptors/action/action.descriptor.mjs +0 -384
  608. package/esm2022/lib/descriptors/action/index.mjs +0 -6
  609. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +0 -514
  610. package/esm2022/lib/descriptors/editor/field-action.descriptor.mjs +0 -50
  611. package/esm2022/lib/descriptors/editor/field-base.descriptor.mjs +0 -285
  612. package/esm2022/lib/descriptors/editor/field-group.descriptor.mjs +0 -97
  613. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +0 -217
  614. package/esm2022/lib/descriptors/editor/field-many.descriptor.mjs +0 -153
  615. package/esm2022/lib/descriptors/editor/field-validation.descriptor.mjs +0 -25
  616. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +0 -346
  617. package/esm2022/lib/descriptors/editor/index.mjs +0 -9
  618. package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +0 -2
  619. package/esm2022/lib/descriptors/editor/internal/editor.model.mjs +0 -2
  620. package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +0 -210
  621. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +0 -181
  622. package/esm2022/lib/descriptors/filter/index.mjs +0 -3
  623. package/esm2022/lib/descriptors/interfaces/field-config.interface.mjs +0 -2
  624. package/esm2022/lib/descriptors/interfaces/index.mjs +0 -3
  625. package/esm2022/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +0 -2
  626. package/esm2022/lib/descriptors/model/index.mjs +0 -2
  627. package/esm2022/lib/descriptors/model/model.descriptor.mjs +0 -70
  628. package/esm2022/lib/descriptors/table/column.descriptor.mjs +0 -454
  629. package/esm2022/lib/descriptors/table/index.mjs +0 -3
  630. package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +0 -2
  631. package/esm2022/lib/descriptors/table/internal/table.model.mjs +0 -2
  632. package/esm2022/lib/descriptors/table/table.descriptor.mjs +0 -600
  633. package/esm2022/lib/descriptors/tableview/index.mjs +0 -2
  634. package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +0 -2
  635. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +0 -461
  636. package/esm2022/lib/descriptors/types/action.type.mjs +0 -26
  637. package/esm2022/lib/descriptors/types/column.type.mjs +0 -21
  638. package/esm2022/lib/descriptors/types/editor.type.mjs +0 -8
  639. package/esm2022/lib/descriptors/types/field.type.mjs +0 -56
  640. package/esm2022/lib/descriptors/types/filter.type.mjs +0 -33
  641. package/esm2022/lib/descriptors/types/index.mjs +0 -8
  642. package/esm2022/lib/descriptors/types/table.type.mjs +0 -26
  643. package/esm2022/lib/descriptors/types/trim.type.mjs +0 -2
  644. package/esm2022/lib/directives/component.directive.mjs +0 -66
  645. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +0 -49
  646. package/esm2022/lib/directives/index.mjs +0 -5
  647. package/esm2022/lib/directives/input-trim.directive.mjs +0 -55
  648. package/esm2022/lib/directives/template.directive.mjs +0 -29
  649. package/esm2022/lib/error/error.handler.mjs +0 -20
  650. package/esm2022/lib/error/index.mjs +0 -2
  651. package/esm2022/lib/guards/index.mjs +0 -2
  652. package/esm2022/lib/guards/unsaved-changes.guard.mjs +0 -4
  653. package/esm2022/lib/helpers/coercion.mjs +0 -52
  654. package/esm2022/lib/models/action-editor.model.mjs +0 -2
  655. package/esm2022/lib/models/can-component-deactivate.model.mjs +0 -2
  656. package/esm2022/lib/models/class.model.mjs +0 -2
  657. package/esm2022/lib/models/column-value.model.mjs +0 -2
  658. package/esm2022/lib/models/common-init-event-enum.model.mjs +0 -11
  659. package/esm2022/lib/models/config.model.mjs +0 -2
  660. package/esm2022/lib/models/enum.model.mjs +0 -2
  661. package/esm2022/lib/models/error.model.mjs +0 -44
  662. package/esm2022/lib/models/index.mjs +0 -18
  663. package/esm2022/lib/models/layout-config.model.mjs +0 -2
  664. package/esm2022/lib/models/log.model.mjs +0 -10
  665. package/esm2022/lib/models/menu.model.mjs +0 -2
  666. package/esm2022/lib/models/radio.model.mjs +0 -2
  667. package/esm2022/lib/models/tableview-attr.model.mjs +0 -2
  668. package/esm2022/lib/models/type-registry.model.mjs +0 -2
  669. package/esm2022/lib/models/user.model.mjs +0 -2
  670. package/esm2022/lib/models/version.model.mjs +0 -2
  671. package/esm2022/lib/models/view-container.model.mjs +0 -2
  672. package/esm2022/lib/pipes/boolean.pipe.mjs +0 -28
  673. package/esm2022/lib/pipes/class-map.pipe.mjs +0 -23
  674. package/esm2022/lib/pipes/enum.pipe.mjs +0 -26
  675. package/esm2022/lib/pipes/enumerate-async.pipe.mjs +0 -41
  676. package/esm2022/lib/pipes/enumerate.pipe.mjs +0 -58
  677. package/esm2022/lib/pipes/getter.pipe.mjs +0 -21
  678. package/esm2022/lib/pipes/i18n-property.pipe.mjs +0 -19
  679. package/esm2022/lib/pipes/index.mjs +0 -12
  680. package/esm2022/lib/pipes/json-path.pipe.mjs +0 -25
  681. package/esm2022/lib/pipes/locale-default-row-class.pipe.mjs +0 -27
  682. package/esm2022/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +0 -2
  683. package/esm2022/lib/pipes/models/internal/index.mjs +0 -2
  684. package/esm2022/lib/pipes/parametrize.pipe.mjs +0 -86
  685. package/esm2022/lib/pipes/template.pipe.mjs +0 -26
  686. package/esm2022/lib/provide-commons.mjs +0 -88
  687. package/esm2022/lib/registry/type.registry.mjs +0 -113
  688. package/esm2022/lib/router/index.mjs +0 -4
  689. package/esm2022/lib/router/models/index.mjs +0 -2
  690. package/esm2022/lib/router/models/router.model.mjs +0 -2
  691. package/esm2022/lib/router/route-builder.mjs +0 -347
  692. package/esm2022/lib/router/routes-builder.mjs +0 -69
  693. package/esm2022/lib/router/tableview-route-builder.mjs +0 -201
  694. package/esm2022/lib/security/authorization.guard.mjs +0 -15
  695. package/esm2022/lib/security/authorization.service.mjs +0 -51
  696. package/esm2022/lib/security/authorization.util.mjs +0 -16
  697. package/esm2022/lib/security/index.mjs +0 -4
  698. package/esm2022/lib/security/model/authorization.type.mjs +0 -8
  699. package/esm2022/lib/security/model/index.mjs +0 -4
  700. package/esm2022/lib/security/model/permission-service.interface.mjs +0 -2
  701. package/esm2022/lib/security/model/permissions.model.mjs +0 -87
  702. package/esm2022/lib/services/action/action-executor.service.mjs +0 -725
  703. package/esm2022/lib/services/action/component-action-executor.service.mjs +0 -19
  704. package/esm2022/lib/services/action/index.mjs +0 -5
  705. package/esm2022/lib/services/action/provide-action-executor.mjs +0 -9
  706. package/esm2022/lib/services/action/root-action-executor.service.mjs +0 -18
  707. package/esm2022/lib/services/action-error-mapper.service.mjs +0 -20
  708. package/esm2022/lib/services/commons-init.service.mjs +0 -100
  709. package/esm2022/lib/services/commons.service.mjs +0 -495
  710. package/esm2022/lib/services/configuration.service.mjs +0 -174
  711. package/esm2022/lib/services/index.mjs +0 -11
  712. package/esm2022/lib/services/internal/commons-init.provider.mjs +0 -4
  713. package/esm2022/lib/services/internal/index.mjs +0 -2
  714. package/esm2022/lib/services/log-publisher-console.service.mjs +0 -40
  715. package/esm2022/lib/services/logger.service.mjs +0 -130
  716. package/esm2022/lib/services/mng-localstorage-config.service.mjs +0 -30
  717. package/esm2022/lib/services/navigation.service.mjs +0 -55
  718. package/esm2022/lib/services/providers/formly-config.provider.mjs +0 -31
  719. package/esm2022/lib/services/providers/index.mjs +0 -2
  720. package/esm2022/lib/services/router.service.mjs +0 -183
  721. package/esm2022/lib/services/tokens/browser-storage.token.mjs +0 -6
  722. package/esm2022/lib/services/tokens/commons-init.token.mjs +0 -3
  723. package/esm2022/lib/services/tokens/default-setting.token.mjs +0 -3
  724. package/esm2022/lib/services/tokens/index.mjs +0 -6
  725. package/esm2022/lib/services/tokens/log-publisher.token.mjs +0 -3
  726. package/esm2022/lib/services/tokens/module-config.token.mjs +0 -3
  727. package/esm2022/lib/services/version.service.mjs +0 -49
  728. package/esm2022/lib/services/view/index.mjs +0 -3
  729. package/esm2022/lib/services/view/provide-view-container.mjs +0 -17
  730. package/esm2022/lib/services/view/view-container.service.mjs +0 -59
  731. package/esm2022/lib/styles/button-style.builder.mjs +0 -174
  732. package/esm2022/lib/styles/index.mjs +0 -3
  733. package/esm2022/lib/styles/models/index.mjs +0 -3
  734. package/esm2022/lib/styles/models/style-level.enum.mjs +0 -12
  735. package/esm2022/lib/styles/models/style-size.enum.mjs +0 -9
  736. package/esm2022/lib/styles/styles.util.mjs +0 -42
  737. package/esm2022/lib/types/action-descriptor.types.mjs +0 -2
  738. package/esm2022/lib/types/data-provider.types.mjs +0 -2
  739. package/esm2022/lib/types/getter.type.mjs +0 -2
  740. package/esm2022/lib/types/i18n.type.mjs +0 -2
  741. package/esm2022/lib/types/index.mjs +0 -8
  742. package/esm2022/lib/types/localstorage-config-value.type.mjs +0 -2
  743. package/esm2022/lib/types/type.decorator.mjs +0 -12
  744. package/esm2022/lib/types/type.model.mjs +0 -2
  745. package/esm2022/lib/utils/action-data-provider.util.mjs +0 -171
  746. package/esm2022/lib/utils/date.util.mjs +0 -130
  747. package/esm2022/lib/utils/decorator-metadata.util.mjs +0 -61
  748. package/esm2022/lib/utils/editor-formly.util.mjs +0 -339
  749. package/esm2022/lib/utils/enum.util.mjs +0 -82
  750. package/esm2022/lib/utils/error.util.mjs +0 -247
  751. package/esm2022/lib/utils/export.util.mjs +0 -21
  752. package/esm2022/lib/utils/file.util.mjs +0 -18
  753. package/esm2022/lib/utils/i18n.util.mjs +0 -274
  754. package/esm2022/lib/utils/index.mjs +0 -14
  755. package/esm2022/lib/utils/model.util.mjs +0 -73
  756. package/esm2022/lib/utils/notification.util.mjs +0 -45
  757. package/esm2022/lib/utils/object.util.mjs +0 -135
  758. package/esm2022/lib/utils/route.util.mjs +0 -61
  759. package/esm2022/lib/utils/string.util.mjs +0 -59
  760. package/esm2022/lib/utils/tableview.util.mjs +0 -193
  761. package/esm2022/lib/validators/field.validator.mjs +0 -33
  762. package/esm2022/lib/validators/index.mjs +0 -2
  763. package/lib/api/models/builders/query-param.builder.d.ts +0 -13
  764. package/lib/api/models/filter-match-type.model.d.ts +0 -25
  765. package/lib/api/models/filter-param.model.d.ts +0 -23
  766. package/lib/api/models/index.d.ts +0 -6
  767. package/lib/api/models/query-mode.model.d.ts +0 -16
  768. package/lib/api/models/query-param.model.d.ts +0 -31
  769. package/lib/api/models/query-result.model.d.ts +0 -24
  770. package/lib/api/services/api.abstract.service.d.ts +0 -24
  771. package/lib/api/services/crud-api.abstract.service.d.ts +0 -22
  772. package/lib/api/services/get-all-api.abstract.service.d.ts +0 -14
  773. package/lib/api/services/index.d.ts +0 -3
  774. package/lib/api/utils/index.d.ts +0 -2
  775. package/lib/api/utils/medius-rest.util.d.ts +0 -32
  776. package/lib/api/utils/object-serializer.util.d.ts +0 -26
  777. package/lib/components/action/action.component.d.ts +0 -76
  778. package/lib/components/action/editor/action-editor.component.d.ts +0 -33
  779. package/lib/components/action/editor/injector-context/action-editor-injector-context.component.d.ts +0 -80
  780. package/lib/components/action/index.d.ts +0 -5
  781. package/lib/components/action/localization/data-language-dropdown.component.d.ts +0 -24
  782. package/lib/components/action/models/action-component.model.d.ts +0 -13
  783. package/lib/components/action/models/action-execution.model.d.ts +0 -168
  784. package/lib/components/action/models/index.d.ts +0 -3
  785. package/lib/components/action/route/action-route.component.d.ts +0 -31
  786. package/lib/components/action/table/action-table.component.d.ts +0 -50
  787. package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -83
  788. package/lib/components/form/date-range/date-range.component.d.ts +0 -28
  789. package/lib/components/form/dropdown/dropdown.component.d.ts +0 -56
  790. package/lib/components/form/editor/form-editor.component.d.ts +0 -51
  791. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +0 -16
  792. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -16
  793. package/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.d.ts +0 -27
  794. package/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +0 -12
  795. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -15
  796. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -14
  797. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -39
  798. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +0 -11
  799. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -47
  800. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -25
  801. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -42
  802. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -7
  803. package/lib/components/form/formly/fields/index.d.ts +0 -12
  804. package/lib/components/form/formly/formly.config.d.ts +0 -17
  805. package/lib/components/form/formly/index.d.ts +0 -1
  806. package/lib/components/form/formly/models/formly-config.model.d.ts +0 -11
  807. package/lib/components/form/formly/models/formly-field.model.d.ts +0 -17
  808. package/lib/components/form/formly/models/index.d.ts +0 -2
  809. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +0 -11
  810. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -11
  811. package/lib/components/form/formly/wrappers/index.d.ts +0 -2
  812. package/lib/components/form/index.d.ts +0 -4
  813. package/lib/components/form/models/field-action-context.model.d.ts +0 -24
  814. package/lib/components/form/models/form-editor.event.d.ts +0 -58
  815. package/lib/components/form/models/index.d.ts +0 -3
  816. package/lib/components/layout/breadcrumb.component.d.ts +0 -13
  817. package/lib/components/layout/footer.component.d.ts +0 -9
  818. package/lib/components/layout/index.d.ts +0 -8
  819. package/lib/components/layout/main-layout.component.d.ts +0 -19
  820. package/lib/components/layout/menu-item.component.d.ts +0 -55
  821. package/lib/components/layout/menu.component.d.ts +0 -16
  822. package/lib/components/layout/services/index.d.ts +0 -1
  823. package/lib/components/layout/services/main-layout.component.service.d.ts +0 -65
  824. package/lib/components/layout/topbar-user.component.d.ts +0 -22
  825. package/lib/components/layout/topbar.component.d.ts +0 -26
  826. package/lib/components/layout/version.component.d.ts +0 -19
  827. package/lib/components/layoutV2/breadcrumb.component.d.ts +0 -10
  828. package/lib/components/layoutV2/footer.component.d.ts +0 -12
  829. package/lib/components/layoutV2/index.d.ts +0 -7
  830. package/lib/components/layoutV2/main-layout.component.d.ts +0 -24
  831. package/lib/components/layoutV2/menu-item.component.d.ts +0 -42
  832. package/lib/components/layoutV2/menu.component.d.ts +0 -14
  833. package/lib/components/layoutV2/model/index.d.ts +0 -2
  834. package/lib/components/layoutV2/model/layout-state.model.d.ts +0 -10
  835. package/lib/components/layoutV2/model/menu.model.d.ts +0 -4
  836. package/lib/components/layoutV2/services/index.d.ts +0 -2
  837. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +0 -17
  838. package/lib/components/layoutV2/services/menu.service.d.ts +0 -22
  839. package/lib/components/layoutV2/sidebar.component.d.ts +0 -19
  840. package/lib/components/layoutV2/topbar-user.component.d.ts +0 -16
  841. package/lib/components/layoutV2/topbar.component.d.ts +0 -22
  842. package/lib/components/layoutV2/version.component.d.ts +0 -19
  843. package/lib/components/pages/error/error.page.component.d.ts +0 -8
  844. package/lib/components/pages/index.d.ts +0 -2
  845. package/lib/components/pages/not-found/not-found.page.component.d.ts +0 -8
  846. package/lib/components/table/column-filter-full/column-filter-full.component.d.ts +0 -85
  847. package/lib/components/table/column-value/column-value.component.d.ts +0 -35
  848. package/lib/components/table/models/table.event.d.ts +0 -17
  849. package/lib/components/table/models/table.interface.d.ts +0 -14
  850. package/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.d.ts +0 -8
  851. package/lib/components/table/table.component.d.ts +0 -126
  852. package/lib/components/tableview/index.d.ts +0 -3
  853. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -35
  854. package/lib/components/tableview/route/tableview-route.component.d.ts +0 -16
  855. package/lib/components/tableview/tableview.component.d.ts +0 -29
  856. package/lib/data-providers/base.data-provider.d.ts +0 -32
  857. package/lib/data-providers/editor.data-provider.d.ts +0 -88
  858. package/lib/data-providers/index.d.ts +0 -6
  859. package/lib/data-providers/lookup.data-provider.d.ts +0 -27
  860. package/lib/data-providers/table.data-provider.d.ts +0 -40
  861. package/lib/data-providers/tableview-crud.data-provider.d.ts +0 -12
  862. package/lib/data-providers/tableview.data-provider.d.ts +0 -45
  863. package/lib/descriptors/action/action-button.descriptor.d.ts +0 -25
  864. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +0 -36
  865. package/lib/descriptors/action/action-editor.descriptor.d.ts +0 -115
  866. package/lib/descriptors/action/action-link.descriptor.d.ts +0 -34
  867. package/lib/descriptors/action/action.descriptor.d.ts +0 -149
  868. package/lib/descriptors/action/index.d.ts +0 -5
  869. package/lib/descriptors/editor/editor.descriptor.d.ts +0 -274
  870. package/lib/descriptors/editor/field-action.descriptor.d.ts +0 -23
  871. package/lib/descriptors/editor/field-base.descriptor.d.ts +0 -122
  872. package/lib/descriptors/editor/field-group.descriptor.d.ts +0 -42
  873. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +0 -83
  874. package/lib/descriptors/editor/field-many.descriptor.d.ts +0 -63
  875. package/lib/descriptors/editor/field-validation.descriptor.d.ts +0 -19
  876. package/lib/descriptors/editor/field.descriptor.d.ts +0 -167
  877. package/lib/descriptors/editor/index.d.ts +0 -8
  878. package/lib/descriptors/editor/internal/editor-fields.model.d.ts +0 -32
  879. package/lib/descriptors/editor/internal/editor.model.d.ts +0 -15
  880. package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +0 -69
  881. package/lib/descriptors/filter/filter.descriptor.d.ts +0 -67
  882. package/lib/descriptors/filter/index.d.ts +0 -2
  883. package/lib/descriptors/interfaces/field-config.interface.d.ts +0 -9
  884. package/lib/descriptors/interfaces/index.d.ts +0 -2
  885. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +0 -12
  886. package/lib/descriptors/model/index.d.ts +0 -1
  887. package/lib/descriptors/model/model.descriptor.d.ts +0 -22
  888. package/lib/descriptors/table/column.descriptor.d.ts +0 -162
  889. package/lib/descriptors/table/index.d.ts +0 -2
  890. package/lib/descriptors/table/internal/table-columns.model.d.ts +0 -11
  891. package/lib/descriptors/table/internal/table.model.d.ts +0 -9
  892. package/lib/descriptors/table/table.descriptor.d.ts +0 -248
  893. package/lib/descriptors/tableview/index.d.ts +0 -1
  894. package/lib/descriptors/tableview/internal/tableview.model.d.ts +0 -11
  895. package/lib/descriptors/tableview/tableview.descriptor.d.ts +0 -163
  896. package/lib/descriptors/types/editor.type.d.ts +0 -6
  897. package/lib/descriptors/types/field.type.d.ts +0 -47
  898. package/lib/descriptors/types/filter.type.d.ts +0 -29
  899. package/lib/descriptors/types/index.d.ts +0 -7
  900. package/lib/descriptors/types/table.type.d.ts +0 -21
  901. package/lib/directives/component.directive.d.ts +0 -20
  902. package/lib/directives/dialog-keydown-handler.directive.d.ts +0 -12
  903. package/lib/directives/index.d.ts +0 -4
  904. package/lib/directives/input-trim.directive.d.ts +0 -14
  905. package/lib/directives/template.directive.d.ts +0 -12
  906. package/lib/error/error.handler.d.ts +0 -6
  907. package/lib/error/index.d.ts +0 -1
  908. package/lib/guards/index.d.ts +0 -1
  909. package/lib/guards/unsaved-changes.guard.d.ts +0 -3
  910. package/lib/helpers/coercion.d.ts +0 -9
  911. package/lib/models/action-editor.model.d.ts +0 -15
  912. package/lib/models/column-value.model.d.ts +0 -4
  913. package/lib/models/common-init-event-enum.model.d.ts +0 -9
  914. package/lib/models/config.model.d.ts +0 -53
  915. package/lib/models/enum.model.d.ts +0 -7
  916. package/lib/models/error.model.d.ts +0 -50
  917. package/lib/models/index.d.ts +0 -17
  918. package/lib/models/layout-config.model.d.ts +0 -34
  919. package/lib/models/log.model.d.ts +0 -40
  920. package/lib/models/menu.model.d.ts +0 -32
  921. package/lib/models/tableview-attr.model.d.ts +0 -10
  922. package/lib/models/type-registry.model.d.ts +0 -7
  923. package/lib/models/user.model.d.ts +0 -8
  924. package/lib/models/view-container.model.d.ts +0 -24
  925. package/lib/pipes/boolean.pipe.d.ts +0 -7
  926. package/lib/pipes/class-map.pipe.d.ts +0 -7
  927. package/lib/pipes/enum.pipe.d.ts +0 -8
  928. package/lib/pipes/enumerate-async.pipe.d.ts +0 -14
  929. package/lib/pipes/enumerate.pipe.d.ts +0 -21
  930. package/lib/pipes/getter.pipe.d.ts +0 -8
  931. package/lib/pipes/i18n-property.pipe.d.ts +0 -8
  932. package/lib/pipes/index.d.ts +0 -11
  933. package/lib/pipes/json-path.pipe.d.ts +0 -13
  934. package/lib/pipes/locale-default-row-class.pipe.d.ts +0 -10
  935. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +0 -5
  936. package/lib/pipes/models/internal/index.d.ts +0 -1
  937. package/lib/pipes/parametrize.pipe.d.ts +0 -13
  938. package/lib/pipes/template.pipe.d.ts +0 -10
  939. package/lib/provide-commons.d.ts +0 -3
  940. package/lib/registry/type.registry.d.ts +0 -25
  941. package/lib/router/index.d.ts +0 -3
  942. package/lib/router/models/index.d.ts +0 -1
  943. package/lib/router/models/router.model.d.ts +0 -31
  944. package/lib/router/route-builder.d.ts +0 -75
  945. package/lib/router/routes-builder.d.ts +0 -28
  946. package/lib/router/tableview-route-builder.d.ts +0 -45
  947. package/lib/security/authorization.guard.d.ts +0 -2
  948. package/lib/security/authorization.service.d.ts +0 -17
  949. package/lib/security/authorization.util.d.ts +0 -5
  950. package/lib/security/index.d.ts +0 -3
  951. package/lib/security/model/authorization.type.d.ts +0 -6
  952. package/lib/security/model/index.d.ts +0 -3
  953. package/lib/security/model/permission-service.interface.d.ts +0 -6
  954. package/lib/security/model/permissions.model.d.ts +0 -37
  955. package/lib/services/action/action-executor.service.d.ts +0 -175
  956. package/lib/services/action/component-action-executor.service.d.ts +0 -9
  957. package/lib/services/action/index.d.ts +0 -4
  958. package/lib/services/action/root-action-executor.service.d.ts +0 -9
  959. package/lib/services/action-error-mapper.service.d.ts +0 -18
  960. package/lib/services/commons-init.service.d.ts +0 -22
  961. package/lib/services/commons.service.d.ts +0 -90
  962. package/lib/services/configuration.service.d.ts +0 -68
  963. package/lib/services/index.d.ts +0 -10
  964. package/lib/services/internal/commons-init.provider.d.ts +0 -4
  965. package/lib/services/internal/index.d.ts +0 -1
  966. package/lib/services/log-publisher-console.service.d.ts +0 -4
  967. package/lib/services/logger.service.d.ts +0 -33
  968. package/lib/services/mng-localstorage-config.service.d.ts +0 -11
  969. package/lib/services/navigation.service.d.ts +0 -15
  970. package/lib/services/providers/formly-config.provider.d.ts +0 -5
  971. package/lib/services/providers/index.d.ts +0 -1
  972. package/lib/services/router.service.d.ts +0 -37
  973. package/lib/services/tokens/browser-storage.token.d.ts +0 -2
  974. package/lib/services/tokens/commons-init.token.d.ts +0 -3
  975. package/lib/services/tokens/default-setting.token.d.ts +0 -2
  976. package/lib/services/tokens/index.d.ts +0 -5
  977. package/lib/services/tokens/log-publisher.token.d.ts +0 -3
  978. package/lib/services/tokens/module-config.token.d.ts +0 -3
  979. package/lib/services/version.service.d.ts +0 -14
  980. package/lib/services/view/index.d.ts +0 -2
  981. package/lib/services/view/view-container.service.d.ts +0 -32
  982. package/lib/styles/button-style.builder.d.ts +0 -68
  983. package/lib/styles/index.d.ts +0 -2
  984. package/lib/styles/models/index.d.ts +0 -2
  985. package/lib/styles/models/style-level.enum.d.ts +0 -10
  986. package/lib/styles/models/style-size.enum.d.ts +0 -7
  987. package/lib/styles/styles.util.d.ts +0 -15
  988. package/lib/types/action-descriptor.types.d.ts +0 -4
  989. package/lib/types/data-provider.types.d.ts +0 -3
  990. package/lib/types/getter.type.d.ts +0 -2
  991. package/lib/types/i18n.type.d.ts +0 -1
  992. package/lib/types/index.d.ts +0 -7
  993. package/lib/types/localstorage-config-value.type.d.ts +0 -1
  994. package/lib/types/type.model.d.ts +0 -33
  995. package/lib/utils/action-data-provider.util.d.ts +0 -35
  996. package/lib/utils/date.util.d.ts +0 -18
  997. package/lib/utils/decorator-metadata.util.d.ts +0 -33
  998. package/lib/utils/editor-formly.util.d.ts +0 -13
  999. package/lib/utils/enum.util.d.ts +0 -50
  1000. package/lib/utils/error.util.d.ts +0 -116
  1001. package/lib/utils/export.util.d.ts +0 -5
  1002. package/lib/utils/file.util.d.ts +0 -3
  1003. package/lib/utils/i18n.util.d.ts +0 -85
  1004. package/lib/utils/index.d.ts +0 -13
  1005. package/lib/utils/model.util.d.ts +0 -10
  1006. package/lib/utils/notification.util.d.ts +0 -13
  1007. package/lib/utils/object.util.d.ts +0 -30
  1008. package/lib/utils/route.util.d.ts +0 -37
  1009. package/lib/utils/tableview.util.d.ts +0 -53
  1010. package/lib/validators/field.validator.d.ts +0 -3
  1011. package/lib/validators/index.d.ts +0 -1
  1012. package/openapi/angular/README.mustache +0 -226
  1013. package/openapi/angular/api.module.mustache +0 -39
  1014. package/openapi/angular/api.service.mustache +0 -253
  1015. package/openapi/angular/apiInterface.mustache +0 -47
  1016. package/openapi/angular/apis.mustache +0 -12
  1017. package/openapi/angular/config.yaml +0 -23
  1018. package/openapi/angular/configuration.mustache +0 -128
  1019. package/openapi/angular/custom/base-api.service.mustache +0 -14
  1020. package/openapi/angular/custom/helpers.mustache +0 -71
  1021. package/openapi/angular/custom/modelSchema.mustache +0 -46
  1022. package/openapi/angular/custom/schema.mustache +0 -18
  1023. package/openapi/angular/encoder.mustache +0 -20
  1024. package/openapi/angular/git_push.sh.mustache +0 -57
  1025. package/openapi/angular/index.mustache +0 -0
  1026. package/openapi/angular/licenseInfo.mustache +0 -11
  1027. package/openapi/angular/model.mustache +0 -16
  1028. package/openapi/angular/modelAlias.mustache +0 -1
  1029. package/openapi/angular/modelEnum.mustache +0 -24
  1030. package/openapi/angular/modelGeneric.mustache +0 -14
  1031. package/openapi/angular/modelGenericAdditionalProperties.mustache +0 -5
  1032. package/openapi/angular/modelGenericEnums.mustache +0 -30
  1033. package/openapi/angular/modelOneOf.mustache +0 -14
  1034. package/openapi/angular/modelTaggedUnion.mustache +0 -21
  1035. package/openapi/angular/models.mustache +0 -5
  1036. package/openapi/angular/ng-package.mustache +0 -6
  1037. package/openapi/angular/package.mustache +0 -39
  1038. package/openapi/angular/param.mustache +0 -69
  1039. package/openapi/angular/tsconfig.mustache +0 -28
  1040. package/openapi/angular/variables.mustache +0 -9
  1041. package/openapi/node/model.mustache +0 -83
  1042. package/openapi/node/models.mustache +0 -6
  1043. package/scss/common/layout/_breadcrumb.scss +0 -99
  1044. package/scss/common/layout/_config.scss +0 -100
  1045. package/scss/common/layout/_dashboard.scss +0 -16
  1046. package/scss/common/layout/_exception.scss +0 -133
  1047. package/scss/common/layout/_footer.scss +0 -29
  1048. package/scss/common/layout/_help.scss +0 -156
  1049. package/scss/common/layout/_inlinemenu.scss +0 -68
  1050. package/scss/common/layout/_invoice.scss +0 -176
  1051. package/scss/common/layout/_landing.scss +0 -636
  1052. package/scss/common/layout/_layout_dark.scss +0 -23
  1053. package/scss/common/layout/_layout_light.scss +0 -23
  1054. package/scss/common/layout/_loader.scss +0 -17
  1055. package/scss/common/layout/_login.scss +0 -106
  1056. package/scss/common/layout/_main.scss +0 -45
  1057. package/scss/common/layout/_mixins.scss +0 -222
  1058. package/scss/common/layout/_rightmenu.scss +0 -130
  1059. package/scss/common/layout/_topbar.scss +0 -191
  1060. package/scss/common/layout/_typography.scss +0 -68
  1061. package/scss/common/layout/_utils.scss +0 -96
  1062. package/scss/common/layout/_widgets.scss +0 -392
  1063. package/scss/common/layout/menu/_menu.scss +0 -7
  1064. package/scss/common/layout/menu/_menu_common.scss +0 -183
  1065. package/scss/common/layout/menu/_menu_overlay.scss +0 -52
  1066. package/scss/common/layout/menu/_menu_sidebar.scss +0 -233
  1067. package/scss/common/layout/menu/_menu_slim.scss +0 -137
  1068. package/scss/common/layout/menu/_menu_static.scss +0 -70
  1069. package/scss/common/layout/menu/_menu_theme.scss +0 -364
  1070. package/scss/common/theme/_theme_dark.scss +0 -5
  1071. package/scss/common/theme/_theme_light.scss +0 -5
  1072. package/scss/common/theme/designer/_colors.scss +0 -17
  1073. package/scss/common/theme/designer/_common.scss +0 -41
  1074. package/scss/common/theme/designer/_components.scss +0 -102
  1075. package/scss/common/theme/designer/_mixins.scss +0 -203
  1076. package/scss/common/theme/designer/components/button/_button.scss +0 -572
  1077. package/scss/common/theme/designer/components/button/_speeddial.scss +0 -81
  1078. package/scss/common/theme/designer/components/button/_splitbutton.scss +0 -2
  1079. package/scss/common/theme/designer/components/data/_carousel.scss +0 -37
  1080. package/scss/common/theme/designer/components/data/_datatable.scss +0 -266
  1081. package/scss/common/theme/designer/components/data/_dataview.scss +0 -55
  1082. package/scss/common/theme/designer/components/data/_filter.scss +0 -137
  1083. package/scss/common/theme/designer/components/data/_fullcalendar.scss +0 -324
  1084. package/scss/common/theme/designer/components/data/_orderlist.scss +0 -91
  1085. package/scss/common/theme/designer/components/data/_organizationchart.scss +0 -50
  1086. package/scss/common/theme/designer/components/data/_paginator.scss +0 -83
  1087. package/scss/common/theme/designer/components/data/_picklist.scss +0 -91
  1088. package/scss/common/theme/designer/components/data/_timeline.scss +0 -35
  1089. package/scss/common/theme/designer/components/data/_tree.scss +0 -144
  1090. package/scss/common/theme/designer/components/data/_treetable.scss +0 -241
  1091. package/scss/common/theme/designer/components/data/_virtualscroller.scss +0 -28
  1092. package/scss/common/theme/designer/components/file/_fileupload.scss +0 -58
  1093. package/scss/common/theme/designer/components/input/_autocomplete.scss +0 -105
  1094. package/scss/common/theme/designer/components/input/_calendar.scss +0 -212
  1095. package/scss/common/theme/designer/components/input/_cascadeselect.scss +0 -98
  1096. package/scss/common/theme/designer/components/input/_checkbox.scss +0 -85
  1097. package/scss/common/theme/designer/components/input/_chips.scss +0 -43
  1098. package/scss/common/theme/designer/components/input/_colorpicker.scss +0 -19
  1099. package/scss/common/theme/designer/components/input/_dropdown.scss +0 -136
  1100. package/scss/common/theme/designer/components/input/_editor.scss +0 -122
  1101. package/scss/common/theme/designer/components/input/_inputgroup.scss +0 -69
  1102. package/scss/common/theme/designer/components/input/_inputmask.scss +0 -3
  1103. package/scss/common/theme/designer/components/input/_inputnumber.scss +0 -3
  1104. package/scss/common/theme/designer/components/input/_inputswitch.scss +0 -60
  1105. package/scss/common/theme/designer/components/input/_inputtext.scss +0 -97
  1106. package/scss/common/theme/designer/components/input/_listbox.scss +0 -82
  1107. package/scss/common/theme/designer/components/input/_multiselect.scss +0 -165
  1108. package/scss/common/theme/designer/components/input/_password.scss +0 -33
  1109. package/scss/common/theme/designer/components/input/_radiobutton.scss +0 -78
  1110. package/scss/common/theme/designer/components/input/_rating.scss +0 -48
  1111. package/scss/common/theme/designer/components/input/_selectbutton.scss +0 -50
  1112. package/scss/common/theme/designer/components/input/_slider.scss +0 -71
  1113. package/scss/common/theme/designer/components/input/_togglebutton.scss +0 -48
  1114. package/scss/common/theme/designer/components/input/_treeselect.scss +0 -91
  1115. package/scss/common/theme/designer/components/menu/_breadcrumb.scss +0 -42
  1116. package/scss/common/theme/designer/components/menu/_contextmenu.scss +0 -51
  1117. package/scss/common/theme/designer/components/menu/_dock.scss +0 -51
  1118. package/scss/common/theme/designer/components/menu/_megamenu.scss +0 -103
  1119. package/scss/common/theme/designer/components/menu/_menu.scss +0 -41
  1120. package/scss/common/theme/designer/components/menu/_menubar.scss +0 -180
  1121. package/scss/common/theme/designer/components/menu/_panelmenu.scss +0 -136
  1122. package/scss/common/theme/designer/components/menu/_slidemenu.scss +0 -56
  1123. package/scss/common/theme/designer/components/menu/_steps.scss +0 -56
  1124. package/scss/common/theme/designer/components/menu/_tabmenu.scss +0 -49
  1125. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +0 -57
  1126. package/scss/common/theme/designer/components/messages/_inlinemessage.scss +0 -64
  1127. package/scss/common/theme/designer/components/messages/_message.scss +0 -102
  1128. package/scss/common/theme/designer/components/messages/_toast.scss +0 -94
  1129. package/scss/common/theme/designer/components/misc/_avatar.scss +0 -30
  1130. package/scss/common/theme/designer/components/misc/_badge.scss +0 -48
  1131. package/scss/common/theme/designer/components/misc/_blockui.scss +0 -3
  1132. package/scss/common/theme/designer/components/misc/_chip.scss +0 -38
  1133. package/scss/common/theme/designer/components/misc/_inplace.scss +0 -16
  1134. package/scss/common/theme/designer/components/misc/_progressbar.scss +0 -17
  1135. package/scss/common/theme/designer/components/misc/_scrolltop.scss +0 -20
  1136. package/scss/common/theme/designer/components/misc/_skeleton.scss +0 -8
  1137. package/scss/common/theme/designer/components/misc/_tag.scss +0 -35
  1138. package/scss/common/theme/designer/components/misc/_terminal.scss +0 -11
  1139. package/scss/common/theme/designer/components/multimedia/_galleria.scss +0 -141
  1140. package/scss/common/theme/designer/components/multimedia/_image.scss +0 -44
  1141. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +0 -65
  1142. package/scss/common/theme/designer/components/overlay/_dialog.scss +0 -63
  1143. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +0 -62
  1144. package/scss/common/theme/designer/components/overlay/_sidebar.scss +0 -27
  1145. package/scss/common/theme/designer/components/overlay/_tooltip.scss +0 -33
  1146. package/scss/common/theme/designer/components/panel/_accordion.scss +0 -119
  1147. package/scss/common/theme/designer/components/panel/_card.scss +0 -30
  1148. package/scss/common/theme/designer/components/panel/_divider.scss +0 -31
  1149. package/scss/common/theme/designer/components/panel/_fieldset.scss +0 -47
  1150. package/scss/common/theme/designer/components/panel/_panel.scss +0 -42
  1151. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +0 -6
  1152. package/scss/common/theme/designer/components/panel/_splitter.scss +0 -19
  1153. package/scss/common/theme/designer/components/panel/_tabview.scss +0 -66
  1154. package/scss/common/theme/designer/components/panel/_toolbar.scss +0 -10
  1155. package/scss/common/theme/extensions/_button.scss +0 -111
  1156. package/scss/common/theme/extensions/_calendar.scss +0 -18
  1157. package/scss/common/theme/extensions/_card.scss +0 -6
  1158. package/scss/common/theme/extensions/_carousel.scss +0 -13
  1159. package/scss/common/theme/extensions/_checkbox.scss +0 -10
  1160. package/scss/common/theme/extensions/_contextmenu.scss +0 -16
  1161. package/scss/common/theme/extensions/_datatable.scss +0 -83
  1162. package/scss/common/theme/extensions/_dialog.scss +0 -14
  1163. package/scss/common/theme/extensions/_fieldset.scss +0 -6
  1164. package/scss/common/theme/extensions/_galleria.scss +0 -25
  1165. package/scss/common/theme/extensions/_megamenu.scss +0 -18
  1166. package/scss/common/theme/extensions/_menu.scss +0 -14
  1167. package/scss/common/theme/extensions/_menubar.scss +0 -14
  1168. package/scss/common/theme/extensions/_orderlist.scss +0 -37
  1169. package/scss/common/theme/extensions/_paginator.scss +0 -19
  1170. package/scss/common/theme/extensions/_panelmenu.scss +0 -20
  1171. package/scss/common/theme/extensions/_password.scss +0 -5
  1172. package/scss/common/theme/extensions/_picklist.scss +0 -37
  1173. package/scss/common/theme/extensions/_radiobutton.scss +0 -8
  1174. package/scss/common/theme/extensions/_sidebar.scss +0 -19
  1175. package/scss/common/theme/extensions/_slidemenu.scss +0 -10
  1176. package/scss/common/theme/extensions/_slider.scss +0 -6
  1177. package/scss/common/theme/extensions/_steps.scss +0 -50
  1178. package/scss/common/theme/extensions/_tieredmenu.scss +0 -14
  1179. package/scss/common/theme/extensions/_toast.scss +0 -6
  1180. package/scss/common/theme/extensions/_tree.scss +0 -35
  1181. package/scss/common/theme/extensions/_treetable.scss +0 -35
  1182. package/scss/common/theme/extensions/_vendor_extensions.scss +0 -27
  1183. package/scss/common/variables/layout/_common.scss +0 -12
  1184. package/scss/common/variables/layout/_layout_dark.scss +0 -70
  1185. package/scss/common/variables/layout/_layout_light.scss +0 -70
  1186. package/scss/common/variables/theme/_theme_dark.scss +0 -937
  1187. package/scss/common/variables/theme/_theme_light.scss +0 -936
  1188. package/scss/layout/default/_mng-variables-layout-dark.scss +0 -2
  1189. package/scss/layout/default/_mng-variables-layout-light.scss +0 -2
  1190. package/scss/layout/default/layout-dark.scss +0 -2
  1191. package/scss/layout/default/layout-light.scss +0 -2
  1192. package/scss/mng-commons-dark-v2.scss +0 -9
  1193. package/scss/mng-commons-dark.scss +0 -5
  1194. package/scss/mng-commons-light-v2.scss +0 -9
  1195. package/scss/mng-commons-light.scss +0 -8
  1196. package/scss/mng-overrides/_layout_action.scss +0 -10
  1197. package/scss/mng-overrides/_layout_dialog.scss +0 -91
  1198. package/scss/mng-overrides/_layout_forms.scss +0 -38
  1199. package/scss/mng-overrides/_layout_menu.scss +0 -10
  1200. package/scss/mng-overrides/_layout_radio.scss +0 -3
  1201. package/scss/mng-overrides/_layout_styles.scss +0 -35
  1202. package/scss/mng-overrides/_layout_topbar.scss +0 -21
  1203. package/scss/mng-overrides/_mixins.scss +0 -69
  1204. package/scss/mng-overrides/_theme_autocomplete.scss +0 -29
  1205. package/scss/mng-overrides/_theme_button.scss +0 -61
  1206. package/scss/mng-overrides/_theme_datatable.scss +0 -160
  1207. package/scss/mng-overrides/_theme_datepicker.scss +0 -21
  1208. package/scss/mng-overrides/_theme_dialog.scss +0 -108
  1209. package/scss/mng-overrides/_theme_dropdown.scss +0 -22
  1210. package/scss/mng-overrides/_theme_fileupload.scss +0 -24
  1211. package/scss/mng-overrides/_theme_forms.scss +0 -29
  1212. package/scss/mng-overrides/_theme_image.scss +0 -27
  1213. package/scss/mng-overrides/_theme_input.scss +0 -27
  1214. package/scss/mng-overrides/_theme_menu.scss +0 -5
  1215. package/scss/mng-overrides/_theme_multiselect.scss +0 -20
  1216. package/scss/mng-overrides/_theme_styles.scss +0 -17
  1217. package/scss/mng-overrides/_theme_tableview.scss +0 -79
  1218. package/scss/mng-overrides/_theme_tabview.scss +0 -11
  1219. package/scss/mng-overrides/_theme_toast.scss +0 -3
  1220. package/scss/mng-overrides/_theme_toolbar.scss +0 -5
  1221. package/scss/mng-overrides/_variables.scss +0 -15
  1222. package/scss/theme/default/_mng-variables-theme-dark.scss +0 -11
  1223. package/scss/theme/default/_mng-variables-theme-light.scss +0 -13
  1224. package/scss/theme/default/theme-dark.scss +0 -2
  1225. package/scss/theme/default/theme-light.scss +0 -2
  1226. package/scss/v2/layout/_animation.scss +0 -53
  1227. package/scss/v2/layout/_breadcrumb.scss +0 -97
  1228. package/scss/v2/layout/_config.scss +0 -42
  1229. package/scss/v2/layout/_content.scss +0 -3
  1230. package/scss/v2/layout/_fonts.scss +0 -32
  1231. package/scss/v2/layout/_layout_dark.scss +0 -12
  1232. package/scss/v2/layout/_layout_light.scss +0 -12
  1233. package/scss/v2/layout/_main.scss +0 -54
  1234. package/scss/v2/layout/_profile.scss +0 -10
  1235. package/scss/v2/layout/_responsive.scss +0 -131
  1236. package/scss/v2/layout/_sidebar_drawer.scss +0 -283
  1237. package/scss/v2/layout/_sidebar_horizontal.scss +0 -168
  1238. package/scss/v2/layout/_sidebar_reveal.scss +0 -201
  1239. package/scss/v2/layout/_sidebar_slim.scss +0 -157
  1240. package/scss/v2/layout/_sidebar_slim_plus.scss +0 -167
  1241. package/scss/v2/layout/_sidebar_vertical.scss +0 -176
  1242. package/scss/v2/layout/_topbar.scss +0 -174
  1243. package/scss/v2/layout/_typography.scss +0 -62
  1244. package/scss/v2/layout/_utils.scss +0 -33
  1245. package/scss/v2/layout/layout.scss +0 -24
  1246. package/scss/v2/layout/mng/_mng_layout_footer.scss +0 -39
  1247. package/scss/v2/layout/mng/_mng_layout_menu.scss +0 -10
  1248. package/scss/v2/layout/mng/_mng_layout_styles.scss +0 -3
  1249. package/scss/v2/layout/mng/_mng_layout_topbar.scss +0 -18
  1250. package/scss/v2/layout/preloading.scss +0 -84
  1251. package/scss/v2/theme/extensions/_fullcalendar.scss +0 -328
  1252. package/scss/v2/theme/theme-base/_colors.scss +0 -17
  1253. package/scss/v2/theme/theme-base/_common.scss +0 -76
  1254. package/scss/v2/theme/theme-base/_components.scss +0 -110
  1255. package/scss/v2/theme/theme-base/_mixins.scss +0 -337
  1256. package/scss/v2/theme/theme-base/components/button/_button.scss +0 -576
  1257. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +0 -96
  1258. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +0 -348
  1259. package/scss/v2/theme/theme-base/components/data/_carousel.scss +0 -37
  1260. package/scss/v2/theme/theme-base/components/data/_datatable.scss +0 -338
  1261. package/scss/v2/theme/theme-base/components/data/_dataview.scss +0 -46
  1262. package/scss/v2/theme/theme-base/components/data/_filter.scss +0 -137
  1263. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +0 -114
  1264. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +0 -50
  1265. package/scss/v2/theme/theme-base/components/data/_paginator.scss +0 -92
  1266. package/scss/v2/theme/theme-base/components/data/_picklist.scss +0 -114
  1267. package/scss/v2/theme/theme-base/components/data/_timeline.scss +0 -35
  1268. package/scss/v2/theme/theme-base/components/data/_tree.scss +0 -150
  1269. package/scss/v2/theme/theme-base/components/data/_treetable.scss +0 -255
  1270. package/scss/v2/theme/theme-base/components/data/_virtualscroller.scss +0 -28
  1271. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +0 -64
  1272. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +0 -136
  1273. package/scss/v2/theme/theme-base/components/input/_calendar.scss +0 -267
  1274. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +0 -135
  1275. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +0 -94
  1276. package/scss/v2/theme/theme-base/components/input/_chips.scss +0 -65
  1277. package/scss/v2/theme/theme-base/components/input/_colorpicker.scss +0 -19
  1278. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +0 -151
  1279. package/scss/v2/theme/theme-base/components/input/_editor.scss +0 -122
  1280. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +0 -74
  1281. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +0 -16
  1282. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +0 -28
  1283. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +0 -60
  1284. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +0 -100
  1285. package/scss/v2/theme/theme-base/components/input/_listbox.scss +0 -97
  1286. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +0 -177
  1287. package/scss/v2/theme/theme-base/components/input/_password.scss +0 -52
  1288. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +0 -78
  1289. package/scss/v2/theme/theme-base/components/input/_rating.scss +0 -60
  1290. package/scss/v2/theme/theme-base/components/input/_selectbutton.scss +0 -50
  1291. package/scss/v2/theme/theme-base/components/input/_slider.scss +0 -71
  1292. package/scss/v2/theme/theme-base/components/input/_togglebutton.scss +0 -48
  1293. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +0 -139
  1294. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +0 -42
  1295. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +0 -39
  1296. package/scss/v2/theme/theme-base/components/menu/_dock.scss +0 -95
  1297. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +0 -55
  1298. package/scss/v2/theme/theme-base/components/menu/_menu.scss +0 -37
  1299. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +0 -140
  1300. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +0 -153
  1301. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +0 -59
  1302. package/scss/v2/theme/theme-base/components/menu/_steps.scss +0 -56
  1303. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +0 -73
  1304. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +0 -43
  1305. package/scss/v2/theme/theme-base/components/messages/_inlinemessage.scss +0 -69
  1306. package/scss/v2/theme/theme-base/components/messages/_message.scss +0 -107
  1307. package/scss/v2/theme/theme-base/components/messages/_toast.scss +0 -99
  1308. package/scss/v2/theme/theme-base/components/misc/_avatar.scss +0 -30
  1309. package/scss/v2/theme/theme-base/components/misc/_badge.scss +0 -48
  1310. package/scss/v2/theme/theme-base/components/misc/_blockui.scss +0 -0
  1311. package/scss/v2/theme/theme-base/components/misc/_chip.scss +0 -42
  1312. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +0 -16
  1313. package/scss/v2/theme/theme-base/components/misc/_progressbar.scss +0 -17
  1314. package/scss/v2/theme/theme-base/components/misc/_scrolltop.scss +0 -25
  1315. package/scss/v2/theme/theme-base/components/misc/_skeleton.scss +0 -8
  1316. package/scss/v2/theme/theme-base/components/misc/_tag.scss +0 -40
  1317. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +0 -12
  1318. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +0 -155
  1319. package/scss/v2/theme/theme-base/components/multimedia/_image.scss +0 -49
  1320. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +0 -70
  1321. package/scss/v2/theme/theme-base/components/overlay/_dialog.scss +0 -69
  1322. package/scss/v2/theme/theme-base/components/overlay/_overlaypanel.scss +0 -64
  1323. package/scss/v2/theme/theme-base/components/overlay/_sidebar.scss +0 -27
  1324. package/scss/v2/theme/theme-base/components/overlay/_tooltip.scss +0 -33
  1325. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +0 -119
  1326. package/scss/v2/theme/theme-base/components/panel/_card.scss +0 -30
  1327. package/scss/v2/theme/theme-base/components/panel/_divider.scss +0 -31
  1328. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +0 -47
  1329. package/scss/v2/theme/theme-base/components/panel/_panel.scss +0 -63
  1330. package/scss/v2/theme/theme-base/components/panel/_scrollpanel.scss +0 -6
  1331. package/scss/v2/theme/theme-base/components/panel/_splitter.scss +0 -19
  1332. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +0 -82
  1333. package/scss/v2/theme/theme-base/components/panel/_toolbar.scss +0 -11
  1334. package/scss/v2/theme/theme-base/mng/_mng_mixins.scss +0 -69
  1335. package/scss/v2/theme/theme-base/mng/_mng_theme_autocomplete.scss +0 -34
  1336. package/scss/v2/theme/theme-base/mng/_mng_theme_button.scss +0 -68
  1337. package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +0 -153
  1338. package/scss/v2/theme/theme-base/mng/_mng_theme_datepicker.scss +0 -21
  1339. package/scss/v2/theme/theme-base/mng/_mng_theme_dialog.scss +0 -206
  1340. package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +0 -32
  1341. package/scss/v2/theme/theme-base/mng/_mng_theme_fileupload.scss +0 -24
  1342. package/scss/v2/theme/theme-base/mng/_mng_theme_forms.scss +0 -66
  1343. package/scss/v2/theme/theme-base/mng/_mng_theme_image.scss +0 -27
  1344. package/scss/v2/theme/theme-base/mng/_mng_theme_input.scss +0 -31
  1345. package/scss/v2/theme/theme-base/mng/_mng_theme_menu.scss +0 -5
  1346. package/scss/v2/theme/theme-base/mng/_mng_theme_multiselect.scss +0 -20
  1347. package/scss/v2/theme/theme-base/mng/_mng_theme_styles.scss +0 -17
  1348. package/scss/v2/theme/theme-base/mng/_mng_theme_tableview.scss +0 -97
  1349. package/scss/v2/theme/theme-base/mng/_mng_theme_tabview.scss +0 -11
  1350. package/scss/v2/theme/theme-base/mng/_mng_theme_toast.scss +0 -3
  1351. package/scss/v2/theme/theme-base/mng/_mng_theme_toolbar.scss +0 -5
  1352. package/scss/v2/theme/theme-base/mng/_mng_variables.scss +0 -15
  1353. package/scss/v2/theme/theme-dark/_extensions.scss +0 -100
  1354. package/scss/v2/theme/theme-dark/_variables.scss +0 -940
  1355. package/scss/v2/theme/theme-dark/blue/theme.scss +0 -14
  1356. package/scss/v2/theme/theme-light/_extensions.scss +0 -100
  1357. package/scss/v2/theme/theme-light/_variables.scss +0 -936
  1358. package/scss/v2/theme/theme-light/blue/theme.scss +0 -14
  1359. package/templates/tableview-route.component.html +0 -5
  1360. /package/{lib → core}/components/notification/notification-wrapper.component.d.ts +0 -0
  1361. /package/{lib/models/class.model.d.ts → core/models/class-attribute.model.d.ts} +0 -0
  1362. /package/{lib → core}/models/version.model.d.ts +0 -0
  1363. /package/{lib/types/type.decorator.d.ts → core/reflect/type-enum-decorator.d.ts} +0 -0
  1364. /package/{lib → core}/utils/string.util.d.ts +0 -0
  1365. /package/{lib/descriptors/types/trim.type.d.ts → form/api/models/trim.model.d.ts} +0 -0
  1366. /package/{lib/descriptors/types/column.type.d.ts → table/api/models/column.model.d.ts} +0 -0
  1367. /package/{lib → tableview/action}/models/can-component-deactivate.model.d.ts +0 -0
  1368. /package/{lib/services/action → tableview/action/services/providers}/provide-action-executor.d.ts +0 -0
  1369. /package/{lib/services/view → tableview/action/services/providers}/provide-view-container.d.ts +0 -0
  1370. /package/{lib/descriptors/types → tableview/api/action/models}/action.type.d.ts +0 -0
  1371. /package/{lib/components → tableview/api}/action/models/tableview-action-default-categories.model.d.ts +0 -0
  1372. /package/{lib/components/form → tableview/api/editor}/models/form-editor.interface.d.ts +0 -0
  1373. /package/{lib → tableview/api/editor}/models/radio.model.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediusinc-mng-commons-tableview-api.mjs","sources":["../../tableview/api/src/action/models/action.type.ts","../../tableview/api/src/action/models/tableview-action-default-categories.model.ts","../../tableview/api/src/action/descriptors/action-confirmation.descriptor.ts","../../tableview/api/src/action/descriptors/action.descriptor.ts","../../tableview/api/src/editor/data-providers/editor.data-provider.ts","../../tableview/api/src/action/descriptors/action-editor.descriptor.ts","../../tableview/api/src/action/descriptors/action-link.descriptor.ts","../../tableview/api/src/action/models/action-error.model.ts","../../tableview/api/src/action/helpers/data-provider-executors.ts","../../tableview/api/src/action/models/execution/action-instance-state.model.ts","../../tableview/api/src/action/services/tokens/data-language-dropdown.token.ts","../../tableview/api/src/action/services/data-provider-executor.service.ts","../../tableview/api/src/editor/models/field.model.ts","../../tableview/api/src/editor/helpers/class-attribute-converter.ts","../../tableview/api/src/editor/models/editor.model.ts","../../tableview/api/src/editor/descriptors/field-validation.descriptor.ts","../../tableview/api/src/editor/descriptors/field-base.descriptor.ts","../../tableview/api/src/editor/descriptors/field-action.descriptor.ts","../../tableview/api/src/editor/descriptors/field-group.descriptor.ts","../../tableview/api/src/editor/descriptors/field-lookup.descriptor.ts","../../tableview/api/src/editor/descriptors/field-many.descriptor.ts","../../tableview/api/src/editor/helpers/field-validators.ts","../../tableview/api/src/editor/descriptors/field.descriptor.ts","../../tableview/api/src/editor/descriptors/editor.descriptor.ts","../../tableview/api/src/editor/models/form-editor.event.ts","../../tableview/api/src/editor/models/formly-custom-field.model.ts","../../tableview/api/src/tableview/data-providers/tableview.data-provider.ts","../../tableview/api/src/tableview/helpers/class-attribute-converter.ts","../../tableview/api/src/tableview/descriptors/tableview.descriptor.ts","../../tableview/api/src/tableview/helpers/files-export.ts","../../tableview/api/src/tableview/helpers/tableview-default-actions.ts","../../tableview/api/src/tableview/helpers/tableview-input-builder.ts","../../tableview/api/src/tableview/helpers/tableview-create.ts","../../tableview/api/src/index.ts","../../tableview/api/src/mediusinc-mng-commons-tableview-api.ts"],"sourcesContent":["export enum ActionPositionEnum {\n ToolbarLeft,\n ToolbarRight,\n TableHeader,\n RowInline,\n RowClick,\n FooterLeft,\n FooterRight\n}\n\nexport enum ActionActivationTriggerEnum {\n OnClick, // action is triggered for activation on click\n OnRoute // action is triggered for activation by route url\n}\n\nexport enum ActionTypeEnum {\n Direct, // action is directly activated and executed\n Editor // editor providing middle step for activation\n}\n\nexport enum ActionEditorSubmitTypeEnum {\n Submit,\n Cancel\n}\n","/**\n * Default categories for tableview actions\n */\nexport class TableviewActionDefaultCategories {\n public static readonly READ = 'read';\n public static readonly ADD = 'add';\n public static readonly EDIT = 'edit';\n public static readonly DELETE = 'delete';\n public static readonly DETAILS = 'details';\n}\n","import {Confirmation} from 'primeng/api';\n\nimport {StyleLevelEnum} from '@mediusinc/mng-commons/core';\nimport {ActionButtonDescriptor, ButtonStyleBuilder} from '@mediusinc/mng-commons/form/api';\n\nimport {IActionContext} from '../models/execution/action-context.model';\n\nexport class ActionConfirmationDescriptor<Model> {\n private _icon?: string; // Icon to display next to message.\n private _title?: string | null; // Translation for title text of the dialog.\n private _message?: string | null; // Translation for body text of the dialog.\n\n private _acceptButton: ActionButtonDescriptor;\n private _rejectButton?: ActionButtonDescriptor;\n\n private _closeOnEscape = true; // Defines if dialog closes when esc key is pressed.\n private _closable = true; // Defines if dialog is closable.\n private _runConfirmationConfigMapFn?: ConfigurationConfigMapFn<Model>; //function used to generate the confirmation dialogue. **WARNING** changing the *accept* and *reject* methods of the *confirmConfig* parameter may lead to unexpected behaviour\n\n constructor() {\n this._acceptButton = new ActionButtonDescriptor().withIcon('pi pi-check').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default));\n this._rejectButton = new ActionButtonDescriptor().withIcon('pi pi-times').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default).withTextButton());\n this._icon = 'pi pi-exclamation-triangle';\n }\n\n public withIcon(icon?: string): this {\n this._icon = icon;\n return this;\n }\n\n public withTitle(title?: string | null): this {\n this._title = title;\n return this;\n }\n\n public withMessage(message?: string | null): this {\n this._message = message;\n return this;\n }\n\n public withAcceptButton(actionButtonDescriptor: ActionButtonDescriptor): this {\n this._acceptButton = actionButtonDescriptor;\n return this;\n }\n\n public withRejectButton(actionButtonDescriptor?: ActionButtonDescriptor): this {\n this._rejectButton = actionButtonDescriptor;\n return this;\n }\n\n /**\n * set if dialog can be closed on escaped pressed\n * if true, then closable is also set to true\n * @param closeOnEscape\n */\n public withCloseOnEscape(closeOnEscape: boolean): this {\n if (closeOnEscape) {\n this._closable = true;\n }\n this._closeOnEscape = closeOnEscape;\n return this;\n }\n\n public withClosable(closable: boolean): this {\n this._closable = closable;\n return this;\n }\n\n public withRunConfirmationConfigMapFn(runConfirmationConfigMapFn?: ConfigurationConfigMapFn<Model>): this {\n this._runConfirmationConfigMapFn = runConfirmationConfigMapFn;\n return this;\n }\n\n public get icon() {\n return this._icon;\n }\n\n public get title() {\n return this._title;\n }\n\n public get message() {\n return this._message;\n }\n\n public get closeOnEscape() {\n return this._closeOnEscape;\n }\n\n public get closable() {\n return this._closable;\n }\n\n public get runConfirmationConfigMapFn() {\n return this._runConfirmationConfigMapFn;\n }\n\n public get acceptButton() {\n return this._acceptButton;\n }\n\n public get rejectButton() {\n return this._rejectButton;\n }\n}\n\nexport type ConfigurationConfigMapFn<Item> = (ctx: IActionContext<Item, any>, confirmConfig: Confirmation) => Confirmation;\n","import {InjectionToken, Type} from '@angular/core';\n\nimport {of} from 'rxjs';\n\nimport {\n APermissions,\n ClassType,\n CommonsInternalError,\n DataProvider,\n IActionDescriptorInternal,\n IDataProvider,\n LoggerService,\n ServiceClassType,\n StyleLevelEnum,\n StyleSizeEnum,\n findReflectTypeName\n} from '@mediusinc/mng-commons/core';\nimport {ActionButtonDescriptor, ButtonStyleBuilder} from '@mediusinc/mng-commons/form/api';\nimport {ModelDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {IActionComponent} from '../models/action-component.model';\nimport {ActionRunFnType, ActionValidationFnType} from '../models/action-descriptor.types';\nimport {ActionActivationTriggerEnum, ActionPositionEnum, ActionTypeEnum} from '../models/action.type';\nimport {IActionContext} from '../models/execution/action-context.model';\nimport {TableviewActionDefaultCategories} from '../models/tableview-action-default-categories.model';\nimport {ActionConfirmationDescriptor} from './action-confirmation.descriptor';\n\nexport type ActionDescriptorConstructorOptsType<Model, Service> = ActionDescriptorCreateOptsParentType &\n ActionDescriptorCreateOptsProviderType<Model, Service> & {\n model?: ModelDescriptor<Model>;\n };\n\nexport type ActionDescriptorCreateFromClassOpts<Model> = ActionDescriptorCreateOptsModel<Model> & ActionDescriptorCreateOptsI18nType & ActionDescriptorCreateOptsParentType;\n\nexport type ActionDescriptorCreateOptsProviderType<Model, Service> = {\n serviceType?: ServiceClassType<Service>;\n dataProvider?: IDataProvider<Model, Service>;\n};\n\nexport type ActionDescriptorCreateOptsI18nType = {\n i18nBaseKey?: string | ClassType<any>;\n};\n\nexport type ActionDescriptorCreateOptsModel<Model> = {\n idProperty?: keyof Model;\n titleProperty?: keyof Model;\n};\n\nexport type ActionDescriptorCreateOptsParentType = {\n parentType?: ClassType<unknown>;\n parentProperty?: string;\n};\n\nexport type ActionProviderType<Model, Service> = ServiceClassType<Service> | IDataProvider<Model, Service>;\n\nexport const actionGetProviderCfgObj = <Model, Service>(serviceOrDataProvider?: ActionProviderType<Model, Service>) => {\n const cfg: ActionDescriptorCreateOptsProviderType<Model, Service> = {};\n if (serviceOrDataProvider) {\n if ((serviceOrDataProvider as IDataProvider).isDataProvider) {\n // type casting needed, cause there was no other way found to differentiate the types\n cfg.dataProvider = serviceOrDataProvider as IDataProvider<Model, Service>;\n } else {\n cfg.serviceType = serviceOrDataProvider as ServiceClassType<Service>;\n }\n }\n return cfg;\n};\n\nexport class ActionDescriptorInst<Model, Service = any> implements IActionDescriptorInternal<Model, Service> {\n protected readonly _model?: ModelDescriptor<Model>;\n protected readonly _actionName: string;\n protected readonly _actionNameLong: string;\n protected readonly _parentType?: ClassType<unknown>;\n protected readonly _parentTypeName?: string;\n protected readonly _parentProperty?: string;\n\n protected readonly _dataProvider?: IDataProvider<Model, Service>;\n\n protected _i18nModelActionBaseKey?: string;\n\n protected _type: ActionTypeEnum = ActionTypeEnum.Direct;\n protected _activationTrigger: ActionActivationTriggerEnum = ActionActivationTriggerEnum.OnClick;\n protected _position: ActionPositionEnum = ActionPositionEnum.ToolbarRight;\n protected _level: StyleLevelEnum = StyleLevelEnum.Default;\n private _positionTableviewCategories?: string[];\n protected _tableviewCategory?: string;\n\n protected _routeUrl: string | null = null;\n\n protected _runFunction?: ActionRunFnType<Model, Service>;\n protected _isVisibleFunction?: ActionValidationFnType<Model, Service>;\n protected _isEnabledFunction?: ActionValidationFnType<Model, Service>;\n\n protected _runConfirmationDialogDescriptor?: ActionConfirmationDescriptor<Model>;\n\n protected _hasRunNotificationSuccess = true;\n protected _runNotificationSuccessTitle?: string;\n protected _runNotificationSuccessMessage?: string;\n\n protected _hasRunNotificationError = true;\n protected _runNotificationErrorTitle?: string;\n protected _runNotificationErrorMessage?: string;\n\n protected _afterRunAction?: ActionDescriptorInst<any> | ((ctx: IActionContext<Model, any>) => ActionDescriptorInst<any>);\n protected _onRunErrorAction?: ActionDescriptorInst<Model> | ((ctx: IActionContext<Model, any>) => ActionDescriptorInst<Model>);\n\n // security\n protected _permissions?: APermissions;\n\n //button\n protected _button = new ActionButtonDescriptor();\n\n // multiple row selection\n protected _hasItemsSelection = false;\n\n // custom action component\n protected _component?: Type<IActionComponent<Model>>;\n protected _componentFromDi?: InjectionToken<Type<any>>;\n\n // subactions\n protected _subactionsAsMenu = false;\n protected _subactions: Array<ActionDescriptorInst<Model>> = [];\n\n protected constructor(actionName: string, cfg?: ActionDescriptorConstructorOptsType<Model, Service>) {\n this._model = cfg?.model;\n this._actionName = actionName;\n\n if ((cfg?.parentType && !cfg?.parentProperty) || (!cfg?.parentProperty && cfg?.parentProperty)) {\n throw new CommonsInternalError(`Provide both the parent type and parent property or none: ${this._actionName}, ${cfg?.parentType}, ${cfg?.parentProperty}.`);\n }\n this._parentType = cfg?.parentType;\n this._parentTypeName = cfg?.parentType ? findReflectTypeName(cfg?.parentType) ?? undefined : undefined;\n this._parentProperty = cfg?.parentProperty;\n\n this.setI18nModelActionBaseKey();\n\n if (cfg?.serviceType) {\n this._dataProvider = DataProvider.fromAnyParam<Model, Service>(this._model?.type, cfg.serviceType);\n } else if (cfg?.dataProvider) {\n this._dataProvider = cfg.dataProvider;\n }\n\n let displayName = actionName;\n if (this._model) displayName = `${this._model.typeName ?? this._model.i18nBaseKey ?? 'NoModelName'}.${displayName}`;\n if (this._parentTypeName) {\n displayName = `${this._parentTypeName}.${this._parentProperty}_${displayName}`;\n }\n this._actionNameLong = displayName;\n }\n\n public get model() {\n return this._model;\n }\n\n public get parentTypeName() {\n return this._parentTypeName;\n }\n\n public get parentProperty() {\n return this._parentProperty;\n }\n\n public get i18nModelActionBaseKey() {\n return this._i18nModelActionBaseKey;\n }\n\n public get type() {\n return this._type;\n }\n\n public get activationTrigger() {\n return this._activationTrigger;\n }\n\n public get position() {\n return this._position;\n }\n\n public get level() {\n return this._level;\n }\n\n public get routeUrl() {\n return this._routeUrl;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n\n public get hasRunFunction(): boolean {\n return typeof this._runFunction === 'function';\n }\n\n public get runFunction(): ActionRunFnType<Model, Service> {\n if (!this._runFunction) {\n throw new CommonsInternalError(`Run function is not defined for action ${this._actionNameLong} and cannot be invoked`);\n }\n return this._runFunction;\n }\n\n public get isVisibleFunction() {\n return this._isVisibleFunction;\n }\n\n public get isEnabledFunction() {\n return this._isEnabledFunction;\n }\n\n public get actionName() {\n return this._actionName;\n }\n\n public get actionNameLong() {\n return this._actionNameLong;\n }\n\n public get className() {\n return this.button.styleClass.customClass;\n }\n\n public get runConfirmationDialogDescriptor() {\n return this._runConfirmationDialogDescriptor;\n }\n\n public get hasRunConfirmation() {\n return this._runConfirmationDialogDescriptor !== null && this._runConfirmationDialogDescriptor !== undefined;\n }\n\n public get hasRunNotificationSuccess() {\n return this._hasRunNotificationSuccess;\n }\n\n public get runNotificationSuccessTitle() {\n return this._runNotificationSuccessTitle;\n }\n\n public get runNotificationSuccessMessage() {\n return this._runNotificationSuccessMessage;\n }\n\n public get hasRunNotificationError() {\n return this._hasRunNotificationError;\n }\n\n public get runNotificationErrorTitle() {\n return this._runNotificationErrorTitle;\n }\n\n public get runNotificationErrorMessage() {\n return this._runNotificationErrorMessage;\n }\n\n public get afterRunAction() {\n return this._afterRunAction;\n }\n\n public get onRunErrorAction() {\n return this._onRunErrorAction;\n }\n\n public get permissions() {\n return this._permissions;\n }\n\n public get tableviewCategory() {\n return this._tableviewCategory;\n }\n\n public get hasItemsSelection() {\n return this._hasItemsSelection;\n }\n\n public get button() {\n return this._button;\n }\n\n public get component() {\n return this._component;\n }\n\n public get componentFromDi() {\n return this._componentFromDi;\n }\n\n public get positionTableviewCategories() {\n return this._positionTableviewCategories;\n }\n\n public get subactionsAsMenu() {\n return this._subactionsAsMenu;\n }\n\n public get subactions() {\n return this._subactions;\n }\n\n protected setI18nModelActionBaseKey(base?: string) {\n if (this._parentTypeName || this._model) {\n this._i18nModelActionBaseKey = this._parentTypeName\n ? `${this._parentTypeName}.actions.${this._parentProperty}_${this._actionName}`\n : `${base ?? this._model!.i18nBaseKey}.actions.${this._actionName}`;\n }\n }\n\n public withRunFunction(fn: ActionRunFnType<Model, Service>): this {\n this._runFunction = fn;\n return this;\n }\n\n public withIsVisibleFunction(fn?: ActionValidationFnType<Model, Service>): this {\n this._isVisibleFunction = fn;\n return this;\n }\n\n public withIsEnabledFunction(fn?: ActionValidationFnType<Model, Service>): this {\n this._isEnabledFunction = fn;\n return this;\n }\n\n public withRouteTrigger(routeUrl: string): this {\n this._activationTrigger = ActionActivationTriggerEnum.OnRoute;\n this._routeUrl = routeUrl;\n return this;\n }\n\n public withPosition(position: ActionPositionEnum): this {\n this._position = position;\n return this;\n }\n\n /**\n * creates confirmation action with default style based on action descriptor\n */\n public withRunConfirmation(): ActionConfirmationDescriptor<Model> {\n this._runConfirmationDialogDescriptor = new ActionConfirmationDescriptor<Model>();\n this._runConfirmationDialogDescriptor.acceptButton.styleClass.withActionLevel(this._level);\n this._runConfirmationDialogDescriptor.rejectButton?.styleClass.withActionLevel(this._level);\n\n return this._runConfirmationDialogDescriptor;\n }\n\n /**\n * Add a configuration dialogue to action using ActionConfigurationDescriptor\n * @param runConfirmationDialogDescriptor descriptor with customizable information for dialog\n */\n public withRunConfirmationDescriptor(runConfirmationDialogDescriptor?: ActionConfirmationDescriptor<Model>): this {\n this._runConfirmationDialogDescriptor = runConfirmationDialogDescriptor;\n return this;\n }\n\n public withRunNotificationSuccess(title?: string, message?: string, hasNotification = true): this {\n this._hasRunNotificationSuccess = hasNotification;\n this._runNotificationSuccessTitle = title;\n this._runNotificationSuccessMessage = message;\n return this;\n }\n\n public withRunNotificationError(title?: string, message?: string, hasNotification = true): this {\n this._hasRunNotificationError = hasNotification;\n this._runNotificationErrorTitle = title;\n this._runNotificationErrorMessage = message;\n return this;\n }\n\n public withAfterRunAction<Return, Service = any>(action?: ActionDescriptorInst<Return> | ((ctx: IActionContext<Model, Service>) => ActionDescriptorInst<Return>)): this {\n this._afterRunAction = action;\n return this;\n }\n\n public withOnRunErrorAction<S = any>(action?: ActionDescriptorInst<Model> | ((ctx: IActionContext<Model, S>) => ActionDescriptorInst<Model>)): this {\n this._onRunErrorAction = action;\n return this;\n }\n\n public withPermissions(permissions: APermissions): this {\n if (this._tableviewCategory) {\n LoggerService.get().debug(\n `WARNING: Permissions set on action ${this._actionNameLong} with route type '${this._tableviewCategory}' will be omitted in route guard validation.`\n );\n }\n this._permissions = permissions;\n return this;\n }\n\n public withTableviewCategory(permissionsRouteType: string): this {\n this._tableviewCategory = permissionsRouteType;\n return this;\n }\n\n public withButtonDescriptor(button: ActionButtonDescriptor): this {\n this._button = button;\n return this;\n }\n\n public withButton(label?: string | null, icon: string | null = null, styleLevel = StyleLevelEnum.Default, styleText = false): this {\n this._button = new ActionButtonDescriptor().withLabel(label).withIcon(icon).withStyleClass(new ButtonStyleBuilder(styleLevel).withTextButton(styleText));\n return this;\n }\n\n public withItemsSelection(hasSelection = true): this {\n this._hasItemsSelection = hasSelection;\n this._isEnabledFunction = this._isEnabledFunction ?? (ctx => of((ctx.parameters.selectedItems?.length ?? 0) > 0));\n return this;\n }\n\n public withComponent(component: Type<IActionComponent<Model>>): this {\n this._component = component;\n return this;\n }\n\n public withComponentFromDi(injectionToken: InjectionToken<Type<any>>): this {\n this._componentFromDi = injectionToken;\n return this;\n }\n\n public withPositionTableviewCategories(positionTableviewCategories: string[]): this {\n this._positionTableviewCategories = positionTableviewCategories;\n return this;\n }\n\n public withI18nBase(base: ClassType<unknown> | string): this {\n if (typeof base !== 'string') {\n const typeName = findReflectTypeName(base);\n if (!typeName) {\n throw new CommonsInternalError(`Could not find define i18nBaseKey for ${base} on action ${this.actionNameLong}`);\n }\n base = typeName;\n }\n this.setI18nModelActionBaseKey(base);\n return this;\n }\n\n public withSubactionsAsMenu(subactionsAsMenu = true): this {\n this._subactionsAsMenu = subactionsAsMenu;\n return this;\n }\n\n public withSubactions(...subactions: Array<ActionDescriptorInst<Model>>): this {\n this._subactions.push(...subactions);\n return this;\n }\n\n public copyTo(descriptor: ActionDescriptorInst<Model, Service>): ActionDescriptorInst<Model, Service> {\n descriptor._i18nModelActionBaseKey = this._i18nModelActionBaseKey;\n descriptor._type = this._type;\n descriptor._activationTrigger = this._activationTrigger;\n descriptor._position = this._position;\n descriptor._level = this._level;\n descriptor._positionTableviewCategories = this._positionTableviewCategories;\n\n descriptor._tableviewCategory = this._tableviewCategory;\n descriptor._routeUrl = this._routeUrl;\n\n descriptor._runFunction = this._runFunction;\n descriptor._isVisibleFunction = this._isVisibleFunction;\n descriptor._isEnabledFunction = this._isEnabledFunction;\n\n descriptor._runConfirmationDialogDescriptor = this._runConfirmationDialogDescriptor;\n\n descriptor._hasRunNotificationSuccess = this._hasRunNotificationSuccess;\n descriptor._runNotificationSuccessTitle = this._runNotificationSuccessTitle;\n descriptor._runNotificationSuccessMessage = this._runNotificationSuccessMessage;\n\n descriptor._hasRunNotificationError = this._hasRunNotificationError;\n descriptor._runNotificationErrorTitle = this._runNotificationErrorTitle;\n descriptor._runNotificationErrorMessage = this._runNotificationErrorMessage;\n\n descriptor._afterRunAction = this._afterRunAction;\n descriptor._onRunErrorAction = this._onRunErrorAction;\n\n descriptor._permissions = this._permissions;\n\n descriptor._button = this._button.copy();\n\n descriptor._hasItemsSelection = this._hasItemsSelection;\n descriptor._component = this._component;\n descriptor._subactionsAsMenu = this._subactionsAsMenu;\n descriptor._subactions = this._subactions;\n\n return descriptor;\n }\n}\n\nexport class ActionDescriptor extends ActionDescriptorInst<any> {\n protected constructor() {\n super('internal');\n }\n\n public static create<Model>(actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionDescriptorInst<Model, undefined>(actionName, {\n ...cfg\n });\n }\n\n public static createWithProvider<Service, Model>(serviceProvider: ActionProviderType<Model, Service>, actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionDescriptorInst<Model, Service>(actionName, {\n ...actionGetProviderCfgObj(serviceProvider),\n ...cfg\n });\n }\n\n public static fromModel<Model>(model: ModelDescriptor<Model>, actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionDescriptorInst<Model, undefined>(actionName, {\n model,\n ...cfg\n });\n }\n\n public static fromModelWithProvider<Model, Service>(\n model: ModelDescriptor<Model>,\n serviceProvider: ActionProviderType<Model, Service>,\n actionName: string,\n cfg?: ActionDescriptorCreateOptsParentType\n ) {\n return new ActionDescriptorInst<Model, Service>(actionName, {\n model,\n ...actionGetProviderCfgObj(serviceProvider),\n ...cfg\n });\n }\n\n public static fromClass<Model>(type: ClassType<Model>, actionName: string, cfg?: ActionDescriptorCreateFromClassOpts<Model>) {\n return new ActionDescriptorInst<Model, undefined>(actionName, {\n model: ModelDescriptor.fromClass<Model>(type, cfg?.idProperty, cfg?.titleProperty, cfg?.i18nBaseKey),\n ...cfg\n });\n }\n\n public static fromClassWithProvider<Model, Service>(\n classType: ClassType<Model>,\n serviceProvider: ActionProviderType<Model, Service>,\n actionName: string,\n cfg?: ActionDescriptorCreateFromClassOpts<Model>\n ) {\n return new ActionDescriptorInst<Model, Service>(actionName, {\n model: ModelDescriptor.fromClass<Model>(classType, cfg?.idProperty, cfg?.titleProperty, cfg?.i18nBaseKey),\n ...actionGetProviderCfgObj(serviceProvider),\n ...cfg\n });\n }\n}\n\nexport class ActionDeleteDescriptorInst<Model, Service = any> extends ActionDescriptorInst<Model, Service> {\n public static readonly ACTION_NAME = 'delete';\n\n constructor(model: ModelDescriptor<Model>, cfg?: ActionDescriptorCreateOptsProviderType<Model, Service>) {\n super(ActionDeleteDescriptorInst.ACTION_NAME, {model, ...cfg});\n this.withPosition(ActionPositionEnum.RowInline);\n this.button.styleClass.withSize(StyleSizeEnum.Small);\n this.button.styleClass.withActionLevel(StyleLevelEnum.Danger);\n this.withRunConfirmation();\n this.withTableviewCategory(TableviewActionDefaultCategories.DELETE);\n this.button.withLabel(null).withIcon('pi pi-trash');\n }\n}\n\nexport class ActionDeleteDescriptor {\n public static create<Model>(model: ModelDescriptor<Model>) {\n return new ActionDeleteDescriptorInst<Model, undefined>(model);\n }\n\n public static createWithProvider<Model, Service>(model: ModelDescriptor<Model>, serviceProvider: ActionProviderType<Model, Service>) {\n return new ActionDeleteDescriptorInst<Model, Service>(model, {\n ...actionGetProviderCfgObj(serviceProvider)\n });\n }\n}\n","import {throwError} from 'rxjs';\n\nimport {\n ClassOptType,\n ClassType,\n CommonsInternalError,\n DataProviderInst,\n IDataProvider,\n IdType,\n ItemOrObservable,\n ServiceClassOptType,\n ServiceClassType\n} from '@mediusinc/mng-commons/core';\n\nexport type EditorDataProviderFetchFnType<Model = any, Service = undefined, Id = IdType, Return = ItemOrObservable<Model>> = (\n id: Id,\n service: Service,\n locale: string | undefined\n) => Return;\nexport type EditorDataProviderCreateFnType<Model = any, Service = undefined, Item = Model | undefined, Return = ItemOrObservable<Model>> = (item: Item, service: Service) => Return;\nexport type EditorDataProviderUpdateFnType<Model = any, Service = undefined, Id = IdType, Item = Model | undefined, Return = ItemOrObservable<Model>> = (\n id: Id,\n item: Item,\n service: Service\n) => Return;\nexport type EditorDataProviderDeleteFnType<Model = any, Service = undefined, Id = IdType, Item = Model | undefined, Return = ItemOrObservable<Model | null>> = (\n id: Id,\n item: Item,\n service: Service\n) => Return;\n\nexport interface IEditorDataProviderFetch<Model, Service> {\n fetch: EditorDataProviderFetchFnType<Model, Service>;\n\n withFetch(fn: EditorDataProviderFetchFnType<Model, Service>): this;\n}\n\nexport interface IEditorDataProviderCreate<Model, Service> {\n create?: EditorDataProviderCreateFnType<Model, Service>;\n\n withCreate(fn?: EditorDataProviderCreateFnType<Model, Service>): this;\n}\n\nexport interface IEditorDataProviderUpdate<Model, Service> {\n update?: EditorDataProviderUpdateFnType<Model, Service>;\n\n withUpdate(fn?: EditorDataProviderUpdateFnType<Model, Service>): this;\n}\n\nexport interface IEditorDataProviderDelete<Model, Service> {\n delete?: EditorDataProviderDeleteFnType<Model, Service>;\n\n withDelete(fn?: EditorDataProviderDeleteFnType<Model, Service>): this;\n}\n\nexport type IEditorDataProviderFnsType<Model, Service> = IEditorDataProviderFetch<Model, Service> &\n IEditorDataProviderCreate<Model, Service> &\n IEditorDataProviderUpdate<Model, Service> &\n IEditorDataProviderDelete<Model, Service>;\nexport type IEditorDataProvider<Model = any, Service = any, ModelClass = ClassOptType<Model>, ServiceClass = ServiceClassOptType<Service>> = IDataProvider<\n Model,\n Service,\n ModelClass,\n ServiceClass\n> &\n IEditorDataProviderFnsType<Model, Service>;\n\nexport class EditorDataProviderInst<Model, Service = any, ModelClass = ClassOptType<Model>, ServiceClass = ServiceClassOptType<Service>>\n extends DataProviderInst<Model, Service, ModelClass, ServiceClass>\n implements IEditorDataProvider<Model, Service, ModelClass, ServiceClass>\n{\n protected _fetch: EditorDataProviderFetchFnType<Model, Service> = id => throwError(() => new CommonsInternalError(`No fetch function provided for id ${id}.`));\n protected _create?: EditorDataProviderCreateFnType<Model, Service>;\n protected _update?: EditorDataProviderUpdateFnType<Model, Service>;\n protected _delete?: EditorDataProviderDeleteFnType<Model, Service>;\n\n protected constructor(type: ModelClass, serviceType: ServiceClass) {\n super(type, serviceType);\n }\n\n get fetch() {\n return this._fetch;\n }\n\n get create() {\n return this._create;\n }\n\n get update() {\n return this._update;\n }\n\n get delete() {\n return this._delete;\n }\n\n /**\n * Sets the fetch function for the EditorDataProvider instance.\n *\n * @param {EditorDataProviderFetchFnType<Model, Service>} fn - The fetch function to be set.\n * @returns {this} - The instance of the EditorDataProvider with the fetch function set.\n *\n * @typeparam Model The type of data this DataProvider will handle.\n * @typeparam Service The type of service used by this DataProvider.\n */\n withFetch(fn: EditorDataProviderFetchFnType<Model, Service>): this {\n this._fetch = fn;\n return this;\n }\n\n /**\n * Sets the create function for the EditorDataProvider.\n *\n * @param {EditorDataProviderCreateFnType<Model, Service>} fn - The function used for creating new items.\n * @returns {this} - Returns the instance of the class.\n *\n * @typeparam Model The type of data this DataProvider will handle.\n * @typeparam Service The type of service used by this DataProvider.\n */\n withCreate(fn?: EditorDataProviderCreateFnType<Model, Service>): this {\n this._create = fn;\n return this;\n }\n\n /**\n * Sets the update function for the EditorDataProvider.\n *\n * @param {EditorDataProviderUpdateFnType<Model, Service>} fn - The update function to be set.\n * @returns {this} - Returns the instance of the object calling this method.\n *\n * @typeparam Model The type of data this DataProvider will handle.\n * @typeparam Service The type of service used by this DataProvider.\n */\n withUpdate(fn?: EditorDataProviderUpdateFnType<Model, Service>): this {\n this._update = fn;\n return this;\n }\n\n /**\n * Sets the delete function for the editor data provider.\n *\n * @param {EditorDataProviderDeleteFnType<Model, Service>} fn - The delete function to be set.\n *\n * @returns {this} - Returns the instance of the current class.\n *\n * @typeparam Model The type of data this DataProvider will handle.\n * @typeparam Service The type of service used by this DataProvider.\n */\n withDelete(fn?: EditorDataProviderDeleteFnType<Model, Service>): this {\n this._delete = fn;\n return this;\n }\n}\n\nexport class EditorDataProvider extends EditorDataProviderInst<any> {\n protected constructor() {\n super(undefined, undefined);\n }\n\n public static create<Model>() {\n return new EditorDataProviderInst<Model, undefined, undefined, undefined>(undefined, undefined);\n }\n\n public static fromClass<Model>(type: ClassType<Model>) {\n return new EditorDataProviderInst<Model, undefined, ClassType<Model>, undefined>(type, undefined);\n }\n\n public static fromClassWithService<Model, Service>(type: ClassType<Model>, serviceType: ServiceClassType<Service>) {\n return new EditorDataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>(type, serviceType);\n }\n\n public static fromService<Service, Model>(serviceType: ServiceClassType<Service>): EditorDataProviderInst<Model, Service, undefined, ServiceClassType<Service>> {\n return new EditorDataProviderInst<Model, Service, undefined, ServiceClassType<Service>>(undefined, serviceType);\n }\n\n public static fromAnyParam<Model>(): EditorDataProviderInst<Model, undefined, undefined, undefined>;\n public static fromAnyParam<Model>(type: ClassType<Model>): EditorDataProviderInst<Model, undefined, ClassType<Model>, undefined>;\n public static fromAnyParam<Model, Service = any>(\n type: undefined,\n serviceType: ServiceClassType<Service>\n ): EditorDataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;\n public static fromAnyParam<Model, Service = any>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n ): EditorDataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;\n public static fromAnyParam<Model, Service, ModelClass = ClassType<Model>, ServiceClass = ServiceClassType<Service>>(\n type?: ModelClass,\n serviceType?: ServiceClass\n ): EditorDataProviderInst<Model, Service, ModelClass, ServiceClass>;\n public static fromAnyParam<Model, Service = any, ModelClass = ClassType<Model>, ServiceClass = ServiceClassType<Service>>(type?: ModelClass, serviceType?: ServiceClass) {\n if (typeof type !== 'undefined') {\n return typeof serviceType !== 'undefined'\n ? EditorDataProvider.fromClassWithService(type as ClassType<Model>, serviceType as ServiceClassType<Service>)\n : EditorDataProvider.fromClass(type as ClassType<Model>);\n } else if (typeof serviceType !== 'undefined') {\n return EditorDataProvider.fromService(serviceType as ServiceClassType<Service>);\n } else {\n return EditorDataProvider.create<Model>();\n }\n }\n}\n","import {Type} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {CommonsInternalError, ServiceClassType, StyleSizeEnum} from '@mediusinc/mng-commons/core';\nimport {ActionButtonDescriptor, ButtonStyleBuilder} from '@mediusinc/mng-commons/form/api';\nimport {ModelDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {EditorDataProvider, IEditorDataProvider} from '../../editor/data-providers/editor.data-provider';\nimport {EditorDescriptorInst} from '../../editor/descriptors/editor.descriptor';\nimport {ActionEditorSubmitTypeEnum, ActionPositionEnum, ActionTypeEnum} from '../models/action.type';\nimport {IActionContext} from '../models/execution/action-context.model';\nimport {TableviewActionDefaultCategories} from '../models/tableview-action-default-categories.model';\nimport {ActionDescriptorCreateOptsParentType, ActionDescriptorInst} from './action.descriptor';\n\nexport type ActionEditorDescriptorConstructorOptsType<Model, Service> = ActionDescriptorCreateOptsParentType &\n ActionEditorDescriptorCreateOptsProviderType<Model, Service> & {\n model?: ModelDescriptor<Model>;\n };\n\nexport type ActionEditorDescriptorCreateOptsProviderType<Model, Service> = {\n serviceType?: ServiceClassType<Service>;\n dataProvider?: IEditorDataProvider<Model, Service>;\n};\n\nexport type ActionEditorProviderType<Model, Service> = ServiceClassType<Service> | IEditorDataProvider<Model, Service>;\n\nexport const actionEditorGetProviderCfgObj = <Model, Service>(serviceOrDataProvider?: ActionEditorProviderType<Model, Service>) => {\n const cfg: ActionEditorDescriptorCreateOptsProviderType<Model, Service> = {};\n if (serviceOrDataProvider) {\n if ((serviceOrDataProvider as IEditorDataProvider).isDataProvider) {\n // type casting needed, cause there was no other way found to differentiate the types\n cfg.dataProvider = serviceOrDataProvider as IEditorDataProvider<Model, Service>;\n } else {\n cfg.serviceType = serviceOrDataProvider as ServiceClassType<Service>;\n }\n }\n return cfg;\n};\n\nexport class ActionEditorDescriptorInst<Item, Service = any> extends ActionDescriptorInst<Item, Service> {\n private readonly _editorDescriptor: EditorDescriptorInst<Item>;\n protected override readonly _dataProvider?: IEditorDataProvider<Item, any> = undefined;\n\n protected _editorActions: ActionDescriptorInst<Item>[] = [];\n protected _editorTitle?: string | null = undefined;\n protected _editorTitleParams?: any = undefined;\n\n protected _hasFetchNotificationSuccess = false;\n protected _fetchNotificationSuccessTitle?: string;\n protected _fetchNotificationSuccessMessage?: string;\n\n protected _dialogSize = StyleSizeEnum.Normal;\n protected _dialogClassName?: string;\n\n protected _fetchFunction?: (ctx: IActionContext<Item, Service>) => Observable<Item>;\n protected _submitFunction?: (ctx: IActionContext<Item, Service>) => Observable<Item>;\n\n protected _editorComponent?: Type<any>;\n\n protected _resubmitEnabled?: boolean;\n protected _resubmitRefetch = true;\n protected _unsavedChangesConfirmation = false;\n\n public constructor(editorDescriptor: EditorDescriptorInst<Item>, actionName: string, cfg?: ActionEditorDescriptorConstructorOptsType<Item, Service>) {\n super(actionName, {\n model: editorDescriptor.model,\n ...cfg\n });\n\n if (cfg?.serviceType) {\n this._dataProvider = EditorDataProvider.fromAnyParam<Item, Service>(this._model?.type, cfg.serviceType);\n } else if (cfg?.dataProvider) {\n this._dataProvider = cfg.dataProvider;\n }\n\n this._type = ActionTypeEnum.Editor;\n this._editorDescriptor = editorDescriptor;\n this._editorActions.push(ActionEditorSubmitDescriptor.forPrimary(this), ActionEditorSubmitDescriptor.forSecondary(this));\n }\n\n public get editorTitle() {\n return this._editorTitle;\n }\n\n public get editorTitleParams() {\n return this._editorTitleParams;\n }\n\n public get editorDescriptor() {\n return this._editorDescriptor;\n }\n\n public get dialogSize() {\n return this._dialogSize;\n }\n\n public get dialogClassName() {\n return this._dialogClassName;\n }\n\n public get hasFetchNotificationSuccess() {\n return this._hasFetchNotificationSuccess;\n }\n\n public get fetchNotificationSuccessTitle() {\n return this._fetchNotificationSuccessTitle;\n }\n\n public get fetchNotificationSuccessMessage() {\n return this._fetchNotificationSuccessMessage;\n }\n\n public override get dataProvider() {\n return this._dataProvider;\n }\n\n public override get hasRunFunction(): boolean {\n throw new CommonsInternalError(`Run function cannot be used in editor action for ${this._actionNameLong}. Use submit function instead`);\n }\n\n public override get runFunction(): (ctx: IActionContext<Item, unknown>) => Observable<Item> {\n throw new CommonsInternalError(`Run function cannot be used in editor action for ${this._actionNameLong}. Use submit function instead`);\n }\n\n public get hasFetchFunction(): boolean {\n return typeof this._fetchFunction === 'function';\n }\n\n public get fetchFunction() {\n return this._fetchFunction;\n }\n\n public get hasSubmitFunction(): boolean {\n return typeof this._fetchFunction === 'function';\n }\n\n public get submitFunction() {\n return this._submitFunction;\n }\n\n public get editorActions() {\n return this._editorActions;\n }\n\n public get editorComponent() {\n return this._editorComponent;\n }\n\n public get resubmitEnabled() {\n return this._resubmitEnabled;\n }\n\n public get resubmitRefetch() {\n return this._resubmitRefetch;\n }\n\n public get unsavedChangesConfirmation() {\n return this._unsavedChangesConfirmation;\n }\n\n public withEditorTitle(title: string | null, params?: any): this {\n this._editorTitle = title;\n this._editorTitleParams = params;\n return this;\n }\n\n public withDialogSize(size = StyleSizeEnum.Normal): this {\n this._dialogSize = size;\n return this;\n }\n\n public withDialogClassName(className: string): this {\n this._dialogClassName = className;\n return this;\n }\n\n public override withRunFunction(fn: (ctx: IActionContext<Item, Service>) => Observable<Item>): this {\n return this.withSubmitFunction(fn as (ctx: IActionContext<Item, Service>) => Observable<Item>);\n }\n\n public withFetchFunction(fn: (ctx: IActionContext<Item, Service>) => Observable<Item>): this {\n this._fetchFunction = fn;\n return this;\n }\n\n public withSubmitFunction(fn: (ctx: IActionContext<Item, Service>) => Observable<Item>): this {\n this._submitFunction = fn;\n return this;\n }\n\n public withFetchNotificationError(title?: string, message?: string, hasNotification = true): this {\n this._hasFetchNotificationSuccess = hasNotification;\n this._fetchNotificationSuccessTitle = title;\n this._fetchNotificationSuccessMessage = message;\n return this;\n }\n\n public withEditorAction(action: ActionDescriptorInst<Item>): this {\n this._editorActions.push(action);\n return this;\n }\n\n public withEditorActions(actions: ActionDescriptorInst<Item>[]): this {\n this._editorActions = actions;\n return this;\n }\n\n public withEditorComponent(editorComponent: Type<any>): this {\n this._editorComponent = editorComponent;\n return this;\n }\n\n public withResubmit(enabled?: boolean, refetch = true): this {\n this._resubmitEnabled = enabled;\n this._resubmitRefetch = refetch;\n return this;\n }\n\n public withUnsavedChangesConfirmation(unsavedChangesConfirmation = true): this {\n this._unsavedChangesConfirmation = unsavedChangesConfirmation;\n return this;\n }\n}\n\nexport class ActionEditorDescriptor {\n public static create<Model>(editor: EditorDescriptorInst<Model>, actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionEditorDescriptorInst<Model, undefined>(editor, actionName, {\n parentType: cfg?.parentType,\n parentProperty: cfg?.parentProperty\n });\n }\n\n public static createWithProvider<Model, Service>(\n editor: EditorDescriptorInst<Model>,\n serviceProvider: ActionEditorProviderType<Model, Service>,\n actionName: string,\n cfg?: ActionDescriptorCreateOptsParentType\n ) {\n return new ActionEditorDescriptorInst(editor, actionName, {\n ...actionEditorGetProviderCfgObj(serviceProvider),\n parentType: cfg?.parentType,\n parentProperty: cfg?.parentProperty\n });\n }\n}\n\nexport class ActionEditorSubmitDescriptorInst<Model> extends ActionDescriptorInst<Model> {\n private readonly _editorAction: ActionEditorDescriptorInst<Model>;\n private readonly _submitType: ActionEditorSubmitTypeEnum;\n\n constructor(editorAction: ActionEditorDescriptorInst<Model>, submitType = ActionEditorSubmitTypeEnum.Submit) {\n super(submitType === ActionEditorSubmitTypeEnum.Submit ? `${editorAction.actionName}.submit` : `${editorAction.actionName}.cancel`, {model: editorAction.model});\n this._editorAction = editorAction;\n this._submitType = submitType;\n this._position = ActionPositionEnum.FooterRight;\n\n this.button.styleClass.withActionLevel(editorAction.level).withTextButton();\n }\n\n public get submitType() {\n return this._submitType;\n }\n}\n\nexport class ActionEditorSubmitDescriptor {\n /**\n * creates primary action with primary button style\n * @param editorAction\n * @param submitType\n */\n static forPrimary<Model>(editorAction: ActionEditorDescriptorInst<Model>, submitType = ActionEditorSubmitTypeEnum.Submit): ActionEditorSubmitDescriptorInst<Model> {\n return new ActionEditorSubmitDescriptorInst(editorAction, submitType).withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder()));\n }\n\n /**\n * creates secondary button with text button style\n * @param editorAction\n * @param submitType\n */\n static forSecondary<Model>(editorAction: ActionEditorDescriptorInst<Model>, submitType = ActionEditorSubmitTypeEnum.Cancel): ActionEditorSubmitDescriptorInst<Model> {\n return new ActionEditorSubmitDescriptorInst(editorAction, submitType).withButtonDescriptor(\n new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withTextButton())\n );\n }\n}\n\nexport class ActionEditorDetailsDescriptorInst<Model, Service = any> extends ActionEditorDescriptorInst<Model, Service> {\n public static readonly ACTION_NAME = 'details';\n\n constructor(editorDescriptor: EditorDescriptorInst<Model>, cfg?: ActionEditorDescriptorCreateOptsProviderType<Model, Service>) {\n super(editorDescriptor, ActionEditorDetailsDescriptorInst.ACTION_NAME, cfg);\n this.withPosition(ActionPositionEnum.RowClick);\n this.withRouteTrigger(':itemId');\n this.withEditorActions([ActionEditorSubmitDescriptor.forSecondary(this, ActionEditorSubmitTypeEnum.Cancel)]);\n this.withTableviewCategory(TableviewActionDefaultCategories.DETAILS);\n }\n}\n\nexport class ActionEditorDetailsDescriptor {\n public static create<Model>(editor: EditorDescriptorInst<Model>) {\n return new ActionEditorDetailsDescriptorInst<Model, undefined>(editor);\n }\n\n public static createWithProvider<Model, Service>(editor: EditorDescriptorInst<Model>, serviceProvider: ActionEditorProviderType<Model, Service>) {\n return new ActionEditorDetailsDescriptorInst<Model, Service>(editor, {\n ...actionEditorGetProviderCfgObj(serviceProvider)\n });\n }\n}\n\nexport class ActionEditorAddDescriptorInst<Model, Service = any> extends ActionEditorDescriptorInst<Model, Service> {\n public static readonly ACTION_NAME = 'add';\n\n constructor(editorDescriptor: EditorDescriptorInst<Model>, cfg?: ActionEditorDescriptorCreateOptsProviderType<Model, Service>) {\n super(editorDescriptor, ActionEditorAddDescriptorInst.ACTION_NAME, cfg);\n this.withPosition(ActionPositionEnum.ToolbarLeft);\n this.withRouteTrigger('add');\n this.button.withIcon('pi pi-plus');\n this.withTableviewCategory(TableviewActionDefaultCategories.ADD);\n this.withUnsavedChangesConfirmation();\n }\n}\n\nexport class ActionEditorAddDescriptor {\n public static create<Model>(editor: EditorDescriptorInst<Model>) {\n return new ActionEditorAddDescriptorInst<Model, undefined>(editor);\n }\n\n public static createWithProvider<Model, Service>(editor: EditorDescriptorInst<Model>, serviceProvider: ActionEditorProviderType<Model, Service>) {\n return new ActionEditorAddDescriptorInst<Model, Service>(editor, {\n ...actionEditorGetProviderCfgObj(serviceProvider)\n });\n }\n}\n\nexport class ActionEditorEditDescriptorInst<Model, Service = any> extends ActionEditorDescriptorInst<Model, Service> {\n public static readonly ACTION_NAME = 'edit';\n\n constructor(editorDescriptor: EditorDescriptorInst<Model>, cfg?: ActionEditorDescriptorCreateOptsProviderType<Model, Service>) {\n super(editorDescriptor, ActionEditorEditDescriptorInst.ACTION_NAME, cfg);\n this.withPosition(ActionPositionEnum.RowInline);\n this.button.styleClass.withSize(StyleSizeEnum.Small);\n this.withRouteTrigger(':itemId/edit');\n this.withTableviewCategory(TableviewActionDefaultCategories.EDIT);\n this.button.withLabel(null).withIcon('pi pi-pencil');\n this.withUnsavedChangesConfirmation();\n }\n}\n\nexport class ActionEditorEditDescriptor {\n public static create<Model>(editor: EditorDescriptorInst<Model>) {\n return new ActionEditorEditDescriptorInst<Model, undefined>(editor);\n }\n\n public static createWithProvider<Model, Service>(editor: EditorDescriptorInst<Model>, serviceProvider: ActionEditorProviderType<Model, Service>) {\n return new ActionEditorEditDescriptorInst<Model, Service>(editor, {\n ...actionEditorGetProviderCfgObj(serviceProvider)\n });\n }\n}\n","import {Params, QueryParamsHandling} from '@angular/router';\n\nimport {ClassType} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {ActionDescriptorConstructorOptsType, ActionDescriptorCreateFromClassOpts, ActionDescriptorCreateOptsParentType, ActionDescriptorInst} from './action.descriptor';\n\nexport type ActionLinkDescriptorConstructorOpts<Model> = Omit<ActionDescriptorConstructorOptsType<Model, undefined>, 'serviceType' | 'dataProvider'>;\nexport class ActionLinkDescriptorInst<Model> extends ActionDescriptorInst<Model, undefined> {\n private _url = '';\n private _pathSegments: string[] = [];\n private _queryParams?: Params;\n private _queryParamsHandling?: QueryParamsHandling;\n private _replaceUrl = false;\n private _target = '_self';\n private _isStyleLink = false;\n\n constructor(actionName = 'link', cfg?: ActionLinkDescriptorConstructorOpts<Model>) {\n super(actionName, cfg);\n }\n\n public get url(): string {\n return this._url;\n }\n\n public get pathSegments(): string[] {\n return this._pathSegments;\n }\n\n public get queryParams(): Params | undefined {\n return this._queryParams;\n }\n\n public get queryParamsHandling(): QueryParamsHandling | undefined {\n return this._queryParamsHandling;\n }\n\n public get replaceUrl(): boolean {\n return this._replaceUrl;\n }\n\n public get target(): string {\n return this._target;\n }\n\n public get isStyleLink(): boolean {\n return this._isStyleLink;\n }\n\n public withHref(url: string): this {\n this._url = url;\n return this;\n }\n\n public withRouterLink(...pathSegments: string[]): this {\n this._pathSegments = pathSegments;\n return this;\n }\n\n public withQueryParams(queryParams: Params, queryParamsHandling?: QueryParamsHandling): this {\n this._queryParams = queryParams;\n this._queryParamsHandling = queryParamsHandling;\n return this;\n }\n\n public withReplaceUrl(replaceUrl = false): this {\n this._replaceUrl = replaceUrl;\n return this;\n }\n\n public withTarget(target: '_self' | '_blank' = '_self'): this {\n this._target = target;\n return this;\n }\n\n public withStyleLink(isStyleLink: boolean): this {\n this._isStyleLink = isStyleLink;\n return this;\n }\n}\n\nexport class ActionLinkDescriptor {\n public static create<Model = any>(actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionLinkDescriptorInst<Model>(actionName, {\n ...cfg\n });\n }\n\n public static fromModel<Model>(model: ModelDescriptor<Model>, actionName: string, cfg?: ActionDescriptorCreateOptsParentType) {\n return new ActionLinkDescriptorInst<Model>(actionName, {\n model,\n ...cfg\n });\n }\n\n public static fromClass<Model>(type: ClassType<Model>, actionName: string, cfg?: ActionDescriptorCreateFromClassOpts<Model>) {\n return new ActionLinkDescriptorInst<Model>(actionName, {\n model: ModelDescriptor.fromClass<Model>(type, cfg?.idProperty, cfg?.titleProperty, cfg?.i18nBaseKey),\n ...cfg\n });\n }\n\n public static fromAction<Model>(action: ActionDescriptorInst<Model>) {\n const descriptor = new ActionLinkDescriptorInst<Model>(action.actionName, {model: action.model});\n\n action.copyTo(descriptor);\n\n descriptor.withRunConfirmationDescriptor();\n\n descriptor.withRunNotificationSuccess(undefined, undefined, false);\n descriptor.withRunNotificationError(undefined, undefined, false);\n\n descriptor.withAfterRunAction();\n descriptor.withOnRunErrorAction();\n\n descriptor.withSubactionsAsMenu(false);\n\n return descriptor;\n }\n}\n","import {HttpErrorResponse} from '@angular/common/http';\n\nimport {ACommonsErrorBase, CommonsErrorBaseOptions, ICommonsActionError} from '@mediusinc/mng-commons/core';\n\nimport {IActionContext} from './execution/action-context.model';\n\nexport interface CommonsActionErrorOptions extends CommonsErrorBaseOptions {\n actionContext?: IActionContext<any, any>;\n httpError?: HttpErrorResponse;\n}\n\nexport class CommonsActionError extends ACommonsErrorBase implements ICommonsActionError {\n public readonly type = 'CommonsActionError';\n public readonly actionId: string;\n\n public readonly actionContext?: IActionContext<any, any>;\n public readonly httpError?: HttpErrorResponse;\n\n constructor(message: string, actionName: string, options?: CommonsActionErrorOptions) {\n super(message, {\n name: 'CommonsActionError_' + actionName,\n ...options\n });\n\n this.actionId = actionName;\n this.actionContext = options?.actionContext;\n this.httpError = options?.httpError;\n }\n}\n","import {Injector} from '@angular/core';\n\nimport {Observable, isObservable, throwError} from 'rxjs';\n\nimport {CommonsInternalError, DataListResult, IDataProvider, toObservable} from '@mediusinc/mng-commons/core';\nimport {ITableDataProvider} from '@mediusinc/mng-commons/table/api';\n\nimport {IEditorDataProvider} from '../../editor/data-providers/editor.data-provider';\nimport {CommonsActionError} from '../models/action-error.model';\nimport {IActionContext} from '../models/execution/action-context.model';\n\nexport function runFnFromDataProviderOrFallback<Item, Service, Return, FallbackReturn = Return>(\n ctx: IActionContext<Item, Service>,\n fn: (ctx: IActionContext<Item, Service>) => Observable<Return> | null,\n fallback: Observable<FallbackReturn>\n): Observable<Return | FallbackReturn> {\n const dataProviderExec = fn(ctx);\n if (isObservable(dataProviderExec)) {\n return dataProviderExec;\n }\n return fallback;\n}\n\nexport function runFnFromDataProviderOrFail<Item, Service, Return>(\n ctx: IActionContext<Item, Service>,\n fn: (ctx: IActionContext<Item, Service>) => Observable<Return> | null\n): Observable<Return> {\n const dataProviderExec = fn(ctx);\n if (isObservable(dataProviderExec)) {\n return dataProviderExec;\n }\n return throwError(\n () =>\n new CommonsActionError(\n `Data provider could not extract function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item id ${ctx.parameters?.itemId}.`,\n ctx.contextLongName,\n {actionContext: ctx}\n )\n );\n}\n\nexport function runGetAllFromDataProvider<Item, Service>(ctx: IActionContext<Item, Service>): Observable<DataListResult<Item>> | null {\n if (typeof ctx.dataProvider !== 'undefined' && typeof ctx.dataProvider['getAll' as keyof object] === 'function') {\n const tableDataProvider = ctx.dataProvider as ITableDataProvider<Item, any>;\n const queryParam = ctx.parameters?.dataListParams ?? {};\n return toObservable(tableDataProvider.getAll(queryParam, ctx.serviceInstance));\n }\n return null;\n}\n\nexport function runFetchFromDataProvider<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> | null {\n if (typeof ctx.dataProvider !== 'undefined') {\n const editorDataProvider = ctx.dataProvider as IEditorDataProvider<Item, any>;\n if (typeof editorDataProvider.fetch === 'function') {\n return ctx.parameters?.itemId ? toObservable(editorDataProvider.fetch(ctx.parameters.itemId, ctx.serviceInstance, ctx.parameters.locale)) : null;\n }\n }\n return null;\n}\n\nexport function runCreateFromDataProvider<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> | null {\n if (typeof ctx.dataProvider !== 'undefined') {\n const editorDataProvider = ctx.dataProvider as IEditorDataProvider<Item, any>;\n if (typeof editorDataProvider.create === 'function') {\n return ctx.parameters?.item ? toObservable(editorDataProvider.create(ctx.parameters.item, ctx.serviceInstance)) : null;\n }\n }\n return null;\n}\n\nexport function runUpdateFromDataProvider<Item, service>(ctx: IActionContext<Item, service>): Observable<Item> | null {\n if (typeof ctx.dataProvider !== 'undefined') {\n const editorDataProvider = ctx.dataProvider as IEditorDataProvider<Item, any>;\n if (typeof editorDataProvider.update === 'function') {\n return ctx.parameters?.itemId ? toObservable(editorDataProvider.update(ctx.parameters.itemId, ctx.parameters.item, ctx.serviceInstance)) : null;\n }\n }\n return null;\n}\n\nexport function runDeleteFromDataProvider<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item | null> | null {\n if (typeof ctx.dataProvider !== 'undefined') {\n const editorDataProvider = ctx.dataProvider as IEditorDataProvider<Item, any>;\n if (typeof editorDataProvider.delete === 'function') {\n return ctx.parameters?.itemId ? toObservable(editorDataProvider.delete(ctx.parameters.itemId, ctx.parameters.item, ctx.serviceInstance)) : null;\n }\n }\n return null;\n}\n\n/**\n * Gets service instance of data provider.\n *\n * @param injector Injector instance\n * @param dataProvider Data provider instance.\n */\nexport function getDataProviderService<Item, Service>(injector: Injector, dataProvider?: IDataProvider<Item, Service>): Service | null {\n if (dataProvider?.serviceType) {\n const service = injector.get<Service>(dataProvider.serviceType, undefined, {optional: true});\n if (!service) {\n throw new CommonsInternalError(`Data provider service type ${dataProvider.serviceType} could not be injected.`);\n }\n return service;\n } else {\n return null;\n }\n}\n","/**\n * States of action. Enums ending with `*Final` are supposed to be final.\n */\nexport enum ActionInstanceStateEnum {\n TriggerStart, // action was triggered (click or direct)\n TriggerEnd,\n ActivationStart, // action activation started (direct, event or editor)\n ActivationEnd, // action activation ended\n FetchStart, // fetch started\n FetchEnd, // fetch ended\n FetchError, // fetch error\n RunConfirmationStart, // confirmation for run is started\n RunConfirmationEndAccept, // confirmation accepted\n RunConfirmationEndReject, // confirmation rejected\n RunStart, // action was run by calling main function\n RunEnd, // action run function executed\n RunError, // action run function executed with error\n NextActionStart, // next action started\n NextActionEnd, // next action finished\n ErrorActionStart, // error action started\n ErrorActionEnd, // error action finished\n FinishSuccessFinal, // action executed successfully\n FinishErrorFinal, // action executed with error\n FinishDismissedFinal, // action was dismissed by user\n FinishSuccessReactivateFinal, // action executed successfully, another instance will directly start from previous\n FinishComponentDestroyFinal, // action was dismissed by destroying component that was executing it\n FinishRouteUntriggerStart,\n FinishRouteUntriggerEndFinal,\n FinishRouteUntriggerTimeoutFinal\n}\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const DATA_LANGUAGE_DROPDOWN_COMPONENT_IT: InjectionToken<Type<any>> = new InjectionToken<Type<any>>('DATA_LANGUAGE_DROPDOWN_COMPONENT');\n","import {Injector} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {DataListResult, IDataProvider, Nullable} from '@mediusinc/mng-commons/core';\n\nimport {getDataProviderService, runFnFromDataProviderOrFail} from '../helpers/data-provider-executors';\nimport {IActionContext} from '../models/execution/action-context.model';\n\nexport abstract class DataProviderExecutor {\n public runGetAllOrFail<Item, Service>(ctx: IActionContext<Item, Service>): Observable<DataListResult<Item>> {\n return runFnFromDataProviderOrFail<Item, Service, DataListResult<Item>>(ctx, this.runGetAll.bind(this));\n }\n\n public abstract runGetAll<Item, Service>(ctx: IActionContext<Item, Service>): Observable<DataListResult<Item>> | null;\n public abstract runGetAll<Item, Service>(ctx: IActionContext<Item, Service>, fallback: Observable<DataListResult<Item>>): Observable<DataListResult<Item>>;\n public abstract runGetAll<Item, Service>(ctx: IActionContext<Item, Service>, fallback: undefined): Observable<DataListResult<Item>> | null;\n public abstract runGetAll<Item, Service>(ctx: IActionContext<Item, Service>, fallback?: Observable<DataListResult<Item>>): Observable<DataListResult<Item>> | null;\n\n public runFetchOrFail<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> {\n return runFnFromDataProviderOrFail<Item, Service, Item>(ctx, this.runFetch.bind(this));\n }\n\n public abstract runFetch<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> | null;\n public abstract runFetch<Item, Service>(ctx: IActionContext<Item, Service>, fallback: Observable<Nullable<Item>>): Observable<Nullable<Item>>;\n public abstract runFetch<Item, Service>(ctx: IActionContext<Item, Service>, fallback: undefined): Observable<Nullable<Item>> | null;\n public abstract runFetch<Item, Service>(ctx: IActionContext<Item, Service>, fallback?: Observable<Nullable<Item>>): Observable<Nullable<Item>> | null;\n\n public runCreateOrFail<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> {\n return runFnFromDataProviderOrFail<Item, Service, Item>(ctx, this.runCreate.bind(this));\n }\n\n public abstract runCreate<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> | null;\n public abstract runCreate<Item, Service>(ctx: IActionContext<Item, Service>, fallback: Observable<Nullable<Item>>): Observable<Nullable<Item>>;\n public abstract runCreate<Item, Service>(ctx: IActionContext<Item, Service>, fallback: undefined): Observable<Nullable<Item>> | null;\n public abstract runCreate<Item, Service>(ctx: IActionContext<Item, Service>, fallback?: Observable<Nullable<Item>>): Observable<Nullable<Item>> | null;\n\n public runUpdateOrFail<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> {\n return runFnFromDataProviderOrFail<Item, Service, Item>(ctx, this.runUpdate.bind(this));\n }\n\n public abstract runUpdate<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item> | null;\n public abstract runUpdate<Item, Service>(ctx: IActionContext<Item, Service>, fallback: Observable<Nullable<Item>>): Observable<Nullable<Item>>;\n public abstract runUpdate<Item, Service>(ctx: IActionContext<Item, Service>, fallback: undefined): Observable<Nullable<Item>> | null;\n public abstract runUpdate<Item, Service>(ctx: IActionContext<Item, Service>, fallback?: Observable<Nullable<Item>>): Observable<Nullable<Item>> | null;\n\n public runDeleteOrFail<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Item | null> {\n return runFnFromDataProviderOrFail<Item, Service, Item>(ctx, this.runDelete.bind(this));\n }\n\n public abstract runDelete<Item, Service>(ctx: IActionContext<Item, Service>): Observable<Nullable<Item>> | null;\n public abstract runDelete<Item, Service>(ctx: IActionContext<Item, Service>, fallback: Observable<Nullable<Item>>): Observable<Nullable<Item>>;\n public abstract runDelete<Item, Service>(ctx: IActionContext<Item, Service>, fallback: undefined): Observable<Nullable<Item>> | null;\n public abstract runDelete<Item, Service>(ctx: IActionContext<Item, Service>, fallback?: Observable<Nullable<Item>>): Observable<Nullable<Item>> | null;\n\n /**\n * Gets service instance of data provider.\n *\n * @param injector Injector instance\n * @param dataProvider Data provider instance.\n */\n public getDataProviderService<Item, Service>(injector: Injector, dataProvider?: IDataProvider<Item, Service>): Service | null {\n return getDataProviderService(injector, dataProvider);\n }\n}\n","import {Type} from '@angular/core';\nimport {AbstractControl, ValidationErrors} from '@angular/forms';\n\nimport {FormlyFieldConfig} from '@ngx-formly/core';\nimport {Observable} from 'rxjs';\n\nexport enum FieldSizeEnum {\n Small,\n Normal,\n Large\n}\n\nexport enum FieldInputTypeEnum {\n Hidden,\n Label,\n Text,\n Textarea,\n Number,\n Currency,\n Switch,\n Radio,\n Datepicker,\n Mask,\n File,\n ImageFile,\n ImageUrl,\n Custom\n}\n\nexport enum FieldLookupTypeEnum {\n Dropdown,\n Autocomplete,\n Dialog,\n Custom\n}\n\nexport enum FieldManyToManyEditorTypeEnum {\n DialogTableMultiselect\n}\n\nexport enum FieldManyToManyEditorActionEnum {\n Add,\n Delete\n}\n\nexport enum FieldManyEditorTypeEnum {\n DialogEditor\n}\n\nexport enum FieldManyEditorActionEnum {\n View,\n Add,\n Edit,\n Delete\n}\n\nexport enum FieldGroupTypeEnum {\n Fieldset,\n Logical\n}\n\n// field validation\nexport type FieldValidator = (\n control: AbstractControl,\n field: FormlyFieldConfig,\n options?: {\n [id: string]: any;\n }\n) => ValidationErrors | boolean | null;\n\nexport type FieldAsyncValidator = (\n control: AbstractControl,\n field: FormlyFieldConfig,\n options?: {\n [id: string]: any;\n }\n) => Observable<ValidationErrors | boolean | null>;\n\nexport type FieldValidationMessage = string | ((error: any, field: FormlyFieldConfig) => string | Observable<string>);\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface FieldConfig {}\n\nexport interface FieldLookupConfig extends FieldConfig {\n table?: {\n captionComponent?: Type<any>;\n columnActionComponent?: Type<any>;\n };\n}\n","import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\n\nimport {EditorClassAttributeDef} from '../models/class-tableview-attribute.model';\nimport {FieldInputTypeEnum} from '../models/field.model';\n\n/**\n * converts string type to type enum, default is text\n * @param attributeType\n */\nexport function getFieldInputTypeFromClassAttributeDefType(attributeType: string): FieldInputTypeEnum {\n switch (attributeType) {\n case 'hidden':\n return FieldInputTypeEnum.Hidden;\n case 'label':\n return FieldInputTypeEnum.Label;\n case 'textarea':\n return FieldInputTypeEnum.Textarea;\n case 'number':\n return FieldInputTypeEnum.Number;\n case 'currency':\n return FieldInputTypeEnum.Currency;\n case 'switch':\n case 'boolean':\n return FieldInputTypeEnum.Switch;\n case 'radio':\n return FieldInputTypeEnum.Radio;\n case 'datepicker':\n return FieldInputTypeEnum.Datepicker;\n case 'mask':\n return FieldInputTypeEnum.Mask;\n case 'file':\n return FieldInputTypeEnum.File;\n case 'custom':\n return FieldInputTypeEnum.Custom;\n case 'text':\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\n/**\n * convert column type to equivalent field input type\n * @param type column type\n * @param displayType column display type\n */\nexport function getFieldInputTypeFromColumnType(type: ColumnTypeEnum, displayType?: ColumnDisplayTypeEnum): FieldInputTypeEnum {\n switch (type) {\n case ColumnTypeEnum.Number:\n return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return FieldInputTypeEnum.Switch;\n case ColumnTypeEnum.Date:\n return FieldInputTypeEnum.Datepicker;\n case ColumnTypeEnum.Custom:\n return FieldInputTypeEnum.Custom;\n case ColumnTypeEnum.String:\n case ColumnTypeEnum.Enum:\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\nexport function expandClassAttributeDefWithEditorDef(attributes?: Array<ClassAttributeDef> | null): EditorClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const editorClassAttributeDef: EditorClassAttributeDef[] = [];\n for (const attribute of attributes) {\n editorClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n classType: typeRegistry.findType(attribute.type) as ClassType<any>,\n enumType: typeRegistry.findEnum(attribute.type) as EnumType\n });\n }\n\n return editorClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getEditorClassAttributeDef<T>(type: ClassType<T>): EditorClassAttributeDef[] {\n return expandClassAttributeDefWithEditorDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","export enum TableviewEditorTypeEnum {\n None,\n Details,\n Edit,\n Add\n}\n\nexport const EDITOR_DEFAULT_GROUP_NAME = '_default';\n","import {FormlyFieldConfig} from '@ngx-formly/core';\nimport {Observable} from 'rxjs';\n\nimport {FieldAsyncValidator, FieldValidationMessage, FieldValidator} from '../models/field.model';\n\nexport class FieldValidationDescriptor {\n private readonly _name: string;\n private readonly _validator?: FieldValidator | FieldAsyncValidator;\n private readonly _message?: FieldValidationMessage;\n private readonly _options?: {errorPath: string};\n\n constructor(\n name: string,\n validator?: FieldValidator | FieldAsyncValidator,\n message?: string | ((error: any, field: FormlyFieldConfig) => string | Observable<string>),\n options?: {errorPath: string}\n ) {\n this._name = name;\n this._validator = validator;\n this._message = message;\n this._options = options;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public get validator() {\n return this._validator;\n }\n\n public get message() {\n return this._message;\n }\n\n public get options() {\n return this._options;\n }\n\n public copy(): FieldValidationDescriptor {\n const opt = this._options ? {...this._options} : undefined;\n return new FieldValidationDescriptor(this._name, this._validator, this._message, opt);\n }\n}\n","import {Type} from '@angular/core';\n\nimport {FormlyFieldConfig} from '@ngx-formly/core';\nimport {Observable, Subject} from 'rxjs';\n\nimport {CommonsInternalError, GetterFn, I18nUtils, IEditorDescriptorInternal} from '@mediusinc/mng-commons/core';\n\nimport {FieldAsyncValidator, FieldConfig, FieldSizeEnum, FieldValidationMessage, FieldValidator} from '../models/field.model';\nimport {FormFieldEvent, FormFieldEventData, FormFieldEventTypeEnum} from '../models/form-editor.event';\nimport {CommonsFormlyFieldConfig, CommonsFormlyHookFn} from '../models/formly-field.model';\nimport {FieldValidationDescriptor} from './field-validation.descriptor';\n\nexport abstract class AGenericFieldDescriptor<EditorModel> {\n protected readonly _editor: IEditorDescriptorInternal<EditorModel>;\n protected _config: FieldConfig = {};\n\n protected constructor(editor: IEditorDescriptorInternal<EditorModel>) {\n this._editor = editor;\n }\n\n public get editor() {\n return this._editor;\n }\n\n public get config() {\n return this._config;\n }\n\n public withConfig(config: FieldConfig): this {\n this._config = config;\n return this;\n }\n\n /**\n * Override toJSON implementation to prevent overflow with circular dependency.\n * @ignore\n */\n protected toJSON(): string {\n const jsonObj = {\n ...this,\n _editor: undefined\n };\n const jsonObjStr = JSON.stringify(jsonObj);\n return jsonObjStr;\n }\n}\n\nexport abstract class AFieldDescriptor<FieldModel, EditorModel, FieldValue = FieldModel> extends AGenericFieldDescriptor<EditorModel> {\n /** @ignore */ protected readonly _property: string;\n /** @ignore */ protected _label?: string | null;\n\n /** @ignore */ protected _placeholder?: string;\n /** @ignore */ protected _helpText?: string;\n\n /** @ignore */ protected _required = false;\n /** @ignore */ protected _requiredHideLabelMarker = false;\n /** @ignore */ protected _disabled = false;\n /** @ignore */ protected _defaultValue?: FieldValue;\n /** @ignore */ protected _getter?: GetterFn<FieldValue, EditorModel>;\n /** @ignore */ protected _setter?: (item: EditorModel, value: FieldValue) => void;\n /** @ignore */ protected _validations: Array<FieldValidationDescriptor> = [];\n /** @ignore */ protected _asyncValidations: Array<FieldValidationDescriptor> = [];\n /** @ignore */ protected _requiredExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;\n /** @ignore */ protected _disabledExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;\n /** @ignore */ protected _hiddenExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;\n /** @ignore */ protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n /** @ignore */ protected _onInit?: CommonsFormlyHookFn;\n /** @ignore */ protected _onChanges?: CommonsFormlyHookFn;\n /** @ignore */ protected _afterContentInit?: CommonsFormlyHookFn;\n /** @ignore */ protected _afterViewInit?: CommonsFormlyHookFn;\n /** @ignore */ protected _onDestroy?: CommonsFormlyHookFn;\n\n /** @ignore */ protected _onValueChange?: (field: CommonsFormlyFieldConfig, value: any) => void;\n\n /** @ignore */ protected _className = '';\n /** @ignore */ protected _fieldClassName?: string;\n /** @ignore */ protected _labelClassName = '';\n /** @ignore */ protected _inputClassName = '';\n /** @ignore */ protected _size: FieldSizeEnum = FieldSizeEnum.Normal;\n\n // localization\n /** @ignore */ protected _isLocalized = false;\n\n /** @ignore */ protected readonly _eventsSubject = new Subject<FormFieldEvent<FieldModel, EditorModel>>();\n\n protected constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string) {\n super(editor);\n this._property = property;\n this._label = I18nUtils.Type.getPropertyKey(this._editor.model.i18nBaseKey, property);\n }\n\n public get property() {\n return this._property;\n }\n\n public get label() {\n return this._label;\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n public get helpText() {\n return this._helpText;\n }\n\n public get required() {\n return this._required;\n }\n\n public get requiredHideLabelMarker() {\n return this._requiredHideLabelMarker;\n }\n\n public get disabled() {\n return this._disabled;\n }\n\n public get defaultValue() {\n return this._defaultValue;\n }\n\n public get getter() {\n return this._getter;\n }\n\n public get setter() {\n return this._setter;\n }\n\n public get validations() {\n return this._validations;\n }\n\n public get asyncValidations() {\n return this._asyncValidations;\n }\n\n public get requiredExpression() {\n return this._requiredExpression;\n }\n\n public get disabledExpression() {\n return this._disabledExpression;\n }\n\n public get hiddenExpression() {\n return this._hiddenExpression;\n }\n\n public get updateOn() {\n return this._updateOn;\n }\n\n public get onInit() {\n return this._onInit;\n }\n\n public get onChanges() {\n return this._onChanges;\n }\n\n public get afterContentInit() {\n return this._afterContentInit;\n }\n\n public get afterViewInit() {\n return this._afterViewInit;\n }\n\n public get onDestroy() {\n return this._onDestroy;\n }\n\n public get onValueChange() {\n return this._onValueChange;\n }\n\n public get className() {\n return this._className;\n }\n\n public get fieldClassName() {\n return this._fieldClassName;\n }\n\n public get labelClassName() {\n return this._labelClassName;\n }\n\n public get inputClassName() {\n return this._inputClassName;\n }\n\n public get size() {\n return this._size;\n }\n\n public get isSizeSmall() {\n return this._size === FieldSizeEnum.Small;\n }\n\n public get isSizeLarge() {\n return this._size === FieldSizeEnum.Large;\n }\n\n public get isLocalized() {\n return this._isLocalized;\n }\n\n public abstract copy(): AFieldDescriptor<FieldModel, EditorModel, FieldValue>;\n\n public withLabel(label: string | null): this {\n this._label = label;\n return this;\n }\n\n public withPlaceholder(placeholder: string): this {\n this._placeholder = placeholder;\n return this;\n }\n\n public withHelpText(helpText: string): this {\n this._helpText = helpText;\n return this;\n }\n\n public withRequired(required = true, requiredExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>, hideLabelMarker = false): this {\n this._required = required;\n if (requiredExpression) {\n this._requiredExpression = requiredExpression;\n }\n this._requiredHideLabelMarker = hideLabelMarker;\n return this;\n }\n\n public withDisabled(disabled = true, disabledExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>): this {\n this._disabled = disabled;\n if (disabledExpression) {\n this._disabledExpression = disabledExpression;\n }\n return this;\n }\n\n public withHidden(hiddenExpression: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>): this {\n this._hiddenExpression = hiddenExpression;\n return this;\n }\n\n public withUpdateOn(updateOn: 'change' | 'blur' | 'submit'): this {\n this._updateOn = updateOn;\n return this;\n }\n\n public withOnInit(onInit?: CommonsFormlyHookFn): this {\n this._onInit = onInit;\n return this;\n }\n\n public withOnChanges(onChanges?: CommonsFormlyHookFn): this {\n this._onChanges = onChanges;\n return this;\n }\n\n public withAfterContentInit(afterContentInit?: CommonsFormlyHookFn): this {\n this._afterContentInit = afterContentInit;\n return this;\n }\n\n public withAfterViewInit(afterViewInit?: CommonsFormlyHookFn): this {\n this._afterViewInit = afterViewInit;\n return this;\n }\n\n public withOnDestroy(onDestroy?: CommonsFormlyHookFn): this {\n this._onDestroy = onDestroy;\n return this;\n }\n\n public withOnValueChange(onValueChange?: (field: CommonsFormlyFieldConfig, value: any) => void): this {\n this._onValueChange = onValueChange;\n return this;\n }\n\n public withDefaultValue(defaultValue: FieldValue): this {\n this._defaultValue = defaultValue;\n return this;\n }\n\n public withGetter(fn?: GetterFn<FieldValue, EditorModel>): this {\n this._getter = fn;\n return this;\n }\n\n public withSetter(fn?: (item: EditorModel, value: FieldValue) => void): this {\n this._setter = fn;\n return this;\n }\n\n public withValidation(name: string, validator?: FieldValidator, message?: FieldValidationMessage): this {\n this._validations.push(new FieldValidationDescriptor(name, validator, message));\n return this;\n }\n\n public removeValidation(name: string): this {\n this._validations = this._validations.filter(v => v.name !== name);\n return this;\n }\n\n public withAsyncValidation(name: string, asyncValidator?: FieldAsyncValidator, message?: FieldValidationMessage): this {\n this._asyncValidations.push(new FieldValidationDescriptor(name, asyncValidator, message));\n return this;\n }\n\n public removeAsyncValidation(name: string): this {\n this._asyncValidations = this._asyncValidations.filter(v => v.name !== name);\n return this;\n }\n\n public withClassName(className: string, labelClassName = '', inputClassName = '', fieldClassName?: string): this {\n this._className = className;\n this._labelClassName = labelClassName;\n this._inputClassName = inputClassName;\n this._fieldClassName = fieldClassName;\n return this;\n }\n\n public withSize(size: FieldSizeEnum = FieldSizeEnum.Normal): this {\n this._size = size;\n return this;\n }\n\n /**\n * This method adds an icon with text Show all translations above the field and after clicking on it, it displays a new dialog with tableview.\n * This new table view shows all available translations for specific property and allows editing it.\n */\n public localized(): this {\n if (!this.editor.isLocalized) {\n throw new CommonsInternalError(`Localization cannot be set for field ${this.property}, localization must be enabled on editor first.`);\n }\n this._isLocalized = true;\n return this;\n }\n\n public nextEvent(type: FormFieldEventTypeEnum, cmpType: Type<any>, cmpInstance: any, data?: FormFieldEventData<FieldModel, EditorModel>) {\n this._eventsSubject.next({\n type: type,\n componentType: cmpType,\n componentInstance: cmpInstance,\n data: data\n });\n }\n\n public get events$() {\n return this._eventsSubject.asObservable();\n }\n\n protected copyFieldsTo(obj: AFieldDescriptor<FieldModel, EditorModel, FieldValue>) {\n obj._label = this._label;\n obj._placeholder = this._placeholder;\n obj._helpText = this._helpText;\n obj._required = this._required;\n obj._disabled = this._disabled;\n obj._defaultValue = this._defaultValue;\n obj._requiredExpression = this._requiredExpression;\n obj._hiddenExpression = this._hiddenExpression;\n obj._updateOn = this._updateOn;\n obj._onInit = this._onInit;\n obj._onChanges = this._onChanges;\n obj._onDestroy = this._onDestroy;\n obj._afterContentInit = this._afterContentInit;\n obj._afterViewInit = this._afterViewInit;\n obj._onValueChange = this._onValueChange;\n obj._disabledExpression = this._disabledExpression;\n obj._className = this._className;\n obj._size = this.size;\n obj._getter = this._getter;\n obj._setter = this._setter;\n obj._isLocalized = this._isLocalized;\n obj._validations = this._validations.map(value => value.copy());\n obj._asyncValidations = this._asyncValidations.map(value => value.copy());\n }\n}\n","import {Observable} from 'rxjs';\n\nimport {IEditorDescriptorInternal, StyleLevelEnum} from '@mediusinc/mng-commons/core';\nimport {ActionButtonDescriptor, ButtonStyleBuilder} from '@mediusinc/mng-commons/form/api';\n\nimport {FieldActionContext, FieldActionResult} from '../models/field-action-context.model';\nimport {AFieldDescriptor} from './field-base.descriptor';\n\nexport type FieldActionRunFnType<EditorModel> = (ctx: FieldActionContext<EditorModel>) => void | FieldActionResult | Observable<FieldActionResult>;\n\nexport class FieldActionDescriptor<EditorModel> extends AFieldDescriptor<void, EditorModel> {\n protected readonly _fieldActionName: string;\n protected readonly _fieldActionNameLong: string;\n\n protected _button = new ActionButtonDescriptor();\n\n protected _runFunction?: FieldActionRunFnType<EditorModel>;\n\n private _wrappers = ['field'];\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string) {\n super(editor, property);\n this._fieldActionName = property;\n let displayName = property;\n if (this._editor.model) displayName = `${this._editor.model.typeName}.${displayName}`;\n this._fieldActionNameLong = displayName;\n }\n\n public get button() {\n return this._button;\n }\n\n public get runFunction() {\n return this._runFunction;\n }\n\n public get wrappers() {\n return this._wrappers;\n }\n\n public withButtonDescriptor(button: ActionButtonDescriptor): this {\n this._button = button;\n return this;\n }\n\n public withButton(label?: string | null, icon: string | null = null, styleLevel = StyleLevelEnum.Default, styleText = false): this {\n this._button = new ActionButtonDescriptor().withLabel(label).withIcon(icon).withStyleClass(new ButtonStyleBuilder(styleLevel).withTextButton(styleText));\n return this;\n }\n\n public withRunFunction(fn: FieldActionRunFnType<EditorModel>): this {\n this._runFunction = fn;\n return this;\n }\n\n public withWrappers(wrappers: string[]): this {\n this._wrappers = wrappers;\n return this;\n }\n\n public copy(): FieldActionDescriptor<EditorModel> {\n const field = new FieldActionDescriptor<EditorModel>(this._editor, this._property);\n this.copyFieldsTo(field);\n field._button = this._button.copy();\n field._runFunction = this._runFunction?.bind(field);\n field._wrappers = [...this._wrappers];\n return field;\n }\n}\n","import {IEditorDescriptorInternal} from '@mediusinc/mng-commons/core';\n\nimport {EDITOR_DEFAULT_GROUP_NAME} from '../models/editor.model';\nimport {FieldGroupTypeEnum, FieldValidationMessage, FieldValidator} from '../models/field.model';\nimport {AFieldDescriptor, AGenericFieldDescriptor} from './field-base.descriptor';\nimport {FieldValidationDescriptor} from './field-validation.descriptor';\n\nexport abstract class AFieldGroupDescriptor<EditorModel> extends AGenericFieldDescriptor<EditorModel> {\n protected readonly _name: string;\n protected readonly _default: boolean;\n protected _title?: string;\n protected _fields: AGenericFieldDescriptor<EditorModel>[] = [];\n protected _validations: Array<FieldValidationDescriptor> = [];\n\n protected constructor(editor: IEditorDescriptorInternal<EditorModel>, name: string) {\n super(editor);\n this._name = `${this.baseName}${name}`;\n this._default = name === EDITOR_DEFAULT_GROUP_NAME;\n }\n\n public removeField(\n property: string,\n filterFunction: (fields: AGenericFieldDescriptor<EditorModel>[]) => AGenericFieldDescriptor<EditorModel>[]\n ): AGenericFieldDescriptor<EditorModel>[] {\n this._fields = filterFunction(this._fields);\n return this._fields;\n }\n\n public get title() {\n return this._title;\n }\n\n abstract get fields(): AGenericFieldDescriptor<EditorModel>[];\n\n public get validations() {\n return this._validations;\n }\n\n public get baseName() {\n return `${this.groupName()}_`;\n }\n\n public get name() {\n return this._name;\n }\n\n public get default() {\n return this._default;\n }\n\n abstract groupName(): string;\n\n abstract addField(field: AGenericFieldDescriptor<EditorModel>): this;\n\n abstract copy(): AFieldGroupDescriptor<EditorModel>;\n\n public withTitle(title: string): this {\n this._title = title;\n return this;\n }\n\n public withValidation(name: string, validator?: FieldValidator, message?: FieldValidationMessage) {\n this._validations.push(new FieldValidationDescriptor(name, validator, message));\n return this;\n }\n}\n\nexport class FieldTabGroupDescriptor<EditorModel> extends AFieldGroupDescriptor<EditorModel> {\n constructor(editor: IEditorDescriptorInternal<EditorModel>, name: string) {\n super(editor, name);\n }\n\n public get fields(): Array<FieldGroupDescriptor<EditorModel>> {\n return this._fields as Array<FieldGroupDescriptor<EditorModel>>;\n }\n\n public groupName(): string {\n return 'tab';\n }\n\n public addField(field: FieldGroupDescriptor<EditorModel>): this {\n this._fields.push(field);\n return this;\n }\n\n public copy(): FieldTabGroupDescriptor<EditorModel> {\n const tab = new FieldTabGroupDescriptor<EditorModel>(this._editor, this.name.substring(this.baseName.length));\n tab._title = this._title;\n tab._fields = this.fields.map(f => f.copy());\n tab._validations = this.validations.map(v => v.copy());\n return tab;\n }\n}\n\nexport class FieldGroupDescriptor<EditorModel> extends AFieldGroupDescriptor<EditorModel> {\n private _type = FieldGroupTypeEnum.Fieldset;\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, name: string) {\n super(editor, name);\n if (this._default) {\n this.asLogical();\n }\n }\n\n public get type() {\n return this._type;\n }\n\n public get fields(): Array<AFieldDescriptor<any, EditorModel>> {\n return this._fields as Array<AFieldDescriptor<any, EditorModel>>;\n }\n\n public groupName(): string {\n return 'group';\n }\n\n public addField(field: AFieldDescriptor<any, EditorModel>): this {\n this._fields.push(field);\n return this;\n }\n\n public asLogical(): this {\n this._type = FieldGroupTypeEnum.Logical;\n return this;\n }\n\n public copy(): FieldGroupDescriptor<EditorModel> {\n const group = new FieldGroupDescriptor<EditorModel>(this._editor, this.name.substring(this.baseName.length));\n group._type = this._type;\n group._title = this._title;\n group._fields = this.fields.map(f => f.copy());\n group._validations = this.validations.map(v => v.copy());\n return group;\n }\n}\n","import {of} from 'rxjs';\n\nimport {\n ClassType,\n EnumConstantType,\n EnumUtil,\n EnumValue,\n IDataProvider,\n IEditorDescriptorInternal,\n ILookupDataProvider,\n ILookupDescriptor,\n LookupDataProviderLookupFnType,\n ServiceClassType\n} from '@mediusinc/mng-commons/core';\nimport {InputTrimType, LookupDataProvider} from '@mediusinc/mng-commons/form/api';\nimport {EnumDescriptor, ModelUtil} from '@mediusinc/mng-commons/model';\nimport {ITableDataProvider, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {FieldLookupConfig, FieldLookupTypeEnum} from '../models/field.model';\nimport {AFieldDescriptor} from './field-base.descriptor';\n\nexport type FieldLookupDescriptorConstructorOptsType<EditorModel, Service> = FieldLookupDescriptorCreateOptsProviderType<EditorModel, Service> & {\n type?: ClassType<EditorModel>;\n optionsValueProperty?: string;\n};\n\nexport type FieldLookupDescriptorCreateOptsProviderType<FieldModel, Service> = {\n serviceType?: ServiceClassType<Service>;\n dataProvider?: ILookupDataProvider<FieldModel, Service>;\n};\n\nexport type FieldLookupProviderType<FieldModel, Service> = ServiceClassType<Service> | ILookupDataProvider<FieldModel, Service>;\n\nexport type FieldLookupAutocompleteOptsType = {\n openOnFocus?: boolean;\n inlineSearch?: boolean;\n selectFirst?: boolean;\n autoClear?: boolean;\n};\n\nexport const fieldLookupGetProviderCfgObj = <FieldModel, Service>(serviceOrDataProvider?: FieldLookupProviderType<FieldModel, Service>) => {\n const cfg: FieldLookupDescriptorCreateOptsProviderType<FieldModel, Service> = {};\n if (serviceOrDataProvider) {\n if ((serviceOrDataProvider as IDataProvider).isDataProvider) {\n // type casting needed, cause there was no other way found to differentiate the types\n cfg.dataProvider = serviceOrDataProvider as ILookupDataProvider<FieldModel, Service>;\n } else {\n cfg.serviceType = serviceOrDataProvider as ServiceClassType<Service>;\n }\n }\n return cfg;\n};\n\nexport class FieldLookupDescriptor<FieldModel, EditorModel, Service = any, FieldValue = FieldModel>\n extends AFieldDescriptor<FieldModel, EditorModel, FieldValue>\n implements ILookupDescriptor<FieldModel, Service>\n{\n protected readonly _dataProvider: ILookupDataProvider<FieldModel, Service>;\n protected readonly _optionsValueProperty?: string; // this defines VT!\n\n protected _lookupType: FieldLookupTypeEnum = FieldLookupTypeEnum.Dropdown;\n protected _optionsLabelProperty?: string;\n protected _optionsLabelTranslate = false;\n protected _optionsDisabledProperty?: string;\n protected _optionsTrackProperty?: string;\n\n protected _dropdownClassName = 'mng-filter-lookup-dropdown';\n\n protected _autocompleteOpenOnFocus?: boolean;\n protected _autocompleteInlineSearch?: boolean;\n protected _autocompleteAutoClear?: boolean;\n protected _autocompleteSelectFirst?: boolean;\n protected _autocompleteInputTrim?: InputTrimType;\n\n protected _dialogTableDescriptor?: TableDescriptorInst<FieldModel>;\n protected _dialogTableDataProvider?: ITableDataProvider<FieldModel, any, any, any>;\n\n protected _customComponentName?: string;\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string, cfg?: FieldLookupDescriptorConstructorOptsType<FieldModel, Service>) {\n super(editor, property as string);\n\n if (cfg?.dataProvider) {\n this._dataProvider = cfg.dataProvider;\n } else {\n this._dataProvider = LookupDataProvider.fromAnyParam(cfg?.type, cfg?.serviceType);\n }\n\n this._optionsValueProperty = cfg?.optionsValueProperty;\n\n ModelUtil.trySetLookupItemsProperties(this);\n }\n\n public get lookupType() {\n return this._lookupType;\n }\n\n public get optionsLabelProperty() {\n return this._optionsLabelProperty;\n }\n\n public get optionsLabelTranslate() {\n return this._optionsLabelTranslate;\n }\n\n public get optionsValueProperty() {\n return this._optionsValueProperty;\n }\n\n public get optionsDisabledProperty() {\n return this._optionsDisabledProperty;\n }\n\n public get optionsTrackProperty() {\n return this._optionsTrackProperty;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n\n public get autocompleteOpenOnFocus() {\n return this._autocompleteOpenOnFocus;\n }\n\n public get autocompleteInlineSearch() {\n return this._autocompleteInlineSearch;\n }\n\n public get autocompleteAutoClear() {\n return this._autocompleteAutoClear;\n }\n\n public get autocompleteSelectFirst() {\n return this._autocompleteSelectFirst;\n }\n\n public get dropdownClassName() {\n return this._dropdownClassName;\n }\n\n public get dialogTableDescriptor() {\n return this._dialogTableDescriptor;\n }\n\n public get dialogTableDataProvider() {\n return this._dialogTableDataProvider;\n }\n\n public get customComponentName() {\n return this._customComponentName;\n }\n\n public get trimOption() {\n return this._autocompleteInputTrim;\n }\n\n public withOptionsLabelProperty(property: keyof FieldModel, translate = false): this {\n return this.withOptionsLabelPropertyUnsafe(property as string, translate);\n }\n\n public withOptionsLabelPropertyUnsafe(property: string, translate = false): this {\n this._optionsLabelProperty = property;\n this._optionsLabelTranslate = translate;\n return this;\n }\n\n public withOptionsDisabledProperty(property: keyof FieldModel): this {\n return this.withOptionsDisabledPropertyUnsafe(property as string);\n }\n\n public withOptionsDisabledPropertyUnsafe(property: string): this {\n this._optionsDisabledProperty = property;\n return this;\n }\n\n public withOptionsTrackProperty(property: keyof FieldModel): this {\n return this.withOptionsTrackPropertyUnsafe(property as string);\n }\n\n public withOptionsTrackPropertyUnsafe(property: string): this {\n if (this._optionsValueProperty) {\n return this;\n }\n this._optionsTrackProperty = property;\n return this;\n }\n\n public withLookup(lookup?: LookupDataProviderLookupFnType<FieldModel, Service>): this {\n this._dataProvider.withLookup(lookup);\n return this;\n }\n\n public withInputTrim(trimOption: InputTrimType = 'both'): this {\n this._autocompleteInputTrim = trimOption;\n return this;\n }\n\n public override withConfig(config: FieldLookupConfig): this {\n return super.withConfig(config);\n }\n\n public asAutocomplete(opts?: FieldLookupAutocompleteOptsType): this {\n this._lookupType = FieldLookupTypeEnum.Autocomplete;\n this._autocompleteAutoClear = opts?.autoClear;\n this._autocompleteSelectFirst = opts?.selectFirst;\n this._autocompleteOpenOnFocus = opts?.openOnFocus;\n this._autocompleteInlineSearch = opts?.inlineSearch;\n return this;\n }\n\n public asDialog(lookupTableDescriptor: TableDescriptorInst<FieldModel>, tableDataProvider?: ITableDataProvider<FieldModel, any, any, any>): this {\n this._lookupType = FieldLookupTypeEnum.Dialog;\n this._dialogTableDescriptor = lookupTableDescriptor;\n this._dialogTableDataProvider = tableDataProvider;\n return this;\n }\n\n public asCustomComponent(customComponentName: string): this {\n this._lookupType = FieldLookupTypeEnum.Custom;\n this._customComponentName = customComponentName;\n return this;\n }\n\n public copy(): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n const field = new FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue>(this._editor, this._property, {\n dataProvider: this._dataProvider,\n optionsValueProperty: this._optionsValueProperty\n });\n this.copyFieldsTo(field);\n field._lookupType = this._lookupType;\n field._optionsLabelProperty = this._optionsLabelProperty;\n field._optionsLabelTranslate = this._optionsLabelTranslate;\n field._optionsDisabledProperty = this._optionsDisabledProperty;\n field._optionsTrackProperty = this._optionsTrackProperty;\n field._dropdownClassName = this._dropdownClassName;\n field._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;\n field._autocompleteInlineSearch = this._autocompleteInlineSearch;\n field._dialogTableDescriptor = this._dialogTableDescriptor;\n return field;\n }\n}\n\nexport class FieldLookupEnumDescriptor<Enum, EditorModel> extends FieldLookupDescriptor<EnumValue, EditorModel, undefined, EnumConstantType> {\n private readonly _enumModel: EnumDescriptor<Enum>;\n private readonly _optionEnumValues: EnumValue[];\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string, enumModel: EnumDescriptor<Enum>, options?: Array<Enum>) {\n super(editor, property, {\n dataProvider: LookupDataProvider.create<EnumValue>(),\n optionsValueProperty: 'value'\n });\n this._enumModel = enumModel;\n this._optionEnumValues = Array.isArray(options)\n ? EnumUtil.fromValuesAsEnumValueArray<Enum>(this._enumModel.type, options, this._enumModel.nameAsValue, this._enumModel.i18nBaseKey ?? undefined)\n : EnumUtil.fromConstantsAsEnumValueArray(this._enumModel.type, this._enumModel.nameAsValue, this._enumModel.i18nBaseKey ?? undefined);\n this.withLookup(() => of(this._optionEnumValues));\n this.withOptionsLabelProperty('title', this._enumModel.i18nBaseKey !== null);\n this.withOptionsDisabledProperty('disabled');\n }\n\n public get enumModel() {\n return this._enumModel;\n }\n\n public withDisabledOptions(...disabledOptions: Array<EnumConstantType>): this {\n for (const disabledOption of disabledOptions) {\n const disabledOptionValue = this._enumModel.nameAsValue ? EnumUtil.getConstantName(this._enumModel.type, disabledOption) : disabledOption;\n if (disabledOptionValue) {\n const option = this._optionEnumValues.find(o => o.value === disabledOptionValue);\n if (option) {\n option.disabled = true;\n }\n }\n }\n return this;\n }\n\n public withDefaultValueEnum(defaultValue: EnumConstantType): this {\n const defaultOptionValue = this._enumModel.nameAsValue ? EnumUtil.getConstantName(this._enumModel.type, defaultValue) : defaultValue;\n if (defaultOptionValue) {\n const option = this._optionEnumValues.find(o => o.value === defaultOptionValue);\n if (option) {\n this.withDefaultValue(option[this._optionsValueProperty as keyof object]);\n }\n }\n return this;\n }\n\n public override asAutocomplete(opts?: FieldLookupAutocompleteOptsType): this {\n super.asAutocomplete({\n ...opts,\n openOnFocus: opts?.openOnFocus ?? true,\n inlineSearch: opts?.inlineSearch ?? true\n });\n return this;\n }\n\n public override copy(): FieldLookupEnumDescriptor<Enum, EditorModel> {\n const field = new FieldLookupEnumDescriptor<Enum, EditorModel>(this._editor, this._property, this._enumModel, []);\n this.copyFieldsTo(field);\n field._lookupType = this._lookupType;\n field._optionsLabelProperty = this._optionsLabelProperty;\n field._optionsDisabledProperty = this._optionsDisabledProperty;\n field._optionsTrackProperty = this._optionsTrackProperty;\n return field;\n }\n}\n","import {IDataProvider, IEditorDescriptorInternal, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {ITableDataProvider, TableDataProvider, TableDataProviderGetAllFnType, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {ActionDescriptorInst} from '../../action/descriptors/action.descriptor';\nimport {TableviewDescriptorInst} from '../../tableview/descriptors/tableview.descriptor';\nimport {FieldManyEditorActionEnum, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorTypeEnum} from '../models/field.model';\nimport {AFieldDescriptor} from './field-base.descriptor';\n\nexport type FieldManyToManyEditorDescriptorConstructorOptsType<FieldModel, Service> = FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service>;\n\nexport type FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service> = {\n lookupServiceType?: ServiceClassType<Service>;\n lookupDataProvider?: ITableDataProvider<FieldModel, Service>;\n};\n\nexport type FieldManyToManyEditorProviderType<FieldModel, Service> = ServiceClassType<Service> | ITableDataProvider<FieldModel, Service>;\n\nexport const fieldManyToManyGetProviderCfgObj = <FieldModel, Service>(serviceOrDataProvider?: FieldManyToManyEditorProviderType<FieldModel, Service>) => {\n const cfg: FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service> = {};\n if (serviceOrDataProvider) {\n if ((serviceOrDataProvider as IDataProvider).isDataProvider) {\n // type casting needed, cause there was no other way found to differentiate the types\n cfg.lookupDataProvider = serviceOrDataProvider as ITableDataProvider<FieldModel, Service>;\n } else {\n cfg.lookupServiceType = serviceOrDataProvider as ServiceClassType<Service>;\n }\n }\n return cfg;\n};\n\nexport class FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service = any, FieldValue = FieldModel[]> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {\n private readonly _mainTableDescriptor: TableDescriptorInst<FieldModel>; // table descriptor for main table component\n private readonly _lookupTableDescriptor: TableDescriptorInst<FieldModel>; // table descriptor for where select will be applied\n private readonly _lookupTableDataProvider: ITableDataProvider<FieldModel, Service>;\n private _fieldType: FieldManyToManyEditorTypeEnum = FieldManyToManyEditorTypeEnum.DialogTableMultiselect;\n private _actions: Array<FieldManyToManyEditorActionEnum> = [FieldManyToManyEditorActionEnum.Add, FieldManyToManyEditorActionEnum.Delete];\n private _hasLookupExcludeValues = false;\n private _excludeFilterProperty = '';\n private _excludeValueProperty = '';\n private _searchEnabled = false;\n private _searchFields?: string[];\n\n constructor(\n editor: IEditorDescriptorInternal<EditorModel>,\n property: string,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>,\n cfg?: FieldManyToManyEditorDescriptorConstructorOptsType<FieldModel, Service>\n ) {\n super(editor, property);\n this._mainTableDescriptor = mainTableDescriptor;\n this._lookupTableDescriptor = lookupTableDescriptor;\n\n if (cfg?.lookupDataProvider) {\n this._lookupTableDataProvider = cfg.lookupDataProvider;\n } else {\n this._lookupTableDataProvider = TableDataProvider.fromAnyParam(lookupTableDescriptor.model.type, cfg?.lookupServiceType);\n }\n }\n\n public get fieldType() {\n return this._fieldType;\n }\n\n public get actions() {\n return this._actions;\n }\n\n public get hasLookupExcludeValues() {\n return this._hasLookupExcludeValues;\n }\n\n public get excludeFilterProperty() {\n return this._excludeFilterProperty;\n }\n\n public get excludeValueProperty() {\n return this._excludeValueProperty;\n }\n\n public get mainTableDescriptor() {\n return this._mainTableDescriptor;\n }\n\n public get lookupTableDescriptor() {\n return this._lookupTableDescriptor;\n }\n\n public get lookupTableDataProvider() {\n return this._lookupTableDataProvider;\n }\n\n public get searchEnabled() {\n return this._searchEnabled;\n }\n\n public get searchFields() {\n return this._searchFields;\n }\n\n public withLookup(fn: TableDataProviderGetAllFnType<FieldModel, Service>): this {\n this._lookupTableDataProvider.withGetAll(fn);\n return this;\n }\n\n public withActions(actions: Array<FieldManyToManyEditorActionEnum> = []): this {\n this.actions.push(...actions);\n return this;\n }\n\n public withLookupExclude(filterProperty: keyof FieldModel, valueProperty: keyof FieldModel, hasLookupExclude = true): this {\n return this.withLookupExcludeUnsafe(filterProperty as string, valueProperty as string, hasLookupExclude);\n }\n\n public withLookupExcludeUnsafe(filterProperty: string, valueProperty: string, hasLookupExclude = true): this {\n this._hasLookupExcludeValues = hasLookupExclude;\n this._excludeFilterProperty = filterProperty;\n this._excludeValueProperty = valueProperty;\n return this;\n }\n\n public withSearch(enabled = true, searchFields?: string[]): this {\n this._searchEnabled = enabled;\n this._searchFields = searchFields;\n return this;\n }\n\n public copy(): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n const field = new FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service, FieldValue>(\n this._editor,\n this._property,\n this._mainTableDescriptor.copy(),\n this._lookupTableDescriptor.copy(),\n {\n lookupDataProvider: this.lookupTableDataProvider\n }\n );\n this.copyFieldsTo(field);\n field._fieldType = this._fieldType;\n field._actions = this._actions.map(a => a);\n field._hasLookupExcludeValues = this._hasLookupExcludeValues;\n field._excludeFilterProperty = this._excludeFilterProperty;\n field._excludeValueProperty = this._excludeValueProperty;\n return field;\n }\n}\n\nexport class FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue = FieldModel[]> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {\n private readonly _tableviewDescriptor: TableviewDescriptorInst<FieldModel, any, any>;\n private _fieldType: FieldManyEditorTypeEnum = FieldManyEditorTypeEnum.DialogEditor;\n private _fieldActions: Array<FieldManyEditorActionEnum> = [];\n private _actions: Array<ActionDescriptorInst<FieldModel>> = [];\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel, any, any>) {\n super(editor, property);\n this._tableviewDescriptor = tableviewDescriptor;\n this._fieldActions.push(FieldManyEditorActionEnum.View, FieldManyEditorActionEnum.Add, FieldManyEditorActionEnum.Edit, FieldManyEditorActionEnum.Delete);\n }\n\n public get fieldType() {\n return this._fieldType;\n }\n\n public get fieldActions() {\n return this._fieldActions;\n }\n\n public get actions() {\n return this._actions;\n }\n\n public get tableviewDescriptor() {\n return this._tableviewDescriptor;\n }\n\n public get tableDescriptor() {\n return this._tableviewDescriptor.table;\n }\n\n public get editorForCreate() {\n return this._tableviewDescriptor.addEditor;\n }\n\n public get editorForRead() {\n return this._tableviewDescriptor.detailsEditor;\n }\n\n public get editorForUpdate() {\n return this._tableviewDescriptor.editEditor;\n }\n\n public withFieldAction(action: FieldManyEditorActionEnum): this {\n this._fieldActions.push(action);\n return this;\n }\n\n public withFieldActions(actions: FieldManyEditorActionEnum[]): this {\n this._fieldActions = actions;\n return this;\n }\n\n public withAction(action: ActionDescriptorInst<FieldModel>): this {\n this._actions.push(action);\n return this;\n }\n\n public copy(): FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue> {\n const field = new FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue>(this._editor, this._property, this._tableviewDescriptor.copy());\n this.copyFieldsTo(field);\n field._fieldType = this._fieldType;\n field._fieldActions = this._fieldActions.map(a => a);\n return field;\n }\n}\n","import {AbstractControl} from '@angular/forms';\n\nimport {FieldValidator} from '../models/field.model';\n\nexport const minDateValidator = (min: Date): FieldValidator => {\n return (c: AbstractControl) => {\n const date: Date = c?.value;\n const valid = !date || date >= min;\n\n if (!valid) {\n const newErrors = {...c.errors, minDate: true};\n c?.markAsDirty();\n c.setErrors(newErrors);\n return newErrors;\n }\n\n if (c?.hasError('minDate')) {\n c.setErrors({...c.errors, minDate: null});\n }\n\n return null;\n };\n};\n\nexport const maxDateValidator = (max: Date): FieldValidator => {\n return (c: AbstractControl) => {\n const date: Date = c?.value;\n const valid = !date || date <= max;\n\n if (!valid) {\n const newErrors = {...c.errors, maxDate: true};\n c?.markAsDirty();\n c.setErrors(newErrors);\n return newErrors;\n }\n\n if (c?.hasError('maxDate')) {\n c.setErrors({...c.errors, maxDate: null});\n }\n\n return null;\n };\n};\n","import {Type} from '@angular/core';\nimport {AbstractControl, Validators} from '@angular/forms';\n\nimport {EnumUtil, IEditorDescriptorInternal} from '@mediusinc/mng-commons/core';\nimport {InputTrimType} from '@mediusinc/mng-commons/form/api';\nimport {EnumDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {maxDateValidator, minDateValidator} from '../helpers/field-validators';\nimport {FieldInputTypeEnum} from '../models/field.model';\nimport {AFormlyCustomFieldComponent} from '../models/formly-custom-field.model';\nimport {RadioValue} from '../models/radio.model';\nimport {AFieldDescriptor} from './field-base.descriptor';\n\nexport type FieldInputDescriptorType = string | string[] | number | boolean | Date | File | File[];\n\nexport type FieldInputTextOptsType = {\n email?: boolean;\n} & FieldInputTextValidationOptsType;\n\nexport type FieldInputTextareaOptsType = {\n rows?: number;\n} & FieldInputTextValidationOptsType;\n\nexport type FieldInputTextValidationOptsType = {\n minLength?: number;\n maxLength?: number;\n pattern?: string | RegExp;\n};\n\nexport type FieldInputCurrencyOptsType<Property = string> = {\n currencyProperty?: Property;\n currency?: string;\n currencyDisplay?: 'symbol' | 'code' | 'name';\n} & FieldInputNumberGroupingOptsType &\n FieldInputNumberFractionOptsType &\n FieldInputNumberValidationOptsType &\n FieldInputLocaleOptsType;\n\nexport type FieldInputNumberOptsType = FieldInputNumberGroupingOptsType & FieldInputNumberFractionOptsType & FieldInputNumberValidationOptsType & FieldInputLocaleOptsType;\n\nexport type FieldInputNumberGroupingOptsType = {\n groupSeparator?: boolean;\n};\n\nexport type FieldInputNumberValidationOptsType = {\n min?: number;\n max?: number;\n step?: number;\n autoCorrect?: boolean;\n};\n\nexport type FieldInputNumberFractionOptsType = {\n minFractionDigits?: number;\n maxFractionDigits?: number;\n};\n\nexport type FieldInputLocaleOptsType = {\n locale?: string;\n};\n\nexport type FieldInputDatePickerOptsType = {\n format?: string;\n min?: Date;\n max?: Date;\n showTime?: boolean;\n showSeconds?: boolean;\n};\n\nexport type FieldInputFileOpts = {\n multiple?: boolean;\n maxFileSize?: number;\n accept?: string;\n onFileSelectHandlerFn?: FieldInputFileOnSelectHandlerFnType;\n};\n\nexport type FieldInputImageUrlOpts = {\n multiple?: boolean;\n preview?: boolean;\n inputVisibleOnDisabled?: boolean;\n};\n\nexport type FieldInputComponentOpts = {\n fieldWrappers?: string[];\n inputs?: Record<string, any>;\n};\n\nexport type FieldInputFileOnSelectHandlerFnType = (file: File[] | null, control: AbstractControl) => void;\n\nexport class FieldInputDescriptor<EditorModel, FieldModel = FieldInputDescriptorType, FieldValue = FieldModel> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {\n private _fieldType: FieldInputTypeEnum = FieldInputTypeEnum.Text;\n\n // textarea specific properties\n private _rows?: number;\n\n // number specific properties\n private _numberMin?: number;\n private _numberMax?: number;\n private _numberStep?: number;\n private _numberAutoCorrect?: boolean;\n private _numberMinFractionDigits?: number;\n private _numberMaxFractionDigits?: number;\n private _numberUseGrouping = true;\n private _locale?: string;\n\n // currency specific properties\n private _currency?: string;\n private _currencyDisplay: 'symbol' | 'code' | 'name' = 'symbol';\n private _currencyFromProperty?: string;\n\n // radio specific properties\n private _radioOptions: Array<RadioValue> = [];\n\n // datepicker specific properties\n private _datePickerFormat?: string;\n private _datePickerMin?: Date;\n private _datePickerMax?: Date;\n private _datePickerShowTime?: boolean;\n private _datePickerShowSeconds?: boolean;\n\n // input specific properties\n private _maxLength?: number;\n private _minLength?: number;\n private _pattern?: string | RegExp;\n private _inputTrim?: InputTrimType;\n\n // mask specific properties\n private _mask?: string;\n private _slotChar?: string;\n\n // file specific properties\n private _fileMultiple?: boolean;\n private _fileMaxFileSize?: number;\n private _fileAccept?: string;\n private _fileOnSelectHandler?: FieldInputFileOnSelectHandlerFnType;\n\n // image specific properties\n private _imagePreview?: boolean;\n private _imageUrlInputHiddenOnDisabled?: boolean;\n\n // custom component properties\n private _customComponentType?: Type<AFormlyCustomFieldComponent>;\n private _customComponentInputs?: Record<string, any>;\n private _customComponentWrappers?: string[];\n\n constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string) {\n super(editor, property);\n }\n\n /**\n * converts field to given type with additional arguments\n * @param fieldType field type enum\n * @param args any additional arguments for field (optional)\n */\n public asType(fieldType: FieldInputTypeEnum, ...args: any[]): this {\n switch (fieldType) {\n case FieldInputTypeEnum.Hidden:\n return this.asHidden();\n case FieldInputTypeEnum.Label:\n return this.asLabel();\n case FieldInputTypeEnum.Textarea:\n return this.asTextarea(...args);\n case FieldInputTypeEnum.Number:\n return this.asNumber(...args);\n case FieldInputTypeEnum.Currency:\n return this.asCurrency(...args);\n case FieldInputTypeEnum.Switch:\n return this.asSwitch();\n case FieldInputTypeEnum.Radio:\n return this.asRadio(args[0], args[1]);\n case FieldInputTypeEnum.Datepicker:\n return this.asDatePicker(...args);\n case FieldInputTypeEnum.Mask:\n return this.asMask(args[0], args[1]);\n case FieldInputTypeEnum.File:\n return this.asFile(...args);\n case FieldInputTypeEnum.ImageFile:\n return this.asImageFile(...args);\n case FieldInputTypeEnum.ImageUrl:\n return this.asImageUrl(...args);\n case FieldInputTypeEnum.Custom:\n return this.asCustomComponent(args[0], args[1]);\n case FieldInputTypeEnum.Text:\n return this.asText(args[0]);\n }\n }\n\n public get fieldType() {\n return this._fieldType;\n }\n\n public get rows() {\n return this._rows;\n }\n\n public get numberMin() {\n return this._numberMin;\n }\n\n public get numberMax() {\n return this._numberMax;\n }\n\n public get numberStep() {\n return this._numberStep;\n }\n\n public get numberAutoCorrect() {\n return this._numberAutoCorrect;\n }\n\n public get numberMinFractionDigits() {\n return this._numberMinFractionDigits;\n }\n\n public get numberMaxFractionDigits() {\n return this._numberMaxFractionDigits;\n }\n\n public get numberUseGrouping() {\n return this._numberUseGrouping;\n }\n\n public get radioOptions() {\n return this._radioOptions;\n }\n\n public get datePickerFormat() {\n return this._datePickerFormat;\n }\n\n public get datePickerMin() {\n return this._datePickerMin;\n }\n\n public get datePickerMax() {\n return this._datePickerMax;\n }\n\n public get datePickerShowTime() {\n return this._datePickerShowTime;\n }\n\n public get datePickerShowSeconds() {\n return this._datePickerShowSeconds;\n }\n\n public get maxLength() {\n return this._maxLength;\n }\n\n public get minLength() {\n return this._minLength;\n }\n\n public get pattern() {\n return this._pattern;\n }\n\n public get trimOption() {\n return this._inputTrim;\n }\n\n public get mask() {\n return this._mask;\n }\n\n public get slotChar() {\n return this._slotChar;\n }\n\n public get fileMultiple() {\n return this._fileMultiple;\n }\n\n public get fileMaxFileSize() {\n return this._fileMaxFileSize;\n }\n\n public get fileAccept() {\n return this._fileAccept;\n }\n\n public get fileOnSelectHandler() {\n return this._fileOnSelectHandler;\n }\n\n public get imagePreview() {\n return this._imagePreview;\n }\n\n public get imageUrlInputVisibleOnDisabled() {\n return this._imageUrlInputHiddenOnDisabled;\n }\n\n public get customComponentType() {\n return this._customComponentType;\n }\n\n public get customComponentInputs() {\n return this._customComponentInputs;\n }\n\n public get customComponentWrappers() {\n return this._customComponentWrappers;\n }\n\n public get locale() {\n return this._locale;\n }\n\n public get currency() {\n return this._currency;\n }\n\n public get currencyFromProperty() {\n return this._currencyFromProperty;\n }\n\n public get currencyDisplay() {\n return this._currencyDisplay;\n }\n\n public asHidden(): this {\n this._fieldType = FieldInputTypeEnum.Hidden;\n return this;\n }\n\n public asLabel(): this {\n this._fieldType = FieldInputTypeEnum.Label;\n return this;\n }\n\n public asText(opts?: FieldInputTextOptsType): this {\n this._fieldType = FieldInputTypeEnum.Text;\n return this.withTextValidation(opts).withTextValidationEmail(opts?.email ?? false);\n }\n\n public asTextarea(opts?: FieldInputTextareaOptsType): this {\n this._fieldType = FieldInputTypeEnum.Textarea;\n this._rows = opts?.rows;\n return this.withTextValidation(opts);\n }\n\n public asNumber(opts?: FieldInputNumberOptsType): this {\n this._fieldType = FieldInputTypeEnum.Number;\n return this.withNumberGrouping(opts?.groupSeparator ?? false)\n .withNumberFractions(opts)\n .withNumberValidation(opts)\n .withLocale(opts?.locale);\n }\n\n public asCurrency(opts?: FieldInputCurrencyOptsType<keyof EditorModel>): this {\n return this.asCurrencyUnsafe(<FieldInputCurrencyOptsType>{\n ...opts,\n currencyProperty: opts?.currencyProperty ? (opts.currencyProperty as string) : undefined\n });\n }\n\n public asCurrencyUnsafe(opts?: FieldInputCurrencyOptsType): this {\n this._fieldType = FieldInputTypeEnum.Currency;\n this._currencyFromProperty = opts?.currencyProperty;\n this._currency = opts?.currency ?? this._currency;\n this._currencyDisplay = opts?.currencyDisplay ?? this._currencyDisplay;\n return this.withNumberGrouping(opts?.groupSeparator ?? false)\n .withNumberFractions({\n maxFractionDigits: opts?.maxFractionDigits ?? 2,\n minFractionDigits: opts?.minFractionDigits ?? 2\n })\n .withNumberValidation(opts)\n .withLocale(opts?.locale);\n }\n\n public asSwitch(): this {\n this._fieldType = FieldInputTypeEnum.Switch;\n return this;\n }\n\n public asRadio(options: Array<string | number | boolean>, optionsTitlePath?: string): this {\n this._fieldType = FieldInputTypeEnum.Radio;\n this._radioOptions = options.map(o => <RadioValue>{value: o, title: `${optionsTitlePath ? `${optionsTitlePath}.` : ''}${o}`});\n return this;\n }\n\n public asRadioFromEnum<Enum>(enumModel: EnumDescriptor<Enum>, values?: Array<Enum>): this {\n this._fieldType = FieldInputTypeEnum.Radio;\n this._radioOptions = Array.isArray(values)\n ? EnumUtil.fromValuesAsEnumValueArray<Enum>(enumModel.type, values, enumModel.nameAsValue, enumModel.i18nBaseKey ?? undefined)\n : EnumUtil.fromConstantsAsEnumValueArray(enumModel.type, enumModel.nameAsValue, enumModel.i18nBaseKey ?? undefined);\n return this;\n }\n\n public asDatePicker(opts?: FieldInputDatePickerOptsType): this {\n this._fieldType = FieldInputTypeEnum.Datepicker;\n this._datePickerFormat = opts?.format;\n this._datePickerMin = opts?.min;\n this._datePickerMax = opts?.max;\n this._datePickerShowTime = opts?.showTime;\n this._datePickerShowSeconds = opts?.showSeconds;\n\n if (opts?.min != undefined) {\n this.withValidation('minDate', minDateValidator(opts.min));\n }\n if (opts?.max !== undefined) {\n this.withValidation('maxDate', maxDateValidator(opts.max));\n }\n\n return this;\n }\n\n public asMask(mask: string, slotChar: string): this {\n this._fieldType = FieldInputTypeEnum.Mask;\n this._mask = mask;\n this._slotChar = slotChar;\n return this;\n }\n\n public asFile(opts?: FieldInputFileOpts): this {\n this._fieldType = FieldInputTypeEnum.File;\n this._fileMultiple = opts?.multiple;\n this._fileMaxFileSize = opts?.maxFileSize;\n this._fileAccept = opts?.accept;\n return this.withFileOnSelectHandler(opts?.onFileSelectHandlerFn);\n }\n\n public asImageFile(opts?: FieldInputFileOpts): this {\n this.asFile(opts);\n this._fieldType = FieldInputTypeEnum.ImageFile;\n return this;\n }\n\n public asImageUrl(opts?: FieldInputImageUrlOpts): this {\n this._fieldType = FieldInputTypeEnum.ImageUrl;\n this._fileMultiple = opts?.multiple;\n this._imagePreview = opts?.preview;\n this._imageUrlInputHiddenOnDisabled = opts?.inputVisibleOnDisabled;\n return this;\n }\n\n public asCustomComponent(component: Type<AFormlyCustomFieldComponent>, opts?: FieldInputComponentOpts): this {\n this._fieldType = FieldInputTypeEnum.Custom;\n this._customComponentType = component;\n this._customComponentInputs = opts?.inputs;\n this._customComponentWrappers = opts?.fieldWrappers;\n return this;\n }\n\n public withNumberValidation(opts?: FieldInputNumberValidationOptsType): this {\n this._numberStep = opts?.step;\n this._numberAutoCorrect = opts?.autoCorrect;\n this._numberMin = opts?.min;\n this._numberMax = opts?.max;\n return this;\n }\n\n public withLocale(locale?: string): this {\n this._locale = locale;\n return this;\n }\n\n public withNumberFractions(opts?: FieldInputNumberFractionOptsType) {\n this._numberMinFractionDigits = opts?.minFractionDigits;\n this._numberMaxFractionDigits = opts?.maxFractionDigits;\n return this;\n }\n\n public withNumberGrouping(useGrouping = true): this {\n this._numberUseGrouping = useGrouping;\n return this;\n }\n\n public withTextValidation(opts?: FieldInputTextValidationOptsType): this {\n this._minLength = opts?.minLength;\n this._maxLength = opts?.maxLength;\n this._pattern = opts?.pattern;\n return this;\n }\n\n public withInputTrim(trimOption: InputTrimType = 'both'): this {\n this._inputTrim = trimOption;\n return this;\n }\n\n public withTextValidationEmail(email = true): this {\n if (this.fieldType === FieldInputTypeEnum.Text && email) {\n this.withValidation('email', Validators.email);\n } else if (!email) {\n this.removeValidation('email');\n }\n return this;\n }\n\n public withFileOnSelectHandler(fn?: FieldInputFileOnSelectHandlerFnType): this {\n this._fileOnSelectHandler = fn;\n return this;\n }\n\n public copy(): FieldInputDescriptor<EditorModel, FieldModel, FieldValue> {\n const field = new FieldInputDescriptor<EditorModel, FieldModel, FieldValue>(this._editor, this._property);\n this.copyFieldsTo(field);\n field._fieldType = this._fieldType;\n field._rows = this._rows;\n field._numberMin = this._numberMin;\n field._numberMax = this._numberMax;\n field._numberStep = this._numberStep;\n field._numberAutoCorrect = this._numberAutoCorrect;\n field._numberMinFractionDigits = this._numberMinFractionDigits;\n field._numberMaxFractionDigits = this._numberMaxFractionDigits;\n field._numberUseGrouping = this._numberUseGrouping;\n field._radioOptions = [...this._radioOptions];\n field._datePickerFormat = this._datePickerFormat;\n field._datePickerMin = this._datePickerMin;\n field._datePickerMax = this._datePickerMax;\n field._datePickerShowTime = this._datePickerShowTime;\n field._datePickerShowSeconds = this._datePickerShowSeconds;\n field._maxLength = this._maxLength;\n field._minLength = this._minLength;\n field._pattern = this._pattern;\n field._mask = this._mask;\n field._slotChar = this._slotChar;\n field._fileMultiple = this._fileMultiple;\n field._fileMaxFileSize = this._fileMaxFileSize;\n field._fileAccept = this._fileAccept;\n field._fileOnSelectHandler = this._fileOnSelectHandler;\n field._imagePreview = this._imagePreview;\n field._imageUrlInputHiddenOnDisabled = this._imageUrlInputHiddenOnDisabled;\n field._customComponentType = this._customComponentType;\n field._customComponentInputs = this._customComponentInputs;\n field._customComponentWrappers = this._customComponentWrappers;\n field._locale = this._locale;\n field._currency = this._currency;\n field._currencyDisplay = this._currencyDisplay;\n field._currencyFromProperty = this._currencyFromProperty;\n field._inputTrim = this._inputTrim;\n return field;\n }\n}\n","import {Type} from '@angular/core';\n\nimport {Subject} from 'rxjs';\n\nimport {\n ArrayItemType,\n ClassType,\n CommonsInternalError,\n EnumConstantType,\n EnumType,\n I18nUtils,\n IEditorDescriptorInternal,\n ILookupDataProvider,\n IdType,\n KeyofAndOfType,\n Nullable,\n TypeRegistry\n} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor, ModelDescriptor, TypeDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ITableDataProvider, TableDescriptorInst, getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api';\n\nimport {TableviewDescriptorInst} from '../../tableview/descriptors/tableview.descriptor';\nimport {getEditorClassAttributeDef, getFieldInputTypeFromColumnType} from '../helpers/class-attribute-converter';\nimport {EditorClassAttributeDef} from '../models/class-tableview-attribute.model';\nimport {IFieldsManageInterface} from '../models/editor-fields.model';\nimport {EDITOR_DEFAULT_GROUP_NAME, TableviewEditorTypeEnum} from '../models/editor.model';\nimport {FieldInputTypeEnum, FieldValidationMessage, FieldValidator} from '../models/field.model';\nimport {FieldEventData, FormEvent, FormEventTypeEnum} from '../models/form-editor.event';\nimport {FieldActionDescriptor} from './field-action.descriptor';\nimport {AFieldDescriptor} from './field-base.descriptor';\nimport {FieldGroupDescriptor, FieldTabGroupDescriptor} from './field-group.descriptor';\nimport {FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupProviderType, fieldLookupGetProviderCfgObj} from './field-lookup.descriptor';\nimport {FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, fieldManyToManyGetProviderCfgObj} from './field-many.descriptor';\nimport {FieldInputDescriptor, FieldInputDescriptorType} from './field.descriptor';\n\nexport class EditorDescriptorInst<EditorModel> implements IEditorDescriptorInternal<EditorModel>, IFieldsManageInterface<EditorModel> {\n public static readonly defaultGroupName = EDITOR_DEFAULT_GROUP_NAME;\n\n /** @ignore */ protected readonly _model: ModelDescriptor<EditorModel>;\n /** @ignore */ protected readonly _tableviewEditorType: TableviewEditorTypeEnum;\n /** @ignore */ protected readonly _tabs: Array<FieldTabGroupDescriptor<EditorModel>> = [];\n /** @ignore */ protected readonly _groups: Array<FieldGroupDescriptor<EditorModel>> = [];\n /** @ignore */ protected _fields: Array<AFieldDescriptor<any, EditorModel>> = [];\n /** @ignore */ protected _currentTabGroup?: FieldTabGroupDescriptor<EditorModel>;\n /** @ignore */ protected _currentGroup?: FieldGroupDescriptor<EditorModel>;\n\n /** @ignore */ protected _disabled = false;\n\n /** @ignore */ protected _isLocalized = false;\n /** @ignore */ protected _localizationLocaleProperty?: string;\n /** @ignore */ protected _localizationModel?: ModelDescriptor<any>;\n /** @ignore */ protected _localizationLocalizationProperty?: string;\n\n /** @ignore */ protected readonly _eventsSubject = new Subject<FormEvent<EditorModel>>();\n\n /**\n * Creates new instance of editor descriptor.\n * @param model Model descriptor.\n * @param tableviewEditorType Type of editor in tableview (add, edit, view or none).\n */\n protected constructor(model: ModelDescriptor<EditorModel>, tableviewEditorType = TableviewEditorTypeEnum.None) {\n this._model = model;\n this._tableviewEditorType = tableviewEditorType;\n }\n\n /**\n * Model descriptor for editor.\n */\n public get model() {\n return this._model;\n }\n\n /**\n * Editor's tabs.\n */\n public get tabs() {\n return this._tabs;\n }\n\n /**\n * Editor's fields.\n */\n public get fields() {\n return this._fields;\n }\n\n /**\n * Type of editor for tableview.\n */\n public get tableviewEditorType() {\n return this._tableviewEditorType;\n }\n\n /**\n * If editor is disabled.\n */\n public get disabled() {\n return this._disabled;\n }\n\n public get isLocalized() {\n return this._isLocalized;\n }\n\n public get localizationLocaleProperty() {\n return this._localizationLocaleProperty;\n }\n\n public get localizationLocalizationProperty() {\n return this._localizationLocalizationProperty;\n }\n\n public get localizationModel() {\n return this._localizationModel;\n }\n\n /**\n * Creates new tab group. Next added fields are added to newly created tab group.\n * @param name Name of the group.\n * @param title Title key for the tab.\n */\n public createTabGroup(name: string, title?: string): FieldTabGroupDescriptor<EditorModel> {\n const tabGroup = new FieldTabGroupDescriptor<EditorModel>(this, name);\n if (!title) {\n title = I18nUtils.Type.getTabKey(this.model.i18nBaseKey, name);\n }\n tabGroup.withTitle(title);\n this.createTabGroupDescriptor(tabGroup);\n return tabGroup;\n }\n\n /**\n * Creates new field group. Next added fields are added to newly created field group.\n * @param name Name of the group.\n * @param title Title key for the group.\n */\n public createFieldGroup(name: string, title?: string | null): FieldGroupDescriptor<EditorModel> {\n const fieldGroup = new FieldGroupDescriptor<EditorModel>(this, name);\n if (title !== null) {\n if (!title) {\n title = I18nUtils.Type.getGroupKey(this.model.i18nBaseKey, name);\n }\n fieldGroup.withTitle(title);\n }\n this.createFieldGroupDescriptor(fieldGroup);\n return fieldGroup;\n }\n\n /**\n * Gets field by the model property name.\n * @param property Model property name.\n */\n public getField(property: keyof EditorModel) {\n return this.getFieldUnsafe(property as string);\n }\n\n /**\n * Gets field by the model property name (UNSAFE).\n * @param property Model property name.\n */\n public getFieldUnsafe(property: string): AFieldDescriptor<any, EditorModel> | null {\n return this._fields.find(f => f.property === property) ?? null;\n }\n\n /**\n * Removes field by the model property name.\n * @param property Model property name.\n */\n public removeField(property: keyof EditorModel): void {\n return this.removeFieldUnsafe(property as string);\n }\n\n /**\n * Removes field by the model property name (UNSAFE).\n * @param property Model property name.\n */\n public removeFieldUnsafe(property: string): void {\n const fieldIdx = this._fields.findIndex(f => f.property === property);\n if (fieldIdx < 0) {\n throw new CommonsInternalError(`Field ${property} does not exist.`, {name: 'EditorDescriptorError'});\n }\n for (const group of this._groups) {\n const groupFieldIdx = group.fields.findIndex(f => f instanceof AFieldDescriptor && f.property === property);\n if (groupFieldIdx >= 0) {\n group.fields.splice(groupFieldIdx, 1);\n break;\n }\n }\n this._fields.splice(fieldIdx, 1);\n }\n\n /**\n * Adds field by the descriptor.\n * @param field Field descriptor.\n */\n public addFieldDescriptor<FieldModel, FieldValue = FieldModel>(field: AFieldDescriptor<FieldModel, EditorModel, FieldValue>): this {\n this.createDefaultGroup();\n this._fields.push(field);\n this._currentGroup?.addField(field);\n return this;\n }\n\n /**\n * Adds field by the model property name.\n * @param property Model property name.\n */\n public addField<Property extends keyof EditorModel, FieldModel = NonNullable<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property) {\n const field = new FieldInputDescriptor<EditorModel, FieldModel, FieldValue>(this, property as string);\n this.addFieldDescriptor<FieldModel, FieldValue>(field);\n return field;\n }\n\n /**\n * Adds field by the model property name (UNSAFE). Property is not checked on editor model.\n * Use {addField} for safe usage.\n * @param property Model property name.\n */\n public addFieldUnsafe<FieldModel = FieldInputDescriptorType, FieldValue = FieldModel>(property: string) {\n const field = new FieldInputDescriptor<EditorModel, FieldModel, FieldValue>(this, property);\n this.addFieldDescriptor<FieldModel, FieldValue>(field);\n return field;\n }\n\n public addFields(...properties: (keyof EditorModel)[]): this {\n properties.forEach(p => this.addField(p));\n return this;\n }\n\n public addFieldAction(actionName: string): FieldActionDescriptor<EditorModel> {\n const field = new FieldActionDescriptor(this, actionName);\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Adds lookup field.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookup<K extends keyof EditorModel, LookupModel = NonNullable<EditorModel[K]>, FieldValue = EditorModel[K]>(property: K, type?: TypeDescriptor<LookupModel>) {\n return this.addFieldLookupUnsafe<LookupModel, FieldValue>(property as string, type);\n }\n\n /**\n * [UNSAFE] Adds lookup field.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property Model property name.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model (defines 2nd generic).\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupUnsafe<LookupModel, FieldValue = LookupModel>(property: string, type?: TypeDescriptor<LookupModel>) {\n const field = new FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>(this, property, {\n type: type?.classType\n });\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Adds a field lookup with options value property for lookup model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupWithOptionsValueProperty<\n Property extends keyof EditorModel,\n LookupModel,\n LookupValueProperty extends KeyofAndOfType<LookupModel, EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n >(property: Property, type: TypeDescriptor<LookupModel>, lookupOptionsValueProperty: LookupValueProperty) {\n return this.addFieldLookupWithOptionsValuePropertyUnsafe<LookupModel, FieldValue>(property as string, type, lookupOptionsValueProperty as string);\n }\n\n /**\n * [UNSAFE] Adds a field lookup with options value property for lookup model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupWithOptionsValuePropertyUnsafe<LookupModel, FieldValue = Nullable<IdType>>(\n property: string,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: string\n ) {\n const field = new FieldLookupDescriptor<LookupModel, EditorModel, undefined, FieldValue>(this, property, {\n type: type?.classType,\n optionsValueProperty: lookupOptionsValueProperty\n });\n this.addFieldDescriptor<LookupModel, FieldValue>(field);\n return field;\n }\n\n /**\n * Adds a field lookup with a data provider or service to the editor model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {FieldLookupProviderType<LookupModel, Service>} provider - The field lookup data provider or service.\n * @param {TypeDescriptor<LookupModel>} [type] - The type of lookup - if data provider is passed as previous parameter, type can be omitted. If service is provider, type parameter is proposed in favour of correct typing.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam Service - The lookup service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The field value type, defaults to the editor's property type.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} Created field lookup descriptor.\n */\n public addFieldLookupWithProvider<Property extends keyof EditorModel, Service, LookupModel = NonNullable<EditorModel[Property]>, FieldValue = EditorModel[Property]>(\n property: Property,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type?: TypeDescriptor<LookupModel>\n ) {\n return this.addFieldLookupWithProviderUnsafe<LookupModel, Service, FieldValue>(property as string, provider, type);\n }\n\n /**\n * [UNSAFE] Adds a field lookup with a data provider or service to the editor model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property - The property key of the editor.\n * @param {FieldLookupProviderType<LookupModel, Service>} provider - The lookup provider or service for the field lookup.\n * @param {TypeDescriptor<LookupModel>?} type - Optional type descriptor for the field lookup.\n * @typeparam LookupModel - The field lookup model type.\n * @typeparam Service - The lookup service type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} - The field lookup descriptor added to the instance.\n */\n public addFieldLookupWithProviderUnsafe<LookupModel, Service, FieldValue = LookupModel>(\n property: string,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type?: TypeDescriptor<LookupModel>\n ) {\n const cfg = fieldLookupGetProviderCfgObj(provider);\n const field = new FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>(this, property, {\n type: type?.classType,\n ...cfg\n });\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Adds a field lookup with data provider or service and options value property for lookup model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {FieldLookupProviderType<FieldModel, Service>} provider - The lookup provider.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam Service - The lookup service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} - The field lookup descriptor.\n */\n addFieldLookupWithProviderAndOptionsValueProperty<\n Property extends keyof EditorModel,\n Service,\n LookupModel,\n LookupValueProperty extends KeyofAndOfType<LookupModel, EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n >(\n property: Property,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: LookupValueProperty\n ): FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue> {\n return this.addFieldLookupWithProviderAndOptionsValuePropertyUnsafe(property as string, provider, type, lookupOptionsValueProperty as string);\n }\n\n /**\n * [UNSAFE] Adds a field lookup with data provider or service and options value property for lookup model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property - The property key of the editor.\n * @param {FieldLookupProviderType<FieldModel, Service>} provider - The lookup provider.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {string} lookupOptionsValueProperty - The value property used in the lookup options.\n * @typeparam Service - The service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} - The field lookup descriptor.\n */\n addFieldLookupWithProviderAndOptionsValuePropertyUnsafe<Service, LookupModel, FieldValue = LookupModel>(\n property: string,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: string\n ): FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue> {\n const cfg = fieldLookupGetProviderCfgObj(provider);\n const field = new FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>(this, property, {\n type: type?.classType,\n optionsValueProperty: lookupOptionsValueProperty,\n ...cfg\n });\n this.addFieldDescriptor(field);\n return field;\n }\n\n public addFieldLookupEnum<Property extends keyof EditorModel, Enum extends NonNullable<EditorModel[Property]>>(\n property: keyof EditorModel,\n enumDesc: EnumDescriptor<Enum>,\n options?: Array<Enum>\n ) {\n return this.addFieldLookupEnumUnsafe<Enum>(property as string, enumDesc, options);\n }\n\n /**\n * Adds enum lookup field.\n * @param property Model's property name.\n * @param enumDesc Type of enum or enum descriptor.\n * @param options Provides subset of enum's available constants.\n */\n public addFieldLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n const field = new FieldLookupEnumDescriptor<Enum, EditorModel>(this, property, enumDesc, options);\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Adds table/details/add/edit field for one-to-many (1:n) relations.\n * @param property Model's property name.\n * @param tableviewDescriptor Tableview descriptor for related model.\n */\n public addFieldManyEditor<Property extends keyof EditorModel, FieldModel = ArrayItemType<EditorModel[Property]>, FieldValue = EditorModel[Property]>(\n property: Property,\n tableviewDescriptor: TableviewDescriptorInst<FieldModel>\n ) {\n return this.addFieldManyEditorUnsafe<FieldModel, FieldValue>(property as string, tableviewDescriptor);\n }\n\n /**\n * Adds table/details/add/edit field for one-to-many (1:n) relations (UNSAFE).\n * @param property Model's property name.\n * @param tableviewDescriptor Tableview descriptor for related model.\n */\n public addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>) {\n const field = new FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue>(this, property, tableviewDescriptor);\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Adds tables for many-to-many (m:n) relations.\n * @param property Model's property name.\n * @param mainTableDescriptor Main table descriptor for displaying items added to main model's property.\n * @param lookupTableDescriptor Lookup table descriptor for displaying items to be added to main model's property.\n */\n public addFieldManyToManyEditor<Property extends keyof EditorModel, FieldModel = ArrayItemType<EditorModel[Property]>, FieldValue = EditorModel[Property]>(\n property: Property,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>\n ) {\n return this.addFieldManyToManyEditorUnsafe<FieldModel, FieldValue>(property as string, mainTableDescriptor, lookupTableDescriptor);\n }\n\n /**\n * Adds tables for many-to-many (m:n) relations (UNSAFE).\n * @param property Model's property name.\n * @param mainTableDescriptor Main table descriptor for displaying items added to main model's property.\n * @param lookupTableDescriptor Lookup table descriptor for displaying items to be added to main model's property.\n */\n public addFieldManyToManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(\n property: string,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>\n ) {\n const field = new FieldManyToManyEditorDescriptor<FieldModel, EditorModel, undefined, FieldValue>(this, property, mainTableDescriptor, lookupTableDescriptor);\n this.addFieldDescriptor(field);\n return field;\n }\n\n public addFieldManyToManyEditorWithProvider<\n Property extends keyof EditorModel,\n ServiceType,\n FieldModel = ArrayItemType<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n >(\n property: Property,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>\n ) {\n return this.addFieldManyToManyEditorWithProviderUnsafe<FieldModel, ServiceType, FieldValue>(\n property as string,\n mainTableDescriptor,\n lookupTableDescriptor,\n lookupDataProvider\n );\n }\n\n public addFieldManyToManyEditorWithProviderUnsafe<FieldModel, ServiceType, FieldValue = FieldModel[]>(\n property: string,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>\n ): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, ServiceType, FieldValue> {\n const cfg = fieldManyToManyGetProviderCfgObj(lookupDataProvider);\n const field = new FieldManyToManyEditorDescriptor<FieldModel, EditorModel, ServiceType, FieldValue>(this, property, mainTableDescriptor, lookupTableDescriptor, {\n ...cfg\n });\n this.addFieldDescriptor(field);\n return field;\n }\n\n /**\n * Disables field on editor.\n * @param disabled\n */\n public withDisabled(disabled = true): this {\n this._disabled = disabled;\n return this;\n }\n\n /**\n * Adds group validator to editor.\n * @param name Name of the validation.\n * @param validator Field validator function.\n * @param message Field validation message.\n */\n public addValidation(name: string, validator?: FieldValidator, message?: FieldValidationMessage) {\n if (this._currentGroup) {\n this._currentGroup.withValidation(name, validator, message);\n }\n }\n\n /**\n * Creates a copy of editor descriptor object.\n */\n public copy(): EditorDescriptorInst<EditorModel> {\n const editor = new EditorDescriptorInst<EditorModel>(this.model.copy(), this.tableviewEditorType);\n for (const tabGroup of this._tabs) {\n editor.createTabGroupDescriptor(tabGroup.copy());\n }\n for (const tabGroup of editor._tabs) {\n for (const fieldGroup of tabGroup.fields) {\n editor._fields.push(...fieldGroup.fields);\n }\n editor._groups.push(...tabGroup.fields);\n }\n editor._currentTabGroup = editor._tabs[editor._tabs.length - 1];\n editor._currentGroup = editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1];\n editor._disabled = this._disabled;\n return editor;\n }\n\n /**\n * Created group from field group descriptor.\n * @param fieldGroup Field group descriptor.\n * @internal\n */\n public createFieldGroupDescriptor(fieldGroup: FieldGroupDescriptor<EditorModel>): this {\n this.createDefaultTabGroup();\n this._currentGroup = fieldGroup;\n this._groups.push(fieldGroup);\n this._currentTabGroup?.addField(fieldGroup);\n return this;\n }\n\n /**\n * Creates tab group from tab group descriptor.\n * @param tabGroup Tab group descriptor.\n * @internal\n */\n protected createTabGroupDescriptor(tabGroup: FieldTabGroupDescriptor<EditorModel>): this {\n this._currentTabGroup = tabGroup;\n this._tabs.push(tabGroup);\n return this;\n }\n\n /**\n * Creates default field group.\n * @internal\n */\n private createDefaultGroup() {\n this.createDefaultTabGroup();\n if (this._currentTabGroup?.fields.length === 0) {\n this.createFieldGroup(EditorDescriptorInst.defaultGroupName, null);\n }\n }\n\n /**\n * Creates default tab group.\n * @internal\n */\n private createDefaultTabGroup() {\n if (this._tabs.length === 0) {\n this.createTabGroup(EditorDescriptorInst.defaultGroupName, 'general.general');\n }\n }\n\n /**\n * Modifies selected field by field property. For enums use {withFieldModifiedEnum} instead.\n * @param property Model's property name.\n * @param fieldType new field type for selected field\n * @param args additional parameters for field\n */\n public withFieldModifiedType(property: keyof EditorModel, fieldType: FieldInputTypeEnum, ...args: any[]): this {\n return this.withFieldModifiedTypeUnsafe(property as string, fieldType, ...args);\n }\n\n public withFieldModifiedTypeUnsafe(property: string, fieldType: FieldInputTypeEnum, ...args: any[]): this {\n if (!this.model.type) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model type is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(this.model.type).find(attribute => attribute.name === property);\n if (attribute) {\n attribute.fieldType = fieldType;\n EditorDescriptorInst.upsertFieldFromAttributeDef(\n this,\n attribute,\n this.fields.find(fi => fi.property === property),\n ...args\n );\n }\n\n return this;\n }\n\n /**\n * Modifies selected field with enum type.\n * @param property Model's property name.\n * @param enumModel Enum descriptor.\n * @param values\n */\n public withFieldModifiedEnum<Property extends keyof EditorModel, Enum extends NonNullable<EditorModel[Property]>>(\n property: Property,\n enumModel?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n ): this {\n return this.withFieldModifiedEnumUnsafe(property as string, enumModel, values);\n }\n\n public withFieldModifiedEnumUnsafe<Enum = any>(property: string, enumDesc?: EnumDescriptor<Enum>, values?: Array<Enum>): this {\n if (!this.model.type) {\n throw new CommonsInternalError(`withFieldModifiedEnum cannot be executed for property ${property}: Model type is not defined.`);\n }\n const attribute = getEditorClassAttributeDef(this.model.type).find(a => a.name === property);\n if (attribute) {\n attribute.fieldType = FieldInputTypeEnum.Radio;\n const field = this.fields.find(f => f.property === property);\n if (field && field instanceof FieldInputDescriptor) {\n field.asRadioFromEnum(enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attribute.type) as EnumType), values);\n }\n }\n\n return this;\n }\n\n /**\n * Modifies selected field with lookup field.\n * @param property Model's property name.\n * @param lookupProvider provider to be added to field\n * @param titleProperty\n */\n public withFieldModifiedLookupWithProvider<ServiceType, FieldModel>(\n property: keyof EditorModel,\n lookupProvider: ILookupDataProvider<FieldModel, ServiceType>,\n titleProperty?: keyof FieldModel\n ): this {\n return this.withFieldModifiedLookupWithProviderUnsafe(property as string, lookupProvider, titleProperty as string);\n }\n\n public withFieldModifiedLookupWithProviderUnsafe<Service, FieldModel>(\n property: string,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: string\n ): this {\n this.removeFieldUnsafe(property);\n const field = this.addFieldLookupWithProviderUnsafe<FieldModel, Service>(property, lookupProvider).asAutocomplete();\n\n if (titleProperty) {\n (field as FieldLookupDescriptor<any, any>).withOptionsLabelProperty(titleProperty);\n }\n\n return this;\n }\n\n /**\n * This method takes care of displaying correct/localized data in the editor\n * @param property property that tells us where on the model are localizations accessible\n * @param model Model for localizations\n * @param localeProperty property by which we find the locale\n */\n public localized<Property extends keyof EditorModel, LocalizationModel = ArrayItemType<EditorModel[Property]>>(\n property: Property,\n model: ModelDescriptor<LocalizationModel>,\n localeProperty: keyof LocalizationModel\n ): this {\n return this.localizedUnsafe(property as string, model, localeProperty as string);\n }\n\n public localizedUnsafe<LocalizationType>(property: string, model: ModelDescriptor<LocalizationType>, localeProperty: string): this {\n this._localizationLocalizationProperty = property as string;\n this._localizationModel = model;\n this._localizationLocaleProperty = localeProperty as string;\n this._isLocalized = true;\n\n return this;\n }\n\n public nextEvent(type: FormEventTypeEnum, cmpType: Type<any>, cmpInstance: any, data?: FieldEventData<EditorModel>) {\n this._eventsSubject.next({\n type: type,\n componentType: cmpType,\n componentInstance: cmpInstance,\n data: data\n });\n }\n\n public completeEvents() {\n this._eventsSubject.complete();\n }\n\n public get events$() {\n return this._eventsSubject.asObservable();\n }\n\n /**\n * Generates field based on attribute definition, used for auto model\n * @param descriptor Editor descriptor instance.\n * @param attribute Attribute definition.\n * @param field Optional, if defined will be replaced, otherwise new will be generated.\n * @param args Optional additional arguments mapped to filed type. Arguments depend on possible arguments on fields.\n * @internal\n */\n protected static upsertFieldFromAttributeDef<T>(\n descriptor: EditorDescriptorInst<T>,\n attribute: EditorClassAttributeDef,\n field?: AFieldDescriptor<any, T>,\n ...args: any[]\n ): AFieldDescriptor<any, T> {\n if (field == null) {\n field = descriptor.addFieldUnsafe(attribute.name);\n }\n\n if (field instanceof FieldInputDescriptor) {\n if (attribute.enumType) {\n return field.asRadioFromEnum(enumModelGeneric(attribute.enumType));\n } else {\n const tableColumnType = getColumnTypeFromClassAttributeDefType(attribute.type);\n const tableColumnDisplayType = getColumnDisplayTypeFromColumnType(tableColumnType, attribute.type);\n return field.asType(attribute.fieldType ?? getFieldInputTypeFromColumnType(tableColumnType, tableColumnDisplayType), ...args);\n }\n }\n\n return field;\n }\n}\n\nexport class EditorDescriptor extends EditorDescriptorInst<any> {\n protected constructor() {\n super(ModelDescriptor.create());\n }\n\n public static create<EditorModel>(\n idProperty?: keyof EditorModel,\n titleProperty?: keyof EditorModel,\n i18nBaseKey?: string | ClassType<unknown>,\n tableviewEditorType = TableviewEditorTypeEnum.None\n ): EditorDescriptorInst<EditorModel> {\n return new EditorDescriptorInst<EditorModel>(ModelDescriptor.create<EditorModel>(idProperty, titleProperty, i18nBaseKey), tableviewEditorType);\n }\n\n public static fromClass<EditorModel>(\n type: ClassType<EditorModel>,\n idProperty?: keyof EditorModel,\n titleProperty?: keyof EditorModel,\n i18nBaseKey?: ClassType<unknown> | string,\n tableviewEditorType = TableviewEditorTypeEnum.None\n ): EditorDescriptorInst<EditorModel> {\n return new EditorDescriptorInst<EditorModel>(ModelDescriptor.fromClass(type, idProperty, titleProperty, i18nBaseKey), tableviewEditorType);\n }\n\n public static fromModel<EditorModel>(model: ModelDescriptor<EditorModel>, tableviewEditorType = TableviewEditorTypeEnum.None): EditorDescriptorInst<EditorModel> {\n return new EditorDescriptorInst<EditorModel>(model, tableviewEditorType);\n }\n\n /**\n * Creates editor descriptor automatically based on openapi model's attributes definition which is automatically extracted. All fields will be included.\n * @param type Model's class.\n * @param idProperty Id property representing model (optional).\n * @param titleProperty Title property representing model (optional). If not provided, it will be automatically chosen.\n * @param tableEditorType Type of editor in tableview (add, edit, view or none).\n */\n public static fromClassWithAutoAttrsDef<EditorModel>(\n type: ClassType<EditorModel>,\n idProperty?: keyof EditorModel,\n titleProperty?: keyof EditorModel,\n tableEditorType = TableviewEditorTypeEnum.None\n ): EditorDescriptorInst<EditorModel> {\n return EditorDescriptor.fromClassWithCustomAttrsDef(type, getEditorClassAttributeDef(type), idProperty, titleProperty, tableEditorType);\n }\n\n /**\n * Creates editor descriptor automatically based on openapi model's attributes definition provided in parameters. Only fields for provided attributes will be included.\n * @param type Model's class.\n * @param attributes List of attribute definitions from which fields should be created.\n * @param idProperty Id property representing model (optional).\n * @param titleProperty Title property representing model (optional). If not provided, it will be automatically chosen.\n * @param tableEditorType Type of editor in tableview (add, edit, view or none).\n */\n public static fromClassWithCustomAttrsDef<EditorModel>(\n type: ClassType<EditorModel>,\n attributes: EditorClassAttributeDef[],\n idProperty?: keyof EditorModel,\n titleProperty?: keyof EditorModel,\n tableEditorType = TableviewEditorTypeEnum.None\n ): EditorDescriptorInst<EditorModel> {\n const descriptor = EditorDescriptor.fromClass(type, idProperty, titleProperty, undefined, tableEditorType);\n\n attributes\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr =>\n EditorDescriptorInst.upsertFieldFromAttributeDef(\n descriptor,\n attr,\n descriptor.fields.find(col => col.property === attr.name)\n )\n );\n return descriptor;\n }\n}\n","import {Type} from '@angular/core';\n\nexport interface FormEditorSubmitEvent<Item> {\n formItem: Item;\n success: boolean;\n}\n\nexport enum FormFieldEventTypeEnum {\n ComponentLifecycle = 'ComponentLifecycle',\n ValueChange = 'ValueChange',\n DataProvider = 'DataProvider',\n DialogLifecycle = 'DialogLifecycle',\n Other = 'Other'\n}\n\nexport enum FormEventTypeEnum {\n ComponentLifecycle = 'ComponentLifecycle',\n ValueChange = 'ValueChange',\n Submit = 'Submit',\n Other = 'Other'\n}\n\nexport class FormFieldEventComponentSubtype {\n public static readonly ON_INIT = 'Component.OnInit';\n public static readonly ON_VIEW_INIT = 'Component.OnViewInit';\n public static readonly ON_CONTENT_INIT = 'Component.OnContentInit';\n public static readonly ON_DESTROY = 'Component.OnDestroy';\n}\n\nexport class FormFieldEventDialogSubtype {\n public static readonly VISIBILITY = 'Dialog.Visibility';\n public static readonly TABLE_CAPTION_COMPONENT_INSTANCE = 'Dialog.MngTable.CaptionComponentInstance';\n public static readonly TABLE_COLUMN_ACTIONS_COMPONENT_INSTANCE = 'Dialog.MngTable.ColumnActionsComponentInstance';\n}\n\nexport interface FormFieldEventData<T, ET> {\n eventSubtype?: string;\n value?: T;\n formValue?: ET;\n [key: string]: any;\n}\n\nexport interface FieldEventData<ET> {\n eventSubtype?: string;\n value?: any; // direct value from form.valueChanges, disabled field values and setters are not included\n formValue?: () => ET; // function that returns calculated form value\n submitValid?: boolean; // true if form is valid\n submitValue?: ET; // value on submit\n [key: string]: any;\n}\n\nexport interface FormFieldEvent<T, ET> {\n type: FormFieldEventTypeEnum;\n componentType: Type<any>;\n componentInstance: any;\n data?: FormFieldEventData<T, ET>;\n}\n\nexport interface FormEvent<ET> {\n type: FormEventTypeEnum;\n componentType: Type<any>;\n componentInstance: any;\n data?: FieldEventData<ET>;\n}\n","import {Directive, Input} from '@angular/core';\nimport {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nimport {FieldType, FormlyFormOptions} from '@ngx-formly/core';\n\nimport {CommonsFormlyFieldConfig} from './formly-field.model';\n\n@Directive()\nexport abstract class AFormlyCustomFieldComponent extends FieldType<CommonsFormlyFieldConfig> {\n @Input('field') override field!: CommonsFormlyFieldConfig;\n @Input('model') _model: any;\n @Input('form') _form!: FormGroup | FormArray;\n @Input('options') _options!: FormlyFormOptions;\n @Input('key') _key!: string | number | (string | number)[];\n @Input('formControl') _formControl!: AbstractControl;\n @Input('props') _props!: CommonsFormlyFieldConfig['props'];\n @Input('showError') _showError!: boolean;\n @Input('id') _id!: string;\n @Input('formState') _formState: any;\n\n override get model() {\n return this._model;\n }\n override get form() {\n return this._form;\n }\n override get options() {\n return this._options;\n }\n override get key() {\n return this._key;\n }\n override get formControl() {\n return this._formControl;\n }\n override get props() {\n return this._props;\n }\n override get showError() {\n return this._showError;\n }\n override get id() {\n return this._id;\n }\n override get formState() {\n return this._formState;\n }\n}\n","import {ClassOptType, ClassType, DataListParams, DataProviderInst, ServiceClassOptType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {ITableDataProvider, TableDataProvider, TableDataProviderGetAllEagerFnType, TableDataProviderGetAllFnType, TableDataProviderInst} from '@mediusinc/mng-commons/table/api';\n\nimport {\n EditorDataProvider,\n EditorDataProviderCreateFnType,\n EditorDataProviderDeleteFnType,\n EditorDataProviderFetchFnType,\n EditorDataProviderInst,\n EditorDataProviderUpdateFnType,\n IEditorDataProvider\n} from '../../editor/data-providers/editor.data-provider';\n\nexport type ITableviewDataProvider<\n Model = any,\n Service = any,\n Sorts = keyof Model,\n Filters extends keyof any = keyof Model,\n ModelClass = ClassOptType<Model>,\n ServiceClass = ServiceClassOptType<Service>\n> = IEditorDataProvider<Model, Service, ModelClass, ServiceClass> & ITableDataProvider<Model, Service, Sorts, Filters, ModelClass, ServiceClass>;\n\nexport class TableviewDataProviderInst<\n Model,\n Service = any,\n Sorts = keyof Model,\n Filters extends keyof any = keyof Model,\n ModelClass = ClassOptType<Model>,\n ServiceClass = ServiceClassOptType<Service>\n >\n extends DataProviderInst<Model, Service, ModelClass, ServiceClass>\n implements ITableviewDataProvider<Model, Service, Sorts, Filters, ModelClass, ServiceClass>\n{\n protected readonly editorDataProvider: EditorDataProviderInst<Model, Service, ModelClass, ServiceClass>;\n protected readonly tableDataProvider: TableDataProviderInst<Model, Service, Sorts, Filters, ModelClass, ServiceClass>;\n\n protected constructor(type: ModelClass, serviceType: ServiceClass) {\n super(type, serviceType);\n this.editorDataProvider = EditorDataProvider.fromAnyParam<Model, Service, ModelClass, ServiceClass>(type, serviceType);\n this.tableDataProvider = TableDataProvider.fromAnyParam<Model, Service, Sorts, Filters, ModelClass, ServiceClass>(type, serviceType);\n }\n\n get isLazy() {\n return this.tableDataProvider.isLazy;\n }\n\n get getAllReload$() {\n return this.tableDataProvider.getAllReload$;\n }\n\n get getAll() {\n return this.tableDataProvider.getAll;\n }\n\n get fetch() {\n return this.editorDataProvider.fetch;\n }\n\n get create() {\n return this.editorDataProvider.create;\n }\n\n get update() {\n return this.editorDataProvider.update;\n }\n\n get delete() {\n return this.editorDataProvider.delete;\n }\n\n getAllReload(queryParam?: DataListParams<Sorts, Filters>): void {\n this.tableDataProvider.getAllReload(queryParam);\n }\n\n withGetAll(fn: TableDataProviderGetAllFnType<Model, Service, Sorts, Filters>): this {\n this.tableDataProvider.withGetAll(fn);\n return this;\n }\n\n withGetAllEagerly(fn: TableDataProviderGetAllEagerFnType<Model, Service>): this {\n this.tableDataProvider.withGetAllEagerly(fn);\n return this;\n }\n\n withFetch(fn: EditorDataProviderFetchFnType<Model, Service>): this {\n this.editorDataProvider.withFetch(fn);\n return this;\n }\n\n withCreate(fn?: EditorDataProviderCreateFnType<Model, Service>): this {\n this.editorDataProvider.withCreate(fn);\n return this;\n }\n\n withUpdate(fn?: EditorDataProviderUpdateFnType<Model, Service>): this {\n this.editorDataProvider.withUpdate(fn);\n return this;\n }\n\n withDelete(fn?: EditorDataProviderDeleteFnType<Model, Service>): this {\n this.editorDataProvider.withDelete(fn);\n return this;\n }\n}\n\nexport class TableviewDataProvider extends TableviewDataProviderInst<any> {\n protected constructor() {\n super(undefined, undefined);\n }\n\n public static create<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>() {\n return new TableviewDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>(undefined, undefined);\n }\n\n public static fromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>) {\n return new TableviewDataProviderInst<Model, undefined, Sorts, Filters, ClassType<Model>, undefined>(type, undefined);\n }\n\n public static fromClassWithService<Model, Service, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n ) {\n return new TableviewDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>>(type, serviceType);\n }\n\n public static fromService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n serviceType: ServiceClassType<Service>\n ): TableviewDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>> {\n return new TableviewDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>(undefined, serviceType);\n }\n\n public static fromAnyParam<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(): TableviewDataProviderInst<\n Model,\n undefined,\n Sorts,\n Filters,\n undefined,\n undefined\n >;\n public static fromAnyParam<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n ): TableviewDataProviderInst<Model, undefined, Sorts, Filters, ClassType<Model>, undefined>;\n public static fromAnyParam<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: undefined,\n serviceType: ServiceClassType<Service>\n ): TableviewDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;\n public static fromAnyParam<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n ): TableviewDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>>;\n public static fromAnyParam<\n Model,\n Service,\n Sorts = keyof Model,\n Filters extends keyof any = keyof Model,\n ModelClass = ClassType<Model>,\n ServiceClass = ServiceClassType<Service>\n >(type?: ModelClass, serviceType?: ServiceClass): TableviewDataProviderInst<Model, Service, Sorts, Filters, ModelClass, ServiceClass>;\n public static fromAnyParam<\n Model,\n Service = any,\n Sorts = keyof Model,\n Filters extends keyof any = keyof Model,\n ModelClass = ClassType<Model>,\n ServiceClass = ServiceClassType<Service>\n >(type?: ModelClass, serviceType?: ServiceClass) {\n if (typeof type !== 'undefined') {\n return typeof serviceType !== 'undefined'\n ? TableviewDataProvider.fromClassWithService<Model, Service, Sorts, Filters>(type as ClassType<Model>, serviceType as ServiceClassType<Service>)\n : TableviewDataProvider.fromClass<Model, Sorts, Filters>(type as ClassType<Model>);\n } else if (typeof serviceType !== 'undefined') {\n return TableviewDataProvider.fromService<Service, Model, Sorts, Filters>(serviceType as ServiceClassType<Service>);\n } else {\n return TableviewDataProvider.create<Model, Sorts, Filters>();\n }\n }\n}\n\nexport class DynamicTableviewDataProviderInst<Service = any, ServiceClass = ServiceClassOptType<Service>> extends TableviewDataProviderInst<\n any,\n Service,\n any,\n any,\n undefined,\n ServiceClass\n> {\n protected constructor(serviceType: ServiceClass) {\n super(undefined, serviceType);\n }\n}\n\nexport class DynamicTableviewDataProvider extends DynamicTableviewDataProviderInst {\n protected constructor() {\n super(undefined);\n }\n\n public static create(): DynamicTableviewDataProviderInst<undefined> {\n return new DynamicTableviewDataProviderInst<undefined>(undefined);\n }\n\n public static fromService<Service>(serviceType: ServiceClassType<Service>): DynamicTableviewDataProviderInst<Service, ServiceClassType<Service>> {\n return new DynamicTableviewDataProviderInst<Service, ServiceClassType<Service>>(serviceType);\n }\n}\n","import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnTypeEnum, getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api';\n\nimport {getFieldInputTypeFromClassAttributeDefType} from '../../editor/helpers/class-attribute-converter';\nimport {TableviewClassAttributeDef} from '../models/class-tableview-attribute.model';\n\nexport function expandClassAttributeDefWithTableviewDef(attributes?: Array<ClassAttributeDef> | null): TableviewClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableviewClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableviewClassAttributeDef<T>(type: ClassType<T>): TableviewClassAttributeDef[] {\n return expandClassAttributeDefWithTableviewDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {FieldValidatorFn} from '@ngx-formly/core/lib/models/config';\n\nimport {\n ArrayItemType,\n ClassType,\n CommonsInternalError,\n EnumConstantType,\n ILookupDataProvider,\n ITableviewDescriptorInternal,\n IdType,\n KeyofAndOfType,\n Nullable,\n TypeRegistry\n} from '@mediusinc/mng-commons/core';\nimport {FilterDescriptor} from '@mediusinc/mng-commons/filter';\nimport {EnumDescriptor, ModelDescriptor, ModelUtil, TypeDescriptor} from '@mediusinc/mng-commons/model';\nimport {\n ColumnDescriptor,\n ColumnDisplayTypeEnum,\n ColumnTypeEnum,\n IColumnsManageInterface,\n ITableDataProvider,\n TableDescriptor,\n TableDescriptorInst,\n TableDynamicDescriptor,\n TableDynamicDescriptorInst\n} from '@mediusinc/mng-commons/table/api';\n\nimport {EditorDescriptor, EditorDescriptorInst} from '../../editor/descriptors/editor.descriptor';\nimport {AFieldDescriptor} from '../../editor/descriptors/field-base.descriptor';\nimport {FieldLookupDescriptor, FieldLookupProviderType} from '../../editor/descriptors/field-lookup.descriptor';\nimport {FieldInputDescriptorType} from '../../editor/descriptors/field.descriptor';\nimport {getFieldInputTypeFromColumnType} from '../../editor/helpers/class-attribute-converter';\nimport {IFieldsManageInterface} from '../../editor/models/editor-fields.model';\nimport {TableviewEditorTypeEnum} from '../../editor/models/editor.model';\nimport {FieldInputTypeEnum} from '../../editor/models/field.model';\nimport {getTableviewClassAttributeDef} from '../helpers/class-attribute-converter';\nimport {TableviewClassAttributeDef} from '../models/class-tableview-attribute.model';\n\nexport class TableviewDescriptorInst<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel>\n implements ITableviewDescriptorInternal<TableviewModel, Sorts, Filters>, IColumnsManageInterface<TableviewModel, Sorts, Filters>, IFieldsManageInterface<TableviewModel>\n{\n private readonly _model: ModelDescriptor<TableviewModel>;\n\n protected _table: TableDescriptorInst<TableviewModel, Sorts, Filters>;\n protected _detailsEditor: EditorDescriptorInst<TableviewModel>;\n protected _addEditor: EditorDescriptorInst<TableviewModel>;\n protected _editEditor: EditorDescriptorInst<TableviewModel>;\n\n protected _tableTitle?: string;\n\n protected _isLocalized = false;\n\n protected constructor(model: ModelDescriptor<TableviewModel>) {\n this._model = model;\n this._table = TableDescriptor.fromModel(model);\n this._tableTitle = `${this._model.i18nBaseKey}.name`;\n this._detailsEditor = EditorDescriptor.fromModel(model, TableviewEditorTypeEnum.Details);\n this._detailsEditor.withDisabled();\n this._addEditor = EditorDescriptor.fromModel(model, TableviewEditorTypeEnum.Add);\n this._editEditor = EditorDescriptor.fromModel(model, TableviewEditorTypeEnum.Edit);\n }\n\n public get table() {\n return this._table;\n }\n\n public get detailsEditor() {\n return this._detailsEditor;\n }\n\n public get addEditor() {\n return this._addEditor;\n }\n\n public get editEditor() {\n return this._editEditor;\n }\n\n public get tableTitle() {\n return this._tableTitle;\n }\n\n public get model() {\n return this._model;\n }\n\n public isLocalized() {\n return this._isLocalized;\n }\n\n public withTableDescriptor(descriptor: TableDescriptorInst<TableviewModel, Sorts, Filters>): this {\n this._table = descriptor;\n return this;\n }\n\n public withEditorDescriptors(descriptor: EditorDescriptorInst<TableviewModel>): this {\n this._detailsEditor = descriptor;\n this._editEditor = descriptor;\n this._addEditor = descriptor;\n return this;\n }\n\n public withDetailsDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this {\n this._detailsEditor = descriptor;\n return this;\n }\n\n public withAddDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this {\n this._addEditor = descriptor;\n return this;\n }\n\n public withEditDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this {\n this._editEditor = descriptor;\n return this;\n }\n\n /**\n * creates new copy of editor descriptor and makes it disabled\n * usable in combination with this::withEditorDescriptors, where detailsDescriptor is made non-disabled\n * @param type which editor type to set to disabled\n */\n public withDisabledEditorDescriptor(type = TableviewEditorTypeEnum.Details): this {\n if (type === TableviewEditorTypeEnum.Edit) {\n this._editEditor = this._editEditor.copy().withDisabled();\n } else if (type === TableviewEditorTypeEnum.Details) {\n this._detailsEditor = this._detailsEditor.copy().withDisabled();\n } else if (type === TableviewEditorTypeEnum.Add) {\n this._addEditor = this._addEditor.copy().withDisabled();\n }\n return this;\n }\n\n public withTableTitle(title: string): this {\n this._tableTitle = title;\n return this;\n }\n\n public withValidator(name: string, expression: FieldValidatorFn): this {\n this._detailsEditor.addValidation(name, expression);\n this._addEditor.addValidation(name, expression);\n this._editEditor.addValidation(name, expression);\n return this;\n }\n\n public getColumn(property: keyof TableviewModel) {\n return this._table.getColumn(property);\n }\n\n public getColumnUnsafe(property: string) {\n return this._table.getColumnUnsafe(property);\n }\n\n public removeColumn(property: keyof TableviewModel): void {\n this._table.removeColumn(property);\n }\n\n public removeColumnUnsafe(property: string): void {\n this._table.removeColumnUnsafe(property);\n }\n\n public withColumn<ColumnModel, ColumnValue = ColumnModel>(column: ColumnDescriptor<ColumnModel, TableviewModel, ColumnValue>): this {\n this._table.withColumn<ColumnModel, ColumnValue>(column);\n return this;\n }\n\n public addColumn<Property extends keyof TableviewModel>(property: Property): ColumnDescriptor<NonNullable<TableviewModel[Property]>, TableviewModel, TableviewModel[Property]> {\n return this._table.addColumn(property);\n }\n\n public addColumnEnum<PropertyKey extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[PropertyKey]>>(property: PropertyKey, enumDesc: EnumDescriptor<Enum>) {\n return this._table.addColumnEnum(property, enumDesc);\n }\n\n public addColumnUnsafe<ColumnModel = any>(property: string): ColumnDescriptor<ColumnModel, TableviewModel> {\n return this._table.addColumnUnsafe(property);\n }\n\n public withColumns(...properties: (keyof TableviewModel)[]): this {\n this._table.withColumns(...properties);\n return this;\n }\n\n public getSort(property: Sorts) {\n return this._table.getSort(property);\n }\n\n public getSortUnsafe(property: string) {\n return this._table.getSortUnsafe(property);\n }\n\n public removeSort(property: Sorts) {\n this._table.removeSort(property);\n }\n\n public removeSortUnsafe(property: string) {\n this._table.removeSortUnsafe(property);\n }\n\n public addSort(property: Sorts, isDefault = false, ascending?: boolean) {\n return this._table.addSort(property, isDefault, ascending);\n }\n\n public addSortUnsafe(property: string, isDefault = false, ascending?: boolean) {\n return this._table.addSortUnsafe(property, isDefault, ascending);\n }\n\n public withSort(property: Sorts, isDefault = false, ascending?: boolean): this {\n this._table.withSort(property, isDefault, ascending);\n return this;\n }\n\n public withSortUnsafe(property: string, isDefault = false, ascending?: boolean): this {\n this._table.withSortUnsafe(property, isDefault, ascending);\n return this;\n }\n\n public withDefaultSort(property: Sorts, ascending?: boolean, order?: number, enabled?: boolean): this {\n this._table.withDefaultSort(property, ascending, order, enabled);\n return this;\n }\n\n public withDefaultSortUnsafe(property: string, ascending?: boolean, order?: number, enabled?: boolean): this {\n this._table.withDefaultSortUnsafe(property, ascending, order, enabled);\n return this;\n }\n\n public withSorts(...properties: Sorts[]): this {\n this._table.withSorts(...properties);\n return this;\n }\n\n public withSortsUnsafe(...properties: string[]): this {\n this._table.withSortsUnsafe(...properties);\n return this;\n }\n\n public getFilter(property: Filters) {\n return this._table.getFilter(property);\n }\n\n public getFilterUnsafe(property: string) {\n return this._table.getFilterUnsafe(property);\n }\n\n public removeFilter(property: Filters) {\n this._table.removeFilter(property);\n }\n\n public removeFilterUnsafe(property: string) {\n this._table.removeFilterUnsafe(property);\n }\n\n public addFilter<FilterModel = Filters extends keyof TableviewModel ? TableviewModel[Filters] : never>(property: Filters) {\n return this._table.addFilter<FilterModel>(property);\n }\n\n public addFilterUnsafe<FilterModel>(property: string) {\n return this._table.addFilterUnsafe<FilterModel>(property);\n }\n\n public addFilterLookup<FilterModel = Filters extends keyof TableviewModel ? NonNullable<TableviewModel[Filters]> : never, Service = undefined>(\n property: Filters,\n provider?: ILookupDataProvider<FilterModel, Service>,\n optionsValueProperty?: keyof FilterModel\n ) {\n return this._table.addFilterLookup<FilterModel, Service>(property, provider, optionsValueProperty);\n }\n\n public addFilterLookupUnsafe<FilterModel, Service = undefined>(property: string, provider?: ILookupDataProvider<FilterModel, Service>, optionsValueProperty?: string) {\n return this._table.addFilterLookupUnsafe<FilterModel, Service>(property, provider, optionsValueProperty);\n }\n\n public addFilterLookupEnum<Enum>(property: Filters, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n return this._table.addFilterLookupEnum<Enum>(property, enumDesc, options);\n }\n\n public addFilterLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n return this._table.addFilterLookupEnumUnsafe<Enum>(property, enumDesc, options);\n }\n\n public addFilterFromColumn(property: Extract<Filters, keyof TableviewModel>, forceSimple = false) {\n return this._table.addFilterFromColumn(property, forceSimple);\n }\n\n public withFiltersFromColumns(...properties: Extract<Filters, keyof TableviewModel>[]): this {\n this._table.withFiltersFromColumns(...properties);\n return this;\n }\n\n public withFiltersFromColumnsUnsafe(...properties: string[]): this {\n this._table.withFiltersFromColumnsUnsafe(...properties);\n return this;\n }\n\n public addFilterFromColumnUnsafe(property: string, forceSimple = false) {\n return this._table.addFilterFromColumnUnsafe(property, forceSimple);\n }\n\n public withFilter<FilterModel>(property: Filters, filter: FilterDescriptor<FilterModel, TableviewModel>): this {\n this._table.withFilter<FilterModel>(property, filter);\n return this;\n }\n\n public withFilterUnsafe<FilterModel>(filter: FilterDescriptor<FilterModel, TableviewModel>): this {\n this._table.withFilterUnsafe<FilterModel>(filter);\n return this;\n }\n\n public getField(property: keyof TableviewModel, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null {\n return this.getFieldUnsafe(property as string, editorType);\n }\n\n public getFieldUnsafe(property: string, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null {\n switch (editorType) {\n case TableviewEditorTypeEnum.Edit:\n return this._editEditor.getFieldUnsafe(property);\n case TableviewEditorTypeEnum.Add:\n return this._addEditor.getFieldUnsafe(property);\n case TableviewEditorTypeEnum.Details:\n return this._detailsEditor.getFieldUnsafe(property);\n case TableviewEditorTypeEnum.None:\n return null;\n }\n }\n\n public removeField(property: keyof TableviewModel): void {\n this.removeFieldUnsafe(property as string);\n }\n\n public removeFieldUnsafe(property: string): void {\n this._editEditor.removeFieldUnsafe(property);\n this._addEditor.removeFieldUnsafe(property);\n this._detailsEditor.removeFieldUnsafe(property);\n }\n\n public addFieldDescriptor<FieldModel>(field: AFieldDescriptor<FieldModel, TableviewModel>): this {\n this._detailsEditor.addFieldDescriptor(field);\n this._addEditor.addFieldDescriptor(field);\n this._editEditor.addFieldDescriptor(field);\n return this;\n }\n\n public addField<Property extends keyof TableviewModel, FieldModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property) {\n const field = this._detailsEditor.addField<Property, FieldModel, FieldValue>(property);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldUnsafe<FieldModel = FieldInputDescriptorType, FieldValue = FieldModel>(property: string) {\n const field = this._detailsEditor.addFieldUnsafe<FieldModel, FieldValue>(property);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFields(...properties: (keyof TableviewModel)[]): this {\n properties.forEach(p => this.addField(p));\n return this;\n }\n\n private addFieldToEditAndAdd<FieldModel, FieldValue = FieldModel>(field: AFieldDescriptor<FieldModel, TableviewModel, FieldValue>) {\n this._addEditor.addFieldDescriptor(field);\n this._editEditor.addFieldDescriptor(field);\n }\n\n /**\n * Adds lookup field.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookup<Property extends keyof TableviewModel, LookupModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(\n property: Property,\n type?: TypeDescriptor<LookupModel>\n ) {\n const field = this._detailsEditor.addFieldLookup<Property, LookupModel, FieldValue>(property, type);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * [UNSAFE] Adds lookup field.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property Model property name.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model (defines 2nd generic).\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupUnsafe<LookupModel, FieldValue = LookupModel>(property: string, type?: TypeDescriptor<LookupModel>) {\n const field = this._detailsEditor.addFieldLookupUnsafe<LookupModel, FieldValue>(property, type);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * Adds a field lookup with options value property for lookup model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupWithOptionsValueProperty<\n Property extends keyof TableviewModel,\n LookupModel,\n LookupValueProperty extends KeyofAndOfType<LookupModel, TableviewModel[Property]>,\n FieldValue = TableviewModel[Property]\n >(property: Property, type: TypeDescriptor<LookupModel>, lookupOptionsValueProperty: LookupValueProperty) {\n const field = this._detailsEditor.addFieldLookupWithOptionsValueProperty<Property, LookupModel, LookupValueProperty, FieldValue>(\n property,\n type,\n lookupOptionsValueProperty\n );\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * [UNSAFE] Adds a field lookup with options value property for lookup model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {Property} property - The property key of the editor.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, undefined, FieldValue>} - The field lookup descriptor.\n */\n public addFieldLookupWithOptionsValuePropertyUnsafe<LookupModel, FieldValue = Nullable<IdType>>(\n property: string,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: string\n ) {\n const field = this._detailsEditor.addFieldLookupWithOptionsValuePropertyUnsafe<LookupModel, FieldValue>(property, type, lookupOptionsValueProperty);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * Adds a field lookup with a data provider or service to the editor model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {FieldLookupProviderType<LookupModel, Service>} provider - The field lookup data provider or service.\n * @param {TypeDescriptor<LookupModel>} [type] - The type of lookup - if data provider is passed as previous parameter, type can be omitted. If service is provider, type parameter is proposed in favour of correct typing.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam Service - The lookup service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The field value type, defaults to the editor's property type.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} Created field lookup descriptor.\n */\n public addFieldLookupWithProvider<Property extends keyof TableviewModel, Service, LookupModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(\n property: Property,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type?: TypeDescriptor<LookupModel>\n ) {\n const field = this._detailsEditor.addFieldLookupWithProvider<Property, Service, LookupModel, FieldValue>(property, provider, type);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * [UNSAFE] Adds a field lookup with a data provider or service to the editor model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property - The property key of the editor.\n * @param {FieldLookupProviderType<LookupModel, Service>} provider - The lookup provider or service for the field lookup.\n * @param {TypeDescriptor<LookupModel>?} type - Optional type descriptor for the field lookup.\n * @typeparam LookupModel - The field lookup model type.\n * @typeparam Service - The lookup service type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, Service, FieldValue>} - The field lookup descriptor added to the instance.\n */\n public addFieldLookupWithProviderUnsafe<LookupModel, Service, FieldValue = LookupModel>(\n property: string,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type?: TypeDescriptor<LookupModel>\n ) {\n const field = this._detailsEditor.addFieldLookupWithProviderUnsafe<LookupModel, Service, FieldValue>(property, provider, type);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * Adds a field lookup with data provider or service and options value property for lookup model.\n *\n * @param {Property} property - The property key of the editor.\n * @param {FieldLookupProviderType<FieldModel, Service>} provider - The lookup provider.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {LookupValueProperty} lookupOptionsValueProperty - The value property used as value in the lookup options.\n * @typeparam Property - The property key of the EditorModel.\n * @typeparam Service - The lookup service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam LookupValueProperty - The property of lookup model type.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, TableviewModel, Service, FieldValue>} - The field lookup descriptor.\n */\n addFieldLookupWithProviderAndOptionsValueProperty<\n Property extends keyof TableviewModel,\n Service,\n LookupModel,\n LookupValueProperty extends KeyofAndOfType<LookupModel, TableviewModel[Property]>,\n FieldValue = TableviewModel[Property]\n >(\n property: Property,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: LookupValueProperty\n ): FieldLookupDescriptor<LookupModel, TableviewModel, Service, FieldValue> {\n const field = this._detailsEditor.addFieldLookupWithProviderAndOptionsValueProperty<Property, Service, LookupModel, LookupValueProperty, FieldValue>(\n property,\n provider,\n type,\n lookupOptionsValueProperty\n );\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n /**\n * [UNSAFE] Adds a field lookup with data provider or service and options value property for lookup model.\n * This method is UNSAFE because property is not type-checked.\n *\n * @param {string} property - The property key of the editor.\n * @param {FieldLookupProviderType<FieldModel, Service>} provider - The lookup provider.\n * @param {TypeDescriptor<FieldModel>} type - The type descriptor for the lookup model.\n * @param {string} lookupOptionsValueProperty - The value property used in the lookup options.\n * @typeparam Service - The service type.\n * @typeparam LookupModel - The field model type, defaults to the non-nullable type of the editor's property.\n * @typeparam FieldValue - The value type of field on editor.\n *\n * @returns {FieldLookupDescriptor<LookupModel, EditorModel, Service, FieldValue>} - The field lookup descriptor.\n */\n addFieldLookupWithProviderAndOptionsValuePropertyUnsafe<Service, LookupModel, FieldValue = LookupModel>(\n property: string,\n provider: FieldLookupProviderType<LookupModel, Service>,\n type: TypeDescriptor<LookupModel>,\n lookupOptionsValueProperty: string\n ): FieldLookupDescriptor<LookupModel, TableviewModel, Service, FieldValue> {\n const field = this._detailsEditor.addFieldLookupWithProviderAndOptionsValuePropertyUnsafe<Service, LookupModel, FieldValue>(\n property,\n provider,\n type,\n lookupOptionsValueProperty\n );\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldLookupEnum<Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(\n property: Property,\n enumDesc: EnumDescriptor<Enum>,\n options?: Array<Enum>\n ) {\n const field = this._detailsEditor.addFieldLookupEnum(property, enumDesc, options);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n const field = this._detailsEditor.addFieldLookupEnumUnsafe<Enum>(property, enumDesc, options);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyEditor<Property extends keyof TableviewModel, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(\n property: Property,\n tableviewDescriptor: TableviewDescriptorInst<FieldModel>\n ) {\n const field = this._detailsEditor.addFieldManyEditor<Property, FieldModel, FieldValue>(property, tableviewDescriptor);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>) {\n const field = this._detailsEditor.addFieldManyEditorUnsafe<FieldModel, FieldValue>(property, tableviewDescriptor);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyToManyEditor<Property extends keyof TableviewModel, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(\n property: Property,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>\n ) {\n const field = this._detailsEditor.addFieldManyToManyEditor<Property, FieldModel, FieldValue>(property, mainTableDescriptor, lookupTableDescriptor);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyToManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(\n property: string,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>\n ) {\n const field = this._detailsEditor.addFieldManyToManyEditorUnsafe<FieldModel, FieldValue>(property, mainTableDescriptor, lookupTableDescriptor);\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyToManyEditorWithProvider<\n Property extends keyof TableviewModel,\n Service,\n FieldModel = ArrayItemType<TableviewModel[Property]>,\n FieldValue = TableviewModel[Property]\n >(\n property: Property,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupDataProvider: ITableDataProvider<FieldModel, Service>\n ) {\n const field = this._detailsEditor.addFieldManyToManyEditorWithProvider<Property, Service, FieldModel, FieldValue>(\n property,\n mainTableDescriptor,\n lookupTableDescriptor,\n lookupDataProvider\n );\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public addFieldManyToManyEditorWithProviderUnsafe<FieldModel, Service, FieldValue = FieldModel[]>(\n property: string,\n mainTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupTableDescriptor: TableDescriptorInst<FieldModel>,\n lookupDataProvider: ITableDataProvider<FieldModel, Service>\n ) {\n const field = this._detailsEditor.addFieldManyToManyEditorWithProviderUnsafe<FieldModel, Service, FieldValue>(\n property,\n mainTableDescriptor,\n lookupTableDescriptor,\n lookupDataProvider\n );\n this.addFieldToEditAndAdd(field);\n return field;\n }\n\n public createTabGroup(name: string, title?: string): this {\n this._detailsEditor.createTabGroup(name, title);\n this._addEditor.createTabGroup(name, title);\n this._editEditor.createTabGroup(name, title);\n return this;\n }\n\n public createFieldGroup(name: string, title?: string): this {\n this._detailsEditor.createFieldGroup(name, title);\n this._addEditor.createFieldGroup(name, title);\n this._editEditor.createFieldGroup(name, title);\n return this;\n }\n\n public copy(): TableviewDescriptorInst<TableviewModel, Sorts, Filters> {\n const tableview = new TableviewDescriptorInst<TableviewModel, Sorts, Filters>(this._model.copy());\n tableview._table = this._table.copy();\n tableview._detailsEditor = this._detailsEditor.copy();\n tableview._addEditor = this._addEditor.copy();\n tableview._editEditor = this._editEditor.copy();\n tableview._tableTitle = this._tableTitle;\n tableview._isLocalized = this._isLocalized;\n return tableview;\n }\n\n /**\n * creates column and field with custom type, for example currency\n * if field exists, it is replaced\n * DO NOT USE WITH TYPES WHERE ARGS ARE REQUIRED - ERROR WILL BE THROWN\n * for enum use withEnumType\n * for custom class use withClassType\n * @param property name of field\n * @param columnType required column type\n * @param fieldType optional, if not provided it is converted from column type\n * @param columnDisplayType optional\n */\n public withModifiedType(property: keyof TableviewModel, columnType: ColumnTypeEnum, fieldType?: FieldInputTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum): this {\n return this.withModifiedTypeUnsafe(property as string, columnType, fieldType, columnDisplayType);\n }\n\n public withModifiedTypeUnsafe(property: string, columnType: ColumnTypeEnum, fieldType?: FieldInputTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum): this {\n if (!this.model.type) {\n throw new CommonsInternalError(`withModifiedType cannot be executed for property ${property}: Model type is not defined.`);\n }\n if (columnType === ColumnTypeEnum.Enum) {\n throw new CommonsInternalError('Do not use with types where args are required', {name: 'TableviewDescriptorError'});\n }\n\n const attributeDef = getTableviewClassAttributeDef(this.model.type).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n fieldType ??= getFieldInputTypeFromColumnType(columnType, columnDisplayType);\n attributeDef.fieldType = fieldType;\n\n this._table.withColumnModifiedTypeUnsafe(property, columnType, columnDisplayType);\n this._editEditor.withFieldModifiedTypeUnsafe(property, fieldType);\n this._addEditor.withFieldModifiedTypeUnsafe(property, fieldType);\n this._detailsEditor.withFieldModifiedTypeUnsafe(property, fieldType);\n }\n\n return this;\n }\n\n /**\n * creates column with enum type\n * if fields exists, it is replaced\n * @param property property name\n * @param enumDesc type of enum\n * @param fieldType type of field, optional, default is Text\n */\n public withModifiedEnum<Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(\n property: Property,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n ): this {\n return this.withModifiedEnumUnsafe<Enum>(property as string, enumDesc, fieldType);\n }\n\n public withModifiedEnumUnsafe<Enum = any>(property: string, enumDesc?: EnumDescriptor<Enum>, fieldType?: FieldInputTypeEnum): this {\n if (!this.model.type) {\n throw new CommonsInternalError(`withModifiedEnum cannot be executed for property ${property}: Model type is not defined.`);\n }\n const attributeDef = getTableviewClassAttributeDef(this.model.type).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.fieldType = fieldType ?? FieldInputTypeEnum.Text;\n\n this._table.withColumnModifiedEnumUnsafe<Enum>(property, enumDesc);\n this._editEditor.withFieldModifiedEnumUnsafe<Enum>(property, enumDesc);\n this._detailsEditor.withFieldModifiedEnumUnsafe<Enum>(property, enumDesc);\n this._addEditor.withFieldModifiedEnumUnsafe<Enum>(property, enumDesc);\n }\n\n return this;\n }\n\n /**\n * generates column with custom class type\n * field is generated only if lookupProvider is provided\n * @param property property name\n * @param type class type of object\n * @param titleProperty\n * @param lookupProvider\n * @param optionsLabelProperty\n * @param filterProperty\n */\n public withModifiedLookup<LookupModel>(\n property: keyof TableviewModel,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: string,\n optionsLabelProperty?: string,\n filterProperty?: string\n ): this {\n return this.withModifiedLookupUnsafe(property as string, type, lookupProvider, titleProperty, optionsLabelProperty, filterProperty);\n }\n\n public withModifiedLookupUnsafe<LookupModel>(\n property: string,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: string,\n optionsLabelProperty?: string,\n filterProperty?: string\n ): this {\n if (!this.model.type) {\n throw new CommonsInternalError(`withModifiedLookup cannot be executed for property ${property}: Model type is not defined.`);\n }\n\n const attributeDef = getTableviewClassAttributeDef(this.model.type).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n type ??= attributeDef.classType ?? TypeRegistry.get().findType(attributeDef.type);\n titleProperty ??= type ? ModelUtil.findTitleAttribute(type) ?? undefined : undefined;\n optionsLabelProperty ??= titleProperty;\n attributeDef.columnType = ColumnTypeEnum.String;\n attributeDef.fieldType = FieldInputTypeEnum.Text;\n\n if (lookupProvider != null) {\n this._table.withColumnModifiedLookupUnsafe(property, lookupProvider, optionsLabelProperty, filterProperty);\n this._addEditor.withFieldModifiedLookupWithProviderUnsafe(property, lookupProvider, optionsLabelProperty);\n this._detailsEditor.withFieldModifiedLookupWithProviderUnsafe(property, lookupProvider, optionsLabelProperty);\n this._editEditor.withFieldModifiedLookupWithProviderUnsafe(property, lookupProvider, optionsLabelProperty);\n } else {\n const column = this._table.getColumnUnsafe(property) ?? this.addColumnUnsafe(property);\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n }\n }\n\n return this;\n }\n\n public localized<Property extends keyof TableviewModel, LocalizationModel = ArrayItemType<TableviewModel[Property]>>(\n property: Property,\n model: ModelDescriptor<LocalizationModel>,\n localeProperty: keyof LocalizationModel\n ): this {\n return this.localizedUnsafe(property as string, model, localeProperty as string);\n }\n\n public localizedUnsafe<LocalizationModel>(property: string, model: ModelDescriptor<LocalizationModel>, localeProperty: string): this {\n this._isLocalized = true;\n this._table.withLocalizationLocaleProperty(localeProperty as string);\n this.detailsEditor.localizedUnsafe(property, model, localeProperty);\n this.addEditor.localizedUnsafe(property, model, localeProperty);\n this.editEditor.localizedUnsafe(property, model, localeProperty);\n\n return this;\n }\n}\n\nexport class TableviewDescriptor extends TableviewDescriptorInst<any> {\n protected constructor() {\n super(ModelDescriptor.create());\n }\n\n public static create<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(\n idProperty?: keyof TableviewModel,\n titleProperty?: keyof TableviewModel,\n i18nBaseKey?: string | ClassType<unknown>\n ): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty> {\n return new TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>(ModelDescriptor.create<TableviewModel>(idProperty, titleProperty, i18nBaseKey));\n }\n\n public static fromClass<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(\n type: ClassType<TableviewModel>,\n idProperty?: keyof TableviewModel,\n titleProperty?: keyof TableviewModel,\n i18nBaseKey?: ClassType<unknown> | string\n ): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty> {\n return new TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>(ModelDescriptor.fromClass(type, idProperty, titleProperty, i18nBaseKey));\n }\n\n public static fromModel<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(\n model: ModelDescriptor<TableviewModel>\n ): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty> {\n return new TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>(model);\n }\n\n /**\n * generates descriptor from attribute definition of openapi model\n * @param type class type\n * @param idProperty\n * @param titleProperty\n */\n public static fromClassWithAutoAttrsDef<TableviewModel>(\n type: ClassType<TableviewModel>,\n idProperty?: keyof TableviewModel,\n titleProperty?: keyof TableviewModel\n ): TableviewDescriptorInst<TableviewModel> {\n const model = ModelDescriptor.fromClass(type, idProperty, titleProperty);\n const descriptor = TableviewDescriptor.fromModel(model);\n descriptor.withTableDescriptor(TableDescriptor.fromClassWithAutoAttrsDef(type, idProperty, titleProperty));\n descriptor.withEditDescriptor(EditorDescriptor.fromClassWithAutoAttrsDef(type, idProperty, titleProperty, TableviewEditorTypeEnum.Edit));\n descriptor.withDetailsDescriptor(EditorDescriptor.fromClassWithAutoAttrsDef(type, idProperty, titleProperty, TableviewEditorTypeEnum.Details).withDisabled());\n descriptor.withAddDescriptor(EditorDescriptor.fromClassWithAutoAttrsDef(type, idProperty, titleProperty, TableviewEditorTypeEnum.Add));\n\n return descriptor;\n }\n\n /**\n * generates descriptor from given attribute definition\n * @param type class type\n * @param columnAttributes attribute definition to generate columns\n * @param fieldAttributes attribute definition to generate fields, if undefined columnDefinition is used, if null editors are not generated\n * @param idProperty\n * @param titleProperty\n */\n public static fromClassWithCustomAttrsDef<TableviewModel>(\n type: ClassType<TableviewModel>,\n columnAttributes: TableviewClassAttributeDef[],\n fieldAttributes?: TableviewClassAttributeDef[] | null,\n idProperty?: keyof TableviewModel,\n titleProperty?: keyof TableviewModel\n ): TableviewDescriptorInst<TableviewModel> {\n const descriptor = TableviewDescriptor.fromModel(ModelDescriptor.fromClass(type, idProperty, titleProperty));\n descriptor.withTableDescriptor(TableDescriptor.fromClassWithCustomAttrsDef(type, columnAttributes, idProperty, titleProperty));\n\n if (fieldAttributes !== null) {\n descriptor.withEditDescriptor(\n EditorDescriptor.fromClassWithCustomAttrsDef(type, fieldAttributes ?? columnAttributes, idProperty, titleProperty, TableviewEditorTypeEnum.Edit)\n );\n descriptor.withDetailsDescriptor(\n EditorDescriptor.fromClassWithCustomAttrsDef(type, fieldAttributes ?? columnAttributes, idProperty, titleProperty, TableviewEditorTypeEnum.Details)\n );\n descriptor.withAddDescriptor(\n EditorDescriptor.fromClassWithCustomAttrsDef(type, fieldAttributes ?? columnAttributes, idProperty, titleProperty, TableviewEditorTypeEnum.Add)\n );\n }\n\n return descriptor;\n }\n}\n\nexport class TableviewDynamicDescriptorInt extends TableviewDescriptorInst<any> {\n protected override _table: TableDynamicDescriptorInst;\n\n protected constructor(model: ModelDescriptor<any>) {\n super(model);\n this._table = TableDynamicDescriptor.fromModel(this.model);\n super._tableTitle = undefined;\n }\n\n public override get table() {\n return this._table;\n }\n\n /**\n * sets custom table descriptor\n * @param descriptor\n */\n public override withTableDescriptor(descriptor: TableDynamicDescriptorInst): this {\n this._table = descriptor;\n return this;\n }\n\n /**\n * sets visibility hidden state to column with given property\n * equals to be removing in auto and base tableview descriptor\n * * @param property column's property\n */\n public override removeColumn(property: string): this {\n this._table.removeColumn(property);\n return this;\n }\n\n public withEntityForTranslations(i18nBaseKey: string): this {\n this._table.model.withI18nBase(i18nBaseKey);\n this._detailsEditor.model.withI18nBase(i18nBaseKey);\n return this;\n }\n\n /**\n * creates deep copy of tableview object and its children\n */\n public override copy(): TableviewDynamicDescriptorInt {\n const descriptor = new TableviewDynamicDescriptorInt(this.model.copy());\n descriptor._table = this._table.copy();\n descriptor._tableTitle = this._tableTitle;\n return descriptor;\n }\n}\n\nexport class TableviewDynamicDescriptor extends TableviewDynamicDescriptorInt {\n protected constructor() {\n super(ModelDescriptor.create());\n }\n\n public static create(idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<any>): TableviewDynamicDescriptorInt {\n return new TableviewDynamicDescriptorInt(ModelDescriptor.create<any>(idProperty, titleProperty, i18nBaseKey));\n }\n\n public static fromModel(model: ModelDescriptor<any>): TableviewDynamicDescriptorInt {\n return new TableviewDynamicDescriptorInt(model);\n }\n}\n","import {TranslateService} from '@ngx-translate/core';\n\nimport {GetterPipe} from '@mediusinc/mng-commons/core';\n\nimport {TableviewDescriptorInst} from '../descriptors/tableview.descriptor';\n\nexport function convertDataToStringWithDelimiter(data: any[], delimiter: string, descriptor: TableviewDescriptorInst<any, any, any>, translate: TranslateService): string {\n const replaceNullValue = (key: any, value: any) => (value === null ? '' : value);\n const getterPipe = new GetterPipe();\n return [\n descriptor.table.columns.map(col => translate.instant(descriptor.model.typeName + '.properties.' + col.property)).join(delimiter),\n ...data.map((row: any) =>\n descriptor.table.columns\n .map(column => {\n if (typeof column.getter === 'function') {\n return JSON.stringify(getterPipe.transform(row[column.property], column.getter, row), replaceNullValue);\n } else {\n return JSON.stringify(row[column.property], replaceNullValue);\n }\n })\n .join(delimiter)\n )\n ].join('\\r\\n');\n}\n\nexport function saveFileAs(blob: Blob, filename: string) {\n const blobUrl = URL.createObjectURL(blob);\n const link = document.createElement('a');\n\n link.style.display = 'none';\n link.target = '_blank';\n link.href = blobUrl;\n link.download = filename;\n\n document.body.appendChild(link);\n\n link.dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n\n document.body.removeChild(link);\n}\n","import {Injector, inject} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\nimport {TranslateService} from '@ngx-translate/core';\nimport {of, tap} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, DataListParamsUtil, StyleLevelEnum, StyleSizeEnum} from '@mediusinc/mng-commons/core';\nimport {ActionButtonDescriptor, ButtonStyleRoundedEnum} from '@mediusinc/mng-commons/form/api';\nimport {ModelDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {\n ActionEditorAddDescriptor,\n ActionEditorAddDescriptorInst,\n ActionEditorDetailsDescriptor,\n ActionEditorDetailsDescriptorInst,\n ActionEditorEditDescriptor,\n ActionEditorEditDescriptorInst,\n ActionEditorProviderType\n} from '../../action/descriptors/action-editor.descriptor';\nimport {ActionLinkDescriptor, ActionLinkDescriptorInst} from '../../action/descriptors/action-link.descriptor';\nimport {ActionDeleteDescriptor, ActionDeleteDescriptorInst, ActionDescriptor, ActionDescriptorInst, ActionProviderType} from '../../action/descriptors/action.descriptor';\nimport {ActionPositionEnum} from '../../action/models/action.type';\nimport {TableviewActionDefaultCategories} from '../../action/models/tableview-action-default-categories.model';\nimport {DataProviderExecutor} from '../../action/services/data-provider-executor.service';\nimport {DATA_LANGUAGE_DROPDOWN_COMPONENT_IT} from '../../action/services/tokens/data-language-dropdown.token';\nimport {EditorDescriptorInst} from '../../editor/descriptors/editor.descriptor';\nimport {TableviewDescriptorInst} from '../descriptors/tableview.descriptor';\nimport {TableviewRouteData} from '../models/tableview-route.model';\nimport {convertDataToStringWithDelimiter, saveFileAs} from './files-export';\n\nexport enum TableviewDefaultActionsEnum {\n Details,\n Add,\n Edit,\n EditOnDetails,\n Delete,\n DeleteOnDetails,\n Refresh,\n Export,\n ExportJson,\n ExportCsv,\n LocalizationLanguageSelect\n}\n\nconst tableviewDefaultActions = [\n TableviewDefaultActionsEnum.Details,\n TableviewDefaultActionsEnum.Add,\n TableviewDefaultActionsEnum.Edit,\n TableviewDefaultActionsEnum.EditOnDetails,\n TableviewDefaultActionsEnum.Delete,\n TableviewDefaultActionsEnum.DeleteOnDetails,\n TableviewDefaultActionsEnum.Refresh,\n TableviewDefaultActionsEnum.Export,\n TableviewDefaultActionsEnum.ExportJson,\n TableviewDefaultActionsEnum.ExportCsv,\n TableviewDefaultActionsEnum.LocalizationLanguageSelect\n];\n\nexport function getTableviewDefaultActions() {\n return [...tableviewDefaultActions];\n}\n\nexport function createTableviewActions(\n tableview: TableviewDescriptorInst<any, any, any>,\n defaultActions?: TableviewDefaultActionsEnum[],\n defaultActionsOverrides?: Record<number, ActionDescriptorInst<any>>,\n injector?: Injector | null\n): Array<ActionDescriptorInst<any>> {\n return (defaultActions ?? getTableviewDefaultActions())\n .map(t => createTableviewAction(t, tableview, defaultActions, defaultActionsOverrides, injector))\n .filter(e => e != null) as Array<ActionDescriptorInst<any>>;\n}\n\nexport function createTableviewAction(\n type: TableviewDefaultActionsEnum,\n tableview: TableviewDescriptorInst<any, any, any>,\n defaultActions?: TableviewDefaultActionsEnum[],\n defaultActionsOverrides?: Record<number, ActionDescriptorInst<any>>,\n injector?: Injector | null\n): ActionDescriptorInst<any> | null {\n if (defaultActionsOverrides != null && defaultActionsOverrides[type] !== undefined) {\n return defaultActionsOverrides[type];\n }\n\n switch (type) {\n // table row actions\n case TableviewDefaultActionsEnum.Details:\n return tableviewDetailsAction(tableview.detailsEditor, injector);\n case TableviewDefaultActionsEnum.Edit:\n return tableviewEditAction(tableview.editEditor, injector);\n case TableviewDefaultActionsEnum.Delete:\n return tableviewDeleteAction(tableview.model, injector);\n // table toolbar actions\n case TableviewDefaultActionsEnum.Add:\n return tableviewAddAction(tableview.addEditor, injector);\n case TableviewDefaultActionsEnum.LocalizationLanguageSelect:\n return tableviewLocalizationLanguageSelectAction(tableview);\n case TableviewDefaultActionsEnum.Refresh:\n return tableviewRefreshAction(tableview.model);\n case TableviewDefaultActionsEnum.Export:\n return defaultActions == null || defaultActions.includes(TableviewDefaultActionsEnum.ExportJson) || defaultActions.includes(TableviewDefaultActionsEnum.ExportCsv)\n ? tableviewExportAction(tableview, injector, defaultActions)\n : null;\n //details actions\n case TableviewDefaultActionsEnum.EditOnDetails:\n return defaultActions == null || defaultActions.includes(TableviewDefaultActionsEnum.Edit)\n ? tableviewEditOnDetailsAction(tableview.model, tableviewEditAction(tableview.editEditor, injector), injector)\n : null;\n case TableviewDefaultActionsEnum.DeleteOnDetails:\n return defaultActions == null || defaultActions.includes(TableviewDefaultActionsEnum.Delete) ? tableviewDeleteOnDetailsAction(tableview.model, injector) : null;\n // subactions\n case TableviewDefaultActionsEnum.ExportJson:\n case TableviewDefaultActionsEnum.ExportCsv:\n return null;\n default:\n throw new CommonsInternalError(`Tableview default action of type ${type} not supported`);\n }\n}\n\nfunction getInjector(injector?: Injector | null): Injector | null {\n return injector === undefined ? inject(Injector) : injector;\n}\n\nfunction getRouteData(injector?: Injector | null) {\n return getInjector(injector)?.get(ActivatedRoute)?.snapshot.data as TableviewRouteData | undefined;\n}\n\nexport function tableviewDetailsAction<Model>(descriptor: EditorDescriptorInst<Model>, injector?: Injector | null): ActionEditorDetailsDescriptorInst<Model> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasDetails ? ActionEditorDetailsDescriptor.create(descriptor) : null;\n}\n\nexport function tableviewDetailsActionWithProvider<Model, Service>(\n descriptor: EditorDescriptorInst<Model>,\n serviceProvider: ActionEditorProviderType<Model, Service>,\n injector?: Injector | null\n): ActionEditorDetailsDescriptorInst<Model, Service> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasDetails ? ActionEditorDetailsDescriptor.createWithProvider(descriptor, serviceProvider) : null;\n}\n\nexport function tableviewAddAction<Model>(descriptor: EditorDescriptorInst<Model>, injector?: Injector | null): ActionEditorAddDescriptorInst<Model> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasAdd ? ActionEditorAddDescriptor.create(descriptor) : null;\n}\n\nexport function tableviewAddActionWithProvider<Model, Service>(\n descriptor: EditorDescriptorInst<Model>,\n serviceProvider: ActionEditorProviderType<Model, Service>,\n injector?: Injector | null\n): ActionEditorAddDescriptorInst<Model, Service> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasAdd ? ActionEditorAddDescriptor.createWithProvider(descriptor, serviceProvider) : null;\n}\n\nexport function tableviewEditAction<Model>(descriptor: EditorDescriptorInst<Model>, injector?: Injector | null): ActionEditorEditDescriptorInst<Model> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasEdit ? ActionEditorEditDescriptor.create(descriptor) : null;\n}\n\nexport function tableviewEditActionWithProvider<Model, Service>(\n descriptor: EditorDescriptorInst<Model>,\n serviceProvider: ActionEditorProviderType<Model, Service>,\n injector?: Injector | null\n): ActionEditorEditDescriptorInst<Model, Service> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasEdit ? ActionEditorEditDescriptor.createWithProvider(descriptor, serviceProvider) : null;\n}\n\nexport function tableviewEditOnDetailsAction<Model>(\n descriptor: ModelDescriptor<Model>,\n editDescriptor: ActionEditorEditDescriptorInst<Model> | null,\n injector?: Injector | null\n): ActionLinkDescriptorInst<Model> | null {\n const routeData = getRouteData(injector);\n if (routeData?.tableviewActions && !routeData.tableviewActions.hasEdit) {\n return null;\n }\n\n const action = editDescriptor ? ActionLinkDescriptor.fromAction(editDescriptor) : ActionLinkDescriptor.fromModel(descriptor, ActionEditorEditDescriptorInst.ACTION_NAME);\n action\n .withTableviewCategory(TableviewActionDefaultCategories.EDIT)\n .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])\n .withPosition(ActionPositionEnum.FooterLeft)\n .withRouterLink('./edit');\n action.button.styleClass.withActionLevel(StyleLevelEnum.Secondary);\n action.button.styleClass.withSize(StyleSizeEnum.Normal);\n action.button.styleClass.withRoundedButton(ButtonStyleRoundedEnum.DEFAULT);\n action.button.withLabel();\n if (!editDescriptor) action.button.withIcon('pi pi-pencil');\n\n return action;\n}\n\nexport function tableviewDeleteAction<Model>(descriptor: ModelDescriptor<Model>, injector?: Injector | null): ActionDeleteDescriptorInst<Model> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasDelete ? ActionDeleteDescriptor.create(descriptor) : null;\n}\n\nexport function tableviewDeleteActionWithProvider<Model, Service>(\n descriptor: ModelDescriptor<Model>,\n serviceProvider: ActionProviderType<Model, Service>,\n injector?: Injector | null\n): ActionDeleteDescriptorInst<Model, Service> | null {\n const routeData = getRouteData(injector);\n return !routeData?.tableviewActions || routeData.tableviewActions.hasDelete ? ActionDeleteDescriptor.createWithProvider(descriptor, serviceProvider) : null;\n}\n\nexport function tableviewDeleteOnDetailsAction<Model>(model: ModelDescriptor<Model>, injector?: Injector | null): ActionDescriptorInst<Model> | null {\n const action = tableviewDeleteAction(model, injector);\n const dataProviderExecutor = getInjector(injector)?.get(DataProviderExecutor);\n if (action) {\n action\n .withTableviewCategory(TableviewActionDefaultCategories.DELETE)\n .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])\n .withPosition(ActionPositionEnum.FooterLeft)\n .withRunFunction(ctx =>\n dataProviderExecutor\n ? dataProviderExecutor.runDeleteOrFail(ctx).pipe(\n tap(() => {\n ctx.viewContainer?.reloadTable({});\n ctx.viewContainer?.closeEditor();\n })\n )\n : null\n );\n action.button.withLabel(undefined);\n action.button.styleClass.withSize(StyleSizeEnum.Normal);\n\n return action;\n }\n\n return null;\n}\n\nexport function tableviewExportAction<Model>(\n descriptor: TableviewDescriptorInst<Model>,\n injector?: Injector | null,\n defaultActions?: TableviewDefaultActionsEnum[]\n): ActionDescriptorInst<Model> | null {\n const exportAction = ActionDescriptor.fromModel(descriptor.model, 'export')\n .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-download'))\n .withSubactionsAsMenu();\n\n const subactions: ActionDescriptorInst<Model>[] = [];\n\n if (defaultActions == null || defaultActions.includes(TableviewDefaultActionsEnum.ExportJson)) subactions.push(tableviewExportJsonAction(descriptor, injector));\n if (defaultActions == null || defaultActions.includes(TableviewDefaultActionsEnum.ExportCsv)) subactions.push(tableviewExportCsvAction(descriptor, injector));\n\n exportAction.withSubactions(...subactions);\n return exportAction;\n}\n\nexport function tableviewExportJsonAction<Model>(descriptor: TableviewDescriptorInst<Model>, injector?: Injector | null): ActionDescriptorInst<Model> {\n const dataProviderExecutor = getInjector(injector)?.get(DataProviderExecutor);\n return ActionDescriptor.fromModel(descriptor.model, 'exportJson')\n .withRunFunction(ctx => {\n const params = ctx.parameters.dataListParams ? DataListParamsUtil.copy(ctx.parameters.dataListParams) : {};\n params.offset = 0;\n params.limit = 500;\n ctx.parameters.dataListParams = params;\n return dataProviderExecutor\n ? dataProviderExecutor.runGetAllOrFail(ctx).pipe(\n map(res => {\n const blob = new Blob([JSON.stringify(res.data, undefined, 4)], {type: 'application/json;charset=utf-8'});\n const typeName = ctx.instance.action.model?.typeName ?? '';\n saveFileAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.json`);\n return undefined;\n })\n )\n : ctx.parameters.item;\n })\n .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-code'))\n .withPosition(ActionPositionEnum.ToolbarRight);\n}\n\nexport function tableviewExportCsvAction<Model>(descriptor: TableviewDescriptorInst<Model>, injector?: Injector | null): ActionDescriptorInst<Model> {\n const dataProviderExecutor = getInjector(injector)?.get(DataProviderExecutor);\n return ActionDescriptor.fromModel(descriptor.model, 'exportCsv')\n .withRunFunction(ctx => {\n const params = ctx.parameters.dataListParams ? DataListParamsUtil.copy(ctx.parameters.dataListParams) : {};\n params.offset = 0;\n params.limit = 500;\n ctx.parameters.dataListParams = params;\n return dataProviderExecutor\n ? dataProviderExecutor.runGetAllOrFail(ctx).pipe(\n map(res => {\n if (!res.data) {\n return undefined;\n }\n const blob = new Blob([convertDataToStringWithDelimiter(res.data, ',', descriptor, ctx.injector.get(TranslateService))], {\n type: 'text/csv;charset=utf-8'\n });\n const typeName = ctx.instance.action.model?.typeName ?? '';\n saveFileAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.csv`);\n return undefined;\n })\n )\n : ctx.parameters.item;\n })\n .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-file'))\n .withPosition(ActionPositionEnum.ToolbarRight);\n}\n\nexport function tableviewRefreshAction<Model>(descriptor: ModelDescriptor<Model>): ActionDescriptorInst<Model> | null {\n const action = ActionDescriptor.fromModel(descriptor, 'refresh')\n .withPosition(ActionPositionEnum.ToolbarRight)\n .withTableviewCategory(TableviewActionDefaultCategories.READ)\n .withRunNotificationSuccess(undefined, undefined, false)\n .withRunFunction(ctx => {\n ctx.viewContainer?.reloadTable({});\n return of(null);\n });\n action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);\n return action;\n}\n\nexport function tableviewLocalizationLanguageSelectAction<Model>(descriptor: TableviewDescriptorInst<Model>): ActionDescriptorInst<Model> | null {\n return descriptor.isLocalized()\n ? ActionDescriptor.fromModel(descriptor.model, 'translator').withPosition(ActionPositionEnum.ToolbarLeft).withComponentFromDi(DATA_LANGUAGE_DROPDOWN_COMPONENT_IT)\n : null;\n}\n","import {Injector} from '@angular/core';\n\nimport {IDataProvider, Nullable} from '@mediusinc/mng-commons/core';\n\nimport {ActionDescriptorInst} from '../../action/descriptors/action.descriptor';\nimport {TableviewDescriptorInst} from '../descriptors/tableview.descriptor';\nimport {TableviewInput} from '../models/tableview-input.model';\nimport {TableviewDefaultActionsEnum, createTableviewActions, getTableviewDefaultActions} from './tableview-default-actions';\n\nexport type TvBuilderSetterParamsType<Descriptor, DataProvider> = {descriptor: Descriptor; dataProvider: DataProvider; injector: Injector};\nexport type TvBuilderActionSetterFnType<ActionModel, ActionService, Descriptor, DataProvider> = (\n params: TvBuilderSetterParamsType<Descriptor, DataProvider>\n) => Nullable<ActionDescriptorInst<ActionModel, ActionService>>;\nexport type TvBuilderDescriptorSetterFnType<Descriptor, DataProvider> = (params: TvBuilderSetterParamsType<Descriptor, DataProvider>) => Descriptor;\nexport type TvBuilderDataProviderSetterFnType<Descriptor, DataProvider> = (params: TvBuilderSetterParamsType<Descriptor, DataProvider>) => DataProvider;\n\ntype DefaultAction = {\n type: TableviewDefaultActionsEnum;\n descriptor: ActionDescriptorInst<any, any> | null | undefined;\n};\n\n/**\n * The `TableviewBuilder` class is used to build a tableview configuration.\n * It allows you to set various options such as the descriptor, data provider,\n * default actions, and custom actions for the tableview.\n *\n * @typeparam Model - The main model type.\n * @typeparam Service - The API service type.\n * @typeparam Descriptor - The descriptor type.\n * @typeparam DataProvider - The data provider type.\n * @typeparam Sorts - The sort type representing available sort keys.\n * @typeparam Filters - The filter type representing available filter keys.\n */\nexport class TableviewInputBuilder<\n Model,\n Service,\n Descriptor extends TableviewDescriptorInst<Model, Sorts, Filters>,\n DataProvider extends IDataProvider<Model, Service>,\n Sorts = keyof Model,\n Filters extends keyof any = keyof Model\n> {\n private defaultActions: DefaultAction[] = getTableviewDefaultActions().map(a => ({type: a, descriptor: undefined}));\n private readonly _customActions: ActionDescriptorInst<any>[] = [];\n\n constructor(\n private _descriptor: Descriptor,\n private _dataProvider: DataProvider,\n private readonly injector: Injector\n ) {}\n\n private prepareSetterParams(): TvBuilderSetterParamsType<Descriptor, DataProvider> {\n return {descriptor: this._descriptor, dataProvider: this._dataProvider, injector: this.injector};\n }\n\n /**\n * Sets a descriptor instead of the default one.\n *\n * @param {TvBuilderDescriptorSetterFnType<Descriptor, DataProvider>} fn - The function that returns the new descriptor. It should accept a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.\n * @returns {this} - Returns the current instance of the builder.\n */\n withDescriptor(fn: TvBuilderDescriptorSetterFnType<Descriptor, DataProvider>): this {\n this._descriptor = fn(this.prepareSetterParams());\n return this;\n }\n\n /**\n * Adjusts the descriptor using the provided adjust function.\n *\n * @param {(descriptor: Descriptor) => void} adjustFn - The function used to adjust the descriptor. It accepts a single parameter of type `Descriptor`.\n * @returns {this} - Returns the current instance of the builder.\n */\n withAdjustDescriptor(adjustFn: (descriptor: Descriptor) => void): this {\n adjustFn(this._descriptor);\n return this;\n }\n\n /**\n * Sets the data provider for the TvBuilder instance\n *\n * @param {TvBuilderDataProviderSetterFnType<Descriptor, DataProvider>} fn - The function that returns the new data provider. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.\n * * @returns {this} - Returns the current instance of the builder.\n */\n withDataProvider(fn: TvBuilderDataProviderSetterFnType<Descriptor, DataProvider>): this {\n this._dataProvider = fn(this.prepareSetterParams());\n return this;\n }\n\n /**\n * Adjusts the data provider using the provided adjust function.\n *\n * @param {(dataProvider: DataProvider) => void} adjustFn - The function used to adjust the data provider. It accepts a single parameter of type `DataProvider`.\n * @returns {this} - Returns the current instance of the builder.\n */\n withAdjustDataProvider(adjustFn: (dataProvider: DataProvider) => void): this {\n adjustFn(this._dataProvider);\n return this;\n }\n\n /**\n * Adjusts the data provider and/or descriptor using the provided adjust function.\n *\n * @param {(params: TvBuilderSetterParamsType<Descriptor, DataProvider>) => void} adjustFn - The function used to adjust the data provider. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.\n * @returns {this} - Returns the current instance of the builder.\n */\n withAdjust(adjustFn: (params: TvBuilderSetterParamsType<Descriptor, DataProvider>) => void): this {\n adjustFn(this.prepareSetterParams());\n return this;\n }\n\n /**\n * Removes all the default tableview actions.\n *\n * @returns {this} - Returns the current instance of the builder.\n */\n withNoDefaultActions(): this {\n this.defaultActions.forEach(a => (a.descriptor = null));\n return this;\n }\n\n /**\n * Adds the default actions specified in parameters.\n *\n * @param {TableviewDefaultActionsEnum[]} types - The default actions to add.\n * @returns {this} - Returns the current instance of the builder.\n */\n withDefaultActions(...types: TableviewDefaultActionsEnum[]): this {\n types.forEach(type => {\n const action = this.defaultActions.find(a => a.type === type);\n if (action?.descriptor === null) {\n action.descriptor = undefined;\n }\n });\n return this;\n }\n\n /**\n * Removes the default actions specified in parameters.\n *\n * @param {TableviewDefaultActionsEnum[]} types - The default actions to remove.\n * @returns {this} - Returns the current instance of the builder.\n */\n withoutDefaultActions(...types: TableviewDefaultActionsEnum[]): this {\n types.forEach(type => {\n const action = this.defaultActions.find(a => a.type === type);\n if (action) {\n action.descriptor = null;\n }\n });\n return this;\n }\n\n /**\n * Overrides the default action.\n *\n * @param {TableviewDefaultActionsEnum} type - The default actions to override.\n * @param {TvBuilderActionSetterFnType<Model, ActionService, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.\n * @typeParam ActionService - The service type (same as build `Service` by default).\n * @returns {this} - Returns the current instance of the builder.\n */\n withDefaultActionOverride<ActionService = Service>(type: TableviewDefaultActionsEnum, fn: TvBuilderActionSetterFnType<Model, ActionService, Descriptor, DataProvider>): this {\n const action = this.defaultActions.find(a => a.type === type);\n if (action) {\n action.descriptor = fn(this.prepareSetterParams()) ?? null;\n }\n return this;\n }\n\n /**\n * Adds a custom action.\n *\n * @param {TvBuilderActionSetterFnType<Model, ActionService, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.\n * @typeParam ActionService - The service type (same as build `Service` by default).\n * @returns {this} - Returns the current instance of the builder.\n */\n withAction<ActionModel = Model, ActionService = Service>(fn: TvBuilderActionSetterFnType<ActionModel, ActionService, Descriptor, DataProvider>): this {\n const action = fn(this.prepareSetterParams());\n if (action) {\n this._customActions.push(action);\n }\n return this;\n }\n\n /**\n * Builds and returns an instance of ITableview.\n * DO NOT CALL this within tableview create callback function!\n *\n * @return {ITableview<Model, Service, Sorts, Filters, Descriptor, DataProvider>} - The built ITableview instance.\n */\n build() {\n return <TableviewInput<Model, Service, Sorts, Filters, Descriptor, DataProvider>>{\n actions: createTableviewActions(\n this._descriptor as TableviewDescriptorInst<any, any, any>,\n this.defaultActions.filter(a => a.descriptor !== null).map(a => a.type),\n this.defaultActions\n .filter(a => a.descriptor != null)\n .reduce(\n (acc, a) => ({\n ...acc,\n [a.type]: a.descriptor!\n }),\n <Record<number, ActionDescriptorInst<any>>>{}\n ),\n this.injector\n ).concat(this._customActions),\n dataProvider: this._dataProvider,\n descriptor: this._descriptor\n };\n }\n}\n","import {Injector, inject} from '@angular/core';\n\nimport {ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor, TypeDescriptor} from '@mediusinc/mng-commons/model';\n\nimport {TableviewDataProvider, TableviewDataProviderInst} from '../data-providers/tableview.data-provider';\nimport {TableviewDescriptor, TableviewDescriptorInst} from '../descriptors/tableview.descriptor';\nimport {TableviewInputBuilder} from './tableview-input-builder';\n\n/**\n * Creates a tableview with the given model, service.\n *\n * @param {ModelDescriptor<Model>} model - The model descriptor.\n * @param {ServiceClassType<Service>} service - The class type of the service.\n * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.\n *\n * @returns A tableview instance with descriptor, data provider and actions.\n */\nexport function tableview<Model, Service, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n model: ModelDescriptor<Model>,\n service: ServiceClassType<Service>,\n buildFn?: (\n builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters>, TableviewDataProviderInst<Model, Service, Sorts, Filters>, Sorts, Filters>\n ) => void\n) {\n const builder = new TableviewInputBuilder<\n Model,\n Service,\n TableviewDescriptorInst<Model, Sorts, Filters>,\n TableviewDataProviderInst<Model, Service, Sorts, Filters>,\n Sorts,\n Filters\n >(TableviewDescriptor.fromModel(model), TableviewDataProvider.fromService<Service, Model, Sorts, Filters>(service), inject(Injector));\n buildFn?.(builder);\n return builder.build();\n}\n\nexport function tableviewWithSortAndFilter<Model, Service, Sorts, Filters extends keyof any>(\n model: ModelDescriptor<Model>,\n service: ServiceClassType<Service>,\n sorts: TypeDescriptor<Sorts>,\n filters: TypeDescriptor<Filters>,\n buildFn?: (\n builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters>, TableviewDataProviderInst<Model, Service, Sorts, Filters>, Sorts, Filters>\n ) => void\n) {\n const builder = new TableviewInputBuilder<\n Model,\n Service,\n TableviewDescriptorInst<Model, Sorts, Filters>,\n TableviewDataProviderInst<Model, Service, Sorts, Filters>,\n Sorts,\n Filters\n >(TableviewDescriptor.fromModel(model), TableviewDataProvider.fromService<Service, Model, Sorts, Filters>(service), inject(Injector));\n buildFn?.(builder);\n return builder.build();\n}\n","// action descriptors\nexport * from './action/descriptors/action.descriptor';\nexport * from './action/descriptors/action-confirmation.descriptor';\nexport * from './action/descriptors/action-editor.descriptor';\nexport * from './action/descriptors/action-link.descriptor';\n\n// action helpers\nexport * from './action/helpers/data-provider-executors';\n\n// action model execution\nexport * from './action/models/execution/action-context.model';\nexport * from './action/models/execution/action-context-validation.model';\nexport * from './action/models/execution/action-execution-error.model';\nexport * from './action/models/execution/action-instance.model';\nexport * from './action/models/execution/action-instance-state.model';\nexport * from './action/models/execution/view-container.model';\n\n// action model\nexport * from './action/models/action.type';\nexport * from './action/models/action-component.model';\nexport * from './action/models/action-descriptor.types';\nexport * from './action/models/action-editor.model';\nexport * from './action/models/action-error.model';\nexport * from './action/models/tableview-action-default-categories.model';\n\n// action services\nexport * from './action/services/tokens/data-language-dropdown.token';\nexport * from './action/services/data-provider-executor.service';\n\n// editor data providers\nexport * from './editor/data-providers/editor.data-provider';\n\n// editor descriptors\nexport * from './editor/descriptors/editor.descriptor';\nexport * from './editor/descriptors/field.descriptor';\nexport * from './editor/descriptors/field-action.descriptor';\nexport * from './editor/descriptors/field-base.descriptor';\nexport * from './editor/descriptors/field-group.descriptor';\nexport * from './editor/descriptors/field-lookup.descriptor';\nexport * from './editor/descriptors/field-many.descriptor';\nexport * from './editor/descriptors/field-validation.descriptor';\n\n// editor helpers\nexport * from './editor/helpers/class-attribute-converter';\nexport * from './editor/helpers/field-validators';\n\n// editor models\nexport * from './editor/models/class-tableview-attribute.model';\nexport * from './editor/models/editor.model';\nexport * from './editor/models/editor-fields.model';\nexport * from './editor/models/field.model';\nexport * from './editor/models/field-action-context.model';\nexport * from './editor/models/form-editor.event';\nexport * from './editor/models/form-editor.interface';\nexport * from './editor/models/formly-custom-field.model';\nexport * from './editor/models/formly-field.model';\nexport * from './editor/models/radio.model';\n\n// tableview data providers\nexport * from './tableview/data-providers/tableview.data-provider';\n\n// tableview descriptors\nexport * from './tableview/descriptors/tableview.descriptor';\n\n// tableview helpers\nexport * from './tableview/helpers/class-attribute-converter';\nexport * from './tableview/helpers/files-export';\nexport * from './tableview/helpers/tableview-create';\nexport * from './tableview/helpers/tableview-default-actions';\nexport * from './tableview/helpers/tableview-input-builder';\n\n// tableview models\nexport * from './tableview/models/class-tableview-attribute.model';\nexport * from './tableview/models/tableview-input.model';\nexport * from './tableview/models/tableview-route.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;IAAY,mBAQX;AARD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAW,CAAA;AACX,IAAA,kBAAA,CAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAY,CAAA;AACZ,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAW,CAAA;AACX,IAAA,kBAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAW,CAAA;AACf,CAAC,EARW,kBAAkB,KAAlB,kBAAkB,GAQ7B,EAAA,CAAA,CAAA,CAAA;IAEW,4BAGX;AAHD,CAAA,UAAY,2BAA2B,EAAA;AACnC,IAAA,2BAAA,CAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;IACP,2BAAO,CAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA;AACX,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,GAGtC,EAAA,CAAA,CAAA,CAAA;IAEW,eAGX;AAHD,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;IACN,cAAM,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA,CAAA;AACV,CAAC,EAHW,cAAc,KAAd,cAAc,GAGzB,EAAA,CAAA,CAAA,CAAA;IAEW,2BAGX;AAHD,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,GAGrC,EAAA,CAAA,CAAA;;ACvBD;;AAEG;MACU,gCAAgC,CAAA;aAClB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,EAAA;aACd,IAAG,CAAA,GAAA,GAAG,KAAK,CAAC,EAAA;aACZ,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,EAAA;aACd,IAAM,CAAA,MAAA,GAAG,QAAQ,CAAC,EAAA;aAClB,IAAO,CAAA,OAAA,GAAG,SAAS,CAAC,EAAA;;;MCDlC,4BAA4B,CAAA;AAYrC,IAAA,WAAA,GAAA;AAJQ,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC;QAIrB,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACzI,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;AAC1J,QAAA,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC;KAC7C;AAEM,IAAA,QAAQ,CAAC,IAAa,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,KAAqB,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,WAAW,CAAC,OAAuB,EAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,sBAA8C,EAAA;AAClE,QAAA,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,sBAA+C,EAAA;AACnE,QAAA,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;AACI,IAAA,iBAAiB,CAAC,aAAsB,EAAA;AAC3C,QAAA,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,8BAA8B,CAAC,0BAA4D,EAAA;AAC9F,QAAA,IAAI,CAAC,2BAA2B,GAAG,0BAA0B,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,0BAA0B,GAAA;QACjC,OAAO,IAAI,CAAC,2BAA2B,CAAC;KAC3C;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AACJ;;ACjDY,MAAA,uBAAuB,GAAG,CAAiB,qBAA0D,KAAI;IAClH,MAAM,GAAG,GAA2D,EAAE,CAAC;AACvE,IAAA,IAAI,qBAAqB,EAAE;QACvB,IAAK,qBAAuC,CAAC,cAAc,EAAE;;AAEzD,YAAA,GAAG,CAAC,YAAY,GAAG,qBAAsD,CAAC;AAC7E,SAAA;AAAM,aAAA;AACH,YAAA,GAAG,CAAC,WAAW,GAAG,qBAAkD,CAAC;AACxE,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACf,EAAE;MAEW,oBAAoB,CAAA;IAuD7B,WAAsB,CAAA,UAAkB,EAAE,GAAyD,EAAA;AA3CzF,QAAA,IAAA,CAAA,KAAK,GAAmB,cAAc,CAAC,MAAM,CAAC;AAC9C,QAAA,IAAA,CAAA,kBAAkB,GAAgC,2BAA2B,CAAC,OAAO,CAAC;AACtF,QAAA,IAAA,CAAA,SAAS,GAAuB,kBAAkB,CAAC,YAAY,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAmB,cAAc,CAAC,OAAO,CAAC;QAIhD,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAQhC,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;QAIlC,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC;;AAWhC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;;QAGvC,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;;QAO3B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAC1B,IAAW,CAAA,WAAA,GAAuC,EAAE,CAAC;AAG3D,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,cAAc,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,GAAG,EAAE,cAAc,CAAC,EAAE;AAC5F,YAAA,MAAM,IAAI,oBAAoB,CAAC,CAA6D,0DAAA,EAAA,IAAI,CAAC,WAAW,CAAA,EAAA,EAAK,GAAG,EAAE,UAAU,CAAK,EAAA,EAAA,GAAG,EAAE,cAAc,CAAA,CAAA,CAAG,CAAC,CAAC;AAChK,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,SAAS,GAAG,SAAS,CAAC;AACvG,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,cAAc,CAAC;QAE3C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,GAAG,EAAE,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,YAAY,CAAiB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;AACtG,SAAA;aAAM,IAAI,GAAG,EAAE,YAAY,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;AACzC,SAAA;QAED,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,WAAW,GAAG,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,CAAI,CAAA,EAAA,WAAW,EAAE,CAAC;QACpH,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAC;AAClF,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;KACtC;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,sBAAsB,GAAA;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;KACvC;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,cAAc,GAAA;AACrB,QAAA,OAAO,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC;KAClD;AAED,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,oBAAoB,CAAC,CAAA,uCAAA,EAA0C,IAAI,CAAC,eAAe,CAAwB,sBAAA,CAAA,CAAC,CAAC;AAC1H,SAAA;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;KAC7C;AAED,IAAA,IAAW,+BAA+B,GAAA;QACtC,OAAO,IAAI,CAAC,gCAAgC,CAAC;KAChD;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,gCAAgC,KAAK,IAAI,IAAI,IAAI,CAAC,gCAAgC,KAAK,SAAS,CAAC;KAChH;AAED,IAAA,IAAW,yBAAyB,GAAA;QAChC,OAAO,IAAI,CAAC,0BAA0B,CAAC;KAC1C;AAED,IAAA,IAAW,2BAA2B,GAAA;QAClC,OAAO,IAAI,CAAC,4BAA4B,CAAC;KAC5C;AAED,IAAA,IAAW,6BAA6B,GAAA;QACpC,OAAO,IAAI,CAAC,8BAA8B,CAAC;KAC9C;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,yBAAyB,GAAA;QAChC,OAAO,IAAI,CAAC,0BAA0B,CAAC;KAC1C;AAED,IAAA,IAAW,2BAA2B,GAAA;QAClC,OAAO,IAAI,CAAC,4BAA4B,CAAC;KAC5C;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,2BAA2B,GAAA;QAClC,OAAO,IAAI,CAAC,4BAA4B,CAAC;KAC5C;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAES,IAAA,yBAAyB,CAAC,IAAa,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE;AACrC,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;AAC/C,kBAAE,CAAA,EAAG,IAAI,CAAC,eAAe,CAAA,SAAA,EAAY,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAE,CAAA;AAC/E,kBAAE,CAAA,EAAG,IAAI,IAAI,IAAI,CAAC,MAAO,CAAC,WAAW,CAAY,SAAA,EAAA,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3E,SAAA;KACJ;AAEM,IAAA,eAAe,CAAC,EAAmC,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,EAA2C,EAAA;AACpE,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,EAA2C,EAAA;AACpE,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,CAAC;AAC9D,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAA4B,EAAA;AAC5C,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gCAAgC,GAAG,IAAI,4BAA4B,EAAS,CAAC;AAClF,QAAA,IAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3F,QAAA,IAAI,CAAC,gCAAgC,CAAC,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5F,OAAO,IAAI,CAAC,gCAAgC,CAAC;KAChD;AAED;;;AAGG;AACI,IAAA,6BAA6B,CAAC,+BAAqE,EAAA;AACtG,QAAA,IAAI,CAAC,gCAAgC,GAAG,+BAA+B,CAAC;AACxE,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,0BAA0B,CAAC,KAAc,EAAE,OAAgB,EAAE,eAAe,GAAG,IAAI,EAAA;AACtF,QAAA,IAAI,CAAC,0BAA0B,GAAG,eAAe,CAAC;AAClD,QAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,8BAA8B,GAAG,OAAO,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,wBAAwB,CAAC,KAAc,EAAE,OAAgB,EAAE,eAAe,GAAG,IAAI,EAAA;AACpF,QAAA,IAAI,CAAC,wBAAwB,GAAG,eAAe,CAAC;AAChD,QAAA,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,kBAAkB,CAAwB,MAA+G,EAAA;AAC5J,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,oBAAoB,CAAU,MAAuG,EAAA;AACxI,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,eAAe,CAAC,WAAyB,EAAA;QAC5C,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CACrB,CAAsC,mCAAA,EAAA,IAAI,CAAC,eAAe,qBAAqB,IAAI,CAAC,kBAAkB,CAAA,4CAAA,CAA8C,CACvJ,CAAC;AACL,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,oBAA4B,EAAA;AACrD,QAAA,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,oBAAoB,CAAC,MAA8B,EAAA;AACtD,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,KAAqB,EAAE,IAAA,GAAsB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,EAAA;AACvH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AACzJ,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,kBAAkB,CAAC,YAAY,GAAG,IAAI,EAAA;AACzC,QAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;AACvC,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClH,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,aAAa,CAAC,SAAwC,EAAA;AACzD,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,mBAAmB,CAAC,cAAyC,EAAA;AAChE,QAAA,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,+BAA+B,CAAC,2BAAqC,EAAA;AACxE,QAAA,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,IAAiC,EAAA;AACjD,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,EAAE;gBACX,MAAM,IAAI,oBAAoB,CAAC,CAAyC,sCAAA,EAAA,IAAI,CAAc,WAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC,CAAC;AACpH,aAAA;YACD,IAAI,GAAG,QAAQ,CAAC;AACnB,SAAA;AACD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,EAAA;AAC/C,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,cAAc,CAAC,GAAG,UAA8C,EAAA;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,MAAM,CAAC,UAAgD,EAAA;AAC1D,QAAA,UAAU,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAClE,QAAA,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACxD,QAAA,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,QAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,QAAA,UAAU,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAAC;AAE5E,QAAA,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACxD,QAAA,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAEtC,QAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,QAAA,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACxD,QAAA,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAExD,QAAA,UAAU,CAAC,gCAAgC,GAAG,IAAI,CAAC,gCAAgC,CAAC;AAEpF,QAAA,UAAU,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC;AACxE,QAAA,UAAU,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAAC;AAC5E,QAAA,UAAU,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,CAAC;AAEhF,QAAA,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AACpE,QAAA,UAAU,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC;AACxE,QAAA,UAAU,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAAC;AAE5E,QAAA,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAClD,QAAA,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAEtD,QAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAE5C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAEzC,QAAA,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACxD,QAAA,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACxC,QAAA,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACtD,QAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAE1C,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ,CAAA;AAEK,MAAO,gBAAiB,SAAQ,oBAAyB,CAAA;AAC3D,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;KACrB;AAEM,IAAA,OAAO,MAAM,CAAQ,UAAkB,EAAE,GAA0C,EAAA;AACtF,QAAA,OAAO,IAAI,oBAAoB,CAAmB,UAAU,EAAE;AAC1D,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,OAAO,kBAAkB,CAAiB,eAAmD,EAAE,UAAkB,EAAE,GAA0C,EAAA;AAChK,QAAA,OAAO,IAAI,oBAAoB,CAAiB,UAAU,EAAE;YACxD,GAAG,uBAAuB,CAAC,eAAe,CAAC;AAC3C,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,OAAO,SAAS,CAAQ,KAA6B,EAAE,UAAkB,EAAE,GAA0C,EAAA;AACxH,QAAA,OAAO,IAAI,oBAAoB,CAAmB,UAAU,EAAE;YAC1D,KAAK;AACL,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;IAEM,OAAO,qBAAqB,CAC/B,KAA6B,EAC7B,eAAmD,EACnD,UAAkB,EAClB,GAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,oBAAoB,CAAiB,UAAU,EAAE;YACxD,KAAK;YACL,GAAG,uBAAuB,CAAC,eAAe,CAAC;AAC3C,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,OAAO,SAAS,CAAQ,IAAsB,EAAE,UAAkB,EAAE,GAAgD,EAAA;AACvH,QAAA,OAAO,IAAI,oBAAoB,CAAmB,UAAU,EAAE;AAC1D,YAAA,KAAK,EAAE,eAAe,CAAC,SAAS,CAAQ,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC;AACpG,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;IAEM,OAAO,qBAAqB,CAC/B,SAA2B,EAC3B,eAAmD,EACnD,UAAkB,EAClB,GAAgD,EAAA;AAEhD,QAAA,OAAO,IAAI,oBAAoB,CAAiB,UAAU,EAAE;AACxD,YAAA,KAAK,EAAE,eAAe,CAAC,SAAS,CAAQ,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC;YACzG,GAAG,uBAAuB,CAAC,eAAe,CAAC;AAC3C,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AACJ,CAAA;AAEK,MAAO,0BAAiD,SAAQ,oBAAoC,CAAA;aAC/E,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,EAAA;IAE9C,WAAY,CAAA,KAA6B,EAAE,GAA4D,EAAA;AACnG,QAAA,KAAK,CAAC,0BAA0B,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,GAAG,GAAG,EAAC,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;KACvD;;MAGQ,sBAAsB,CAAA;IACxB,OAAO,MAAM,CAAQ,KAA6B,EAAA;AACrD,QAAA,OAAO,IAAI,0BAA0B,CAAmB,KAAK,CAAC,CAAC;KAClE;AAEM,IAAA,OAAO,kBAAkB,CAAiB,KAA6B,EAAE,eAAmD,EAAA;AAC/H,QAAA,OAAO,IAAI,0BAA0B,CAAiB,KAAK,EAAE;YACzD,GAAG,uBAAuB,CAAC,eAAe,CAAC;AAC9C,SAAA,CAAC,CAAC;KACN;AACJ;;ACpfK,MAAO,sBACT,SAAQ,gBAA0D,CAAA;IAQlE,WAAsB,CAAA,IAAgB,EAAE,WAAyB,EAAA;AAC7D,QAAA,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AANnB,QAAA,IAAA,CAAA,MAAM,GAAkD,EAAE,IAAI,UAAU,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAA,kCAAA,EAAqC,EAAE,CAAG,CAAA,CAAA,CAAC,CAAC,CAAC;KAO9J;AAED,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED;;;;;;;;AAQG;AACH,IAAA,SAAS,CAAC,EAAiD,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;;AAQG;AACH,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;;AAQG;AACH,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;;;AASG;AACH,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;AAEK,MAAO,kBAAmB,SAAQ,sBAA2B,CAAA;AAC/D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAC/B;AAEM,IAAA,OAAO,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,sBAAsB,CAAyC,SAAS,EAAE,SAAS,CAAC,CAAC;KACnG;IAEM,OAAO,SAAS,CAAQ,IAAsB,EAAA;AACjD,QAAA,OAAO,IAAI,sBAAsB,CAAgD,IAAI,EAAE,SAAS,CAAC,CAAC;KACrG;AAEM,IAAA,OAAO,oBAAoB,CAAiB,IAAsB,EAAE,WAAsC,EAAA;AAC7G,QAAA,OAAO,IAAI,sBAAsB,CAA8D,IAAI,EAAE,WAAW,CAAC,CAAC;KACrH;IAEM,OAAO,WAAW,CAAiB,WAAsC,EAAA;AAC5E,QAAA,OAAO,IAAI,sBAAsB,CAAuD,SAAS,EAAE,WAAW,CAAC,CAAC;KACnH;AAgBM,IAAA,OAAO,YAAY,CAAgG,IAAiB,EAAE,WAA0B,EAAA;AACnK,QAAA,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC7B,OAAO,OAAO,WAAW,KAAK,WAAW;kBACnC,kBAAkB,CAAC,oBAAoB,CAAC,IAAwB,EAAE,WAAwC,CAAC;AAC7G,kBAAE,kBAAkB,CAAC,SAAS,CAAC,IAAwB,CAAC,CAAC;AAChE,SAAA;AAAM,aAAA,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;AAC3C,YAAA,OAAO,kBAAkB,CAAC,WAAW,CAAC,WAAwC,CAAC,CAAC;AACnF,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,kBAAkB,CAAC,MAAM,EAAS,CAAC;AAC7C,SAAA;KACJ;AACJ;;AC7KY,MAAA,6BAA6B,GAAG,CAAiB,qBAAgE,KAAI;IAC9H,MAAM,GAAG,GAAiE,EAAE,CAAC;AAC7E,IAAA,IAAI,qBAAqB,EAAE;QACvB,IAAK,qBAA6C,CAAC,cAAc,EAAE;;AAE/D,YAAA,GAAG,CAAC,YAAY,GAAG,qBAA4D,CAAC;AACnF,SAAA;AAAM,aAAA;AACH,YAAA,GAAG,CAAC,WAAW,GAAG,qBAAkD,CAAC;AACxE,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACf,EAAE;AAEI,MAAO,0BAAgD,SAAQ,oBAAmC,CAAA;AAwBpG,IAAA,WAAA,CAAmB,gBAA4C,EAAE,UAAkB,EAAE,GAA8D,EAAA;QAC/I,KAAK,CAAC,UAAU,EAAE;YACd,KAAK,EAAE,gBAAgB,CAAC,KAAK;AAC7B,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;QA1BqB,IAAa,CAAA,aAAA,GAAoC,SAAS,CAAC;QAE7E,IAAc,CAAA,cAAA,GAAiC,EAAE,CAAC;QAClD,IAAY,CAAA,YAAA,GAAmB,SAAS,CAAC;QACzC,IAAkB,CAAA,kBAAA,GAAS,SAAS,CAAC;QAErC,IAA4B,CAAA,4BAAA,GAAG,KAAK,CAAC;AAIrC,QAAA,IAAA,CAAA,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;QASnC,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;QAQ1C,IAAI,GAAG,EAAE,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3G,SAAA;aAAM,IAAI,GAAG,EAAE,YAAY,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;AACzC,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;AACnC,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5H;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,2BAA2B,GAAA;QAClC,OAAO,IAAI,CAAC,4BAA4B,CAAC;KAC5C;AAED,IAAA,IAAW,6BAA6B,GAAA;QACpC,OAAO,IAAI,CAAC,8BAA8B,CAAC;KAC9C;AAED,IAAA,IAAW,+BAA+B,GAAA;QACtC,OAAO,IAAI,CAAC,gCAAgC,CAAC;KAChD;AAED,IAAA,IAAoB,YAAY,GAAA;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAoB,cAAc,GAAA;QAC9B,MAAM,IAAI,oBAAoB,CAAC,CAAA,iDAAA,EAAoD,IAAI,CAAC,eAAe,CAA+B,6BAAA,CAAA,CAAC,CAAC;KAC3I;AAED,IAAA,IAAoB,WAAW,GAAA;QAC3B,MAAM,IAAI,oBAAoB,CAAC,CAAA,iDAAA,EAAoD,IAAI,CAAC,eAAe,CAA+B,6BAAA,CAAA,CAAC,CAAC;KAC3I;AAED,IAAA,IAAW,gBAAgB,GAAA;AACvB,QAAA,OAAO,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;KACpD;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,OAAO,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;KACpD;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,0BAA0B,GAAA;QACjC,OAAO,IAAI,CAAC,2BAA2B,CAAC;KAC3C;IAEM,eAAe,CAAC,KAAoB,EAAE,MAAY,EAAA;AACrD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,EAAA;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,mBAAmB,CAAC,SAAiB,EAAA;AACxC,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACf;AAEe,IAAA,eAAe,CAAC,EAA4D,EAAA;AACxF,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAA8D,CAAC,CAAC;KAClG;AAEM,IAAA,iBAAiB,CAAC,EAA4D,EAAA;AACjF,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,kBAAkB,CAAC,EAA4D,EAAA;AAClF,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,0BAA0B,CAAC,KAAc,EAAE,OAAgB,EAAE,eAAe,GAAG,IAAI,EAAA;AACtF,QAAA,IAAI,CAAC,4BAA4B,GAAG,eAAe,CAAC;AACpD,QAAA,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;AAC5C,QAAA,IAAI,CAAC,gCAAgC,GAAG,OAAO,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,MAAkC,EAAA;AACtD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,OAAqC,EAAA;AAC1D,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,mBAAmB,CAAC,eAA0B,EAAA;AACjD,QAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,OAAiB,EAAE,OAAO,GAAG,IAAI,EAAA;AACjD,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,8BAA8B,CAAC,0BAA0B,GAAG,IAAI,EAAA;AACnE,QAAA,IAAI,CAAC,2BAA2B,GAAG,0BAA0B,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;MAEY,sBAAsB,CAAA;AACxB,IAAA,OAAO,MAAM,CAAQ,MAAmC,EAAE,UAAkB,EAAE,GAA0C,EAAA;AAC3H,QAAA,OAAO,IAAI,0BAA0B,CAAmB,MAAM,EAAE,UAAU,EAAE;YACxE,UAAU,EAAE,GAAG,EAAE,UAAU;YAC3B,cAAc,EAAE,GAAG,EAAE,cAAc;AACtC,SAAA,CAAC,CAAC;KACN;IAEM,OAAO,kBAAkB,CAC5B,MAAmC,EACnC,eAAyD,EACzD,UAAkB,EAClB,GAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE;YACtD,GAAG,6BAA6B,CAAC,eAAe,CAAC;YACjD,UAAU,EAAE,GAAG,EAAE,UAAU;YAC3B,cAAc,EAAE,GAAG,EAAE,cAAc;AACtC,SAAA,CAAC,CAAC;KACN;AACJ,CAAA;AAEK,MAAO,gCAAwC,SAAQ,oBAA2B,CAAA;AAIpF,IAAA,WAAA,CAAY,YAA+C,EAAE,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAA;AACvG,QAAA,KAAK,CAAC,UAAU,KAAK,0BAA0B,CAAC,MAAM,GAAG,CAAA,EAAG,YAAY,CAAC,UAAU,CAAS,OAAA,CAAA,GAAG,CAAG,EAAA,YAAY,CAAC,UAAU,SAAS,EAAE,EAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC,CAAC;AACjK,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;AAEhD,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;KAC/E;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AACJ,CAAA;MAEY,4BAA4B,CAAA;AACrC;;;;AAIG;IACH,OAAO,UAAU,CAAQ,YAA+C,EAAE,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAA;QACpH,OAAO,IAAI,gCAAgC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,oBAAoB,CAAC,IAAI,sBAAsB,EAAE,CAAC,cAAc,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;KACrK;AAED;;;;AAIG;IACH,OAAO,YAAY,CAAQ,YAA+C,EAAE,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAA;QACtH,OAAO,IAAI,gCAAgC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,oBAAoB,CACtF,IAAI,sBAAsB,EAAE,CAAC,cAAc,CAAC,IAAI,kBAAkB,EAAE,CAAC,cAAc,EAAE,CAAC,CACzF,CAAC;KACL;AACJ,CAAA;AAEK,MAAO,iCAAwD,SAAQ,0BAA0C,CAAA;aAC5F,IAAW,CAAA,WAAA,GAAG,SAAS,CAAC,EAAA;IAE/C,WAAY,CAAA,gBAA6C,EAAE,GAAkE,EAAA;QACzH,KAAK,CAAC,gBAAgB,EAAE,iCAAiC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,4BAA4B,CAAC,YAAY,CAAC,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7G,QAAA,IAAI,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;KACxE;;MAGQ,6BAA6B,CAAA;IAC/B,OAAO,MAAM,CAAQ,MAAmC,EAAA;AAC3D,QAAA,OAAO,IAAI,iCAAiC,CAAmB,MAAM,CAAC,CAAC;KAC1E;AAEM,IAAA,OAAO,kBAAkB,CAAiB,MAAmC,EAAE,eAAyD,EAAA;AAC3I,QAAA,OAAO,IAAI,iCAAiC,CAAiB,MAAM,EAAE;YACjE,GAAG,6BAA6B,CAAC,eAAe,CAAC;AACpD,SAAA,CAAC,CAAC;KACN;AACJ,CAAA;AAEK,MAAO,6BAAoD,SAAQ,0BAA0C,CAAA;aACxF,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,EAAA;IAE3C,WAAY,CAAA,gBAA6C,EAAE,GAAkE,EAAA;QACzH,KAAK,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACzC;;MAGQ,yBAAyB,CAAA;IAC3B,OAAO,MAAM,CAAQ,MAAmC,EAAA;AAC3D,QAAA,OAAO,IAAI,6BAA6B,CAAmB,MAAM,CAAC,CAAC;KACtE;AAEM,IAAA,OAAO,kBAAkB,CAAiB,MAAmC,EAAE,eAAyD,EAAA;AAC3I,QAAA,OAAO,IAAI,6BAA6B,CAAiB,MAAM,EAAE;YAC7D,GAAG,6BAA6B,CAAC,eAAe,CAAC;AACpD,SAAA,CAAC,CAAC;KACN;AACJ,CAAA;AAEK,MAAO,8BAAqD,SAAQ,0BAA0C,CAAA;aACzF,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,EAAA;IAE5C,WAAY,CAAA,gBAA6C,EAAE,GAAkE,EAAA;QACzH,KAAK,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACzC;;MAGQ,0BAA0B,CAAA;IAC5B,OAAO,MAAM,CAAQ,MAAmC,EAAA;AAC3D,QAAA,OAAO,IAAI,8BAA8B,CAAmB,MAAM,CAAC,CAAC;KACvE;AAEM,IAAA,OAAO,kBAAkB,CAAiB,MAAmC,EAAE,eAAyD,EAAA;AAC3I,QAAA,OAAO,IAAI,8BAA8B,CAAiB,MAAM,EAAE;YAC9D,GAAG,6BAA6B,CAAC,eAAe,CAAC;AACpD,SAAA,CAAC,CAAC;KACN;AACJ;;AChWK,MAAO,wBAAgC,SAAQ,oBAAsC,CAAA;AASvF,IAAA,WAAA,CAAY,UAAU,GAAG,MAAM,EAAE,GAAgD,EAAA;AAC7E,QAAA,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QATnB,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QACV,IAAa,CAAA,aAAA,GAAa,EAAE,CAAC;QAG7B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;QAClB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;KAI5B;AAED,IAAA,IAAW,GAAG,GAAA;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAEM,IAAA,QAAQ,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,cAAc,CAAC,GAAG,YAAsB,EAAA;AAC3C,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,eAAe,CAAC,WAAmB,EAAE,mBAAyC,EAAA;AACjF,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,cAAc,CAAC,UAAU,GAAG,KAAK,EAAA;AACpC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,UAAU,CAAC,SAA6B,OAAO,EAAA;AAClD,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,aAAa,CAAC,WAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;MAEY,oBAAoB,CAAA;AACtB,IAAA,OAAO,MAAM,CAAc,UAAkB,EAAE,GAA0C,EAAA;AAC5F,QAAA,OAAO,IAAI,wBAAwB,CAAQ,UAAU,EAAE;AACnD,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,OAAO,SAAS,CAAQ,KAA6B,EAAE,UAAkB,EAAE,GAA0C,EAAA;AACxH,QAAA,OAAO,IAAI,wBAAwB,CAAQ,UAAU,EAAE;YACnD,KAAK;AACL,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,OAAO,SAAS,CAAQ,IAAsB,EAAE,UAAkB,EAAE,GAAgD,EAAA;AACvH,QAAA,OAAO,IAAI,wBAAwB,CAAQ,UAAU,EAAE;AACnD,YAAA,KAAK,EAAE,eAAe,CAAC,SAAS,CAAQ,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC;AACpG,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;KACN;IAEM,OAAO,UAAU,CAAQ,MAAmC,EAAA;AAC/D,QAAA,MAAM,UAAU,GAAG,IAAI,wBAAwB,CAAQ,MAAM,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;AAEjG,QAAA,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1B,UAAU,CAAC,6BAA6B,EAAE,CAAC;QAE3C,UAAU,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACnE,UAAU,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjE,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAChC,UAAU,CAAC,oBAAoB,EAAE,CAAC;AAElC,QAAA,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAEvC,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ;;AC5GK,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;AAOrD,IAAA,WAAA,CAAY,OAAe,EAAE,UAAkB,EAAE,OAAmC,EAAA;QAChF,KAAK,CAAC,OAAO,EAAE;YACX,IAAI,EAAE,qBAAqB,GAAG,UAAU;AACxC,YAAA,GAAG,OAAO;AACb,SAAA,CAAC,CAAC;QAVS,IAAI,CAAA,IAAA,GAAG,oBAAoB,CAAC;AAYxC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;AAC5C,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;KACvC;AACJ;;SCjBe,+BAA+B,CAC3C,GAAkC,EAClC,EAAqE,EACrE,QAAoC,EAAA;AAEpC,IAAA,MAAM,gBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACjC,IAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,EAAE;AAChC,QAAA,OAAO,gBAAgB,CAAC;AAC3B,KAAA;AACD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAEe,SAAA,2BAA2B,CACvC,GAAkC,EAClC,EAAqE,EAAA;AAErE,IAAA,MAAM,gBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACjC,IAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,EAAE;AAChC,QAAA,OAAO,gBAAgB,CAAC;AAC3B,KAAA;IACD,OAAO,UAAU,CACb,MACI,IAAI,kBAAkB,CAClB,CAAiE,8DAAA,EAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAiB,cAAA,EAAA,GAAG,CAAC,UAAU,EAAE,MAAM,CAAG,CAAA,CAAA,EACrL,GAAG,CAAC,eAAe,EACnB,EAAC,aAAa,EAAE,GAAG,EAAC,CACvB,CACR,CAAC;AACN,CAAC;AAEK,SAAU,yBAAyB,CAAgB,GAAkC,EAAA;AACvF,IAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,CAAC,QAAwB,CAAC,KAAK,UAAU,EAAE;AAC7G,QAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAA6C,CAAC;QAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC;AACxD,QAAA,OAAO,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAClF,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AAEK,SAAU,wBAAwB,CAAgB,GAAkC,EAAA;AACtF,IAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE;AACzC,QAAA,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAA8C,CAAC;AAC9E,QAAA,IAAI,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAAE;AAChD,YAAA,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;AACpJ,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AAEK,SAAU,yBAAyB,CAAgB,GAAkC,EAAA;AACvF,IAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE;AACzC,QAAA,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAA8C,CAAC;AAC9E,QAAA,IAAI,OAAO,kBAAkB,CAAC,MAAM,KAAK,UAAU,EAAE;AACjD,YAAA,OAAO,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC;AAC1H,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AAEK,SAAU,yBAAyB,CAAgB,GAAkC,EAAA;AACvF,IAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE;AACzC,QAAA,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAA8C,CAAC;AAC9E,QAAA,IAAI,OAAO,kBAAkB,CAAC,MAAM,KAAK,UAAU,EAAE;AACjD,YAAA,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC;AACnJ,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AAEK,SAAU,yBAAyB,CAAgB,GAAkC,EAAA;AACvF,IAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE;AACzC,QAAA,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAA8C,CAAC;AAC9E,QAAA,IAAI,OAAO,kBAAkB,CAAC,MAAM,KAAK,UAAU,EAAE;AACjD,YAAA,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC;AACnJ,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;AAKG;AACa,SAAA,sBAAsB,CAAgB,QAAkB,EAAE,YAA2C,EAAA;IACjH,IAAI,YAAY,EAAE,WAAW,EAAE;AAC3B,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAU,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,oBAAoB,CAAC,CAAA,2BAAA,EAA8B,YAAY,CAAC,WAAW,CAAyB,uBAAA,CAAA,CAAC,CAAC;AACnH,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AACL;;AC1GA;;AAEG;IACS,wBA0BX;AA1BD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,uBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAY,CAAA;AACZ,IAAA,uBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,uBAAA,CAAA,uBAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAe,CAAA;AACf,IAAA,uBAAA,CAAA,uBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa,CAAA;AACb,IAAA,uBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,uBAAA,CAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,uBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,uBAAA,CAAA,uBAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAoB,CAAA;AACpB,IAAA,uBAAA,CAAA,uBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAAwB,CAAA;AACxB,IAAA,uBAAA,CAAA,uBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAAwB,CAAA;AACxB,IAAA,uBAAA,CAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,uBAAA,CAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,uBAAA,CAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,uBAAA,CAAA,uBAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAe,CAAA;AACf,IAAA,uBAAA,CAAA,uBAAA,CAAA,eAAA,CAAA,GAAA,EAAA,CAAA,GAAA,eAAa,CAAA;AACb,IAAA,uBAAA,CAAA,uBAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kBAAgB,CAAA;AAChB,IAAA,uBAAA,CAAA,uBAAA,CAAA,gBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,gBAAc,CAAA;AACd,IAAA,uBAAA,CAAA,uBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAkB,CAAA;AAClB,IAAA,uBAAA,CAAA,uBAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kBAAgB,CAAA;AAChB,IAAA,uBAAA,CAAA,uBAAA,CAAA,sBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,sBAAoB,CAAA;AACpB,IAAA,uBAAA,CAAA,uBAAA,CAAA,8BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,8BAA4B,CAAA;AAC5B,IAAA,uBAAA,CAAA,uBAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAA2B,CAAA;AAC3B,IAAA,uBAAA,CAAA,uBAAA,CAAA,2BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,2BAAyB,CAAA;AACzB,IAAA,uBAAA,CAAA,uBAAA,CAAA,8BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,8BAA4B,CAAA;AAC5B,IAAA,uBAAA,CAAA,uBAAA,CAAA,kCAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kCAAgC,CAAA;AACpC,CAAC,EA1BW,uBAAuB,KAAvB,uBAAuB,GA0BlC,EAAA,CAAA,CAAA;;MC3BY,mCAAmC,GAA8B,IAAI,cAAc,CAAY,kCAAkC;;MCOxH,oBAAoB,CAAA;AAC/B,IAAA,eAAe,CAAgB,GAAkC,EAAA;AACpE,QAAA,OAAO,2BAA2B,CAAsC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3G;AAOM,IAAA,cAAc,CAAgB,GAAkC,EAAA;AACnE,QAAA,OAAO,2BAA2B,CAAsB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1F;AAOM,IAAA,eAAe,CAAgB,GAAkC,EAAA;AACpE,QAAA,OAAO,2BAA2B,CAAsB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3F;AAOM,IAAA,eAAe,CAAgB,GAAkC,EAAA;AACpE,QAAA,OAAO,2BAA2B,CAAsB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3F;AAOM,IAAA,eAAe,CAAgB,GAAkC,EAAA;AACpE,QAAA,OAAO,2BAA2B,CAAsB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3F;AAOD;;;;;AAKG;IACI,sBAAsB,CAAgB,QAAkB,EAAE,YAA2C,EAAA;AACxG,QAAA,OAAO,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KACzD;AACJ;;IC1DW,cAIX;AAJD,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACT,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;IAEW,mBAeX;AAfD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,kBAAA,CAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,kBAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EAfW,kBAAkB,KAAlB,kBAAkB,GAe7B,EAAA,CAAA,CAAA,CAAA;IAEW,oBAKX;AALD,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,mBAAA,CAAA,mBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAY,CAAA;AACZ,IAAA,mBAAA,CAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,mBAAA,CAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,GAK9B,EAAA,CAAA,CAAA,CAAA;IAEW,8BAEX;AAFD,CAAA,UAAY,6BAA6B,EAAA;AACrC,IAAA,6BAAA,CAAA,6BAAA,CAAA,wBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wBAAsB,CAAA;AAC1B,CAAC,EAFW,6BAA6B,KAA7B,6BAA6B,GAExC,EAAA,CAAA,CAAA,CAAA;IAEW,gCAGX;AAHD,CAAA,UAAY,+BAA+B,EAAA;AACvC,IAAA,+BAAA,CAAA,+BAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,+BAAA,CAAA,+BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EAHW,+BAA+B,KAA/B,+BAA+B,GAG1C,EAAA,CAAA,CAAA,CAAA;IAEW,wBAEX;AAFD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,uBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAY,CAAA;AAChB,CAAC,EAFW,uBAAuB,KAAvB,uBAAuB,GAElC,EAAA,CAAA,CAAA,CAAA;IAEW,0BAKX;AALD,CAAA,UAAY,yBAAyB,EAAA;AACjC,IAAA,yBAAA,CAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,yBAAA,CAAA,yBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,yBAAA,CAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,GAKpC,EAAA,CAAA,CAAA,CAAA;IAEW,mBAGX;AAHD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;AACX,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAG7B,EAAA,CAAA,CAAA;;ACrDD;;;AAGG;AACG,SAAU,0CAA0C,CAAC,aAAqB,EAAA;AAC5E,IAAA,QAAQ,aAAa;AACjB,QAAA,KAAK,QAAQ;YACT,OAAO,kBAAkB,CAAC,MAAM,CAAC;AACrC,QAAA,KAAK,OAAO;YACR,OAAO,kBAAkB,CAAC,KAAK,CAAC;AACpC,QAAA,KAAK,UAAU;YACX,OAAO,kBAAkB,CAAC,QAAQ,CAAC;AACvC,QAAA,KAAK,QAAQ;YACT,OAAO,kBAAkB,CAAC,MAAM,CAAC;AACrC,QAAA,KAAK,UAAU;YACX,OAAO,kBAAkB,CAAC,QAAQ,CAAC;AACvC,QAAA,KAAK,QAAQ,CAAC;AACd,QAAA,KAAK,SAAS;YACV,OAAO,kBAAkB,CAAC,MAAM,CAAC;AACrC,QAAA,KAAK,OAAO;YACR,OAAO,kBAAkB,CAAC,KAAK,CAAC;AACpC,QAAA,KAAK,YAAY;YACb,OAAO,kBAAkB,CAAC,UAAU,CAAC;AACzC,QAAA,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACnC,QAAA,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACnC,QAAA,KAAK,QAAQ;YACT,OAAO,kBAAkB,CAAC,MAAM,CAAC;AACrC,QAAA,KAAK,MAAM,CAAC;AACZ,QAAA;YACI,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACtC,KAAA;AACL,CAAC;AAED;;;;AAIG;AACa,SAAA,+BAA+B,CAAC,IAAoB,EAAE,WAAmC,EAAA;AACrG,IAAA,QAAQ,IAAI;QACR,KAAK,cAAc,CAAC,MAAM;AACtB,YAAA,OAAO,WAAW,KAAK,qBAAqB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACpH,KAAK,cAAc,CAAC,OAAO;YACvB,OAAO,kBAAkB,CAAC,MAAM,CAAC;QACrC,KAAK,cAAc,CAAC,IAAI;YACpB,OAAO,kBAAkB,CAAC,UAAU,CAAC;QACzC,KAAK,cAAc,CAAC,MAAM;YACtB,OAAO,kBAAkB,CAAC,MAAM,CAAC;QACrC,KAAK,cAAc,CAAC,MAAM,CAAC;QAC3B,KAAK,cAAc,CAAC,IAAI,CAAC;AACzB,QAAA;YACI,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACtC,KAAA;AACL,CAAC;AAEK,SAAU,oCAAoC,CAAC,UAA4C,EAAA;IAC7F,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,IAAI,oBAAoB,CAAC,qGAAqG,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC,CAAC,CAAC;AACxK,KAAA;AAED,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,uBAAuB,GAA8B,EAAE,CAAC;AAC9D,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAChC,uBAAuB,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;AAC1B,YAAA,SAAS,EAAE,0CAA0C,CAAC,SAAS,CAAC,IAAI,CAAC;YACrE,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAmB;YAClE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAa;AAC9D,SAAA,CAAC,CAAC;AACN,KAAA;AAED,IAAA,OAAO,uBAAuB,CAAC;AACnC,CAAC;AAED;;;AAGG;AACG,SAAU,0BAA0B,CAAI,IAAkB,EAAA;AAC5D,IAAA,OAAO,oCAAoC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9G;;IC3FY,wBAKX;AALD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,uBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;AACP,IAAA,uBAAA,CAAA,uBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,GAKlC,EAAA,CAAA,CAAA,CAAA;AAEM,MAAM,yBAAyB,GAAG;;MCF5B,yBAAyB,CAAA;AAMlC,IAAA,WAAA,CACI,IAAY,EACZ,SAAgD,EAChD,OAA0F,EAC1F,OAA6B,EAAA;AAE7B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KAC3B;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAEM,IAAI,GAAA;AACP,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAC,GAAG,IAAI,CAAC,QAAQ,EAAC,GAAG,SAAS,CAAC;AAC3D,QAAA,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACzF;AACJ;;MC/BqB,uBAAuB,CAAA;AAIzC,IAAA,WAAA,CAAsB,MAA8C,EAAA;QAF1D,IAAO,CAAA,OAAA,GAAgB,EAAE,CAAC;AAGhC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACzB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAEM,IAAA,UAAU,CAAC,MAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;AAGG;IACO,MAAM,GAAA;AACZ,QAAA,MAAM,OAAO,GAAG;AACZ,YAAA,GAAG,IAAI;AACP,YAAA,OAAO,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC3C,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ,CAAA;AAEK,MAAgB,gBAAmE,SAAQ,uBAAoC,CAAA;IAuCjI,WAAsB,CAAA,MAA8C,EAAE,QAAgB,EAAA;QAClF,KAAK,CAAC,MAAM,CAAC,CAAC;AAjClB,uBAAyB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC;AAC3C,uBAAyB,IAAA,CAAA,wBAAwB,GAAG,KAAK,CAAC;AAC1D,uBAAyB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC;AAI3C,uBAAyB,IAAA,CAAA,YAAY,GAAqC,EAAE,CAAC;AAC7E,uBAAyB,IAAA,CAAA,iBAAiB,GAAqC,EAAE,CAAC;AAIlF,uBAAyB,IAAA,CAAA,SAAS,GAAiC,QAAQ,CAAC;AAU5E,uBAAyB,IAAA,CAAA,UAAU,GAAG,EAAE,CAAC;AAEzC,uBAAyB,IAAA,CAAA,eAAe,GAAG,EAAE,CAAC;AAC9C,uBAAyB,IAAA,CAAA,eAAe,GAAG,EAAE,CAAC;AAC9C,uBAAyB,IAAK,CAAA,KAAA,GAAkB,aAAa,CAAC,MAAM,CAAC;;AAGrE,uBAAyB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC;AAE9C,uBAAkC,IAAc,CAAA,cAAA,GAAG,IAAI,OAAO,EAA2C,CAAC;AAItG,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KACzF;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACnC;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACnC;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;KAC7C;AAED,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;KAC7C;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAIM,IAAA,SAAS,CAAC,KAAoB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,eAAe,CAAC,WAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,YAAY,CAAC,QAAQ,GAAG,IAAI,EAAE,kBAA4F,EAAE,eAAe,GAAG,KAAK,EAAA;AACtJ,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,kBAAkB,EAAE;AACpB,YAAA,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;AACjD,SAAA;AACD,QAAA,IAAI,CAAC,wBAAwB,GAAG,eAAe,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAAQ,GAAG,IAAI,EAAE,kBAA4F,EAAA;AAC7H,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,kBAAkB,EAAE;AACpB,YAAA,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;AACjD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,gBAAyF,EAAA;AACvG,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAAsC,EAAA;AACtD,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,MAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,aAAa,CAAC,SAA+B,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,oBAAoB,CAAC,gBAAsC,EAAA;AAC9D,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,aAAmC,EAAA;AACxD,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,aAAa,CAAC,SAA+B,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,aAAqE,EAAA;AAC1F,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,YAAwB,EAAA;AAC5C,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,EAAsC,EAAA;AACpD,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,EAAmD,EAAA;AACjE,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,IAAY,EAAE,SAA0B,EAAE,OAAgC,EAAA;AAC5F,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnE,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,mBAAmB,CAAC,IAAY,EAAE,cAAoC,EAAE,OAAgC,EAAA;AAC3G,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1F,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,IAAY,EAAA;AACrC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,aAAa,CAAC,SAAiB,EAAE,cAAc,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,cAAuB,EAAA;AACrG,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,QAAQ,CAAC,IAAA,GAAsB,aAAa,CAAC,MAAM,EAAA;AACtD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;AAGG;IACI,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC1B,MAAM,IAAI,oBAAoB,CAAC,CAAA,qCAAA,EAAwC,IAAI,CAAC,QAAQ,CAAiD,+CAAA,CAAA,CAAC,CAAC;AAC1I,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,IAA4B,EAAE,OAAkB,EAAE,WAAgB,EAAE,IAAkD,EAAA;AACnI,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,aAAa,EAAE,OAAO;AACtB,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,IAAI,EAAE,IAAI;AACb,SAAA,CAAC,CAAC;KACN;AAED,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC7C;AAES,IAAA,YAAY,CAAC,GAA0D,EAAA;AAC7E,QAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACrC,QAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACvC,QAAA,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACnD,QAAA,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAC/C,QAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAC/C,QAAA,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AACzC,QAAA,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AACzC,QAAA,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACnD,QAAA,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACrC,QAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,QAAA,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KAC7E;AACJ;;ACtXK,MAAO,qBAAmC,SAAQ,gBAAmC,CAAA;IAUvF,WAAY,CAAA,MAA8C,EAAE,QAAgB,EAAA;AACxE,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAPlB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAIzC,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC;AAI1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,WAAW,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,YAAA,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAC;AACtF,QAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;KAC3C;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAEM,IAAA,oBAAoB,CAAC,MAA8B,EAAA;AACtD,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,KAAqB,EAAE,IAAA,GAAsB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,EAAA;AACvH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AACzJ,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,eAAe,CAAC,EAAqC,EAAA;AACxD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,QAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;AACP,QAAA,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAc,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;AC7DK,MAAgB,qBAAmC,SAAQ,uBAAoC,CAAA;IAOjG,WAAsB,CAAA,MAA8C,EAAE,IAAY,EAAA;QAC9E,KAAK,CAAC,MAAM,CAAC,CAAC;QAJR,IAAO,CAAA,OAAA,GAA2C,EAAE,CAAC;QACrD,IAAY,CAAA,YAAA,GAAqC,EAAE,CAAC;QAI1D,IAAI,CAAC,KAAK,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AACvC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,yBAAyB,CAAC;KACtD;IAEM,WAAW,CACd,QAAgB,EAChB,cAA0G,EAAA;QAE1G,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAID,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;KACjC;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAQM,IAAA,SAAS,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,IAAY,EAAE,SAA0B,EAAE,OAAgC,EAAA;AAC5F,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;AAEK,MAAO,uBAAqC,SAAQ,qBAAkC,CAAA;IACxF,WAAY,CAAA,MAA8C,EAAE,IAAY,EAAA;AACpE,QAAA,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACvB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAmD,CAAC;KACnE;IAEM,SAAS,GAAA;AACZ,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,QAAQ,CAAC,KAAwC,EAAA;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;QACP,MAAM,GAAG,GAAG,IAAI,uBAAuB,CAAc,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9G,QAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,QAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,GAAG,CAAC;KACd;AACJ,CAAA;AAEK,MAAO,oBAAkC,SAAQ,qBAAkC,CAAA;IAGrF,WAAY,CAAA,MAA8C,EAAE,IAAY,EAAA;AACpE,QAAA,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAHhB,QAAA,IAAA,CAAA,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QAIxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,CAAC;AACpB,SAAA;KACJ;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAoD,CAAC;KACpE;IAEM,SAAS,GAAA;AACZ,QAAA,OAAO,OAAO,CAAC;KAClB;AAEM,IAAA,QAAQ,CAAC,KAAyC,EAAA;AACrD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;QACP,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAc,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7G,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,QAAA,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;AC9FY,MAAA,4BAA4B,GAAG,CAAsB,qBAAoE,KAAI;IACtI,MAAM,GAAG,GAAqE,EAAE,CAAC;AACjF,IAAA,IAAI,qBAAqB,EAAE;QACvB,IAAK,qBAAuC,CAAC,cAAc,EAAE;;AAEzD,YAAA,GAAG,CAAC,YAAY,GAAG,qBAAiE,CAAC;AACxF,SAAA;AAAM,aAAA;AACH,YAAA,GAAG,CAAC,WAAW,GAAG,qBAAkD,CAAC;AACxE,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACf,EAAE;AAEI,MAAO,qBACT,SAAQ,gBAAqD,CAAA;AAyB7D,IAAA,WAAA,CAAY,MAA8C,EAAE,QAAgB,EAAE,GAAmE,EAAA;AAC7I,QAAA,KAAK,CAAC,MAAM,EAAE,QAAkB,CAAC,CAAC;AApB5B,QAAA,IAAA,CAAA,WAAW,GAAwB,mBAAmB,CAAC,QAAQ,CAAC;QAEhE,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAAkB,CAAA,kBAAA,GAAG,4BAA4B,CAAC;QAgBxD,IAAI,GAAG,EAAE,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;AACzC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AACrF,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,GAAG,GAAG,EAAE,oBAAoB,CAAC;AAEvD,QAAA,SAAS,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;KAC/C;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,wBAAwB,GAAA;QAC/B,OAAO,IAAI,CAAC,yBAAyB,CAAC;KACzC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAEM,IAAA,wBAAwB,CAAC,QAA0B,EAAE,SAAS,GAAG,KAAK,EAAA;QACzE,OAAO,IAAI,CAAC,8BAA8B,CAAC,QAAkB,EAAE,SAAS,CAAC,CAAC;KAC7E;AAEM,IAAA,8BAA8B,CAAC,QAAgB,EAAE,SAAS,GAAG,KAAK,EAAA;AACrE,QAAA,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,2BAA2B,CAAC,QAA0B,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,iCAAiC,CAAC,QAAkB,CAAC,CAAC;KACrE;AAEM,IAAA,iCAAiC,CAAC,QAAgB,EAAA;AACrD,QAAA,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,wBAAwB,CAAC,QAA0B,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,8BAA8B,CAAC,QAAkB,CAAC,CAAC;KAClE;AAEM,IAAA,8BAA8B,CAAC,QAAgB,EAAA;QAClD,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,MAA4D,EAAA;AAC1E,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,aAAa,CAAC,aAA4B,MAAM,EAAA;AACnD,QAAA,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC;KACf;AAEe,IAAA,UAAU,CAAC,MAAyB,EAAA;AAChD,QAAA,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACnC;AAEM,IAAA,cAAc,CAAC,IAAsC,EAAA;AACxD,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,YAAY,CAAC;AACpD,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,EAAE,SAAS,CAAC;AAC9C,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,WAAW,CAAC;AAClD,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,WAAW,CAAC;AAClD,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,EAAE,YAAY,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,QAAQ,CAAC,qBAAsD,EAAE,iBAAiE,EAAA;AACrI,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC9C,QAAA,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;AACpD,QAAA,IAAI,CAAC,wBAAwB,GAAG,iBAAiB,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,mBAA2B,EAAA;AAChD,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC9C,QAAA,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;AACP,QAAA,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAA+C,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;YAChH,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;AACnD,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACnD,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC;AACjE,QAAA,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ,CAAA;AAEK,MAAO,yBAA6C,SAAQ,qBAA0E,CAAA;AAIxI,IAAA,WAAA,CAAY,MAA8C,EAAE,QAAgB,EAAE,SAA+B,EAAE,OAAqB,EAAA;AAChI,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE;AACpB,YAAA,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAa;AACpD,YAAA,oBAAoB,EAAE,OAAO;AAChC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;cACzC,QAAQ,CAAC,0BAA0B,CAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,SAAS,CAAC;cAC/I,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;AAC1I,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;KAChD;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IAEM,mBAAmB,CAAC,GAAG,eAAwC,EAAA;AAClE,QAAA,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC;AAC1I,YAAA,IAAI,mBAAmB,EAAE;AACrB,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,CAAC;AACjF,gBAAA,IAAI,MAAM,EAAE;AACR,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,oBAAoB,CAAC,YAA8B,EAAA;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC;AACrI,QAAA,IAAI,kBAAkB,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAC;AAChF,YAAA,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqC,CAAC,CAAC,CAAC;AAC7E,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEe,IAAA,cAAc,CAAC,IAAsC,EAAA;QACjE,KAAK,CAAC,cAAc,CAAC;AACjB,YAAA,GAAG,IAAI;AACP,YAAA,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI;AACtC,YAAA,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI;AAC3C,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACf;IAEe,IAAI,GAAA;AAChB,QAAA,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAoB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAClH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;AClSY,MAAA,gCAAgC,GAAG,CAAsB,qBAA8E,KAAI;IACpJ,MAAM,GAAG,GAA+E,EAAE,CAAC;AAC3F,IAAA,IAAI,qBAAqB,EAAE;QACvB,IAAK,qBAAuC,CAAC,cAAc,EAAE;;AAEzD,YAAA,GAAG,CAAC,kBAAkB,GAAG,qBAAgE,CAAC;AAC7F,SAAA;AAAM,aAAA;AACH,YAAA,GAAG,CAAC,iBAAiB,GAAG,qBAAkD,CAAC;AAC9E,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACf,EAAE;AAEI,MAAO,+BAAmG,SAAQ,gBAAqD,CAAA;IAYzK,WACI,CAAA,MAA8C,EAC9C,QAAgB,EAChB,mBAAoD,EACpD,qBAAsD,EACtD,GAA6E,EAAA;AAE7E,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAfpB,QAAA,IAAA,CAAA,UAAU,GAAkC,6BAA6B,CAAC,sBAAsB,CAAC;QACjG,IAAQ,CAAA,QAAA,GAA2C,CAAC,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACjI,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAChC,IAAsB,CAAA,sBAAA,GAAG,EAAE,CAAC;QAC5B,IAAqB,CAAA,qBAAA,GAAG,EAAE,CAAC;QAC3B,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAW3B,QAAA,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;AAChD,QAAA,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QAEpD,IAAI,GAAG,EAAE,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AAC1D,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,wBAAwB,GAAG,iBAAiB,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAC5H,SAAA;KACJ;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IAAW,sBAAsB,GAAA;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;KACvC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAEM,IAAA,UAAU,CAAC,EAAsD,EAAA;AACpE,QAAA,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,WAAW,CAAC,UAAkD,EAAE,EAAA;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,cAAgC,EAAE,aAA+B,EAAE,gBAAgB,GAAG,IAAI,EAAA;QAC/G,OAAO,IAAI,CAAC,uBAAuB,CAAC,cAAwB,EAAE,aAAuB,EAAE,gBAAgB,CAAC,CAAC;KAC5G;AAEM,IAAA,uBAAuB,CAAC,cAAsB,EAAE,aAAqB,EAAE,gBAAgB,GAAG,IAAI,EAAA;AACjG,QAAA,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAC;AAChD,QAAA,IAAI,CAAC,sBAAsB,GAAG,cAAc,CAAC;AAC7C,QAAA,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,OAAO,GAAG,IAAI,EAAE,YAAuB,EAAA;AACrD,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;QACP,MAAM,KAAK,GAAG,IAAI,+BAA+B,CAC7C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAClC;YACI,kBAAkB,EAAE,IAAI,CAAC,uBAAuB;AACnD,SAAA,CACJ,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,QAAA,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAC7D,QAAA,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ,CAAA;AAEK,MAAO,yBAA8E,SAAQ,gBAAqD,CAAA;AAMpJ,IAAA,WAAA,CAAY,MAA8C,EAAE,QAAgB,EAAE,mBAAkE,EAAA;AAC5I,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AALpB,QAAA,IAAA,CAAA,UAAU,GAA4B,uBAAuB,CAAC,YAAY,CAAC;QAC3E,IAAa,CAAA,aAAA,GAAqC,EAAE,CAAC;QACrD,IAAQ,CAAA,QAAA,GAA4C,EAAE,CAAC;AAI3D,QAAA,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;KAC5J;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;KAC1C;AAED,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;KAC9C;AAED,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;KAClD;AAED,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;KAC/C;AAEM,IAAA,eAAe,CAAC,MAAiC,EAAA;AACpD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAC,OAAoC,EAAA;AACxD,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,MAAwC,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;QACP,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAsC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;AACjJ,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACjNY,MAAA,gBAAgB,GAAG,CAAC,GAAS,KAAoB;IAC1D,OAAO,CAAC,CAAkB,KAAI;AAC1B,QAAA,MAAM,IAAI,GAAS,CAAC,EAAE,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAEnC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,MAAM,SAAS,GAAG,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;YAC/C,CAAC,EAAE,WAAW,EAAE,CAAC;AACjB,YAAA,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,YAAA,OAAO,SAAS,CAAC;AACpB,SAAA;AAED,QAAA,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;AACxB,YAAA,CAAC,CAAC,SAAS,CAAC,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC;AACN,EAAE;AAEW,MAAA,gBAAgB,GAAG,CAAC,GAAS,KAAoB;IAC1D,OAAO,CAAC,CAAkB,KAAI;AAC1B,QAAA,MAAM,IAAI,GAAS,CAAC,EAAE,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAEnC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,MAAM,SAAS,GAAG,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;YAC/C,CAAC,EAAE,WAAW,EAAE,CAAC;AACjB,YAAA,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,YAAA,OAAO,SAAS,CAAC;AACpB,SAAA;AAED,QAAA,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;AACxB,YAAA,CAAC,CAAC,SAAS,CAAC,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC;AACN;;AC8CM,MAAO,oBAAkG,SAAQ,gBAAqD,CAAA;IAwDxK,WAAY,CAAA,MAA8C,EAAE,QAAgB,EAAA;AACxE,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAxDpB,QAAA,IAAA,CAAA,UAAU,GAAuB,kBAAkB,CAAC,IAAI,CAAC;QAYzD,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;QAK1B,IAAgB,CAAA,gBAAA,GAA+B,QAAQ,CAAC;;QAIxD,IAAa,CAAA,aAAA,GAAsB,EAAE,CAAC;KAoC7C;AAED;;;;AAIG;AACI,IAAA,MAAM,CAAC,SAA6B,EAAE,GAAG,IAAW,EAAA;AACvD,QAAA,QAAQ,SAAS;YACb,KAAK,kBAAkB,CAAC,MAAM;AAC1B,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,kBAAkB,CAAC,KAAK;AACzB,gBAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,kBAAkB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACpC,KAAK,kBAAkB,CAAC,MAAM;AAC1B,gBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAClC,KAAK,kBAAkB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACpC,KAAK,kBAAkB,CAAC,MAAM;AAC1B,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,kBAAkB,CAAC,KAAK;AACzB,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,kBAAkB,CAAC,UAAU;AAC9B,gBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,KAAK,kBAAkB,CAAC,IAAI;AACxB,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,kBAAkB,CAAC,IAAI;AACxB,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,KAAK,kBAAkB,CAAC,SAAS;AAC7B,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YACrC,KAAK,kBAAkB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACpC,KAAK,kBAAkB,CAAC,MAAM;AAC1B,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,KAAK,kBAAkB,CAAC,IAAI;gBACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,SAAA;KACJ;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACnC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAW,8BAA8B,GAAA;QACrC,OAAO,IAAI,CAAC,8BAA8B,CAAC;KAC9C;AAED,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED,IAAA,IAAW,qBAAqB,GAAA;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;AAED,IAAA,IAAW,uBAAuB,GAAA;QAC9B,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;AAED,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AAED,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;IAEM,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,MAAM,CAAC,IAA6B,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;KACtF;AAEM,IAAA,UAAU,CAAC,IAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC;AACxB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACxC;AAEM,IAAA,QAAQ,CAAC,IAA+B,EAAA;AAC3C,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,IAAI,KAAK,CAAC;aACxD,mBAAmB,CAAC,IAAI,CAAC;aACzB,oBAAoB,CAAC,IAAI,CAAC;AAC1B,aAAA,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACjC;AAEM,IAAA,UAAU,CAAC,IAAoD,EAAA;QAClE,OAAO,IAAI,CAAC,gBAAgB,CAA6B;AACrD,YAAA,GAAG,IAAI;AACP,YAAA,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,GAAI,IAAI,CAAC,gBAA2B,GAAG,SAAS;AAC3F,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,gBAAgB,CAAC,IAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC;AAC9C,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,EAAE,gBAAgB,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,eAAe,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACvE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,IAAI,KAAK,CAAC;AACxD,aAAA,mBAAmB,CAAC;AACjB,YAAA,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC;AAC/C,YAAA,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC;SAClD,CAAC;aACD,oBAAoB,CAAC,IAAI,CAAC;AAC1B,aAAA,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACjC;IAEM,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,OAAO,CAAC,OAAyC,EAAE,gBAAyB,EAAA;AAC/E,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC3C,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAgB,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA,EAAG,gBAAgB,GAAG,CAAA,EAAG,gBAAgB,CAAG,CAAA,CAAA,GAAG,EAAE,CAAG,EAAA,CAAC,EAAE,EAAC,CAAA,CAAC,CAAC;AAC9H,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,eAAe,CAAO,SAA+B,EAAE,MAAoB,EAAA;AAC9E,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;cACpC,QAAQ,CAAC,0BAA0B,CAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC;AAC9H,cAAE,QAAQ,CAAC,6BAA6B,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;AACxH,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,YAAY,CAAC,IAAmC,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;AAChD,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,EAAE,MAAM,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,GAAG,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,GAAG,CAAC;AAChC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,EAAE,QAAQ,CAAC;AAC1C,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,EAAE,WAAW,CAAC;AAEhD,QAAA,IAAI,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,SAAA;AACD,QAAA,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,MAAM,CAAC,IAAY,EAAE,QAAgB,EAAA;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,MAAM,CAAC,IAAyB,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,QAAQ,CAAC;AACpC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,WAAW,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;KACpE;AAEM,IAAA,WAAW,CAAC,IAAyB,EAAA;AACxC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,IAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC;AAC9C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,QAAQ,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC;AACnC,QAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,EAAE,sBAAsB,CAAC;AACnE,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,iBAAiB,CAAC,SAA4C,EAAE,IAA8B,EAAA;AACjG,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC5C,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,EAAE,MAAM,CAAC;AAC3C,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,aAAa,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,oBAAoB,CAAC,IAAyC,EAAA;AACjE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,EAAE,WAAW,CAAC;AAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,UAAU,CAAC,MAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,mBAAmB,CAAC,IAAuC,EAAA;AAC9D,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,iBAAiB,CAAC;AACxD,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,EAAE,iBAAiB,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,kBAAkB,CAAC,WAAW,GAAG,IAAI,EAAA;AACxC,QAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,kBAAkB,CAAC,IAAuC,EAAA;AAC7D,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,aAAa,CAAC,aAA4B,MAAM,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,uBAAuB,CAAC,KAAK,GAAG,IAAI,EAAA;QACvC,IAAI,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC,IAAI,IAAI,KAAK,EAAE;YACrD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAClD,SAAA;aAAM,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,uBAAuB,CAAC,EAAwC,EAAA;AACnE,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;AAC/B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;AACP,QAAA,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAsC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1G,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACnD,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,KAAK,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACjD,QAAA,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,QAAA,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,QAAA,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACrD,QAAA,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC/C,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,CAAC;AAC3E,QAAA,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC/D,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC/C,QAAA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACzD,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;MCpfY,oBAAoB,CAAA;aACN,IAAgB,CAAA,gBAAA,GAAG,yBAAH,CAA6B,EAAA;AAmBpE;;;;AAIG;AACH,IAAA,WAAA,CAAsB,KAAmC,EAAE,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,EAAA;AApB7G,uBAAkC,IAAA,CAAA,KAAK,GAAgD,EAAE,CAAC;AAC1F,uBAAkC,IAAA,CAAA,OAAO,GAA6C,EAAE,CAAC;AACzF,uBAAyB,IAAA,CAAA,OAAO,GAA8C,EAAE,CAAC;AAIjF,uBAAyB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC;AAE3C,uBAAyB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC;AAK9C,uBAAkC,IAAc,CAAA,cAAA,GAAG,IAAI,OAAO,EAA0B,CAAC;AAQrF,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;KACnD;AAED;;AAEG;AACH,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED;;AAEG;AACH,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;AAED;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAW,0BAA0B,GAAA;QACjC,OAAO,IAAI,CAAC,2BAA2B,CAAC;KAC3C;AAED,IAAA,IAAW,gCAAgC,GAAA;QACvC,OAAO,IAAI,CAAC,iCAAiC,CAAC;KACjD;AAED,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED;;;;AAIG;IACI,cAAc,CAAC,IAAY,EAAE,KAAc,EAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAc,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAClE,SAAA;AACD,QAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,OAAO,QAAQ,CAAC;KACnB;AAED;;;;AAIG;IACI,gBAAgB,CAAC,IAAY,EAAE,KAAqB,EAAA;QACvD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAc,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE;AACR,gBAAA,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACpE,aAAA;AACD,YAAA,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAA;AACD,QAAA,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,OAAO,UAAU,CAAC;KACrB;AAED;;;AAGG;AACI,IAAA,QAAQ,CAAC,QAA2B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,QAAkB,CAAC,CAAC;KAClD;AAED;;;AAGG;AACI,IAAA,cAAc,CAAC,QAAgB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;KAClE;AAED;;;AAGG;AACI,IAAA,WAAW,CAAC,QAA2B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAkB,CAAC,CAAC;KACrD;AAED;;;AAGG;AACI,IAAA,iBAAiB,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,QAAQ,GAAG,CAAC,EAAE;AACd,YAAA,MAAM,IAAI,oBAAoB,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,gBAAA,CAAkB,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC,CAAC,CAAC;AACxG,SAAA;AACD,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAC5G,IAAI,aAAa,IAAI,CAAC,EAAE;gBACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM;AACT,aAAA;AACJ,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KACpC;AAED;;;AAGG;AACI,IAAA,kBAAkB,CAAsC,KAA4D,EAAA;QACvH,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;AAGG;AACI,IAAA,QAAQ,CAA0H,QAAkB,EAAA;QACvJ,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAsC,IAAI,EAAE,QAAkB,CAAC,CAAC;AACtG,QAAA,IAAI,CAAC,kBAAkB,CAAyB,KAAK,CAAC,CAAC;AACvD,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;AAIG;AACI,IAAA,cAAc,CAAiE,QAAgB,EAAA;QAClG,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAsC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,kBAAkB,CAAyB,KAAK,CAAC,CAAC;AACvD,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,SAAS,CAAC,GAAG,UAAiC,EAAA;AACjD,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,UAAkB,EAAA;QACpC,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;AAUG;IACI,cAAc,CAAsG,QAAW,EAAE,IAAkC,EAAA;QACtK,OAAO,IAAI,CAAC,oBAAoB,CAA0B,QAAkB,EAAE,IAAI,CAAC,CAAC;KACvF;AAED;;;;;;;;;;AAUG;IACI,oBAAoB,CAAwC,QAAgB,EAAE,IAAkC,EAAA;QACnH,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAkD,IAAI,EAAE,QAAQ,EAAE;YACrG,IAAI,EAAE,IAAI,EAAE,SAAS;AACxB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,sCAAsC,CAK3C,QAAkB,EAAE,IAAiC,EAAE,0BAA+C,EAAA;QACpG,OAAO,IAAI,CAAC,4CAA4C,CAA0B,QAAkB,EAAE,IAAI,EAAE,0BAAoC,CAAC,CAAC;KACrJ;AAED;;;;;;;;;;;;;AAaG;AACI,IAAA,4CAA4C,CAC/C,QAAgB,EAChB,IAAiC,EACjC,0BAAkC,EAAA;QAElC,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAkD,IAAI,EAAE,QAAQ,EAAE;YACrG,IAAI,EAAE,IAAI,EAAE,SAAS;AACrB,YAAA,oBAAoB,EAAE,0BAA0B;AACnD,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAA0B,KAAK,CAAC,CAAC;AACxD,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,0BAA0B,CAC7B,QAAkB,EAClB,QAAuD,EACvD,IAAkC,EAAA;QAElC,OAAO,IAAI,CAAC,gCAAgC,CAAmC,QAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;KACtH;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,gCAAgC,CACnC,QAAgB,EAChB,QAAuD,EACvD,IAAkC,EAAA;AAElC,QAAA,MAAM,GAAG,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAgD,IAAI,EAAE,QAAQ,EAAE;YACnG,IAAI,EAAE,IAAI,EAAE,SAAS;AACrB,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;;;AAcG;AACH,IAAA,iDAAiD,CAO7C,QAAkB,EAClB,QAAuD,EACvD,IAAiC,EACjC,0BAA+C,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,uDAAuD,CAAC,QAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAAoC,CAAC,CAAC;KACjJ;AAED;;;;;;;;;;;;;AAaG;AACH,IAAA,uDAAuD,CACnD,QAAgB,EAChB,QAAuD,EACvD,IAAiC,EACjC,0BAAkC,EAAA;AAElC,QAAA,MAAM,GAAG,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAgD,IAAI,EAAE,QAAQ,EAAE;YACnG,IAAI,EAAE,IAAI,EAAE,SAAS;AACrB,YAAA,oBAAoB,EAAE,0BAA0B;AAChD,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,kBAAkB,CACrB,QAA2B,EAC3B,QAA8B,EAC9B,OAAqB,EAAA;QAErB,OAAO,IAAI,CAAC,wBAAwB,CAAO,QAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KACrF;AAED;;;;;AAKG;AACI,IAAA,wBAAwB,CAA0B,QAAgB,EAAE,QAA8B,EAAE,OAAqB,EAAA;AAC5H,QAAA,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAoB,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;AAIG;IACI,kBAAkB,CACrB,QAAkB,EAClB,mBAAwD,EAAA;QAExD,OAAO,IAAI,CAAC,wBAAwB,CAAyB,QAAkB,EAAE,mBAAmB,CAAC,CAAC;KACzG;AAED;;;;AAIG;IACI,wBAAwB,CAAwC,QAAgB,EAAE,mBAAwD,EAAA;QAC7I,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAsC,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AACtH,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;AAKG;AACI,IAAA,wBAAwB,CAC3B,QAAkB,EAClB,mBAAoD,EACpD,qBAAsD,EAAA;QAEtD,OAAO,IAAI,CAAC,8BAA8B,CAAyB,QAAkB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;KACtI;AAED;;;;;AAKG;AACI,IAAA,8BAA8B,CACjC,QAAgB,EAChB,mBAAoD,EACpD,qBAAsD,EAAA;AAEtD,QAAA,MAAM,KAAK,GAAG,IAAI,+BAA+B,CAAiD,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAC9J,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,oCAAoC,CAMvC,QAAkB,EAClB,mBAAoD,EACpD,qBAAsD,EACtD,kBAA+D,EAAA;AAE/D,QAAA,OAAO,IAAI,CAAC,0CAA0C,CAClD,QAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,CACrB,CAAC;KACL;AAEM,IAAA,0CAA0C,CAC7C,QAAgB,EAChB,mBAAoD,EACpD,qBAAsD,EACtD,kBAA+D,EAAA;AAE/D,QAAA,MAAM,GAAG,GAAG,gCAAgC,CAAC,kBAAkB,CAAC,CAAC;AACjE,QAAA,MAAM,KAAK,GAAG,IAAI,+BAA+B,CAAmD,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,EAAE;AAC5J,YAAA,GAAG,GAAG;AACT,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;AAGG;IACI,YAAY,CAAC,QAAQ,GAAG,IAAI,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACI,IAAA,aAAa,CAAC,IAAY,EAAE,SAA0B,EAAE,OAAgC,EAAA;QAC3F,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/D,SAAA;KACJ;AAED;;AAEG;IACI,IAAI,GAAA;AACP,QAAA,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAc,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAClG,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YAC/B,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACpD,SAAA;AACD,QAAA,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE;AACjC,YAAA,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7C,aAAA;YACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3C,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChE,QAAA,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjG,QAAA,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAClC,QAAA,OAAO,MAAM,CAAC;KACjB;AAED;;;;AAIG;AACI,IAAA,0BAA0B,CAAC,UAA6C,EAAA;QAC3E,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;AACO,IAAA,wBAAwB,CAAC,QAA8C,EAAA;AAC7E,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;AAGG;IACK,kBAAkB,GAAA;QACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACtE,SAAA;KACJ;AAED;;;AAGG;IACK,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AACjF,SAAA;KACJ;AAED;;;;;AAKG;AACI,IAAA,qBAAqB,CAAC,QAA2B,EAAE,SAA6B,EAAE,GAAG,IAAW,EAAA;QACnG,OAAO,IAAI,CAAC,2BAA2B,CAAC,QAAkB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;KACnF;AAEM,IAAA,2BAA2B,CAAC,QAAgB,EAAE,SAA6B,EAAE,GAAG,IAAW,EAAA;AAC9F,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClB,YAAA,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,QAAQ,CAAA,4BAAA,CAA8B,CAAC,CAAC;AACnI,SAAA;QAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAC7G,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;YAChC,oBAAoB,CAAC,2BAA2B,CAC5C,IAAI,EACJ,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAChD,GAAG,IAAI,CACV,CAAC;AACL,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACI,IAAA,qBAAqB,CACxB,QAAkB,EAClB,SAAgC,EAChC,MAAoB,EAAA;QAEpB,OAAO,IAAI,CAAC,2BAA2B,CAAC,QAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KAClF;AAEM,IAAA,2BAA2B,CAAa,QAAgB,EAAE,QAA+B,EAAE,MAAoB,EAAA;AAClH,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClB,YAAA,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,QAAQ,CAAA,4BAAA,CAA8B,CAAC,CAAC;AACnI,SAAA;QACD,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAC7F,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,SAAS,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC/C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC7D,YAAA,IAAI,KAAK,IAAI,KAAK,YAAY,oBAAoB,EAAE;gBAChD,KAAK,CAAC,eAAe,CAAC,QAAQ,IAAI,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AACxH,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACI,IAAA,mCAAmC,CACtC,QAA2B,EAC3B,cAA4D,EAC5D,aAAgC,EAAA;QAEhC,OAAO,IAAI,CAAC,yCAAyC,CAAC,QAAkB,EAAE,cAAc,EAAE,aAAuB,CAAC,CAAC;KACtH;AAEM,IAAA,yCAAyC,CAC5C,QAAgB,EAChB,cAAwD,EACxD,aAAsB,EAAA;AAEtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gCAAgC,CAAsB,QAAQ,EAAE,cAAc,CAAC,CAAC,cAAc,EAAE,CAAC;AAEpH,QAAA,IAAI,aAAa,EAAE;AACd,YAAA,KAAyC,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACtF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACI,IAAA,SAAS,CACZ,QAAkB,EAClB,KAAyC,EACzC,cAAuC,EAAA;QAEvC,OAAO,IAAI,CAAC,eAAe,CAAC,QAAkB,EAAE,KAAK,EAAE,cAAwB,CAAC,CAAC;KACpF;AAEM,IAAA,eAAe,CAAmB,QAAgB,EAAE,KAAwC,EAAE,cAAsB,EAAA;AACvH,QAAA,IAAI,CAAC,iCAAiC,GAAG,QAAkB,CAAC;AAC5D,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,2BAA2B,GAAG,cAAwB,CAAC;AAC5D,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,IAAuB,EAAE,OAAkB,EAAE,WAAgB,EAAE,IAAkC,EAAA;AAC9G,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,aAAa,EAAE,OAAO;AACtB,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,IAAI,EAAE,IAAI;AACb,SAAA,CAAC,CAAC;KACN;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAClC;AAED,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC7C;AAED;;;;;;;AAOG;IACO,OAAO,2BAA2B,CACxC,UAAmC,EACnC,SAAkC,EAClC,KAAgC,EAChC,GAAG,IAAW,EAAA;QAEd,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,SAAA;QAED,IAAI,KAAK,YAAY,oBAAoB,EAAE;YACvC,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,OAAO,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,aAAA;AAAM,iBAAA;gBACH,MAAM,eAAe,GAAG,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC/E,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACnG,gBAAA,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,+BAA+B,CAAC,eAAe,EAAE,sBAAsB,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACjI,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;;AAGC,MAAO,gBAAiB,SAAQ,oBAAyB,CAAA;AAC3D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;KACnC;AAEM,IAAA,OAAO,MAAM,CAChB,UAA8B,EAC9B,aAAiC,EACjC,WAAyC,EACzC,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,EAAA;AAElD,QAAA,OAAO,IAAI,oBAAoB,CAAc,eAAe,CAAC,MAAM,CAAc,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;KAClJ;AAEM,IAAA,OAAO,SAAS,CACnB,IAA4B,EAC5B,UAA8B,EAC9B,aAAiC,EACjC,WAAyC,EACzC,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,EAAA;AAElD,QAAA,OAAO,IAAI,oBAAoB,CAAc,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;KAC9I;IAEM,OAAO,SAAS,CAAc,KAAmC,EAAE,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,EAAA;AACxH,QAAA,OAAO,IAAI,oBAAoB,CAAc,KAAK,EAAE,mBAAmB,CAAC,CAAC;KAC5E;AAED;;;;;;AAMG;AACI,IAAA,OAAO,yBAAyB,CACnC,IAA4B,EAC5B,UAA8B,EAC9B,aAAiC,EACjC,eAAe,GAAG,uBAAuB,CAAC,IAAI,EAAA;AAE9C,QAAA,OAAO,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;KAC3I;AAED;;;;;;;AAOG;AACI,IAAA,OAAO,2BAA2B,CACrC,IAA4B,EAC5B,UAAqC,EACrC,UAA8B,EAC9B,aAAiC,EACjC,eAAe,GAAG,uBAAuB,CAAC,IAAI,EAAA;AAE9C,QAAA,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAE3G,UAAU;aACL,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC1E,aAAA,OAAO,CAAC,IAAI,IACT,oBAAoB,CAAC,2BAA2B,CAC5C,UAAU,EACV,IAAI,EACJ,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,CAC5D,CACJ,CAAC;AACN,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ;;IC10BW,uBAMX;AAND,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,sBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,sBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACnB,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,GAMjC,EAAA,CAAA,CAAA,CAAA;IAEW,kBAKX;AALD,CAAA,UAAY,iBAAiB,EAAA;AACzB,IAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACnB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,GAK5B,EAAA,CAAA,CAAA,CAAA;MAEY,8BAA8B,CAAA;aAChB,IAAO,CAAA,OAAA,GAAG,kBAAkB,CAAC,EAAA;aAC7B,IAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC,EAAA;aACtC,IAAe,CAAA,eAAA,GAAG,yBAAyB,CAAC,EAAA;aAC5C,IAAU,CAAA,UAAA,GAAG,qBAAqB,CAAC,EAAA;;MAGjD,2BAA2B,CAAA;aACb,IAAU,CAAA,UAAA,GAAG,mBAAmB,CAAC,EAAA;aACjC,IAAgC,CAAA,gCAAA,GAAG,0CAA0C,CAAC,EAAA;aAC9E,IAAuC,CAAA,uCAAA,GAAG,gDAAgD,CAAC,EAAA;;;ACxBhH,MAAgB,2BAA4B,SAAQ,SAAmC,CAAA;AAYzF,IAAA,IAAa,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AACD,IAAA,IAAa,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AACD,IAAA,IAAa,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AACD,IAAA,IAAa,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AACD,IAAA,IAAa,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AACD,IAAA,IAAa,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AACD,IAAA,IAAa,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AACD,IAAA,IAAa,EAAE,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;KACnB;AACD,IAAA,IAAa,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;8GAtCiB,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,KAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,IAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,aAAA,EAAA,cAAA,CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,UAAA,EAAA,CAAA,WAAA,EAAA,YAAA,CAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,WAAA,EAAA,YAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADhD,SAAS;8BAEmB,KAAK,EAAA,CAAA;sBAA7B,KAAK;uBAAC,OAAO,CAAA;gBACE,MAAM,EAAA,CAAA;sBAArB,KAAK;uBAAC,OAAO,CAAA;gBACC,KAAK,EAAA,CAAA;sBAAnB,KAAK;uBAAC,MAAM,CAAA;gBACK,QAAQ,EAAA,CAAA;sBAAzB,KAAK;uBAAC,SAAS,CAAA;gBACF,IAAI,EAAA,CAAA;sBAAjB,KAAK;uBAAC,KAAK,CAAA;gBACU,YAAY,EAAA,CAAA;sBAAjC,KAAK;uBAAC,aAAa,CAAA;gBACJ,MAAM,EAAA,CAAA;sBAArB,KAAK;uBAAC,OAAO,CAAA;gBACM,UAAU,EAAA,CAAA;sBAA7B,KAAK;uBAAC,WAAW,CAAA;gBACL,GAAG,EAAA,CAAA;sBAAf,KAAK;uBAAC,IAAI,CAAA;gBACS,UAAU,EAAA,CAAA;sBAA7B,KAAK;uBAAC,WAAW,CAAA;;;ACIhB,MAAO,yBAQT,SAAQ,gBAA0D,CAAA;IAMlE,WAAsB,CAAA,IAAgB,EAAE,WAAyB,EAAA;AAC7D,QAAA,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAA2C,IAAI,EAAE,WAAW,CAAC,CAAC;QACvH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,CAA2D,IAAI,EAAE,WAAW,CAAC,CAAC;KACxI;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;KACxC;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;KAC/C;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;KACxC;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;KACxC;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;KACzC;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;KACzC;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;KACzC;AAED,IAAA,YAAY,CAAC,UAA2C,EAAA;AACpD,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACnD;AAED,IAAA,UAAU,CAAC,EAAiE,EAAA;AACxE,QAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,iBAAiB,CAAC,EAAsD,EAAA;AACpE,QAAA,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,SAAS,CAAC,EAAiD,EAAA;AACvD,QAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,UAAU,CAAC,EAAmD,EAAA;AAC1D,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;AAEK,MAAO,qBAAsB,SAAQ,yBAA8B,CAAA;AACrE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAC/B;AAEM,IAAA,OAAO,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,yBAAyB,CAAyD,SAAS,EAAE,SAAS,CAAC,CAAC;KACtH;IAEM,OAAO,SAAS,CAAsE,IAAsB,EAAA;AAC/G,QAAA,OAAO,IAAI,yBAAyB,CAAgE,IAAI,EAAE,SAAS,CAAC,CAAC;KACxH;AAEM,IAAA,OAAO,oBAAoB,CAC9B,IAAsB,EACtB,WAAsC,EAAA;AAEtC,QAAA,OAAO,IAAI,yBAAyB,CAA8E,IAAI,EAAE,WAAW,CAAC,CAAC;KACxI;IAEM,OAAO,WAAW,CACrB,WAAsC,EAAA;AAEtC,QAAA,OAAO,IAAI,yBAAyB,CAAuE,SAAS,EAAE,WAAW,CAAC,CAAC;KACtI;AA6BM,IAAA,OAAO,YAAY,CAOxB,IAAiB,EAAE,WAA0B,EAAA;AAC3C,QAAA,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC7B,OAAO,OAAO,WAAW,KAAK,WAAW;kBACnC,qBAAqB,CAAC,oBAAoB,CAAiC,IAAwB,EAAE,WAAwC,CAAC;AAChJ,kBAAE,qBAAqB,CAAC,SAAS,CAAwB,IAAwB,CAAC,CAAC;AAC1F,SAAA;AAAM,aAAA,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;AAC3C,YAAA,OAAO,qBAAqB,CAAC,WAAW,CAAiC,WAAwC,CAAC,CAAC;AACtH,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,qBAAqB,CAAC,MAAM,EAAyB,CAAC;AAChE,SAAA;KACJ;AACJ,CAAA;AAEK,MAAO,gCAA6F,SAAQ,yBAOjH,CAAA;AACG,IAAA,WAAA,CAAsB,WAAyB,EAAA;AAC3C,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;KACjC;AACJ,CAAA;AAEK,MAAO,4BAA6B,SAAQ,gCAAgC,CAAA;AAC9E,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,SAAS,CAAC,CAAC;KACpB;AAEM,IAAA,OAAO,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,gCAAgC,CAAY,SAAS,CAAC,CAAC;KACrE;IAEM,OAAO,WAAW,CAAU,WAAsC,EAAA;AACrE,QAAA,OAAO,IAAI,gCAAgC,CAAqC,WAAW,CAAC,CAAC;KAChG;AACJ;;ACrMK,SAAU,uCAAuC,CAAC,UAA4C,EAAA;IAChG,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,IAAI,oBAAoB,CAAC,qGAAqG,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC,CAAC,CAAC;AACxK,KAAA;AAED,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,sBAAsB,GAAiC,EAAE,CAAC;AAChE,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,MAAM,UAAU,GAAG,QAAQ,GAAG,cAAc,CAAC,IAAI,GAAG,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3G,sBAAsB,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;AAC1B,YAAA,UAAU,EAAE,QAAQ,GAAG,cAAc,CAAC,IAAI,GAAG,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC;YACnG,iBAAiB,EAAE,kCAAkC,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC;AACjF,YAAA,SAAS,EAAE,0CAA0C,CAAC,SAAS,CAAC,IAAI,CAAC;YACrE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAa;YAC3D,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAmB;AACrE,SAAA,CAAC,CAAC;AACN,KAAA;AAED,IAAA,OAAO,sBAAsB,CAAC;AAClC,CAAC;AAED;;;AAGG;AACG,SAAU,6BAA6B,CAAI,IAAkB,EAAA;AAC/D,IAAA,OAAO,uCAAuC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjH;;MCCa,uBAAuB,CAAA;AAchC,IAAA,WAAA,CAAsB,KAAsC,EAAA;QAFlD,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAG3B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA,KAAA,CAAO,CAAC;AACrD,QAAA,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtF;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAEM,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAEM,IAAA,mBAAmB,CAAC,UAA+D,EAAA;AACtF,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,UAAgD,EAAA;AACzE,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,UAAgD,EAAA;AACzE,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,iBAAiB,CAAC,UAAgD,EAAA;AACrE,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,kBAAkB,CAAC,UAAgD,EAAA;AACtE,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;AACI,IAAA,4BAA4B,CAAC,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAA;AACtE,QAAA,IAAI,IAAI,KAAK,uBAAuB,CAAC,IAAI,EAAE;AACvC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;AAC7D,SAAA;AAAM,aAAA,IAAI,IAAI,KAAK,uBAAuB,CAAC,OAAO,EAAE;AACjD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;AACnE,SAAA;AAAM,aAAA,IAAI,IAAI,KAAK,uBAAuB,CAAC,GAAG,EAAE;AAC7C,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,aAAa,CAAC,IAAY,EAAE,UAA4B,EAAA;QAC3D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,QAA8B,EAAA;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAEM,IAAA,eAAe,CAAC,QAAgB,EAAA;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAChD;AAEM,IAAA,YAAY,CAAC,QAA8B,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACtC;AAEM,IAAA,kBAAkB,CAAC,QAAgB,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KAC5C;AAEM,IAAA,UAAU,CAAyC,MAAkE,EAAA;AACxH,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAA2B,MAAM,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAwC,QAAkB,EAAA;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC1C;IAEM,aAAa,CAAkG,QAAqB,EAAE,QAA8B,EAAA;QACvK,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACxD;AAEM,IAAA,eAAe,CAAoB,QAAgB,EAAA;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAChD;IAEM,WAAW,CAAC,GAAG,UAAoC,EAAA;QACtD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,OAAO,CAAC,QAAe,EAAA;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACxC;AAEM,IAAA,aAAa,CAAC,QAAgB,EAAA;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAC9C;AAEM,IAAA,UAAU,CAAC,QAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACpC;AAEM,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAEM,IAAA,OAAO,CAAC,QAAe,EAAE,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;KAC9D;AAEM,IAAA,aAAa,CAAC,QAAgB,EAAE,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;KACpE;AAEM,IAAA,QAAQ,CAAC,QAAe,EAAE,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAA;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACrD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,cAAc,CAAC,QAAgB,EAAE,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAA;QAC1E,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC3D,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,eAAe,CAAC,QAAe,EAAE,SAAmB,EAAE,KAAc,EAAE,OAAiB,EAAA;AAC1F,QAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,qBAAqB,CAAC,QAAgB,EAAE,SAAmB,EAAE,KAAc,EAAE,OAAiB,EAAA;AACjG,QAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACvE,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,SAAS,CAAC,GAAG,UAAmB,EAAA;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,eAAe,CAAC,GAAG,UAAoB,EAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,QAAiB,EAAA;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAEM,IAAA,eAAe,CAAC,QAAgB,EAAA;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAChD;AAEM,IAAA,YAAY,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACtC;AAEM,IAAA,kBAAkB,CAAC,QAAgB,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KAC5C;AAEM,IAAA,SAAS,CAAuF,QAAiB,EAAA;QACpH,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAc,QAAQ,CAAC,CAAC;KACvD;AAEM,IAAA,eAAe,CAAc,QAAgB,EAAA;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAc,QAAQ,CAAC,CAAC;KAC7D;AAEM,IAAA,eAAe,CAClB,QAAiB,EACjB,QAAoD,EACpD,oBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAuB,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;KACtG;AAEM,IAAA,qBAAqB,CAAmC,QAAgB,EAAE,QAAoD,EAAE,oBAA6B,EAAA;AAChK,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAuB,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;KAC5G;AAEM,IAAA,mBAAmB,CAAO,QAAiB,EAAE,QAA8B,EAAE,OAAqB,EAAA;AACrG,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAO,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC7E;AAEM,IAAA,yBAAyB,CAA0B,QAAgB,EAAE,QAA8B,EAAE,OAAqB,EAAA;AAC7H,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAO,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KACnF;AAEM,IAAA,mBAAmB,CAAC,QAAgD,EAAE,WAAW,GAAG,KAAK,EAAA;QAC5F,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KACjE;IAEM,sBAAsB,CAAC,GAAG,UAAoD,EAAA;QACjF,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAC,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,4BAA4B,CAAC,GAAG,UAAoB,EAAA;QACvD,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,GAAG,UAAU,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,yBAAyB,CAAC,QAAgB,EAAE,WAAW,GAAG,KAAK,EAAA;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KACvE;IAEM,UAAU,CAAc,QAAiB,EAAE,MAAqD,EAAA;QACnG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAc,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,gBAAgB,CAAc,MAAqD,EAAA;AACtF,QAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAc,MAAM,CAAC,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,QAAQ,CAAC,QAA8B,EAAE,UAAmC,EAAA;QAC/E,OAAO,IAAI,CAAC,cAAc,CAAC,QAAkB,EAAE,UAAU,CAAC,CAAC;KAC9D;IAEM,cAAc,CAAC,QAAgB,EAAE,UAAmC,EAAA;AACvE,QAAA,QAAQ,UAAU;YACd,KAAK,uBAAuB,CAAC,IAAI;gBAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAK,uBAAuB,CAAC,GAAG;gBAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpD,KAAK,uBAAuB,CAAC,OAAO;gBAChC,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACxD,KAAK,uBAAuB,CAAC,IAAI;AAC7B,gBAAA,OAAO,IAAI,CAAC;AACnB,SAAA;KACJ;AAEM,IAAA,WAAW,CAAC,QAA8B,EAAA;AAC7C,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAkB,CAAC,CAAC;KAC9C;AAEM,IAAA,iBAAiB,CAAC,QAAgB,EAAA;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KACnD;AAEM,IAAA,kBAAkB,CAAa,KAAmD,EAAA;AACrF,QAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,QAAQ,CAAmI,QAAkB,EAAA;QAChK,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAmC,QAAQ,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,cAAc,CAAiE,QAAgB,EAAA;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAyB,QAAQ,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,SAAS,CAAC,GAAG,UAAoC,EAAA;AACpD,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACf;AAEO,IAAA,oBAAoB,CAAsC,KAA+D,EAAA;AAC7H,QAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC9C;AAED;;;;;;;;;;AAUG;IACI,cAAc,CACjB,QAAkB,EAClB,IAAkC,EAAA;AAElC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAoC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpG,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;AAUG;IACI,oBAAoB,CAAwC,QAAgB,EAAE,IAAkC,EAAA;AACnH,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAA0B,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,sCAAsC,CAK3C,QAAkB,EAAE,IAAiC,EAAE,0BAA+C,EAAA;AACpG,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,sCAAsC,CACpE,QAAQ,EACR,IAAI,EACJ,0BAA0B,CAC7B,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;;AAaG;AACI,IAAA,4CAA4C,CAC/C,QAAgB,EAChB,IAAiC,EACjC,0BAAkC,EAAA;AAElC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,4CAA4C,CAA0B,QAAQ,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;AACpJ,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,0BAA0B,CAC7B,QAAkB,EAClB,QAAuD,EACvD,IAAkC,EAAA;AAElC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAA6C,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnI,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,gCAAgC,CACnC,QAAgB,EAChB,QAAuD,EACvD,IAAkC,EAAA;AAElC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAmC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/H,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;;;AAcG;AACH,IAAA,iDAAiD,CAO7C,QAAkB,EAClB,QAAuD,EACvD,IAAiC,EACjC,0BAA+C,EAAA;AAE/C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,iDAAiD,CAC/E,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,0BAA0B,CAC7B,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;;;;;;;;;;;AAaG;AACH,IAAA,uDAAuD,CACnD,QAAgB,EAChB,QAAuD,EACvD,IAAiC,EACjC,0BAAkC,EAAA;AAElC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,uDAAuD,CACrF,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,0BAA0B,CAC7B,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,kBAAkB,CACrB,QAAkB,EAClB,QAA8B,EAC9B,OAAqB,EAAA;AAErB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,wBAAwB,CAA0B,QAAgB,EAAE,QAA8B,EAAE,OAAqB,EAAA;AAC5H,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAO,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9F,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,kBAAkB,CACrB,QAAkB,EAClB,mBAAwD,EAAA;AAExD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAmC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AACtH,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,wBAAwB,CAAwC,QAAgB,EAAE,mBAAwD,EAAA;AAC7I,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAyB,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAClH,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,wBAAwB,CAC3B,QAAkB,EAClB,mBAAoD,EACpD,qBAAsD,EAAA;AAEtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAmC,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AACnJ,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,8BAA8B,CACjC,QAAgB,EAChB,mBAAoD,EACpD,qBAAsD,EAAA;AAEtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAyB,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAC/I,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,oCAAoC,CAMvC,QAAkB,EAClB,mBAAoD,EACpD,qBAAsD,EACtD,kBAA2D,EAAA;AAE3D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,oCAAoC,CAClE,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,CACrB,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,0CAA0C,CAC7C,QAAgB,EAChB,mBAAoD,EACpD,qBAAsD,EACtD,kBAA2D,EAAA;AAE3D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,0CAA0C,CACxE,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,CACrB,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,cAAc,CAAC,IAAY,EAAE,KAAc,EAAA;QAC9C,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,gBAAgB,CAAC,IAAY,EAAE,KAAc,EAAA;QAChD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,IAAI,GAAA;AACP,QAAA,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAiC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACtD,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAChD,QAAA,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACzC,QAAA,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC3C,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;;;;;;;;;AAUG;AACI,IAAA,gBAAgB,CAAC,QAA8B,EAAE,UAA0B,EAAE,SAA8B,EAAE,iBAAyC,EAAA;AACzJ,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;KACpG;AAEM,IAAA,sBAAsB,CAAC,QAAgB,EAAE,UAA0B,EAAE,SAA8B,EAAE,iBAAyC,EAAA;AACjJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClB,YAAA,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,QAAQ,CAAA,4BAAA,CAA8B,CAAC,CAAC;AAC9H,SAAA;AACD,QAAA,IAAI,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE;YACpC,MAAM,IAAI,oBAAoB,CAAC,+CAA+C,EAAE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;AACvH,SAAA;QAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEzG,IAAI,YAAY,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,KAAK,+BAA+B,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAC7E,YAAA,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxE,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;AAMG;AACI,IAAA,gBAAgB,CACnB,QAAkB,EAClB,QAA+B,EAC/B,SAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,sBAAsB,CAAO,QAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;KACrF;AAEM,IAAA,sBAAsB,CAAa,QAAgB,EAAE,QAA+B,EAAE,SAA8B,EAAA;AACvH,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClB,YAAA,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,QAAQ,CAAA,4BAAA,CAA8B,CAAC,CAAC;AAC9H,SAAA;QACD,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEzG,IAAI,YAAY,IAAI,IAAI,EAAE;YACtB,YAAY,CAAC,SAAS,GAAG,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC;YAE9D,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACzE,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;;;AASG;IACI,kBAAkB,CACrB,QAA8B,EAC9B,IAA6B,EAC7B,cAAiD,EACjD,aAAsB,EACtB,oBAA6B,EAC7B,cAAuB,EAAA;AAEvB,QAAA,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;KACvI;IAEM,wBAAwB,CAC3B,QAAgB,EAChB,IAA6B,EAC7B,cAAiD,EACjD,aAAsB,EACtB,oBAA6B,EAC7B,cAAuB,EAAA;AAEvB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClB,YAAA,MAAM,IAAI,oBAAoB,CAAC,sDAAsD,QAAQ,CAAA,4BAAA,CAA8B,CAAC,CAAC;AAChI,SAAA;QAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEzG,IAAI,YAAY,IAAI,IAAI,EAAE;AACtB,YAAA,IAAI,KAAK,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAClF,YAAA,aAAa,KAAK,IAAI,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,SAAS,CAAC;YACrF,oBAAoB,KAAK,aAAa,CAAC;AACvC,YAAA,YAAY,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;AAChD,YAAA,YAAY,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC;YAEjD,IAAI,cAAc,IAAI,IAAI,EAAE;AACxB,gBAAA,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;gBAC3G,IAAI,CAAC,UAAU,CAAC,yCAAyC,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;gBAC1G,IAAI,CAAC,cAAc,CAAC,yCAAyC,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;gBAC9G,IAAI,CAAC,WAAW,CAAC,yCAAyC,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAC9G,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACvF,gBAAA,IAAI,aAAa,EAAE;AACf,oBAAA,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,KAAK,GAAG,aAA6B,CAAC,CAAC,CAAC;AACtE,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,SAAS,CACZ,QAAkB,EAClB,KAAyC,EACzC,cAAuC,EAAA;QAEvC,OAAO,IAAI,CAAC,eAAe,CAAC,QAAkB,EAAE,KAAK,EAAE,cAAwB,CAAC,CAAC;KACpF;AAEM,IAAA,eAAe,CAAoB,QAAgB,EAAE,KAAyC,EAAE,cAAsB,EAAA;AACzH,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,cAAwB,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAEjE,QAAA,OAAO,IAAI,CAAC;KACf;AACJ,CAAA;AAEK,MAAO,mBAAoB,SAAQ,uBAA4B,CAAA;AACjE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;KACnC;AAEM,IAAA,OAAO,MAAM,CAChB,UAAiC,EACjC,aAAoC,EACpC,WAAyC,EAAA;AAEzC,QAAA,OAAO,IAAI,uBAAuB,CAA+C,eAAe,CAAC,MAAM,CAAiB,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;KACpK;IAEM,OAAO,SAAS,CACnB,IAA+B,EAC/B,UAAiC,EACjC,aAAoC,EACpC,WAAyC,EAAA;AAEzC,QAAA,OAAO,IAAI,uBAAuB,CAA+C,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;KAC7J;IAEM,OAAO,SAAS,CACnB,KAAsC,EAAA;AAEtC,QAAA,OAAO,IAAI,uBAAuB,CAA+C,KAAK,CAAC,CAAC;KAC3F;AAED;;;;;AAKG;AACI,IAAA,OAAO,yBAAyB,CACnC,IAA+B,EAC/B,UAAiC,EACjC,aAAoC,EAAA;AAEpC,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,QAAA,UAAU,CAAC,mBAAmB,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAC3G,QAAA,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzI,UAAU,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;AAC9J,QAAA,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvI,QAAA,OAAO,UAAU,CAAC;KACrB;AAED;;;;;;;AAOG;IACI,OAAO,2BAA2B,CACrC,IAA+B,EAC/B,gBAA8C,EAC9C,eAAqD,EACrD,UAAiC,EACjC,aAAoC,EAAA;AAEpC,QAAA,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAC7G,QAAA,UAAU,CAAC,mBAAmB,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;QAE/H,IAAI,eAAe,KAAK,IAAI,EAAE;YAC1B,UAAU,CAAC,kBAAkB,CACzB,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,IAAI,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CACnJ,CAAC;YACF,UAAU,CAAC,qBAAqB,CAC5B,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,IAAI,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,CACtJ,CAAC;YACF,UAAU,CAAC,iBAAiB,CACxB,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,IAAI,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAClJ,CAAC;AACL,SAAA;AAED,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ,CAAA;AAEK,MAAO,6BAA8B,SAAQ,uBAA4B,CAAA;AAG3E,IAAA,WAAA,CAAsB,KAA2B,EAAA;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;KACjC;AAED,IAAA,IAAoB,KAAK,GAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;;AAGG;AACa,IAAA,mBAAmB,CAAC,UAAsC,EAAA;AACtE,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;AACa,IAAA,YAAY,CAAC,QAAgB,EAAA;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,yBAAyB,CAAC,WAAmB,EAAA;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;IACa,IAAI,GAAA;AAChB,QAAA,MAAM,UAAU,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACvC,QAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC1C,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ,CAAA;AAEK,MAAO,0BAA2B,SAAQ,6BAA6B,CAAA;AACzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;KACnC;AAEM,IAAA,OAAO,MAAM,CAAC,UAAmB,EAAE,aAAsB,EAAE,WAAqC,EAAA;AACnG,QAAA,OAAO,IAAI,6BAA6B,CAAC,eAAe,CAAC,MAAM,CAAM,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;KACjH;IAEM,OAAO,SAAS,CAAC,KAA2B,EAAA;AAC/C,QAAA,OAAO,IAAI,6BAA6B,CAAC,KAAK,CAAC,CAAC;KACnD;AACJ;;ACv8BK,SAAU,gCAAgC,CAAC,IAAW,EAAE,SAAiB,EAAE,UAAkD,EAAE,SAA2B,EAAA;IAC5J,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAE,KAAU,MAAM,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AACjF,IAAA,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,OAAO;AACH,QAAA,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AACjI,QAAA,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,KACjB,UAAU,CAAC,KAAK,CAAC,OAAO;aACnB,GAAG,CAAC,MAAM,IAAG;AACV,YAAA,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;gBACrC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC3G,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACjE,aAAA;AACL,SAAC,CAAC;aACD,IAAI,CAAC,SAAS,CAAC,CACvB;AACJ,KAAA,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC;AAEe,SAAA,UAAU,CAAC,IAAU,EAAE,QAAgB,EAAA;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAEzC,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC5B,IAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AACvB,IAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;AACpB,IAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEzB,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAEhC,IAAA,IAAI,CAAC,aAAa,CACd,IAAI,UAAU,CAAC,OAAO,EAAE;AACpB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,IAAI,EAAE,MAAM;AACf,KAAA,CAAC,CACL,CAAC;AAEF,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC;;ICdY,4BAYX;AAZD,CAAA,UAAY,2BAA2B,EAAA;AACnC,IAAA,2BAAA,CAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;AACP,IAAA,2BAAA,CAAA,2BAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,2BAAA,CAAA,2BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,2BAAA,CAAA,2BAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa,CAAA;AACb,IAAA,2BAAA,CAAA,2BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,2BAAA,CAAA,2BAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAe,CAAA;AACf,IAAA,2BAAA,CAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;AACP,IAAA,2BAAA,CAAA,2BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,2BAAA,CAAA,2BAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU,CAAA;AACV,IAAA,2BAAA,CAAA,2BAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,2BAAA,CAAA,2BAAA,CAAA,4BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,4BAA0B,CAAA;AAC9B,CAAC,EAZW,2BAA2B,KAA3B,2BAA2B,GAYtC,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,uBAAuB,GAAG;AAC5B,IAAA,2BAA2B,CAAC,OAAO;AACnC,IAAA,2BAA2B,CAAC,GAAG;AAC/B,IAAA,2BAA2B,CAAC,IAAI;AAChC,IAAA,2BAA2B,CAAC,aAAa;AACzC,IAAA,2BAA2B,CAAC,MAAM;AAClC,IAAA,2BAA2B,CAAC,eAAe;AAC3C,IAAA,2BAA2B,CAAC,OAAO;AACnC,IAAA,2BAA2B,CAAC,MAAM;AAClC,IAAA,2BAA2B,CAAC,UAAU;AACtC,IAAA,2BAA2B,CAAC,SAAS;AACrC,IAAA,2BAA2B,CAAC,0BAA0B;CACzD,CAAC;SAEc,0BAA0B,GAAA;AACtC,IAAA,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC;AACxC,CAAC;AAEK,SAAU,sBAAsB,CAClC,SAAiD,EACjD,cAA8C,EAC9C,uBAAmE,EACnE,QAA0B,EAAA;AAE1B,IAAA,OAAO,CAAC,cAAc,IAAI,0BAA0B,EAAE;AACjD,SAAA,GAAG,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;SAChG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAqC,CAAC;AACpE,CAAC;AAEK,SAAU,qBAAqB,CACjC,IAAiC,EACjC,SAAiD,EACjD,cAA8C,EAC9C,uBAAmE,EACnE,QAA0B,EAAA;IAE1B,IAAI,uBAAuB,IAAI,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;AAChF,QAAA,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACxC,KAAA;AAED,IAAA,QAAQ,IAAI;;QAER,KAAK,2BAA2B,CAAC,OAAO;YACpC,OAAO,sBAAsB,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACrE,KAAK,2BAA2B,CAAC,IAAI;YACjC,OAAO,mBAAmB,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/D,KAAK,2BAA2B,CAAC,MAAM;YACnC,OAAO,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;QAE5D,KAAK,2BAA2B,CAAC,GAAG;YAChC,OAAO,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7D,KAAK,2BAA2B,CAAC,0BAA0B;AACvD,YAAA,OAAO,yCAAyC,CAAC,SAAS,CAAC,CAAC;QAChE,KAAK,2BAA2B,CAAC,OAAO;AACpC,YAAA,OAAO,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,KAAK,2BAA2B,CAAC,MAAM;YACnC,OAAO,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,SAAS,CAAC;kBAC5J,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;kBAC1D,IAAI,CAAC;;QAEf,KAAK,2BAA2B,CAAC,aAAa;YAC1C,OAAO,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC;AACtF,kBAAE,4BAA4B,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;kBAC5G,IAAI,CAAC;QACf,KAAK,2BAA2B,CAAC,eAAe;YAC5C,OAAO,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,MAAM,CAAC,GAAG,8BAA8B,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;;QAEpK,KAAK,2BAA2B,CAAC,UAAU,CAAC;QAC5C,KAAK,2BAA2B,CAAC,SAAS;AACtC,YAAA,OAAO,IAAI,CAAC;AAChB,QAAA;AACI,YAAA,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,IAAI,CAAA,cAAA,CAAgB,CAAC,CAAC;AAChG,KAAA;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAA0B,EAAA;AAC3C,IAAA,OAAO,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,QAA0B,EAAA;AAC5C,IAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,IAAsC,CAAC;AACvG,CAAC;AAEe,SAAA,sBAAsB,CAAQ,UAAuC,EAAE,QAA0B,EAAA;AAC7G,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3I,CAAC;SAEe,kCAAkC,CAC9C,UAAuC,EACvC,eAAyD,EACzD,QAA0B,EAAA;AAE1B,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAG,6BAA6B,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC;AACxK,CAAC;AAEe,SAAA,kBAAkB,CAAQ,UAAuC,EAAE,QAA0B,EAAA;AACzG,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACnI,CAAC;SAEe,8BAA8B,CAC1C,UAAuC,EACvC,eAAyD,EACzD,QAA0B,EAAA;AAE1B,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC;AAChK,CAAC;AAEe,SAAA,mBAAmB,CAAQ,UAAuC,EAAE,QAA0B,EAAA;AAC1G,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACrI,CAAC;SAEe,+BAA+B,CAC3C,UAAuC,EACvC,eAAyD,EACzD,QAA0B,EAAA;AAE1B,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,OAAO,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC;AAClK,CAAC;SAEe,4BAA4B,CACxC,UAAkC,EAClC,cAA4D,EAC5D,QAA0B,EAAA;AAE1B,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE;AACpE,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,MAAM,MAAM,GAAG,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,UAAU,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACzK,MAAM;AACD,SAAA,qBAAqB,CAAC,gCAAgC,CAAC,IAAI,CAAC;AAC5D,SAAA,+BAA+B,CAAC,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAC3E,SAAA,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC;SAC3C,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC3E,IAAA,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;AAC1B,IAAA,IAAI,CAAC,cAAc;AAAE,QAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE5D,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;AAEe,SAAA,qBAAqB,CAAQ,UAAkC,EAAE,QAA0B,EAAA;AACvG,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACnI,CAAC;SAEe,iCAAiC,CAC7C,UAAkC,EAClC,eAAmD,EACnD,QAA0B,EAAA;AAE1B,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC,SAAS,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC;AAChK,CAAC;AAEe,SAAA,8BAA8B,CAAQ,KAA6B,EAAE,QAA0B,EAAA;IAC3G,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9E,IAAA,IAAI,MAAM,EAAE;QACR,MAAM;AACD,aAAA,qBAAqB,CAAC,gCAAgC,CAAC,MAAM,CAAC;AAC9D,aAAA,+BAA+B,CAAC,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAC3E,aAAA,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC;AAC3C,aAAA,eAAe,CAAC,GAAG,IAChB,oBAAoB;AAChB,cAAE,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,MAAK;AACL,gBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AACnC,gBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;AACrC,aAAC,CAAC,CACL;cACD,IAAI,CACb,CAAC;AACN,QAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAExD,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;SAEe,qBAAqB,CACjC,UAA0C,EAC1C,QAA0B,EAC1B,cAA8C,EAAA;IAE9C,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;SACtE,oBAAoB,CAAC,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAC7E,SAAA,oBAAoB,EAAE,CAAC;IAE5B,MAAM,UAAU,GAAkC,EAAE,CAAC;IAErD,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChK,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9J,IAAA,YAAY,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C,IAAA,OAAO,YAAY,CAAC;AACxB,CAAC;AAEe,SAAA,yBAAyB,CAAQ,UAA0C,EAAE,QAA0B,EAAA;IACnH,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC9E,OAAO,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC;SAC5D,eAAe,CAAC,GAAG,IAAG;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC3G,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB,QAAA,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;AACnB,QAAA,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC;AACvC,QAAA,OAAO,oBAAoB;AACvB,cAAE,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,GAAG,IAAG;gBACN,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAC,IAAI,EAAE,gCAAgC,EAAC,CAAC,CAAC;AAC1G,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC3D,UAAU,CAAC,IAAI,EAAE,CAAG,EAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAG,EAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAO,KAAA,CAAA,CAAC,CAAC;AAC5F,gBAAA,OAAO,SAAS,CAAC;AACrB,aAAC,CAAC,CACL;AACH,cAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9B,KAAC,CAAC;SACD,oBAAoB,CAAC,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzE,SAAA,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAEe,SAAA,wBAAwB,CAAQ,UAA0C,EAAE,QAA0B,EAAA;IAClH,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC9E,OAAO,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;SAC3D,eAAe,CAAC,GAAG,IAAG;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC3G,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB,QAAA,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;AACnB,QAAA,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC;AACvC,QAAA,OAAO,oBAAoB;AACvB,cAAE,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,GAAG,IAAG;AACN,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AACX,oBAAA,OAAO,SAAS,CAAC;AACpB,iBAAA;gBACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;AACrH,oBAAA,IAAI,EAAE,wBAAwB;AACjC,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC3D,UAAU,CAAC,IAAI,EAAE,CAAG,EAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAG,EAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAM,IAAA,CAAA,CAAC,CAAC;AAC3F,gBAAA,OAAO,SAAS,CAAC;AACrB,aAAC,CAAC,CACL;AACH,cAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9B,KAAC,CAAC;SACD,oBAAoB,CAAC,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzE,SAAA,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAEK,SAAU,sBAAsB,CAAQ,UAAkC,EAAA;IAC5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;AAC3D,SAAA,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC;AAC7C,SAAA,qBAAqB,CAAC,gCAAgC,CAAC,IAAI,CAAC;AAC5D,SAAA,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;SACvD,eAAe,CAAC,GAAG,IAAG;AACnB,QAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AACnC,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACpB,KAAC,CAAC,CAAC;AACP,IAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7F,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;AAEK,SAAU,yCAAyC,CAAQ,UAA0C,EAAA;IACvG,OAAO,UAAU,CAAC,WAAW,EAAE;UACzB,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;UAChK,IAAI,CAAC;AACf;;AC7SA;;;;;;;;;;;AAWG;MACU,qBAAqB,CAAA;AAW9B,IAAA,WAAA,CACY,WAAuB,EACvB,aAA2B,EAClB,QAAkB,EAAA;QAF3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAN/B,IAAc,CAAA,cAAA,GAAoB,0BAA0B,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAC,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;QACnG,IAAc,CAAA,cAAA,GAAgC,EAAE,CAAC;KAM9D;IAEI,mBAAmB,GAAA;AACvB,QAAA,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC;KACpG;AAED;;;;;AAKG;AACH,IAAA,cAAc,CAAC,EAA6D,EAAA;QACxE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACH,IAAA,oBAAoB,CAAC,QAA0C,EAAA;AAC3D,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CAAC,EAA+D,EAAA;QAC5E,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACH,IAAA,sBAAsB,CAAC,QAA8C,EAAA;AACjE,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;AACH,IAAA,UAAU,CAAC,QAA+E,EAAA;AACtF,QAAA,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;IACH,oBAAoB,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;IACH,kBAAkB,CAAC,GAAG,KAAoC,EAAA;AACtD,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACjB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9D,YAAA,IAAI,MAAM,EAAE,UAAU,KAAK,IAAI,EAAE;AAC7B,gBAAA,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;AACjC,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;IACH,qBAAqB,CAAC,GAAG,KAAoC,EAAA;AACzD,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACjB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9D,YAAA,IAAI,MAAM,EAAE;AACR,gBAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;AAC5B,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;AAOG;IACH,yBAAyB,CAA0B,IAAiC,EAAE,EAA+E,EAAA;AACjK,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9D,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,IAAI,CAAC;AAC9D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;AAMG;AACH,IAAA,UAAU,CAA+C,EAAqF,EAAA;QAC1I,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC9C,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;AAKG;IACH,KAAK,GAAA;QACD,OAAiF;AAC7E,YAAA,OAAO,EAAE,sBAAsB,CAC3B,IAAI,CAAC,WAAqD,EAC1D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EACvE,IAAI,CAAC,cAAc;iBACd,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;iBACjC,MAAM,CACH,CAAC,GAAG,EAAE,CAAC,MAAM;AACT,gBAAA,GAAG,GAAG;AACN,gBAAA,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,UAAW;AAC1B,aAAA,CAAC,EACyC,EAAE,CAChD,EACL,IAAI,CAAC,QAAQ,CAChB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;YAC7B,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;SAC/B,CAAC;KACL;AACJ;;ACvMD;;;;;;;;AAQG;SACa,SAAS,CACrB,KAA6B,EAC7B,OAAkC,EAClC,OAES,EAAA;IAET,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAOvC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAiC,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtI,IAAA,OAAO,GAAG,OAAO,CAAC,CAAC;AACnB,IAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAEK,SAAU,0BAA0B,CACtC,KAA6B,EAC7B,OAAkC,EAClC,KAA4B,EAC5B,OAAgC,EAChC,OAES,EAAA;IAET,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAOvC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAiC,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtI,IAAA,OAAO,GAAG,OAAO,CAAC,CAAC;AACnB,IAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AAC3B;;ACxDA;;ACAA;;AAEG;;;;"}