@alauda-fe/common 1.3.0 → 1.4.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 (539) hide show
  1. package/api/helpers.d.ts +8 -16
  2. package/array-form-table/form/component.d.ts +2 -2
  3. package/authorization/interceptor.service.d.ts +0 -1
  4. package/authorization/state.service.d.ts +13 -13
  5. package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
  6. package/business/resource-select/module.d.ts +2 -1
  7. package/core/abstract/base-nested-form-control.d.ts +1 -1
  8. package/core/components/tree/toggle.d.ts +3 -3
  9. package/core/constants/constants.d.ts +4 -1
  10. package/core/constants/patterns.d.ts +12 -0
  11. package/core/constants/status-icons.d.ts +2 -1
  12. package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
  13. package/core/module.d.ts +21 -21
  14. package/core/pipes/time.pipe.d.ts +1 -1
  15. package/core/services/context.service.d.ts +3 -4
  16. package/core/services/encode-url-param.interceptor.d.ts +12 -0
  17. package/core/services/feature-gate.service.d.ts +1 -1
  18. package/core/services/public-api.d.ts +1 -0
  19. package/core/services/time.service.d.ts +1 -0
  20. package/core/services/workspace-helper.service.d.ts +3 -1
  21. package/core/types/k8s/crd.d.ts +11 -5
  22. package/core/types/k8s/raw.d.ts +25 -38
  23. package/core/types/resource-definitions.d.ts +57 -71
  24. package/core/utils/common.d.ts +5 -13
  25. package/core/utils/disabled-state.d.ts +20 -0
  26. package/core/utils/public-api.d.ts +3 -0
  27. package/core/utils/router.d.ts +3 -0
  28. package/core/utils/version.d.ts +1 -1
  29. package/core/utils/workload.d.ts +66 -0
  30. package/editable/editable.component.d.ts +23 -0
  31. package/editable/editable.directive.d.ts +9 -0
  32. package/editable/editable.type.d.ts +5 -0
  33. package/editable/public-api.d.ts +2 -0
  34. package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
  35. package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
  36. package/esm2022/api/acp-common-api.service.mjs +3 -3
  37. package/esm2022/api/api-compatible.interceptor.mjs +1 -1
  38. package/esm2022/api/api-gateway.interceptor.mjs +3 -3
  39. package/esm2022/api/api-gateway.service.mjs +2 -2
  40. package/esm2022/api/cluster-version.service.mjs +3 -3
  41. package/esm2022/api/crypto.interceptor.mjs +4 -4
  42. package/esm2022/api/helpers.mjs +1 -1
  43. package/esm2022/api/k8s-api-resource.service.mjs +4 -4
  44. package/esm2022/api/k8s-api.service.mjs +6 -6
  45. package/esm2022/api/page-visibility.service.mjs +2 -2
  46. package/esm2022/api/platform-ui.service.mjs +2 -2
  47. package/esm2022/api/product.service.mjs +3 -3
  48. package/esm2022/api/project-api.service.mjs +3 -3
  49. package/esm2022/api/resource-update.service.mjs +3 -3
  50. package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
  51. package/esm2022/array-form-table/form/component.mjs +104 -111
  52. package/esm2022/array-form-table/form/module.mjs +2 -2
  53. package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
  54. package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
  55. package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
  56. package/esm2022/async-data/async-data-loader.mjs +1 -1
  57. package/esm2022/async-data/async-data.module.mjs +2 -2
  58. package/esm2022/async-data/error-page/component.mjs +21 -22
  59. package/esm2022/async-data/page-state/component.mjs +16 -15
  60. package/esm2022/authorization/app-init-url.mjs +1 -1
  61. package/esm2022/authorization/guard.service.mjs +5 -5
  62. package/esm2022/authorization/interceptor.service.mjs +10 -25
  63. package/esm2022/authorization/session-manage.service.mjs +5 -5
  64. package/esm2022/authorization/state.service.mjs +59 -93
  65. package/esm2022/authorization/storage-token.mjs +2 -2
  66. package/esm2022/business/module-info/api.service.mjs +3 -3
  67. package/esm2022/business/notification-disabled-container/component.mjs +14 -14
  68. package/esm2022/business/resource-select/base-list.mjs +3 -3
  69. package/esm2022/business/resource-select/context.service.mjs +3 -3
  70. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
  71. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
  72. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
  73. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
  74. package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
  75. package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
  76. package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
  77. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
  78. package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
  79. package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
  80. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
  81. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
  82. package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
  83. package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
  84. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
  85. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
  86. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
  87. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
  88. package/esm2022/business/resource-select/module.mjs +17 -14
  89. package/esm2022/business/resource-select/project.service.mjs +3 -3
  90. package/esm2022/business/resource-select/utils.mjs +1 -1
  91. package/esm2022/chart/chart.module.mjs +2 -2
  92. package/esm2022/chart/chart.service.mjs +4 -4
  93. package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
  94. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
  95. package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
  96. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
  97. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
  98. package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
  99. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
  100. package/esm2022/chart/common/chart/chart.component.mjs +41 -43
  101. package/esm2022/chart/common/legend/legend.component.mjs +62 -65
  102. package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
  103. package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
  104. package/esm2022/chart/common/series/area-series.component.mjs +15 -14
  105. package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
  106. package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
  107. package/esm2022/chart/common/series/line-series.component.mjs +7 -6
  108. package/esm2022/chart/common/series/series.component.mjs +3 -3
  109. package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
  110. package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
  111. package/esm2022/chart/utils.mjs +1 -1
  112. package/esm2022/code/code-display-dialog/component.mjs +9 -8
  113. package/esm2022/code/code-editor-configs.mjs +2 -2
  114. package/esm2022/code/code.module.mjs +2 -2
  115. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
  116. package/esm2022/code/resource-yaml-display/component.mjs +21 -22
  117. package/esm2022/core/abstract/base-form-container.mjs +3 -3
  118. package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
  119. package/esm2022/core/components/tree/module.mjs +2 -2
  120. package/esm2022/core/components/tree/node/component.mjs +7 -6
  121. package/esm2022/core/components/tree/outlet.mjs +4 -4
  122. package/esm2022/core/components/tree/padding.mjs +6 -6
  123. package/esm2022/core/components/tree/toggle.mjs +9 -9
  124. package/esm2022/core/components/tree/tree/component.mjs +4 -3
  125. package/esm2022/core/constants/constants.mjs +4 -1
  126. package/esm2022/core/constants/patterns.mjs +15 -4
  127. package/esm2022/core/constants/status-icons.mjs +2 -1
  128. package/esm2022/core/constants/tokens.mjs +1 -1
  129. package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
  130. package/esm2022/core/directives/click-outside.directive.mjs +4 -4
  131. package/esm2022/core/directives/declare.directive.mjs +2 -2
  132. package/esm2022/core/directives/disabled.directive.mjs +4 -4
  133. package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
  134. package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
  135. package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
  136. package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
  137. package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
  138. package/esm2022/core/directives/resize.directive.mjs +3 -3
  139. package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
  140. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
  141. package/esm2022/core/guards/feature.guard.mjs +4 -4
  142. package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
  143. package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
  144. package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
  145. package/esm2022/core/module.mjs +8 -13
  146. package/esm2022/core/pipes/calc.pipe.mjs +2 -2
  147. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
  148. package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
  149. package/esm2022/core/pipes/duration.pipe.mjs +3 -3
  150. package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
  151. package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
  152. package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
  153. package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
  154. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
  155. package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
  156. package/esm2022/core/pipes/marked.pipe.mjs +2 -2
  157. package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
  158. package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
  159. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
  160. package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
  161. package/esm2022/core/pipes/pure.pipe.mjs +2 -2
  162. package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
  163. package/esm2022/core/pipes/safe.pipe.mjs +3 -3
  164. package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
  165. package/esm2022/core/pipes/time.pipe.mjs +11 -11
  166. package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
  167. package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
  168. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
  169. package/esm2022/core/services/context.service.mjs +10 -13
  170. package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
  171. package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
  172. package/esm2022/core/services/feature-gate.service.mjs +3 -3
  173. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
  174. package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
  175. package/esm2022/core/services/k8s-util.service.mjs +3 -3
  176. package/esm2022/core/services/on-resize.service.mjs +5 -5
  177. package/esm2022/core/services/public-api.mjs +2 -1
  178. package/esm2022/core/services/silently-navigate.service.mjs +3 -3
  179. package/esm2022/core/services/time.service.mjs +4 -3
  180. package/esm2022/core/services/ui-state.service.mjs +2 -2
  181. package/esm2022/core/services/workspace-helper.service.mjs +8 -2
  182. package/esm2022/core/services/yaml-util.service.mjs +4 -4
  183. package/esm2022/core/types/k8s/crd.mjs +1 -1
  184. package/esm2022/core/types/k8s/raw.mjs +1 -1
  185. package/esm2022/core/types/resource-definitions.mjs +42 -65
  186. package/esm2022/core/utils/cache-store.mjs +1 -1
  187. package/esm2022/core/utils/common.mjs +3 -12
  188. package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
  189. package/esm2022/core/utils/cron-util.mjs +1 -1
  190. package/esm2022/core/utils/decorators.mjs +1 -1
  191. package/esm2022/core/utils/disabled-state.mjs +47 -0
  192. package/esm2022/core/utils/format-number.mjs +1 -1
  193. package/esm2022/core/utils/k8s-util.mjs +1 -1
  194. package/esm2022/core/utils/observable.mjs +1 -1
  195. package/esm2022/core/utils/operators.mjs +1 -1
  196. package/esm2022/core/utils/public-api.mjs +4 -1
  197. package/esm2022/core/utils/request-pool.mjs +1 -1
  198. package/esm2022/core/utils/resources.mjs +1 -1
  199. package/esm2022/core/utils/router.mjs +20 -0
  200. package/esm2022/core/utils/sort-fn.mjs +1 -1
  201. package/esm2022/core/utils/tree.mjs +1 -1
  202. package/esm2022/core/utils/unit.mjs +1 -1
  203. package/esm2022/core/utils/version.mjs +1 -1
  204. package/esm2022/core/utils/workload.mjs +183 -0
  205. package/esm2022/core/utils/workspace.mjs +1 -1
  206. package/esm2022/core/utils/yaml.mjs +1 -1
  207. package/esm2022/custom-columns-setting/component.mjs +30 -23
  208. package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
  209. package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
  210. package/esm2022/editable/editable.component.mjs +136 -0
  211. package/esm2022/editable/editable.directive.mjs +25 -0
  212. package/esm2022/editable/editable.type.mjs +6 -0
  213. package/esm2022/editable/public-api.mjs +3 -0
  214. package/esm2022/editable-text/component.mjs +14 -12
  215. package/esm2022/editable-text/module.mjs +2 -2
  216. package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
  217. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
  218. package/esm2022/effect-directive/event.directive.mjs +3 -3
  219. package/esm2022/effect-directive/min-max.directive.mjs +3 -3
  220. package/esm2022/effect-directive/module.mjs +2 -2
  221. package/esm2022/effect-directive/trim.directive.mjs +3 -3
  222. package/esm2022/effect-directive/validators.directive.mjs +3 -3
  223. package/esm2022/exec/module.mjs +2 -2
  224. package/esm2022/exec/placeholder/component.mjs +4 -3
  225. package/esm2022/exec/service.mjs +3 -3
  226. package/esm2022/exec/terminal/component.mjs +87 -86
  227. package/esm2022/exec/terminal-group/component.mjs +42 -44
  228. package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
  229. package/esm2022/feature-gate-forbidden/module.mjs +2 -2
  230. package/esm2022/form/directives/value-trace.directive.mjs +4 -4
  231. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
  232. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
  233. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
  234. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
  235. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
  236. package/esm2022/form/labels-editor/component.mjs +36 -36
  237. package/esm2022/form/taints-editor/component.mjs +42 -42
  238. package/esm2022/form/upload-file/component.mjs +9 -7
  239. package/esm2022/form/utils.mjs +1 -1
  240. package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
  241. package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
  242. package/esm2022/form/validators/function-validator.directive.mjs +4 -3
  243. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
  244. package/esm2022/form/validators/module.mjs +7 -8
  245. package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
  246. package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
  247. package/esm2022/form/validators/resource-limit.mjs +1 -1
  248. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
  249. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
  250. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
  251. package/esm2022/form/validators/utils.mjs +1 -1
  252. package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
  253. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
  254. package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
  255. package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
  256. package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
  257. package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
  258. package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
  259. package/esm2022/grid-layout/components/grid/component.mjs +5 -4
  260. package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
  261. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
  262. package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
  263. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
  264. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
  265. package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
  266. package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
  267. package/esm2022/grid-layout/module.mjs +2 -2
  268. package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
  269. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
  270. package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
  271. package/esm2022/help-document/component.mjs +18 -16
  272. package/esm2022/help-document/directive.mjs +4 -4
  273. package/esm2022/help-document/module.mjs +2 -2
  274. package/esm2022/help-document/service.mjs +4 -4
  275. package/esm2022/iframe-config/config.service.mjs +3 -3
  276. package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
  277. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
  278. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
  279. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
  280. package/esm2022/k8s-resource-list/utils.mjs +7 -3
  281. package/esm2022/k8s-shared/constants.mjs +53 -0
  282. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
  283. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
  284. package/esm2022/k8s-shared/public-api.mjs +2 -1
  285. package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
  286. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
  287. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
  288. package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
  289. package/esm2022/lazy-component/visibility.service.mjs +2 -2
  290. package/esm2022/license/license-api.mjs +3 -3
  291. package/esm2022/license/license-error/component.mjs +25 -25
  292. package/esm2022/license/license-error/module.mjs +2 -2
  293. package/esm2022/license/license.guard.mjs +4 -4
  294. package/esm2022/license/license.service.mjs +4 -4
  295. package/esm2022/list-display/component.mjs +39 -40
  296. package/esm2022/metric-chart/common-chart.service.mjs +3 -3
  297. package/esm2022/metric-chart/helpers.mjs +1 -1
  298. package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
  299. package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
  300. package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
  301. package/esm2022/metric-chart/utils.mjs +1 -1
  302. package/esm2022/multi-search/action-input/component.mjs +180 -181
  303. package/esm2022/multi-search/form/component.mjs +26 -22
  304. package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
  305. package/esm2022/mutable/element.mjs +1 -1
  306. package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
  307. package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
  308. package/esm2022/mutable/mutable.directive.mjs +4 -4
  309. package/esm2022/mutable/mutable.module.mjs +2 -2
  310. package/esm2022/notification/feedback-notification/component.mjs +22 -23
  311. package/esm2022/notification/notification-util.service.mjs +3 -3
  312. package/esm2022/notification/resource-error.interceptor.mjs +3 -3
  313. package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
  314. package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
  315. package/esm2022/page-guard/component/component.mjs +70 -78
  316. package/esm2022/page-guard/component/helper-directives.mjs +5 -5
  317. package/esm2022/page-guard/module.mjs +2 -2
  318. package/esm2022/page-scaffold/module.mjs +2 -2
  319. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
  320. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
  321. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
  322. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
  323. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
  324. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
  325. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
  326. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
  327. package/esm2022/page-scaffold/navigation/module.mjs +2 -2
  328. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
  329. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
  330. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
  331. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  332. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  333. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
  334. package/esm2022/page-scaffold/page/context.service.mjs +2 -2
  335. package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
  336. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
  337. package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
  338. package/esm2022/page-scaffold/page/page.component.mjs +20 -20
  339. package/esm2022/page-scaffold/page/page.module.mjs +2 -2
  340. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
  341. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
  342. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
  343. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
  344. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
  345. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
  346. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
  347. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
  348. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
  349. package/esm2022/page-scaffold/page-header/component.mjs +24 -25
  350. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
  351. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
  352. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
  353. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
  354. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
  355. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
  356. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
  357. package/esm2022/page-scaffold/page-header/module.mjs +2 -2
  358. package/esm2022/permission/helpers.mjs +1 -1
  359. package/esm2022/permission/k8s-permission.service.mjs +3 -3
  360. package/esm2022/permission/permission.guard.mjs +3 -3
  361. package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
  362. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
  363. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
  364. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
  365. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
  366. package/esm2022/pie-derivative-chart/units.mjs +14 -0
  367. package/esm2022/pod-status/component.mjs +167 -0
  368. package/esm2022/pod-status/public-api.mjs +4 -0
  369. package/esm2022/pod-status/status.mjs +84 -0
  370. package/esm2022/pod-status/typings.mjs +19 -0
  371. package/esm2022/public-api.mjs +4 -1
  372. package/esm2022/searchable-selector/component.mjs +73 -75
  373. package/esm2022/searchable-selector/module.mjs +2 -2
  374. package/esm2022/skeleton/item/component.mjs +4 -3
  375. package/esm2022/skeleton/module.mjs +2 -2
  376. package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
  377. package/esm2022/table/component.mjs +275 -276
  378. package/esm2022/table/helper.mjs +1 -1
  379. package/esm2022/table/helpers.directive.mjs +3 -3
  380. package/esm2022/table/module.mjs +40 -31
  381. package/esm2022/table/util.service.mjs +4 -4
  382. package/esm2022/translate/helpers.mjs +1 -1
  383. package/esm2022/translate/i18n-config.mjs +3 -8
  384. package/esm2022/translate/translate.directive.mjs +9 -9
  385. package/esm2022/translate/translate.module.mjs +2 -2
  386. package/esm2022/translate/translate.pipe.mjs +3 -3
  387. package/esm2022/translate/translate.service.mjs +4 -4
  388. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
  389. package/esm2022/view-chart/legend/legend.component.mjs +66 -70
  390. package/esm2022/view-chart/view-chart.component.mjs +94 -105
  391. package/esm2022/view-chart/view-chart.module.mjs +2 -2
  392. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
  393. package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
  394. package/esm2022/view-zchart/units.mjs +1 -1
  395. package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
  396. package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
  397. package/esm2022/widget/card-section/card-section.component.mjs +13 -12
  398. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
  399. package/esm2022/widget/current-time/component.mjs +4 -3
  400. package/esm2022/widget/date-range-picker/component.mjs +42 -40
  401. package/esm2022/widget/field-set/column/component.mjs +5 -3
  402. package/esm2022/widget/field-set/group/component.mjs +3 -2
  403. package/esm2022/widget/field-set/item/component.mjs +8 -7
  404. package/esm2022/widget/foldable-block/component.mjs +25 -24
  405. package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
  406. package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
  407. package/esm2022/widget/password-input/component.mjs +72 -71
  408. package/esm2022/widget/public-api.mjs +2 -1
  409. package/esm2022/widget/relative-time/component.mjs +4 -3
  410. package/esm2022/widget/resource-label/component.mjs +131 -0
  411. package/esm2022/widget/resource-multi-select/component.mjs +20 -19
  412. package/esm2022/widget/resource-multi-select/util.mjs +1 -1
  413. package/esm2022/widget/search-panel/component.mjs +3 -2
  414. package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
  415. package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
  416. package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
  417. package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
  418. package/esm2022/widget/tags-label/component.mjs +61 -62
  419. package/esm2022/widget/terminating-tag/component.mjs +4 -3
  420. package/esm2022/widget/text-ellipsis/component.mjs +11 -11
  421. package/esm2022/widget/text-tooltip/directive.mjs +3 -3
  422. package/esm2022/widget/text-with-url/component.mjs +8 -8
  423. package/esm2022/widget/widget.module.mjs +2 -2
  424. package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
  425. package/esm2022/window-channel/base-window-channel.mjs +1 -1
  426. package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
  427. package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
  428. package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
  429. package/esm2022/workload-status-icon/component.mjs +72 -0
  430. package/esm2022/workload-status-icon/public-api.mjs +2 -0
  431. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
  432. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
  433. package/esm2022/xterm/xterm.component.mjs +5 -4
  434. package/exec/terminal/component.d.ts +1 -4
  435. package/form/validators/async-function-validator.directive.d.ts +1 -1
  436. package/form/validators/function-validator.directive.d.ts +1 -1
  437. package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
  438. package/form/validators/module.d.ts +8 -8
  439. package/form/validators/not-be-validator.directive.d.ts +1 -1
  440. package/form/validators/one-of-validator.directive.d.ts +1 -1
  441. package/form/validators/resource-limit.d.ts +1 -1
  442. package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
  443. package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
  444. package/k8s-resource-list/footer/component.d.ts +9 -1
  445. package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
  446. package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
  447. package/k8s-shared/constants.d.ts +7 -0
  448. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  449. package/k8s-shared/public-api.d.ts +1 -0
  450. package/license/license-api.d.ts +1 -1
  451. package/license/license-error/component.d.ts +1 -1
  452. package/metric-chart/helpers.d.ts +1 -1
  453. package/package.json +2 -1
  454. package/page-guard/component/component.d.ts +1 -1
  455. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
  456. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
  457. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
  458. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
  459. package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
  460. package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
  461. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
  462. package/pie-derivative-chart/units.d.ts +2 -0
  463. package/pod-status/component.d.ts +27 -0
  464. package/pod-status/public-api.d.ts +3 -0
  465. package/pod-status/status.d.ts +4 -0
  466. package/pod-status/typings.d.ts +16 -0
  467. package/public-api.d.ts +3 -0
  468. package/styles/ansi-color.scss +131 -0
  469. package/styles/global.scss +4 -1
  470. package/styles/tailwind-preset.scss +1 -1
  471. package/table/component.d.ts +6 -4
  472. package/table/helper.d.ts +1 -1
  473. package/table/module.d.ts +23 -7
  474. package/widget/public-api.d.ts +1 -0
  475. package/widget/resource-label/component.d.ts +25 -0
  476. package/widget/zero-state/zero-state.component.d.ts +5 -2
  477. package/workload-status-icon/component.d.ts +36 -0
  478. package/workload-status-icon/public-api.d.ts +1 -0
  479. package/a-chart/a-chart.module.d.ts +0 -16
  480. package/a-chart/base-chart.d.ts +0 -24
  481. package/a-chart/chart-status.component.d.ts +0 -15
  482. package/a-chart/chart.component.d.ts +0 -56
  483. package/a-chart/components/base-component.d.ts +0 -12
  484. package/a-chart/components/legend/base-legend.component.d.ts +0 -31
  485. package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
  486. package/a-chart/components/legend/legend.component.d.ts +0 -17
  487. package/a-chart/components/legend/public-api.d.ts +0 -3
  488. package/a-chart/components/public-api.d.ts +0 -3
  489. package/a-chart/components/title.component.d.ts +0 -17
  490. package/a-chart/constant.d.ts +0 -6
  491. package/a-chart/public-api.d.ts +0 -12
  492. package/a-chart/types.d.ts +0 -38
  493. package/a-chart/utils.d.ts +0 -13
  494. package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
  495. package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
  496. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
  497. package/a-metric-chart/base-chart.component.d.ts +0 -14
  498. package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
  499. package/a-metric-chart/public-api.d.ts +0 -14
  500. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
  501. package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
  502. package/a-metric-chart/types.d.ts +0 -130
  503. package/a-metric-chart/utils/public-api.d.ts +0 -3
  504. package/a-metric-chart/utils/range.d.ts +0 -1
  505. package/a-metric-chart/utils/unit.d.ts +0 -48
  506. package/a-metric-chart/utils/util.d.ts +0 -45
  507. package/api/monitor-api.service.d.ts +0 -104
  508. package/esm2022/a-chart/a-chart.module.mjs +0 -76
  509. package/esm2022/a-chart/base-chart.mjs +0 -98
  510. package/esm2022/a-chart/chart-status.component.mjs +0 -195
  511. package/esm2022/a-chart/chart.component.mjs +0 -307
  512. package/esm2022/a-chart/components/base-component.mjs +0 -23
  513. package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
  514. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
  515. package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
  516. package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
  517. package/esm2022/a-chart/components/public-api.mjs +0 -4
  518. package/esm2022/a-chart/components/title.component.mjs +0 -99
  519. package/esm2022/a-chart/constant.mjs +0 -24
  520. package/esm2022/a-chart/public-api.mjs +0 -13
  521. package/esm2022/a-chart/types.mjs +0 -7
  522. package/esm2022/a-chart/utils.mjs +0 -37
  523. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
  524. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
  525. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
  526. package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
  527. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
  528. package/esm2022/a-metric-chart/public-api.mjs +0 -15
  529. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
  530. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
  531. package/esm2022/a-metric-chart/types.mjs +0 -26
  532. package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
  533. package/esm2022/a-metric-chart/utils/range.mjs +0 -35
  534. package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
  535. package/esm2022/a-metric-chart/utils/util.mjs +0 -243
  536. package/esm2022/api/monitor-api.service.mjs +0 -158
  537. package/esm2022/notification/notification-util.module.mjs +0 -32
  538. package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
  539. package/notification/notification-util.module.d.ts +0 -10
@@ -14,7 +14,7 @@ export class ErrorsMapperModule {
14
14
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ErrorsMapperModule }); }
15
15
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({}); }
16
16
  }
17
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorsMapperModule, [{
17
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorsMapperModule, [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  imports: [...ERRORS_MAPPER_MODULE],
@@ -24,4 +24,4 @@ export class ErrorsMapperModule {
24
24
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ErrorsMapperModule, { imports: [ErrorsMapperComponent,
25
25
  ErrorsMapperDirective], exports: [ErrorsMapperComponent,
26
26
  ErrorsMapperDirective] }); })();
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1hcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2Vycm9ycy1tYXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLHFCQUFxQjtJQUNyQixxQkFBcUI7Q0FDYixDQUFDO0FBRVg7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO21GQUFsQixrQkFBa0I7bUVBQWxCLGtCQUFrQjs7O3VGQUFsQixrQkFBa0I7Y0FKOUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7Z0JBQ2xDLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7YUFDbkM7O3dGQUNZLGtCQUFrQixjQVg3QixxQkFBcUI7UUFDckIscUJBQXFCLGFBRHJCLHFCQUFxQjtRQUNyQixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2Vycm9ycy1tYXBwZXItY29tcG9uZW50L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Vycm9ycy1tYXBwZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEVSUk9SU19NQVBQRVJfTU9EVUxFID0gW1xuICBFcnJvcnNNYXBwZXJDb21wb25lbnQsXG4gIEVycm9yc01hcHBlckRpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBFUlJPUlNfTUFQUEVSX01PRFVMRWBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLkVSUk9SU19NQVBQRVJfTU9EVUxFXSxcbiAgZXhwb3J0czogWy4uLkVSUk9SU19NQVBQRVJfTU9EVUxFXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JzTWFwcGVyTW9kdWxlIHt9XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1hcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2Vycm9ycy1tYXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLHFCQUFxQjtJQUNyQixxQkFBcUI7Q0FDYixDQUFDO0FBRVg7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO21GQUFsQixrQkFBa0I7bUVBQWxCLGtCQUFrQjs7O2lGQUFsQixrQkFBa0I7Y0FKOUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7Z0JBQ2xDLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7YUFDbkM7O3dGQUNZLGtCQUFrQixjQVg3QixxQkFBcUI7UUFDckIscUJBQXFCLGFBRHJCLHFCQUFxQjtRQUNyQixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2Vycm9ycy1tYXBwZXItY29tcG9uZW50L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Vycm9ycy1tYXBwZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEVSUk9SU19NQVBQRVJfTU9EVUxFID0gW1xuICBFcnJvcnNNYXBwZXJDb21wb25lbnQsXG4gIEVycm9yc01hcHBlckRpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBFUlJPUlNfTUFQUEVSX01PRFVMRWBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLkVSUk9SU19NQVBQRVJfTU9EVUxFXSxcbiAgZXhwb3J0czogWy4uLkVSUk9SU19NQVBQRVJfTU9EVUxFXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JzTWFwcGVyTW9kdWxlIHt9XG4iXX0=
@@ -18,60 +18,60 @@ import * as i6 from "../validators/maxlength-minlength-validator.directive";
18
18
  import * as i7 from "../errors-mapper/errors-mapper-component/component";
19
19
  import * as i8 from "../../effect-directive/e2e-attribute-binding.directive";
20
20
  import * as i9 from "../../effect-directive/validators.directive";
21
- const _c0 = function (a0) { return { key: a0 }; };
22
- const _c1 = function (a0) { return { duplicated: a0 }; };
21
+ const _c0 = a0 => ({ key: a0 });
22
+ const _c1 = a0 => ({ duplicated: a0 });
23
23
  function LabelsEditorComponent_tr_12_acl_errors_mapper_5_Template(rf, ctx) { if (rf & 1) {
24
24
  i0.ɵɵelement(0, "acl-errors-mapper", 20);
25
25
  i0.ɵɵpipe(1, "translate");
26
26
  } if (rf & 2) {
27
27
  i0.ɵɵnextContext();
28
- const _r4 = i0.ɵɵreference(3);
29
- i0.ɵɵproperty("errors", _r4.errors)("errorsMapper", i0.ɵɵpureFunction1(7, _c1, i0.ɵɵpipeBind2(1, 2, "label_key_already_exists", i0.ɵɵpureFunction1(5, _c0, _r4.errors == null ? null : _r4.errors.duplicated))));
28
+ const key_r4 = i0.ɵɵreference(3);
29
+ i0.ɵɵproperty("errors", key_r4.errors)("errorsMapper", i0.ɵɵpureFunction1(7, _c1, i0.ɵɵpipeBind2(1, 2, "label_key_already_exists", i0.ɵɵpureFunction1(5, _c0, key_r4.errors == null ? null : key_r4.errors.duplicated))));
30
30
  } }
31
31
  function LabelsEditorComponent_tr_12_acl_errors_mapper_9_Template(rf, ctx) { if (rf & 1) {
32
32
  i0.ɵɵelement(0, "acl-errors-mapper", 21);
33
33
  } if (rf & 2) {
34
34
  i0.ɵɵnextContext();
35
- const _r6 = i0.ɵɵreference(8);
36
- i0.ɵɵproperty("errors", _r6.errors);
35
+ const value_r5 = i0.ɵɵreference(8);
36
+ i0.ɵɵproperty("errors", value_r5.errors);
37
37
  } }
38
38
  function LabelsEditorComponent_tr_12_Template(rf, ctx) { if (rf & 1) {
39
- const _r9 = i0.ɵɵgetCurrentView();
40
- i0.ɵɵelementStart(0, "tr")(1, "td")(2, "input", 11, 12);
41
- i0.ɵɵlistener("ngModelChange", function LabelsEditorComponent_tr_12_Template_input_ngModelChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r9); const index_r3 = restoredCtx.index; const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.editLabel(index_r3, "key", $event)); });
39
+ const _r1 = i0.ɵɵgetCurrentView();
40
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "input", 13, 0);
42
41
  i0.ɵɵpipe(4, "calc");
42
+ i0.ɵɵlistener("ngModelChange", function LabelsEditorComponent_tr_12_Template_input_ngModelChange_2_listener($event) { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editLabel(index_r2, "key", $event)); });
43
43
  i0.ɵɵelementEnd();
44
- i0.ɵɵtemplate(5, LabelsEditorComponent_tr_12_acl_errors_mapper_5_Template, 2, 9, "acl-errors-mapper", 13);
44
+ i0.ɵɵtemplate(5, LabelsEditorComponent_tr_12_acl_errors_mapper_5_Template, 2, 9, "acl-errors-mapper", 14);
45
45
  i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(6, "td")(7, "input", 14, 15);
47
- i0.ɵɵlistener("ngModelChange", function LabelsEditorComponent_tr_12_Template_input_ngModelChange_7_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r9); const index_r3 = restoredCtx.index; const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.editLabel(index_r3, "value", $event)); });
46
+ i0.ɵɵelementStart(6, "td")(7, "input", 15, 1);
47
+ i0.ɵɵlistener("ngModelChange", function LabelsEditorComponent_tr_12_Template_input_ngModelChange_7_listener($event) { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editLabel(index_r2, "value", $event)); });
48
48
  i0.ɵɵelementEnd();
49
49
  i0.ɵɵtemplate(9, LabelsEditorComponent_tr_12_acl_errors_mapper_9_Template, 1, 1, "acl-errors-mapper", 16);
50
50
  i0.ɵɵelementEnd();
51
51
  i0.ɵɵelementStart(10, "td", 17)(11, "button", 18);
52
- i0.ɵɵlistener("click", function LabelsEditorComponent_tr_12_Template_button_click_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r9); const index_r3 = restoredCtx.index; const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.removeLabel(index_r3)); });
52
+ i0.ɵɵlistener("click", function LabelsEditorComponent_tr_12_Template_button_click_11_listener() { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.removeLabel(index_r2)); });
53
53
  i0.ɵɵelement(12, "aui-icon", 19);
54
54
  i0.ɵɵelementEnd()()();
55
55
  } if (rf & 2) {
56
- const label_r2 = ctx.$implicit;
57
- const index_r3 = ctx.index;
58
- const _r4 = i0.ɵɵreference(3);
59
- const _r6 = i0.ɵɵreference(8);
60
- const ctx_r0 = i0.ɵɵnextContext();
61
- i0.ɵɵclassProp("duplicated", ctx_r0.duplicatedRows[index_r3]);
56
+ const label_r6 = ctx.$implicit;
57
+ const index_r2 = ctx.index;
58
+ const key_r4 = i0.ɵɵreference(3);
59
+ const value_r5 = i0.ɵɵreference(8);
60
+ const ctx_r2 = i0.ɵɵnextContext();
61
+ i0.ɵɵclassProp("duplicated", ctx_r2.duplicatedRows[index_r2]);
62
62
  i0.ɵɵadvance(2);
63
- i0.ɵɵproperty("ngModel", label_r2.key)("aclValidateFn", i0.ɵɵpipeBind3(4, 10, ctx_r0.validateLabelKey, ctx_r0.duplicatedRows, index_r3));
63
+ i0.ɵɵproperty("ngModel", label_r6.key)("aclValidateFn", i0.ɵɵpipeBind3(4, 10, ctx_r2.validateLabelKey, ctx_r2.duplicatedRows, index_r2));
64
64
  i0.ɵɵadvance(3);
65
- i0.ɵɵproperty("ngIf", ctx_r0.submitted || _r4.dirty);
65
+ i0.ɵɵproperty("ngIf", ctx_r2.submitted || key_r4.dirty);
66
66
  i0.ɵɵadvance(2);
67
- i0.ɵɵproperty("ngModel", label_r2.value)("pattern", ctx_r0.K8S_RESOURCE_LABEL_VALUE_PATTERN.pattern);
67
+ i0.ɵɵproperty("ngModel", label_r6.value)("pattern", ctx_r2.K8S_RESOURCE_LABEL_VALUE_PATTERN.pattern);
68
68
  i0.ɵɵadvance(2);
69
- i0.ɵɵproperty("ngIf", ctx_r0.submitted || _r6.dirty);
69
+ i0.ɵɵproperty("ngIf", ctx_r2.submitted || value_r5.dirty);
70
70
  i0.ɵɵadvance(2);
71
71
  i0.ɵɵproperty("square", true)("plain", true);
72
72
  } }
73
73
  function LabelsEditorComponent_tr_13_Template(rf, ctx) { if (rf & 1) {
74
- i0.ɵɵelementStart(0, "tr")(1, "td", 7)(2, "div", 22);
74
+ i0.ɵɵelementStart(0, "tr")(1, "td", 9)(2, "div", 22);
75
75
  i0.ɵɵtext(3);
76
76
  i0.ɵɵpipe(4, "translate");
77
77
  i0.ɵɵelementEnd()()();
@@ -159,7 +159,7 @@ export class LabelsEditorComponent extends createNestedFormControl() {
159
159
  return null;
160
160
  };
161
161
  }
162
- static { this.ɵfac = /*@__PURE__*/ function () { let ɵLabelsEditorComponent_BaseFactory; return function LabelsEditorComponent_Factory(t) { return (ɵLabelsEditorComponent_BaseFactory || (ɵLabelsEditorComponent_BaseFactory = i0.ɵɵgetInheritedFactory(LabelsEditorComponent)))(t || LabelsEditorComponent); }; }(); }
162
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵLabelsEditorComponent_BaseFactory; return function LabelsEditorComponent_Factory(t) { return (ɵLabelsEditorComponent_BaseFactory || (ɵLabelsEditorComponent_BaseFactory = i0.ɵɵgetInheritedFactory(LabelsEditorComponent)))(t || LabelsEditorComponent); }; })(); }
163
163
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LabelsEditorComponent, selectors: [["acl-labels-editor"]], standalone: true, features: [i0.ɵɵProvidersFeature([
164
164
  {
165
165
  provide: NG_VALUE_ACCESSOR,
@@ -171,23 +171,22 @@ export class LabelsEditorComponent extends createNestedFormControl() {
171
171
  useExisting: forwardRef(() => LabelsEditorComponent),
172
172
  multi: true,
173
173
  },
174
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 22, vars: 15, consts: [[1, "acl-array-form-table", "mp-sticky-table-header", "mp-sticky-table-actions"], ["required", "", "width", "50%"], ["width", "50%"], [2, "min-width", "44px"], [3, "duplicated", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "acl-array-form-table--row-action"], ["colspan", "100"], [1, "acl-array-form-table__bottom-control-buttons"], ["aui-button", "primary", "size", "mini", "type", "button", 3, "plain", "disabled", "click"], ["icon", "plus_circle"], ["aui-input", "", "size", "small", "name", "key", "required", "", 3, "ngModel", "aclValidateFn", "ngModelChange"], ["key", "ngModel"], [3, "errors", "errorsMapper", 4, "ngIf"], ["aui-input", "", "size", "small", "name", "value", "aclMaxlength", "63", 3, "ngModel", "pattern", "ngModelChange"], ["value", "ngModel"], [3, "errors", 4, "ngIf"], [1, "acl-array-form-table__action-col"], ["aui-button", "text", "size", "small", "type", "button", 3, "square", "plain", "click"], ["icon", "minus_circle"], [3, "errors", "errorsMapper"], [3, "errors"], [1, "placeholder"]], template: function LabelsEditorComponent_Template(rf, ctx) { if (rf & 1) {
175
- i0.ɵɵelementStart(0, "table", 0)(1, "thead")(2, "tr")(3, "th", 1)(4, "span");
174
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 22, vars: 15, consts: [["key", "ngModel"], ["value", "ngModel"], [1, "acl-array-form-table", "mp-sticky-table-header", "mp-sticky-table-actions"], ["required", "", "width", "50%"], ["width", "50%"], [2, "min-width", "44px"], [3, "duplicated", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "acl-array-form-table--row-action"], ["colspan", "100"], [1, "acl-array-form-table__bottom-control-buttons"], ["aui-button", "primary", "size", "mini", "type", "button", 3, "click", "plain", "disabled"], ["icon", "plus_circle"], ["aui-input", "", "size", "small", "name", "key", "required", "", 3, "ngModelChange", "ngModel", "aclValidateFn"], [3, "errors", "errorsMapper", 4, "ngIf"], ["aui-input", "", "size", "small", "name", "value", "aclMaxlength", "63", 3, "ngModelChange", "ngModel", "pattern"], [3, "errors", 4, "ngIf"], [1, "acl-array-form-table__action-col"], ["aui-button", "text", "size", "small", "type", "button", 3, "click", "square", "plain"], ["icon", "minus_circle"], [3, "errors", "errorsMapper"], [3, "errors"], [1, "placeholder"]], template: function LabelsEditorComponent_Template(rf, ctx) { if (rf & 1) {
175
+ i0.ɵɵelementStart(0, "table", 2)(1, "thead")(2, "tr")(3, "th", 3)(4, "span");
176
176
  i0.ɵɵtext(5);
177
177
  i0.ɵɵpipe(6, "translate");
178
178
  i0.ɵɵelementEnd()();
179
- i0.ɵɵelementStart(7, "th", 2);
179
+ i0.ɵɵelementStart(7, "th", 4);
180
180
  i0.ɵɵtext(8);
181
181
  i0.ɵɵpipe(9, "translate");
182
182
  i0.ɵɵelementEnd();
183
- i0.ɵɵelement(10, "th", 3);
183
+ i0.ɵɵelement(10, "th", 5);
184
184
  i0.ɵɵelementEnd()();
185
185
  i0.ɵɵelementStart(11, "tbody");
186
- i0.ɵɵtemplate(12, LabelsEditorComponent_tr_12_Template, 13, 14, "tr", 4);
187
- i0.ɵɵtemplate(13, LabelsEditorComponent_tr_13_Template, 5, 3, "tr", 5);
188
- i0.ɵɵelementStart(14, "tr", 6)(15, "td", 7)(16, "div", 8)(17, "button", 9);
186
+ i0.ɵɵtemplate(12, LabelsEditorComponent_tr_12_Template, 13, 14, "tr", 6)(13, LabelsEditorComponent_tr_13_Template, 5, 3, "tr", 7);
187
+ i0.ɵɵelementStart(14, "tr", 8)(15, "td", 9)(16, "div", 10)(17, "button", 11);
189
188
  i0.ɵɵlistener("click", function LabelsEditorComponent_Template_button_click_17_listener() { return ctx.addLabel(); });
190
- i0.ɵɵelement(18, "aui-icon", 10);
189
+ i0.ɵɵelement(18, "aui-icon", 12);
191
190
  i0.ɵɵelementStart(19, "span");
192
191
  i0.ɵɵtext(20);
193
192
  i0.ɵɵpipe(21, "translate");
@@ -200,7 +199,7 @@ export class LabelsEditorComponent extends createNestedFormControl() {
200
199
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "value"));
201
200
  i0.ɵɵadvance(4);
202
201
  i0.ɵɵproperty("ngForOf", ctx.model);
203
- i0.ɵɵadvance(1);
202
+ i0.ɵɵadvance();
204
203
  i0.ɵɵproperty("ngIf", !(ctx.model == null ? null : ctx.model.length));
205
204
  i0.ɵɵadvance(4);
206
205
  i0.ɵɵproperty("plain", true)("disabled", (ctx.model == null ? null : ctx.model.length) >= 50);
@@ -209,7 +208,7 @@ export class LabelsEditorComponent extends createNestedFormControl() {
209
208
  } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf, TranslateModule, i2.TranslatePipe, FormsModule, i3.DefaultValueAccessor, i3.NgControlStatus, i3.RequiredValidator, i3.PatternValidator, i3.NgModel, InputModule, i4.InputComponent, ValidatorsModule, i5.FunctionValidatorDirective, i6.MaxLengthValidatorDirective, ErrorsMapperModule, i7.ErrorsMapperComponent, IconModule, i4.IconComponent, ButtonModule, i4.ButtonComponent, CalcPipe,
210
209
  EffectDirectiveModule, i8.E2eAttributeBindingDirective, i9.ValidatorsDirective], styles: ["[_nghost-%COMP%] {display:block;width:100%}[_nghost-%COMP%] .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}[_nghost-%COMP%] .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}[_nghost-%COMP%] .acl-array-form-table tbody tr.duplicated{background-color:rgb(var(--aui-color-r-7))}"], changeDetection: 0 }); }
211
210
  }
212
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LabelsEditorComponent, [{
211
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LabelsEditorComponent, [{
213
212
  type: Component,
214
213
  args: [{ standalone: true, selector: 'acl-labels-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
215
214
  CommonModule,
@@ -236,4 +235,5 @@ export class LabelsEditorComponent extends createNestedFormControl() {
236
235
  },
237
236
  ], template: "<table\n class=\"acl-array-form-table mp-sticky-table-header mp-sticky-table-actions\"\n [class.submitted]=\"submitted\"\n>\n <thead>\n <tr>\n <th\n required\n width=\"50%\"\n >\n <span>{{ 'key' | translate }}</span>\n </th>\n <th width=\"50%\">{{ 'value' | translate }}</th>\n <th style=\"min-width: 44px\"></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let label of model; let index = index\"\n [class.duplicated]=\"duplicatedRows[index]\"\n >\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"key\"\n #key=\"ngModel\"\n [ngModel]=\"label.key\"\n (ngModelChange)=\"editLabel(index, 'key', $event)\"\n required\n [aclValidateFn]=\"validateLabelKey | calc: duplicatedRows:index\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || key.dirty\"\n [errors]=\"key.errors\"\n [errorsMapper]=\"{\n duplicated:\n 'label_key_already_exists'\n | translate: { key: key.errors?.duplicated }\n }\"\n ></acl-errors-mapper>\n </td>\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"value\"\n #value=\"ngModel\"\n [ngModel]=\"label.value\"\n (ngModelChange)=\"editLabel(index, 'value', $event)\"\n aclMaxlength=\"63\"\n [pattern]=\"K8S_RESOURCE_LABEL_VALUE_PATTERN.pattern\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || value.dirty\"\n [errors]=\"value.errors\"\n ></acl-errors-mapper>\n </td>\n <td class=\"acl-array-form-table__action-col\">\n <button\n aui-button=\"text\"\n size=\"small\"\n type=\"button\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"removeLabel(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </td>\n </tr>\n <tr *ngIf=\"!model?.length\">\n <td colspan=\"100\">\n <div class=\"placeholder\">{{ 'no_label' | translate }}</div>\n </td>\n </tr>\n <tr class=\"acl-array-form-table--row-action\">\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <button\n aui-button=\"primary\"\n [plain]=\"true\"\n size=\"mini\"\n type=\"button\"\n (click)=\"addLabel()\"\n [disabled]=\"model?.length >= 50\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n <span>\n {{ 'add' | translate }}\n </span>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host::ng-deep{display:block;width:100%}:host::ng-deep .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}:host::ng-deep .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}:host::ng-deep .acl-array-form-table tbody tr.duplicated{background-color:rgb(var(--aui-color-r-7))}\n"] }]
238
237
  }], null, null); })();
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vbGFiZWxzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9sYWJlbHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsUUFBUSxFQUNSLHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNVcEQsd0NBUXFCOzs7OztJQU5uQixtQ0FBcUIsNktBQUE7OztJQW1CdkIsd0NBR3FCOzs7O0lBRG5CLG1DQUF1Qjs7OztJQXRDN0IsMEJBR0MsU0FBQSxvQkFBQTtJQVFLLCtPQUFpQixl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QztZQUdwQixnQ0FBd0M7WUFDeEMsNkJBQU07WUFDSixhQUNGOztZQUFBLGlCQUFPLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBOztZQXhGakIsMENBQTZCO1lBUWpCLGVBQXVCO1lBQXZCLGlEQUF1QjtZQUVmLGVBQXlCO1lBQXpCLG9EQUF5QjtZQU12QixlQUFVO1lBQVYsbUNBQVU7WUFxRHpCLGVBQW9CO1lBQXBCLHFFQUFvQjtZQVVqQixlQUFjO1lBQWQsNEJBQWMsaUVBQUE7WUFRWixlQUNGO1lBREUsOERBQ0Y7NEJEM0RSLFlBQVksdUJBQ1osZUFBZSxvQkFDZixXQUFXLHNHQUNYLFdBQVcscUJBQ1gsZ0JBQWdCLGlFQUNoQixrQkFBa0IsNEJBQ2xCLFVBQVUsb0JBQ1YsWUFBWSxzQkFFWixRQUFRO1lBQ1IscUJBQXFCOzt1RkFlWixxQkFBcUI7Y0FoQ2pDLFNBQVM7NkJBQ0ksSUFBSSxZQUNOLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixRQUFRO29CQUNSLFFBQVE7b0JBQ1IscUJBQXFCO2lCQUN0QixhQUNVO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBJbnB1dE1vZHVsZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybXNNb2R1bGUsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtZXJnZUxlZnQgfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7XG4gIENhbGNQaXBlLFxuICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk4sXG4gIFB1cmVQaXBlLFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVmZmVjdERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVycm9yc01hcHBlck1vZHVsZSB9IGZyb20gJy4uL2Vycm9ycy1tYXBwZXIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLWxhYmVscy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFZhbGlkYXRvcnNNb2R1bGUsXG4gICAgRXJyb3JzTWFwcGVyTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFB1cmVQaXBlLFxuICAgIENhbGNQaXBlLFxuICAgIEVmZmVjdERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMYWJlbHNFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGFiZWxzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsc0VkaXRvckNvbXBvbmVudCBleHRlbmRzIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sPFxuICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBQYWlyW11cbj4oKSB7XG4gIEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOID0gSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk47XG4gIGR1cGxpY2F0ZWRSb3dzOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPiA9IHt9O1xuXG4gIGFkZExhYmVsKCkge1xuICAgIHRoaXMubW9kZWwucHVzaCh7IGtleTogJycsIHZhbHVlOiAnJyB9KTtcbiAgfVxuXG4gIGVkaXRMYWJlbChpbmRleDogbnVtYmVyLCBrZXk6IGtleW9mIFBhaXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1vZGVsW2luZGV4XVtrZXldID0gdmFsdWU7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHJlbW92ZUxhYmVsKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHZhbGlkYXRlTGFiZWxLZXkgPVxuICAgIChkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sIGluZGV4OiBudW1iZXIpID0+XG4gICAgKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT5cbiAgICAgIG1lcmdlTGVmdChcbiAgICAgICAgdGhpcy5rZXlEdXBsaWNhdGVkKGR1cGxpY2F0ZWRSb3dzLCBpbmRleCkoY29udHJvbCksXG4gICAgICAgIHRoaXMua2V5UGF0dGVybihjb250cm9sKSxcbiAgICAgICk7XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRSb3dzKCk7XG4gIH1cblxuICBvdmVycmlkZSBlbWl0VmFsdWUodmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICBzdXBlci5lbWl0VmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRSb3dzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJbih2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFBhaXJbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlID8/IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBtb2RlbE91dChtb2RlbDogUGFpcltdKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIG1vZGVsLnJlZHVjZSgoYWNjLCB7IGtleSwgdmFsdWUgfSkgPT4ge1xuICAgICAgY29uc3QgayA9IGtleS50cmltKCk7XG4gICAgICBpZiAoaykge1xuICAgICAgICBhY2Nba10gPSB2YWx1ZS50cmltKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0R1cGxpY2F0ZWRSb3dzKCkge1xuICAgIHRoaXMuZHVwbGljYXRlZFJvd3MgPSAodGhpcy5tb2RlbCA/PyBbXSkucmVkdWNlKFxuICAgICAgKGFjYywgeyBrZXkgfSwgaW5kZXgsIGxhYmVscykgPT4ge1xuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IFtpLCBsYWJlbF0gb2YgbGFiZWxzLmVudHJpZXMoKSkge1xuICAgICAgICAgIGlmIChpICE9PSBpbmRleCAmJiBsYWJlbC5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgYWNjW2luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSBhcyBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPixcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlQYXR0ZXJuKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+KSB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgW25hbWUsIHByZWZpeCA9ICcnXSA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgaWYgKFxuICAgICAgbmFtZS5sZW5ndGggPiA2MyB8fFxuICAgICAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4ucGF0dGVybi50ZXN0KG5hbWUpID09PSBmYWxzZVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEhcHJlZml4ICYmXG4gICAgICAocHJlZml4Lmxlbmd0aCA+IDI1MyB8fFxuICAgICAgICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX1BSRUZJWF9QQVRURVJOLnBhdHRlcm4udGVzdChwcmVmaXgpID09PSBmYWxzZSlcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUga2V5RHVwbGljYXRlZChcbiAgICBkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sXG4gICAgaW5kZXg6IG51bWJlcixcbiAgKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAoZHVwbGljYXRlZFJvd3NbaW5kZXhdKSB7XG4gICAgICAgIHJldHVybiB7IGR1cGxpY2F0ZWQ6IGtleSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUGFpciB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuIiwiPHRhYmxlXG4gIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUgbXAtc3RpY2t5LXRhYmxlLWhlYWRlciBtcC1zdGlja3ktdGFibGUtYWN0aW9uc1wiXG4gIFtjbGFzcy5zdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICByZXF1aXJlZFxuICAgICAgICB3aWR0aD1cIjUwJVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7ICdrZXknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICAgIDx0aCB3aWR0aD1cIjUwJVwiPnt7ICd2YWx1ZScgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgPHRoIHN0eWxlPVwibWluLXdpZHRoOiA0NHB4XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyXG4gICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIFtjbGFzcy5kdXBsaWNhdGVkXT1cImR1cGxpY2F0ZWRSb3dzW2luZGV4XVwiXG4gICAgPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJrZXlcIlxuICAgICAgICAgICNrZXk9XCJuZ01vZGVsXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJsYWJlbC5rZXlcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRMYWJlbChpbmRleCwgJ2tleScsICRldmVudClcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgW2FjbFZhbGlkYXRlRm5dPVwidmFsaWRhdGVMYWJlbEtleSB8IGNhbGM6IGR1cGxpY2F0ZWRSb3dzOmluZGV4XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwga2V5LmRpcnR5XCJcbiAgICAgICAgICBbZXJyb3JzXT1cImtleS5lcnJvcnNcIlxuICAgICAgICAgIFtlcnJvcnNNYXBwZXJdPVwie1xuICAgICAgICAgICAgZHVwbGljYXRlZDpcbiAgICAgICAgICAgICAgJ2xhYmVsX2tleV9hbHJlYWR5X2V4aXN0cydcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsga2V5OiBrZXkuZXJyb3JzPy5kdXBsaWNhdGVkIH1cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgI3ZhbHVlPVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwibGFiZWwudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRMYWJlbChpbmRleCwgJ3ZhbHVlJywgJGV2ZW50KVwiXG4gICAgICAgICAgYWNsTWF4bGVuZ3RoPVwiNjNcIlxuICAgICAgICAgIFtwYXR0ZXJuXT1cIks4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLnBhdHRlcm5cIlxuICAgICAgICAvPlxuICAgICAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCB8fCB2YWx1ZS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJ2YWx1ZS5lcnJvcnNcIlxuICAgICAgICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYWN0aW9uLWNvbFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxhYmVsKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cIm1pbnVzX2NpcmNsZVwiPjwvYXVpLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdJZj1cIiFtb2RlbD8ubGVuZ3RoXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj57eyAnbm9fbGFiZWwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUtLXJvdy1hY3Rpb25cIj5cbiAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYm90dG9tLWNvbnRyb2wtYnV0dG9uc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZExhYmVsKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGVsPy5sZW5ndGggPj0gNTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwicGx1c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7ICdhZGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
238
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LabelsEditorComponent, { className: "LabelsEditorComponent" }); })();
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vbGFiZWxzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9sYWJlbHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsUUFBUSxFQUNSLHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNVcEQsd0NBUXFCOzs7OztJQUxuQixBQURBLHNDQUFxQixtTEFLbkI7OztJQWNKLHdDQUdxQjs7OztJQURuQix3Q0FBdUI7Ozs7SUFqQ3pCLEFBREYsQUFKRiwwQkFHQyxTQUNLLG1CQVVBOztJQUhBLDZOQUFpQiwyQkFBaUIsS0FBSyxTQUFTLEtBQUM7SUFObkQsaUJBU0U7SUFDRix5R0FRQztJQUNILGlCQUFLO0lBRUgsQUFERiwwQkFBSSxtQkFVQTtJQUhBLDZOQUFpQiwyQkFBaUIsT0FBTyxTQUFTLEtBQUM7SUFOckQsaUJBU0U7SUFDRix5R0FHQztJQUNILGlCQUFLO0lBRUgsQUFERiwrQkFBNkMsa0JBUTFDO0lBREMseU1BQVMsNEJBQWtCLEtBQUM7SUFFNUIsZ0NBQXlDO0lBRy9DLEFBREUsQUFERSxpQkFBUyxFQUNOLEVBQ0Y7Ozs7Ozs7SUFuREgsNkRBQTBDO0lBUXRDLGVBQXFCO0lBR3JCLEFBSEEsc0NBQXFCLGtHQUcwQztJQUc5RCxlQUE0QjtJQUE1Qix1REFBNEI7SUFlN0IsZUFBdUI7SUFHdkIsQUFIQSx3Q0FBdUIsNERBRzZCO0lBR25ELGVBQThCO0lBQTlCLHlEQUE4QjtJQVMvQixlQUFlO0lBQ2YsQUFEQSw2QkFBZSxlQUNEOzs7SUFTaEIsQUFERixBQURGLDBCQUEyQixZQUNQLGNBQ1M7SUFBQSxZQUE0Qjs7SUFFekQsQUFERSxBQUR1RCxpQkFBTSxFQUN4RCxFQUNGOztJQUZ3QixlQUE0QjtJQUE1QixzREFBNEI7O0FEakI3RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsdUJBQXVCLEVBRy9EO0lBbkNIOztRQW9DRSxxQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNwRSxtQkFBYyxHQUE0QixFQUFFLENBQUM7UUFnQjdDLHFCQUFnQixHQUNkLENBQUMsY0FBdUMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUMzRCxDQUFDLE9BQXdCLEVBQUUsRUFBRSxDQUMzQixTQUFTLENBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQ3pCLENBQUM7S0FxRlA7SUF6R0MsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxHQUFlLEVBQUUsS0FBYTtRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQVVRLFVBQVUsQ0FBQyxLQUE2QjtRQUMvQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUSxTQUFTLENBQUMsS0FBNkI7UUFDOUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRWtCLE9BQU8sQ0FBQyxLQUE2QjtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELEdBQUc7WUFDSCxLQUFLO1NBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRWtCLFFBQVEsQ0FBQyxLQUFhO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQTRCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDN0MsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNULE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztZQUVELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ3JDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ2xCLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFDRCxFQUE2QixDQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUFnQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9ELElBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFO1lBQ2hCLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUNoRSxDQUFDO1lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFDRSxDQUFDLENBQUMsTUFBTTtZQUNSLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHO2dCQUNsQixxQ0FBcUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUN2RSxDQUFDO1lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUNuQixjQUF1QyxFQUN2QyxLQUFhO1FBRWIsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzt3UEEvR1UscUJBQXFCLFNBQXJCLHFCQUFxQjtvRUFBckIscUJBQXFCLHlGQWJyQjtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNwRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQzVDSyxBQUpGLEFBREYsQUFERixBQUpGLGdDQUdDLFlBQ1EsU0FDRCxZQUlELFdBQ087WUFBQSxZQUF1Qjs7WUFDL0IsQUFEK0IsaUJBQU8sRUFDakM7WUFDTCw2QkFBZ0I7WUFBQSxZQUF5Qjs7WUFBQSxpQkFBSztZQUM5Qyx5QkFBaUM7WUFFckMsQUFERSxpQkFBSyxFQUNDO1lBQ1IsOEJBQU87WUF1REwsQUF0REEsd0VBR0MseURBbUQwQjtZQVFyQixBQURGLEFBREYsQUFERiw4QkFBNkMsYUFDekIsZUFDMEMsa0JBUXZEO1lBRkMsbUdBQVMsY0FBVSxJQUFDO1lBR3BCLGdDQUF3QztZQUN4Qyw2QkFBTTtZQUNKLGFBQ0Y7O1lBTVosQUFERSxBQURFLEFBREUsQUFERSxBQURFLEFBREUsaUJBQU8sRUFDQSxFQUNMLEVBQ0gsRUFDRixFQUNDLEVBQ0Y7O1lBOUZOLDBDQUE2QjtZQVFqQixlQUF1QjtZQUF2QixpREFBdUI7WUFFZixlQUF5QjtZQUF6QixvREFBeUI7WUFNdkIsZUFBVTtZQUFWLG1DQUFVO1lBcUR6QixjQUFvQjtZQUFwQixxRUFBb0I7WUFVakIsZUFBYztZQUlkLEFBSkEsNEJBQWMsaUVBSWtCO1lBSTlCLGVBQ0Y7WUFERSw4REFDRjs0QkQzRFIsWUFBWSx1QkFDWixlQUFlLG9CQUNmLFdBQVcsc0dBQ1gsV0FBVyxxQkFDWCxnQkFBZ0IsaUVBQ2hCLGtCQUFrQiw0QkFDbEIsVUFBVSxvQkFDVixZQUFZLHNCQUVaLFFBQVE7WUFDUixxQkFBcUI7O2lGQWVaLHFCQUFxQjtjQWhDakMsU0FBUzs2QkFDSSxJQUFJLFlBQ04sbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7b0JBQ1AsWUFBWTtvQkFDWixlQUFlO29CQUNmLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLGtCQUFrQjtvQkFDbEIsVUFBVTtvQkFDVixZQUFZO29CQUNaLFFBQVE7b0JBQ1IsUUFBUTtvQkFDUixxQkFBcUI7aUJBQ3RCLGFBQ1U7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O2tGQUVVLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWVyZ2VMZWZ0IH0gZnJvbSAncmFtZGEnO1xuXG5pbXBvcnQge1xuICBDYWxjUGlwZSxcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLFxuICBQdXJlUGlwZSxcbiAgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2wsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFZmZlY3REaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9lZmZlY3QtZGlyZWN0aXZlL21vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9lcnJvcnMtbWFwcGVyL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1sYWJlbHMtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBDYWxjUGlwZSxcbiAgICBFZmZlY3REaXJlY3RpdmVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGFiZWxzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExhYmVsc0VkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbHNFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbDxcbiAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgUGFpcltdXG4+KCkge1xuICBLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTiA9IEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOO1xuICBkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4gPSB7fTtcblxuICBhZGRMYWJlbCgpIHtcbiAgICB0aGlzLm1vZGVsLnB1c2goeyBrZXk6ICcnLCB2YWx1ZTogJycgfSk7XG4gIH1cblxuICBlZGl0TGFiZWwoaW5kZXg6IG51bWJlciwga2V5OiBrZXlvZiBQYWlyLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tb2RlbFtpbmRleF1ba2V5XSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICByZW1vdmVMYWJlbChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICB2YWxpZGF0ZUxhYmVsS2V5ID1cbiAgICAoZHVwbGljYXRlZFJvd3M6IFJlY29yZDxudW1iZXIsIGJvb2xlYW4+LCBpbmRleDogbnVtYmVyKSA9PlxuICAgIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+XG4gICAgICBtZXJnZUxlZnQoXG4gICAgICAgIHRoaXMua2V5RHVwbGljYXRlZChkdXBsaWNhdGVkUm93cywgaW5kZXgpKGNvbnRyb2wpLFxuICAgICAgICB0aGlzLmtleVBhdHRlcm4oY29udHJvbCksXG4gICAgICApO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVkUm93cygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZW1pdFZhbHVlKHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgc3VwZXIuZW1pdFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVkUm93cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQYWlyW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh2YWx1ZSA/PyB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICBrZXksXG4gICAgICB2YWx1ZSxcbiAgICB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbW9kZWxPdXQobW9kZWw6IFBhaXJbXSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiBtb2RlbC5yZWR1Y2UoKGFjYywgeyBrZXksIHZhbHVlIH0pID0+IHtcbiAgICAgIGNvbnN0IGsgPSBrZXkudHJpbSgpO1xuICAgICAgaWYgKGspIHtcbiAgICAgICAgYWNjW2tdID0gdmFsdWUudHJpbSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkUm93cygpIHtcbiAgICB0aGlzLmR1cGxpY2F0ZWRSb3dzID0gKHRoaXMubW9kZWwgPz8gW10pLnJlZHVjZShcbiAgICAgIChhY2MsIHsga2V5IH0sIGluZGV4LCBsYWJlbHMpID0+IHtcbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBbaSwgbGFiZWxdIG9mIGxhYmVscy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBpZiAoaSAhPT0gaW5kZXggJiYgbGFiZWwua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgIGFjY1tpbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30gYXMgUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUga2V5UGF0dGVybihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPikge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IFtuYW1lLCBwcmVmaXggPSAnJ10gPSBjb250cm9sLnZhbHVlLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgIGlmIChcbiAgICAgIG5hbWUubGVuZ3RoID4gNjMgfHxcbiAgICAgIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOLnBhdHRlcm4udGVzdChuYW1lKSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhIXByZWZpeCAmJlxuICAgICAgKHByZWZpeC5sZW5ndGggPiAyNTMgfHxcbiAgICAgICAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTi5wYXR0ZXJuLnRlc3QocHJlZml4KSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGtleUR1cGxpY2F0ZWQoXG4gICAgZHVwbGljYXRlZFJvd3M6IFJlY29yZDxudW1iZXIsIGJvb2xlYW4+LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICkge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYgKGR1cGxpY2F0ZWRSb3dzW2luZGV4XSkge1xuICAgICAgICByZXR1cm4geyBkdXBsaWNhdGVkOiBrZXkgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cbn1cblxuaW50ZXJmYWNlIFBhaXIge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cbiIsIjx0YWJsZVxuICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlIG1wLXN0aWNreS10YWJsZS1oZWFkZXIgbXAtc3RpY2t5LXRhYmxlLWFjdGlvbnNcIlxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXG4+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGhcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgd2lkdGg9XCI1MCVcIlxuICAgICAgPlxuICAgICAgICA8c3Bhbj57eyAna2V5JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggd2lkdGg9XCI1MCVcIj57eyAndmFsdWUnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0aCBzdHlsZT1cIm1pbi13aWR0aDogNDRweFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0clxuICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIG1vZGVsOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICBbY2xhc3MuZHVwbGljYXRlZF09XCJkdXBsaWNhdGVkUm93c1tpbmRleF1cIlxuICAgID5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwia2V5XCJcbiAgICAgICAgICAja2V5PVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwibGFiZWwua2V5XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0TGFiZWwoaW5kZXgsICdrZXknLCAkZXZlbnQpXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIFthY2xWYWxpZGF0ZUZuXT1cInZhbGlkYXRlTGFiZWxLZXkgfCBjYWxjOiBkdXBsaWNhdGVkUm93czppbmRleFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkIHx8IGtleS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJrZXkuZXJyb3JzXCJcbiAgICAgICAgICBbZXJyb3JzTWFwcGVyXT1cIntcbiAgICAgICAgICAgIGR1cGxpY2F0ZWQ6XG4gICAgICAgICAgICAgICdsYWJlbF9rZXlfYWxyZWFkeV9leGlzdHMnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGtleToga2V5LmVycm9ycz8uZHVwbGljYXRlZCB9XG4gICAgICAgICAgfVwiXG4gICAgICAgID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwidmFsdWVcIlxuICAgICAgICAgICN2YWx1ZT1cIm5nTW9kZWxcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImxhYmVsLnZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0TGFiZWwoaW5kZXgsICd2YWx1ZScsICRldmVudClcIlxuICAgICAgICAgIGFjbE1heGxlbmd0aD1cIjYzXCJcbiAgICAgICAgICBbcGF0dGVybl09XCJLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTi5wYXR0ZXJuXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwgdmFsdWUuZGlydHlcIlxuICAgICAgICAgIFtlcnJvcnNdPVwidmFsdWUuZXJyb3JzXCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2FjdGlvbi1jb2xcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVMYWJlbChpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtaW51c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgKm5nSWY9XCIhbW9kZWw/Lmxlbmd0aFwiPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+e3sgJ25vX2xhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlLS1yb3ctYWN0aW9uXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2JvdHRvbS1jb250cm9sLWJ1dHRvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRMYWJlbCgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbD8ubGVuZ3RoID49IDUwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInBsdXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -21,68 +21,68 @@ function TaintsEditorComponent_tr_15_acl_errors_mapper_4_Template(rf, ctx) { if
21
21
  i0.ɵɵelement(0, "acl-errors-mapper", 22);
22
22
  } if (rf & 2) {
23
23
  i0.ɵɵnextContext();
24
- const _r4 = i0.ɵɵreference(3);
25
- i0.ɵɵproperty("errors", _r4.errors);
24
+ const key_r4 = i0.ɵɵreference(3);
25
+ i0.ɵɵproperty("errors", key_r4.errors);
26
26
  } }
27
27
  function TaintsEditorComponent_tr_15_acl_errors_mapper_8_Template(rf, ctx) { if (rf & 1) {
28
28
  i0.ɵɵelement(0, "acl-errors-mapper", 22);
29
29
  } if (rf & 2) {
30
30
  i0.ɵɵnextContext();
31
- const _r6 = i0.ɵɵreference(7);
32
- i0.ɵɵproperty("errors", _r6.errors);
31
+ const value_r5 = i0.ɵɵreference(7);
32
+ i0.ɵɵproperty("errors", value_r5.errors);
33
33
  } }
34
34
  function TaintsEditorComponent_tr_15_aui_option_11_Template(rf, ctx) { if (rf & 1) {
35
35
  i0.ɵɵelementStart(0, "aui-option", 23);
36
36
  i0.ɵɵtext(1);
37
37
  i0.ɵɵelementEnd();
38
38
  } if (rf & 2) {
39
- const effect_r9 = ctx.$implicit;
40
- i0.ɵɵproperty("value", effect_r9);
41
- i0.ɵɵadvance(1);
42
- i0.ɵɵtextInterpolate1(" ", effect_r9, " ");
39
+ const effect_r6 = ctx.$implicit;
40
+ i0.ɵɵproperty("value", effect_r6);
41
+ i0.ɵɵadvance();
42
+ i0.ɵɵtextInterpolate1(" ", effect_r6, " ");
43
43
  } }
44
44
  function TaintsEditorComponent_tr_15_Template(rf, ctx) { if (rf & 1) {
45
- const _r11 = i0.ɵɵgetCurrentView();
46
- i0.ɵɵelementStart(0, "tr")(1, "td")(2, "input", 12, 13);
47
- i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_input_ngModelChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r11); const index_r3 = restoredCtx.index; const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.editTaint(index_r3, "key", $event)); });
45
+ const _r1 = i0.ɵɵgetCurrentView();
46
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "input", 14, 0);
47
+ i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_input_ngModelChange_2_listener($event) { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editTaint(index_r2, "key", $event)); });
48
48
  i0.ɵɵelementEnd();
49
- i0.ɵɵtemplate(4, TaintsEditorComponent_tr_15_acl_errors_mapper_4_Template, 1, 1, "acl-errors-mapper", 14);
49
+ i0.ɵɵtemplate(4, TaintsEditorComponent_tr_15_acl_errors_mapper_4_Template, 1, 1, "acl-errors-mapper", 15);
50
50
  i0.ɵɵelementEnd();
51
- i0.ɵɵelementStart(5, "td")(6, "input", 15, 16);
52
- i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_input_ngModelChange_6_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r11); const index_r3 = restoredCtx.index; const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.editTaint(index_r3, "value", $event)); });
51
+ i0.ɵɵelementStart(5, "td")(6, "input", 16, 1);
52
+ i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_input_ngModelChange_6_listener($event) { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editTaint(index_r2, "value", $event)); });
53
53
  i0.ɵɵelementEnd();
54
- i0.ɵɵtemplate(8, TaintsEditorComponent_tr_15_acl_errors_mapper_8_Template, 1, 1, "acl-errors-mapper", 14);
54
+ i0.ɵɵtemplate(8, TaintsEditorComponent_tr_15_acl_errors_mapper_8_Template, 1, 1, "acl-errors-mapper", 15);
55
55
  i0.ɵɵelementEnd();
56
56
  i0.ɵɵelementStart(9, "td")(10, "aui-select", 17);
57
- i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_aui_select_ngModelChange_10_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r11); const index_r3 = restoredCtx.index; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.editTaint(index_r3, "effect", $event)); });
57
+ i0.ɵɵlistener("ngModelChange", function TaintsEditorComponent_tr_15_Template_aui_select_ngModelChange_10_listener($event) { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editTaint(index_r2, "effect", $event)); });
58
58
  i0.ɵɵtemplate(11, TaintsEditorComponent_tr_15_aui_option_11_Template, 2, 2, "aui-option", 18);
59
59
  i0.ɵɵelementEnd()();
60
60
  i0.ɵɵelementStart(12, "td", 19)(13, "button", 20);
61
- i0.ɵɵlistener("click", function TaintsEditorComponent_tr_15_Template_button_click_13_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const index_r3 = restoredCtx.index; const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.removeTaint(index_r3)); });
61
+ i0.ɵɵlistener("click", function TaintsEditorComponent_tr_15_Template_button_click_13_listener() { const index_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.removeTaint(index_r2)); });
62
62
  i0.ɵɵelement(14, "aui-icon", 21);
63
63
  i0.ɵɵelementEnd()()();
64
64
  } if (rf & 2) {
65
- const taint_r2 = ctx.$implicit;
66
- const _r4 = i0.ɵɵreference(3);
67
- const _r6 = i0.ɵɵreference(7);
68
- const ctx_r0 = i0.ɵɵnextContext();
65
+ const taint_r7 = ctx.$implicit;
66
+ const key_r4 = i0.ɵɵreference(3);
67
+ const value_r5 = i0.ɵɵreference(7);
68
+ const ctx_r2 = i0.ɵɵnextContext();
69
69
  i0.ɵɵadvance(2);
70
- i0.ɵɵproperty("ngModel", taint_r2.key)("aclValidateFn", ctx_r0.keyPattern);
70
+ i0.ɵɵproperty("ngModel", taint_r7.key)("aclValidateFn", ctx_r2.keyPattern);
71
71
  i0.ɵɵadvance(2);
72
- i0.ɵɵproperty("ngIf", ctx_r0.submitted || _r4.dirty);
72
+ i0.ɵɵproperty("ngIf", ctx_r2.submitted || key_r4.dirty);
73
73
  i0.ɵɵadvance(2);
74
- i0.ɵɵproperty("ngModel", taint_r2.value);
74
+ i0.ɵɵproperty("ngModel", taint_r7.value);
75
75
  i0.ɵɵadvance(2);
76
- i0.ɵɵproperty("ngIf", ctx_r0.submitted || _r6.dirty);
76
+ i0.ɵɵproperty("ngIf", ctx_r2.submitted || value_r5.dirty);
77
77
  i0.ɵɵadvance(2);
78
- i0.ɵɵproperty("ngModel", taint_r2.effect);
79
- i0.ɵɵadvance(1);
80
- i0.ɵɵproperty("ngForOf", ctx_r0.effects);
78
+ i0.ɵɵproperty("ngModel", taint_r7.effect);
79
+ i0.ɵɵadvance();
80
+ i0.ɵɵproperty("ngForOf", ctx_r2.effects);
81
81
  i0.ɵɵadvance(2);
82
82
  i0.ɵɵproperty("square", true)("plain", true);
83
83
  } }
84
84
  function TaintsEditorComponent_tr_16_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelementStart(0, "tr")(1, "td", 8)(2, "div", 24);
85
+ i0.ɵɵelementStart(0, "tr")(1, "td", 10)(2, "div", 24);
86
86
  i0.ɵɵtext(3);
87
87
  i0.ɵɵpipe(4, "translate");
88
88
  i0.ɵɵelementEnd()()();
@@ -123,7 +123,7 @@ export class TaintsEditorComponent extends createNestedFormControl() {
123
123
  }
124
124
  return null;
125
125
  }
126
- static { this.ɵfac = /*@__PURE__*/ function () { let ɵTaintsEditorComponent_BaseFactory; return function TaintsEditorComponent_Factory(t) { return (ɵTaintsEditorComponent_BaseFactory || (ɵTaintsEditorComponent_BaseFactory = i0.ɵɵgetInheritedFactory(TaintsEditorComponent)))(t || TaintsEditorComponent); }; }(); }
126
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵTaintsEditorComponent_BaseFactory; return function TaintsEditorComponent_Factory(t) { return (ɵTaintsEditorComponent_BaseFactory || (ɵTaintsEditorComponent_BaseFactory = i0.ɵɵgetInheritedFactory(TaintsEditorComponent)))(t || TaintsEditorComponent); }; })(); }
127
127
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaintsEditorComponent, selectors: [["acl-taints-editor"]], standalone: true, features: [i0.ɵɵProvidersFeature([
128
128
  {
129
129
  provide: NG_VALUE_ACCESSOR,
@@ -135,27 +135,26 @@ export class TaintsEditorComponent extends createNestedFormControl() {
135
135
  useExisting: forwardRef(() => TaintsEditorComponent),
136
136
  multi: true,
137
137
  },
138
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 25, vars: 18, consts: [[1, "acl-array-form-table", "mp-sticky-table-header", "mp-sticky-table-actions"], ["required", "", "width", "40%"], ["width", "40%"], ["width", "20%"], [2, "min-width", "44px"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "acl-array-form-table--row-action"], ["colspan", "100"], [1, "acl-array-form-table__bottom-control-buttons"], ["aui-button", "primary", "size", "mini", "type", "button", 3, "plain", "disabled", "click"], ["icon", "plus_circle"], ["aui-input", "", "size", "small", "name", "key", "required", "", 3, "ngModel", "aclValidateFn", "ngModelChange"], ["key", "ngModel"], [3, "errors", 4, "ngIf"], ["aui-input", "", "size", "small", "name", "value", "aclMaxlength", "63", "pattern", "^(([\\dA-Za-z][\\w.-]*)?[\\dA-Za-z])?$", 3, "ngModel", "ngModelChange"], ["value", "ngModel"], ["size", "small", "name", "effect", 3, "ngModel", "ngModelChange"], [3, "value", 4, "ngFor", "ngForOf"], [1, "acl-array-form-table__action-col"], ["aui-button", "text", "size", "small", "type", "button", 3, "square", "plain", "click"], ["icon", "minus_circle"], [3, "errors"], [3, "value"], [1, "placeholder"]], template: function TaintsEditorComponent_Template(rf, ctx) { if (rf & 1) {
139
- i0.ɵɵelementStart(0, "table", 0)(1, "thead")(2, "tr")(3, "th", 1)(4, "span");
138
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 25, vars: 18, consts: [["key", "ngModel"], ["value", "ngModel"], [1, "acl-array-form-table", "mp-sticky-table-header", "mp-sticky-table-actions"], ["required", "", "width", "40%"], ["width", "40%"], ["width", "20%"], [2, "min-width", "44px"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "acl-array-form-table--row-action"], ["colspan", "100"], [1, "acl-array-form-table__bottom-control-buttons"], ["aui-button", "primary", "size", "mini", "type", "button", 3, "click", "plain", "disabled"], ["icon", "plus_circle"], ["aui-input", "", "size", "small", "name", "key", "required", "", 3, "ngModelChange", "ngModel", "aclValidateFn"], [3, "errors", 4, "ngIf"], ["aui-input", "", "size", "small", "name", "value", "aclMaxlength", "63", "pattern", "^(([\\dA-Za-z][\\w.-]*)?[\\dA-Za-z])?$", 3, "ngModelChange", "ngModel"], ["size", "small", "name", "effect", 3, "ngModelChange", "ngModel"], [3, "value", 4, "ngFor", "ngForOf"], [1, "acl-array-form-table__action-col"], ["aui-button", "text", "size", "small", "type", "button", 3, "click", "square", "plain"], ["icon", "minus_circle"], [3, "errors"], [3, "value"], [1, "placeholder"]], template: function TaintsEditorComponent_Template(rf, ctx) { if (rf & 1) {
139
+ i0.ɵɵelementStart(0, "table", 2)(1, "thead")(2, "tr")(3, "th", 3)(4, "span");
140
140
  i0.ɵɵtext(5);
141
141
  i0.ɵɵpipe(6, "translate");
142
142
  i0.ɵɵelementEnd()();
143
- i0.ɵɵelementStart(7, "th", 2);
143
+ i0.ɵɵelementStart(7, "th", 4);
144
144
  i0.ɵɵtext(8);
145
145
  i0.ɵɵpipe(9, "translate");
146
146
  i0.ɵɵelementEnd();
147
- i0.ɵɵelementStart(10, "th", 3);
147
+ i0.ɵɵelementStart(10, "th", 5);
148
148
  i0.ɵɵtext(11);
149
149
  i0.ɵɵpipe(12, "translate");
150
150
  i0.ɵɵelementEnd();
151
- i0.ɵɵelement(13, "th", 4);
151
+ i0.ɵɵelement(13, "th", 6);
152
152
  i0.ɵɵelementEnd()();
153
153
  i0.ɵɵelementStart(14, "tbody");
154
- i0.ɵɵtemplate(15, TaintsEditorComponent_tr_15_Template, 15, 9, "tr", 5);
155
- i0.ɵɵtemplate(16, TaintsEditorComponent_tr_16_Template, 5, 3, "tr", 6);
156
- i0.ɵɵelementStart(17, "tr", 7)(18, "td", 8)(19, "div", 9)(20, "button", 10);
154
+ i0.ɵɵtemplate(15, TaintsEditorComponent_tr_15_Template, 15, 9, "tr", 7)(16, TaintsEditorComponent_tr_16_Template, 5, 3, "tr", 8);
155
+ i0.ɵɵelementStart(17, "tr", 9)(18, "td", 10)(19, "div", 11)(20, "button", 12);
157
156
  i0.ɵɵlistener("click", function TaintsEditorComponent_Template_button_click_20_listener() { return ctx.addTaint(); });
158
- i0.ɵɵelement(21, "aui-icon", 11);
157
+ i0.ɵɵelement(21, "aui-icon", 13);
159
158
  i0.ɵɵelementStart(22, "span");
160
159
  i0.ɵɵtext(23);
161
160
  i0.ɵɵpipe(24, "translate");
@@ -170,7 +169,7 @@ export class TaintsEditorComponent extends createNestedFormControl() {
170
169
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 14, "type"));
171
170
  i0.ɵɵadvance(4);
172
171
  i0.ɵɵproperty("ngForOf", ctx.model);
173
- i0.ɵɵadvance(1);
172
+ i0.ɵɵadvance();
174
173
  i0.ɵɵproperty("ngIf", !(ctx.model == null ? null : ctx.model.length));
175
174
  i0.ɵɵadvance(4);
176
175
  i0.ɵɵproperty("plain", true)("disabled", (ctx.model == null ? null : ctx.model.length) >= 50);
@@ -178,7 +177,7 @@ export class TaintsEditorComponent extends createNestedFormControl() {
178
177
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(24, 16, "add"), " ");
179
178
  } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf, TranslateModule, i2.TranslatePipe, FormsModule, i3.DefaultValueAccessor, i3.NgControlStatus, i3.RequiredValidator, i3.PatternValidator, i3.NgModel, InputModule, i4.InputComponent, SelectModule, i4.SelectComponent, i4.OptionComponent, ValidatorsModule, i5.FunctionValidatorDirective, i6.MaxLengthValidatorDirective, ErrorsMapperModule, i7.ErrorsMapperComponent, IconModule, i4.IconComponent, ButtonModule, i4.ButtonComponent, EffectDirectiveModule, i8.E2eAttributeBindingDirective, i9.ValidatorsDirective], styles: ["[_nghost-%COMP%] {display:block;width:100%}[_nghost-%COMP%] .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}[_nghost-%COMP%] .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}"], changeDetection: 0 }); }
180
179
  }
181
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaintsEditorComponent, [{
180
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaintsEditorComponent, [{
182
181
  type: Component,
183
182
  args: [{ standalone: true, selector: 'acl-taints-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
184
183
  CommonModule,
@@ -205,4 +204,5 @@ export class TaintsEditorComponent extends createNestedFormControl() {
205
204
  },
206
205
  ], template: "<table\n class=\"acl-array-form-table mp-sticky-table-header mp-sticky-table-actions\"\n [class.submitted]=\"submitted\"\n>\n <thead>\n <tr>\n <th\n required\n width=\"40%\"\n >\n <span>{{ 'key' | translate }}</span>\n </th>\n <th width=\"40%\">{{ 'value' | translate }}</th>\n <th width=\"20%\">{{ 'type' | translate }}</th>\n <th style=\"min-width: 44px\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let taint of model; let index = index\">\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"key\"\n #key=\"ngModel\"\n [ngModel]=\"taint.key\"\n (ngModelChange)=\"editTaint(index, 'key', $event)\"\n required\n [aclValidateFn]=\"keyPattern\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || key.dirty\"\n [errors]=\"key.errors\"\n ></acl-errors-mapper>\n </td>\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"value\"\n #value=\"ngModel\"\n [ngModel]=\"taint.value\"\n (ngModelChange)=\"editTaint(index, 'value', $event)\"\n aclMaxlength=\"63\"\n pattern=\"^(([\\dA-Za-z][\\w.-]*)?[\\dA-Za-z])?$\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || value.dirty\"\n [errors]=\"value.errors\"\n ></acl-errors-mapper>\n </td>\n <td>\n <aui-select\n size=\"small\"\n name=\"effect\"\n [ngModel]=\"taint.effect\"\n (ngModelChange)=\"editTaint(index, 'effect', $event)\"\n >\n <aui-option\n *ngFor=\"let effect of effects\"\n [value]=\"effect\"\n >\n {{ effect }}\n </aui-option>\n </aui-select>\n </td>\n <td class=\"acl-array-form-table__action-col\">\n <button\n aui-button=\"text\"\n size=\"small\"\n type=\"button\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"removeTaint(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </td>\n </tr>\n <tr *ngIf=\"!model?.length\">\n <td colspan=\"100\">\n <div class=\"placeholder\">{{ 'no_taint' | translate }}</div>\n </td>\n </tr>\n <tr class=\"acl-array-form-table--row-action\">\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <button\n aui-button=\"primary\"\n [plain]=\"true\"\n size=\"mini\"\n type=\"button\"\n (click)=\"addTaint()\"\n [disabled]=\"model?.length >= 50\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n <span>\n {{ 'add' | translate }}\n </span>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host::ng-deep{display:block;width:100%}:host::ng-deep .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}:host::ng-deep .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}\n"] }]
207
206
  }], null, null); })();
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdGFpbnRzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS90YWludHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7SUNPcEQsd0NBR3FCOzs7O0lBRG5CLG1DQUFxQjs7O0lBY3ZCLHdDQUdxQjs7OztJQURuQixtQ0FBdUI7OztJQVV2QixzQ0FHQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSFgsaUNBQWdCO0lBRWhCLGVBQ0Y7SUFERSwwQ0FDRjs7OztJQTdDTiwwQkFBbUQsU0FBQSxvQkFBQTtJQVE3QyxpUEFBaUIsZUFBQSw0QkFB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ZUFBZTtvQkFDZixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGtCQUFrQjtvQkFDbEIsVUFBVTtvQkFDVixZQUFZO29CQUNaLFFBQVE7b0JBQ1IscUJBQXFCO2lCQUN0QixhQUNVO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgU2VsZWN0TW9kdWxlLFxufSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBQdXJlUGlwZSxcbiAgVGFpbnRFZmZlY3QsXG4gIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRXJyb3JzTWFwcGVyTW9kdWxlIH0gZnJvbSAnLi4vZXJyb3JzLW1hcHBlci9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFZhbGlkYXRvcnNNb2R1bGUgfSBmcm9tICcuLi92YWxpZGF0b3JzL3B1YmxpYy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdhY2wtdGFpbnRzLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFZhbGlkYXRvcnNNb2R1bGUsXG4gICAgRXJyb3JzTWFwcGVyTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFB1cmVQaXBlLFxuICAgIEVmZmVjdERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYWludHNFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFpbnRzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhaW50c0VkaXRvckNvbXBvbmVudCBleHRlbmRzIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sPFRhaW50W10+KCkge1xuICBlZmZlY3RzID0gT2JqZWN0LnZhbHVlcyhUYWludEVmZmVjdCk7XG5cbiAgYWRkVGFpbnQoKSB7XG4gICAgdGhpcy5tb2RlbCA9IHRoaXMubW9kZWwgPz8gW107XG4gICAgdGhpcy5tb2RlbC5wdXNoKHsga2V5OiAnJywgdmFsdWU6ICcnLCBlZmZlY3Q6IFRhaW50RWZmZWN0Lk5vU2NoZWR1bGUgfSk7XG4gIH1cblxuICBlZGl0VGFpbnQoXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBrZXk6IGtleW9mIE9taXQ8VGFpbnQsICdlZmZlY3QnPixcbiAgICB2YWx1ZTogc3RyaW5nLFxuICApOiB2b2lkO1xuXG4gIGVkaXRUYWludChpbmRleDogbnVtYmVyLCBrZXk6ICdlZmZlY3QnLCB2YWx1ZTogVGFpbnRFZmZlY3QpOiB2b2lkO1xuICBlZGl0VGFpbnQoaW5kZXg6IG51bWJlciwga2V5OiBrZXlvZiBUYWludCwgdmFsdWU6IHN0cmluZyB8IFRhaW50RWZmZWN0KSB7XG4gICAgdGhpcy5tb2RlbFtpbmRleF1ba2V5XSA9IHZhbHVlIGFzIGFueTtcbiAgICB0aGlzLmVtaXRNb2RlbCgpO1xuICB9XG5cbiAgcmVtb3ZlVGFpbnQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMubW9kZWwuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmVtaXRNb2RlbCgpO1xuICB9XG5cbiAga2V5UGF0dGVybihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPikge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IFtuYW1lLCBwcmVmaXggPSAnJ10gPSBjb250cm9sLnZhbHVlLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgIGlmIChcbiAgICAgIG5hbWUubGVuZ3RoID4gNjMgfHxcbiAgICAgIC9eKChbXFxkQS1aYS16XVtcXHcuLV0qKT9bXFxkQS1aYS16XSkkLy50ZXN0KG5hbWUpID09PSBmYWxzZVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEhcHJlZml4ICYmXG4gICAgICAocHJlZml4Lmxlbmd0aCA+IDI1MyB8fFxuICAgICAgICAvXltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KFxcLltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KSokLy50ZXN0KFxuICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgKSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFRhaW50IHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGVmZmVjdDogVGFpbnRFZmZlY3Q7XG59XG4iLCI8dGFibGVcbiAgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZSBtcC1zdGlja3ktdGFibGUtaGVhZGVyIG1wLXN0aWNreS10YWJsZS1hY3Rpb25zXCJcbiAgW2NsYXNzLnN1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIlxuPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoXG4gICAgICAgIHJlcXVpcmVkXG4gICAgICAgIHdpZHRoPVwiNDAlXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4+e3sgJ2tleScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L3RoPlxuICAgICAgPHRoIHdpZHRoPVwiNDAlXCI+e3sgJ3ZhbHVlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICA8dGggd2lkdGg9XCIyMCVcIj57eyAndHlwZScgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgPHRoIHN0eWxlPVwibWluLXdpZHRoOiA0NHB4XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyICpuZ0Zvcj1cImxldCB0YWludCBvZiBtb2RlbDsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwia2V5XCJcbiAgICAgICAgICAja2V5PVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwidGFpbnQua2V5XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0VGFpbnQoaW5kZXgsICdrZXknLCAkZXZlbnQpXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIFthY2xWYWxpZGF0ZUZuXT1cImtleVBhdHRlcm5cIlxuICAgICAgICAvPlxuICAgICAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCB8fCBrZXkuZGlydHlcIlxuICAgICAgICAgIFtlcnJvcnNdPVwia2V5LmVycm9yc1wiXG4gICAgICAgID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwidmFsdWVcIlxuICAgICAgICAgICN2YWx1ZT1cIm5nTW9kZWxcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInRhaW50LnZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0VGFpbnQoaW5kZXgsICd2YWx1ZScsICRldmVudClcIlxuICAgICAgICAgIGFjbE1heGxlbmd0aD1cIjYzXCJcbiAgICAgICAgICBwYXR0ZXJuPVwiXigoW1xcZEEtWmEtel1bXFx3Li1dKik/W1xcZEEtWmEtel0pPyRcIlxuICAgICAgICAvPlxuICAgICAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCB8fCB2YWx1ZS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJ2YWx1ZS5lcnJvcnNcIlxuICAgICAgICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQ+XG4gICAgICAgIDxhdWktc2VsZWN0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwiZWZmZWN0XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ0YWludC5lZmZlY3RcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRUYWludChpbmRleCwgJ2VmZmVjdCcsICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlZmZlY3Qgb2YgZWZmZWN0c1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiZWZmZWN0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBlZmZlY3QgfX1cbiAgICAgICAgICA8L2F1aS1vcHRpb24+XG4gICAgICAgIDwvYXVpLXNlbGVjdD5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYWN0aW9uLWNvbFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVRhaW50KGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cIm1pbnVzX2NpcmNsZVwiPjwvYXVpLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdJZj1cIiFtb2RlbD8ubGVuZ3RoXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj57eyAnbm9fdGFpbnQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUtLXJvdy1hY3Rpb25cIj5cbiAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYm90dG9tLWNvbnRyb2wtYnV0dG9uc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZFRhaW50KClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGVsPy5sZW5ndGggPj0gNTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwicGx1c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7ICdhZGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
207
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaintsEditorComponent, { className: "TaintsEditorComponent" }); })();
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdGFpbnRzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS90YWludHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7SUNPcEQsd0NBR3FCOzs7O0lBRG5CLHNDQUFxQjs7O0lBY3ZCLHdDQUdxQjs7OztJQURuQix3Q0FBdUI7OztJQVV2QixzQ0FHQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSFgsaUNBQWdCO0lBRWhCLGNBQ0Y7SUFERSwwQ0FDRjs7OztJQTNDRixBQURGLEFBREYsMEJBQW1ELFNBQzdDLG1CQVVBO0lBSEEsNk5BQWlC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QWdCLGlFQUNoQixrQkFBa0IsNEJBQ2xCLFVBQVUsb0JBQ1YsWUFBWSxzQkFFWixxQkFBcUI7O2lGQWVaLHFCQUFxQjtjQWhDakMsU0FBUzs2QkFDSSxJQUFJLFlBQ04sbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7b0JBQ1AsWUFBWTtvQkFDWixlQUFlO29CQUNmLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osUUFBUTtvQkFDUixxQkFBcUI7aUJBQ3RCLGFBQ1U7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O2tGQUVVLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgUHVyZVBpcGUsXG4gIFRhaW50RWZmZWN0LFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVmZmVjdERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVycm9yc01hcHBlck1vZHVsZSB9IGZyb20gJy4uL2Vycm9ycy1tYXBwZXIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLXRhaW50cy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBFZmZlY3REaXJlY3RpdmVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFpbnRzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRhaW50c0VkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWludHNFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbDxUYWludFtdPigpIHtcbiAgZWZmZWN0cyA9IE9iamVjdC52YWx1ZXMoVGFpbnRFZmZlY3QpO1xuXG4gIGFkZFRhaW50KCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsID8/IFtdO1xuICAgIHRoaXMubW9kZWwucHVzaCh7IGtleTogJycsIHZhbHVlOiAnJywgZWZmZWN0OiBUYWludEVmZmVjdC5Ob1NjaGVkdWxlIH0pO1xuICB9XG5cbiAgZWRpdFRhaW50KFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAga2V5OiBrZXlvZiBPbWl0PFRhaW50LCAnZWZmZWN0Jz4sXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgKTogdm9pZDtcblxuICBlZGl0VGFpbnQoaW5kZXg6IG51bWJlciwga2V5OiAnZWZmZWN0JywgdmFsdWU6IFRhaW50RWZmZWN0KTogdm9pZDtcbiAgZWRpdFRhaW50KGluZGV4OiBudW1iZXIsIGtleToga2V5b2YgVGFpbnQsIHZhbHVlOiBzdHJpbmcgfCBUYWludEVmZmVjdCkge1xuICAgIHRoaXMubW9kZWxbaW5kZXhdW2tleV0gPSB2YWx1ZSBhcyBhbnk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHJlbW92ZVRhaW50KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIGtleVBhdHRlcm4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPHN0cmluZz4pIHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBbbmFtZSwgcHJlZml4ID0gJyddID0gY29udHJvbC52YWx1ZS5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICBpZiAoXG4gICAgICBuYW1lLmxlbmd0aCA+IDYzIHx8XG4gICAgICAvXigoW1xcZEEtWmEtel1bXFx3Li1dKik/W1xcZEEtWmEtel0pJC8udGVzdChuYW1lKSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhIXByZWZpeCAmJlxuICAgICAgKHByZWZpeC5sZW5ndGggPiAyNTMgfHxcbiAgICAgICAgL15bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPyhcXC5bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPykqJC8udGVzdChcbiAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICkgPT09IGZhbHNlKVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmludGVyZmFjZSBUYWludCB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBlZmZlY3Q6IFRhaW50RWZmZWN0O1xufVxuIiwiPHRhYmxlXG4gIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUgbXAtc3RpY2t5LXRhYmxlLWhlYWRlciBtcC1zdGlja3ktdGFibGUtYWN0aW9uc1wiXG4gIFtjbGFzcy5zdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICByZXF1aXJlZFxuICAgICAgICB3aWR0aD1cIjQwJVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7ICdrZXknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICAgIDx0aCB3aWR0aD1cIjQwJVwiPnt7ICd2YWx1ZScgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgPHRoIHdpZHRoPVwiMjAlXCI+e3sgJ3R5cGUnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0aCBzdHlsZT1cIm1pbi13aWR0aDogNDRweFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdGFpbnQgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICA8dGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGF1aS1pbnB1dFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cImtleVwiXG4gICAgICAgICAgI2tleT1cIm5nTW9kZWxcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInRhaW50LmtleVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdFRhaW50KGluZGV4LCAna2V5JywgJGV2ZW50KVwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICBbYWNsVmFsaWRhdGVGbl09XCJrZXlQYXR0ZXJuXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwga2V5LmRpcnR5XCJcbiAgICAgICAgICBbZXJyb3JzXT1cImtleS5lcnJvcnNcIlxuICAgICAgICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGF1aS1pbnB1dFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAjdmFsdWU9XCJuZ01vZGVsXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ0YWludC52YWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdFRhaW50KGluZGV4LCAndmFsdWUnLCAkZXZlbnQpXCJcbiAgICAgICAgICBhY2xNYXhsZW5ndGg9XCI2M1wiXG4gICAgICAgICAgcGF0dGVybj1cIl4oKFtcXGRBLVphLXpdW1xcdy4tXSopP1tcXGRBLVphLXpdKT8kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwgdmFsdWUuZGlydHlcIlxuICAgICAgICAgIFtlcnJvcnNdPVwidmFsdWUuZXJyb3JzXCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8YXVpLXNlbGVjdFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cImVmZmVjdFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwidGFpbnQuZWZmZWN0XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0VGFpbnQoaW5kZXgsICdlZmZlY3QnLCAkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWZmZWN0IG9mIGVmZmVjdHNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImVmZmVjdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZWZmZWN0IH19XG4gICAgICAgICAgPC9hdWktb3B0aW9uPlxuICAgICAgICA8L2F1aS1zZWxlY3Q+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2FjdGlvbi1jb2xcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVUYWludChpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtaW51c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgKm5nSWY9XCIhbW9kZWw/Lmxlbmd0aFwiPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+e3sgJ25vX3RhaW50JyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlLS1yb3ctYWN0aW9uXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2JvdHRvbS1jb250cm9sLWJ1dHRvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRUYWludCgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbD8ubGVuZ3RoID49IDUwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInBsdXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -75,19 +75,20 @@ export class UploadFileComponent {
75
75
  useExisting: forwardRef(() => UploadFileComponent),
76
76
  multi: true,
77
77
  },
78
- ]), i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 3, vars: 2, consts: [["type", "file", 1, "file-input", 3, "multiple", "change"], ["fileInput", ""]], template: function UploadFileComponent_Template(rf, ctx) { if (rf & 1) {
78
+ ]), i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 3, vars: 2, consts: [["fileInput", ""], ["type", "file", 1, "file-input", 3, "change", "multiple"]], template: function UploadFileComponent_Template(rf, ctx) { if (rf & 1) {
79
+ const _r1 = i0.ɵɵgetCurrentView();
79
80
  i0.ɵɵprojectionDef();
80
81
  i0.ɵɵprojection(0);
81
- i0.ɵɵelementStart(1, "input", 0, 1);
82
- i0.ɵɵlistener("change", function UploadFileComponent_Template_input_change_1_listener($event) { return ctx.onChange($event); });
82
+ i0.ɵɵelementStart(1, "input", 1, 0);
83
+ i0.ɵɵlistener("change", function UploadFileComponent_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onChange($event)); });
83
84
  i0.ɵɵelementEnd();
84
85
  } if (rf & 2) {
85
- i0.ɵɵadvance(1);
86
+ i0.ɵɵadvance();
86
87
  i0.ɵɵproperty("multiple", ctx.multiple);
87
88
  i0.ɵɵattribute("accept", ctx.accept);
88
89
  } }, dependencies: [EffectDirectiveModule], styles: ["[_nghost-%COMP%]{position:relative;display:inline-flex;overflow:hidden}.file-input[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;z-index:-1}"], changeDetection: 0 }); }
89
90
  }
90
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UploadFileComponent, [{
91
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UploadFileComponent, [{
91
92
  type: Component,
92
93
  args: [{ selector: 'acl-upload-file', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
93
94
  {
@@ -96,7 +97,7 @@ export class UploadFileComponent {
96
97
  multi: true,
97
98
  },
98
99
  ], standalone: true, imports: [EffectDirectiveModule], template: "<ng-content></ng-content>\n<input\n #fileInput\n class=\"file-input\"\n type=\"file\"\n [attr.accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"onChange($event)\"\n/>\n", styles: [":host{position:relative;display:inline-flex;overflow:hidden}.file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;z-index:-1}\n"] }]
99
- }], function () { return [{ type: i1.NotificationService }, { type: i2.TranslateService }]; }, { disabled: [{
100
+ }], () => [{ type: i1.NotificationService }, { type: i2.TranslateService }], { disabled: [{
100
101
  type: Input
101
102
  }], accept: [{
102
103
  type: Input
@@ -111,4 +112,5 @@ export class UploadFileComponent {
111
112
  type: HostListener,
112
113
  args: ['click']
113
114
  }] }); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFXLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0lBQzdCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQXNCWCxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QixZQUNtQixZQUFpQyxFQUNqQyxTQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUOUMsZUFBVSxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO0lBVTlDLENBQUM7SUFHSixPQUFPO1FBQ0wsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7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VTtrQkFEVCxLQUFLO1lBSU4sU0FBUztrQkFEUixTQUFTO21CQUFDLFdBQVc7WUFXdEIsT0FBTztrQkFETixZQUFZO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlLCBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVPZiwgaXNFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBGaWxlUmVzdWx0VHlwZSA9IHtcbiAgQVJSQVlfQlVGRkVSOiAnQXJyYXlCdWZmZXInLFxuICBCSU5BUllfU1RSSU5HOiAnQmluYXJ5U3RyaW5nJyxcbiAgREFUQV9VUkw6ICdEYXRhVVJMJyxcbiAgVEVYVDogJ1RleHQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgRmlsZVJlc3VsdFR5cGUgPSBWYWx1ZU9mPHR5cGVvZiBGaWxlUmVzdWx0VHlwZT47XG5cbmV4cG9ydCB0eXBlIEZpbGVSZXN1bHQgPSBzdHJpbmcgfCBBcnJheUJ1ZmZlcjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXVwbG9hZC1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlcy5zY3NzJ10sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBVcGxvYWRGaWxlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtFZmZlY3REaXJlY3RpdmVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBhY2NlcHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICByZXN1bHRUeXBlOiBGaWxlUmVzdWx0VHlwZSA9IEZpbGVSZXN1bHRUeXBlLlRFWFQ7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JylcbiAgZmlsZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHZhbHVlQ2hhbmdlOiAoZXY6IEZpbGVSZXN1bHQgfCBGaWxlUmVzdWx0W10pID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKGNvZXJjZUF0dHJCb29sZWFuKHRoaXMuZGlzYWJsZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2hhbmdlKGU6IEV2ZW50KSB7XG4gICAgY29uc3QgZWwgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgQXJyYXkuZnJvbShlbC5maWxlcykubWFwKFxuICAgICAgICAgIGZpbGUgPT5cbiAgICAgICAgICAgIG5ldyBQcm9taXNlPEZpbGVSZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlc3VsdCB9ID0gZmlsZVJlYWRlcjtcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0VHlwZSA9PT0gRmlsZVJlc3VsdFR5cGUuVEVYVCAmJlxuICAgICAgICAgICAgICAgICAgKHJlc3VsdCBhcyBzdHJpbmcpLmluY2x1ZGVzKCdcXHVGRkZEJylcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IodGhpcy50cmFuc2xhdGUuZ2V0KCd0ZXh0X2ZpbGVfdHlwZV9lcnJvcicpKSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgZmlsZVJlYWRlcltgcmVhZEFzJHt0aGlzLnJlc3VsdFR5cGV9YF0oZmlsZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlKHRoaXMubXVsdGlwbGUgPyByZXN1bHRzIDogcmVzdWx0c1swXSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGlzRXJyb3JNZXNzYWdlKGUpKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGUubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWwudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSgpIHtcbiAgICAvL1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoKSB7XG4gICAgLy9cbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgY2xhc3M9XCJmaWxlLWlucHV0XCJcbiAgdHlwZT1cImZpbGVcIlxuICBbYXR0ci5hY2NlcHRdPVwiYWNjZXB0XCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbi8+XG4iXX0=
115
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UploadFileComponent, { className: "UploadFileComponent" }); })();
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFXLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0lBQzdCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQXNCWCxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QixZQUNtQixZQUFpQyxFQUNqQyxTQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUOUMsZUFBVSxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO0lBVTlDLENBQUM7SUFHSixPQUFPO1FBQ0wsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUs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WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixTQUFTO2tCQURSLFNBQVM7bUJBQUMsV0FBVztZQVd0QixPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTzs7a0ZBdkJWLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UsIGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZU9mLCBpc0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFZmZlY3REaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9lZmZlY3QtZGlyZWN0aXZlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IEZpbGVSZXN1bHRUeXBlID0ge1xuICBBUlJBWV9CVUZGRVI6ICdBcnJheUJ1ZmZlcicsXG4gIEJJTkFSWV9TVFJJTkc6ICdCaW5hcnlTdHJpbmcnLFxuICBEQVRBX1VSTDogJ0RhdGFVUkwnLFxuICBURVhUOiAnVGV4dCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBGaWxlUmVzdWx0VHlwZSA9IFZhbHVlT2Y8dHlwZW9mIEZpbGVSZXN1bHRUeXBlPjtcblxuZXhwb3J0IHR5cGUgRmlsZVJlc3VsdCA9IHN0cmluZyB8IEFycmF5QnVmZmVyO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdXBsb2FkLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGVzLnNjc3MnXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVwbG9hZEZpbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0VmZmVjdERpcmVjdGl2ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGFjY2VwdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHJlc3VsdFR5cGU6IEZpbGVSZXN1bHRUeXBlID0gRmlsZVJlc3VsdFR5cGUuVEVYVDtcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKVxuICBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgdmFsdWVDaGFuZ2U6IChldjogRmlsZVJlc3VsdCB8IEZpbGVSZXN1bHRbXSkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBpZiAoY29lcmNlQXR0ckJvb2xlYW4odGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgYXN5bmMgb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICBjb25zdCBlbCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBBcnJheS5mcm9tKGVsLmZpbGVzKS5tYXAoXG4gICAgICAgICAgZmlsZSA9PlxuICAgICAgICAgICAgbmV3IFByb21pc2U8RmlsZVJlc3VsdD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgZmlsZVJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBmaWxlUmVhZGVyO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRUeXBlID09PSBGaWxlUmVzdWx0VHlwZS5URVhUICYmXG4gICAgICAgICAgICAgICAgICAocmVzdWx0IGFzIHN0cmluZykuaW5jbHVkZXMoJ1xcdUZGRkQnKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcih0aGlzLnRyYW5zbGF0ZS5nZXQoJ3RleHRfZmlsZV90eXBlX2Vycm9yJykpKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBmaWxlUmVhZGVyW2ByZWFkQXMke3RoaXMucmVzdWx0VHlwZX1gXShmaWxlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UodGhpcy5tdWx0aXBsZSA/IHJlc3VsdHMgOiByZXN1bHRzWzBdKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoaXNFcnJvck1lc3NhZ2UoZSkpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbC52YWx1ZSA9IG51bGw7XG4gIH1cblxuICB3cml0ZVZhbHVlKCkge1xuICAgIC8vXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCgpIHtcbiAgICAvL1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48aW5wdXRcbiAgI2ZpbGVJbnB1dFxuICBjbGFzcz1cImZpbGUtaW5wdXRcIlxuICB0eXBlPVwiZmlsZVwiXG4gIFthdHRyLmFjY2VwdF09XCJhY2NlcHRcIlxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuLz5cbiJdfQ==