@alauda-fe/common 1.0.3 → 1.1.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 (185) hide show
  1. package/a-chart/base-chart.d.ts +2 -2
  2. package/a-chart/chart.component.d.ts +3 -2
  3. package/a-chart/types.d.ts +5 -0
  4. package/a-metric-chart/a-metric-chart.component.d.ts +45 -2
  5. package/a-metric-chart/a-metric-chart.module.d.ts +2 -2
  6. package/a-metric-chart/utils/util.d.ts +1 -1
  7. package/api/acp-common-api.service.d.ts +26 -0
  8. package/api/cluster-version.service.d.ts +0 -3
  9. package/api/project-api.service.d.ts +5 -0
  10. package/api/public-api.d.ts +1 -0
  11. package/assets/icons/prod-icons.js +1 -1
  12. package/core/constants/patterns.d.ts +5 -0
  13. package/core/constants/status-icons.d.ts +1 -0
  14. package/core/directives/aui-code-editor.directive.d.ts +13 -0
  15. package/core/directives/feature-gate.directive.d.ts +1 -1
  16. package/core/directives/public-api.d.ts +2 -0
  17. package/core/guards/feature.guard.d.ts +1 -1
  18. package/core/module.d.ts +10 -10
  19. package/core/pipes/k8s-util.pipe.d.ts +13 -13
  20. package/core/pipes/k8s-util.pipe.module.d.ts +6 -1
  21. package/core/pipes/public-api.d.ts +3 -0
  22. package/{scm/pure-pipe/module.d.ts → core/pipes/pure.pipe.module.d.ts} +3 -0
  23. package/core/services/context.service.d.ts +1 -1
  24. package/core/utils/unit.d.ts +1 -0
  25. package/disabled-container/disabled-container.component.d.ts +1 -1
  26. package/disabled-container/disabled-container.module.d.ts +4 -4
  27. package/effect-directive/module.d.ts +1 -1
  28. package/esm2022/a-chart/a-chart.module.mjs +1 -1
  29. package/esm2022/a-chart/base-chart.mjs +7 -7
  30. package/esm2022/a-chart/chart.component.mjs +11 -3
  31. package/esm2022/a-chart/types.mjs +7 -2
  32. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +38 -13
  33. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +6 -8
  34. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +6 -5
  35. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +26 -12
  36. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +3 -3
  37. package/esm2022/a-metric-chart/utils/util.mjs +6 -5
  38. package/esm2022/api/acp-common-api.service.mjs +34 -0
  39. package/esm2022/api/cluster-version.service.mjs +1 -7
  40. package/esm2022/api/project-api.service.mjs +17 -4
  41. package/esm2022/api/public-api.mjs +2 -1
  42. package/esm2022/array-form-table/form/component.mjs +2 -2
  43. package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
  44. package/esm2022/business/resource-select/module.mjs +2 -2
  45. package/esm2022/chart/chart.module.mjs +1 -1
  46. package/esm2022/core/constants/patterns.mjs +6 -1
  47. package/esm2022/core/constants/status-icons.mjs +2 -1
  48. package/esm2022/core/directives/aui-code-editor.directive.mjs +30 -0
  49. package/esm2022/core/directives/declare.directive.mjs +27 -0
  50. package/esm2022/core/directives/feature-gate.directive.mjs +3 -3
  51. package/esm2022/core/directives/public-api.mjs +3 -1
  52. package/esm2022/core/guards/feature.guard.mjs +3 -5
  53. package/esm2022/core/module.mjs +19 -17
  54. package/esm2022/core/pipes/calc.pipe.mjs +21 -0
  55. package/esm2022/core/pipes/k8s-util.pipe.mjs +27 -27
  56. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +8 -5
  57. package/esm2022/core/pipes/public-api.mjs +4 -1
  58. package/esm2022/core/pipes/pure.pipe.mjs +26 -0
  59. package/esm2022/core/pipes/pure.pipe.module.mjs +21 -0
  60. package/esm2022/core/services/context.service.mjs +5 -3
  61. package/esm2022/core/utils/common.mjs +3 -3
  62. package/esm2022/core/utils/unit.mjs +5 -1
  63. package/esm2022/disabled-container/disabled-container.component.mjs +7 -5
  64. package/esm2022/disabled-container/disabled-container.module.mjs +7 -11
  65. package/esm2022/effect-directive/module.mjs +4 -5
  66. package/esm2022/exec/module.mjs +3 -4
  67. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +13 -4
  68. package/esm2022/form/labels-editor/component.mjs +8 -8
  69. package/esm2022/form/taints-editor/component.mjs +4 -6
  70. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +9 -10
  71. package/esm2022/form/validators/utils.mjs +47 -2
  72. package/esm2022/graphql/graphql.module.mjs +62 -0
  73. package/esm2022/graphql/graphql.service.mjs +45 -0
  74. package/esm2022/graphql/public-api.mjs +4 -0
  75. package/esm2022/graphql/queries.mjs +29 -0
  76. package/esm2022/graphql/types.mjs +6 -0
  77. package/esm2022/grid-layout/utils/grid.utils.mjs +2 -20
  78. package/esm2022/help-document/directive.mjs +3 -2
  79. package/esm2022/help-document/module.mjs +6 -4
  80. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +3 -2
  81. package/esm2022/license/license-error/module.mjs +1 -1
  82. package/esm2022/multi-search/action-input/component.mjs +6 -7
  83. package/esm2022/multi-search/form/component.mjs +3 -4
  84. package/esm2022/multi-search/multi-search-tags/component.mjs +9 -9
  85. package/esm2022/overview-banner/overview-banner.component.mjs +5 -5
  86. package/esm2022/overview-banner/overview-banner.module.mjs +7 -7
  87. package/esm2022/page-guard/module.mjs +7 -4
  88. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -2
  89. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +23 -5
  90. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +16 -31
  91. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -2
  92. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +6 -3
  93. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  94. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +5 -7
  95. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +4 -4
  96. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +13 -14
  97. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +2 -2
  98. package/esm2022/public-api.mjs +2 -2
  99. package/esm2022/searchable-selector/module.mjs +1 -1
  100. package/esm2022/skeleton/module.mjs +1 -1
  101. package/esm2022/table/module.mjs +5 -5
  102. package/esm2022/translate/en.json +44 -1
  103. package/esm2022/translate/translate.directive.mjs +7 -7
  104. package/esm2022/translate/translate.module.mjs +18 -17
  105. package/esm2022/translate/translate.pipe.mjs +4 -3
  106. package/esm2022/translate/zh.json +42 -1
  107. package/esm2022/widget/card-section/card-section.component.mjs +23 -6
  108. package/esm2022/widget/current-time/component.mjs +6 -4
  109. package/esm2022/widget/date-range-picker/component.mjs +12 -9
  110. package/esm2022/widget/foldable-item-in-table/component.mjs +28 -6
  111. package/esm2022/widget/password-input/component.mjs +283 -0
  112. package/esm2022/widget/public-api.mjs +8 -1
  113. package/esm2022/widget/resource-multi-select/component.mjs +211 -0
  114. package/esm2022/widget/resource-multi-select/util.mjs +24 -0
  115. package/esm2022/{scm → widget}/search-panel/component.mjs +1 -1
  116. package/esm2022/{scm → widget}/search-panel/helper.directive.mjs +1 -1
  117. package/esm2022/{scm → widget}/search-panel/search-item/component.mjs +1 -1
  118. package/esm2022/widget/status-icon/status-icon.component.mjs +2 -2
  119. package/esm2022/widget/tags-label/component.mjs +2 -3
  120. package/esm2022/widget/terminating-tag/component.mjs +7 -4
  121. package/esm2022/{scm → widget}/text-ellipsis/component.mjs +1 -1
  122. package/esm2022/widget/text-with-url/component.mjs +6 -4
  123. package/esm2022/widget/widget.module.mjs +54 -86
  124. package/esm2022/widget/zero-state/zero-state.component.mjs +6 -6
  125. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +102 -65
  126. package/exec/module.d.ts +1 -1
  127. package/form/errors-mapper/errors-mapper.module.d.ts +6 -0
  128. package/form/validators/strong-password/strong-password-validator.directive.d.ts +3 -3
  129. package/form/validators/utils.d.ts +3 -0
  130. package/graphql/graphql.module.d.ts +12 -0
  131. package/graphql/graphql.service.d.ts +14 -0
  132. package/graphql/public-api.d.ts +3 -0
  133. package/graphql/queries.d.ts +5 -0
  134. package/graphql/types.d.ts +46 -0
  135. package/help-document/directive.d.ts +1 -1
  136. package/help-document/module.d.ts +7 -7
  137. package/overview-banner/overview-banner.component.d.ts +1 -1
  138. package/overview-banner/overview-banner.module.d.ts +4 -3
  139. package/package.json +1 -1
  140. package/page-guard/module.d.ts +4 -1
  141. package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +1 -1
  142. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  143. package/page-scaffold/navigation/breadcrumb/module.d.ts +8 -6
  144. package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +1 -1
  145. package/page-scaffold/navigation/lottie-icons/module.d.ts +4 -1
  146. package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +2 -2
  147. package/page-scaffold/page-header/help-menu/module.d.ts +6 -5
  148. package/public-api.d.ts +1 -1
  149. package/styles/tailwind-preset.scss +1 -1
  150. package/translate/translate.directive.d.ts +3 -3
  151. package/translate/translate.module.d.ts +97 -4
  152. package/translate/translate.pipe.d.ts +1 -1
  153. package/widget/card-section/card-section.component.d.ts +4 -2
  154. package/widget/current-time/component.d.ts +1 -1
  155. package/widget/foldable-item-in-table/component.d.ts +1 -1
  156. package/{scm → widget}/password-input/component.d.ts +1 -1
  157. package/widget/public-api.d.ts +7 -0
  158. package/widget/terminating-tag/component.d.ts +1 -1
  159. package/widget/text-with-url/component.d.ts +1 -1
  160. package/widget/widget.module.d.ts +37 -21
  161. package/xterm/xterm-terminal/xterm-terminal.component.d.ts +14 -1
  162. package/esm2022/scm/declare.directive.mjs +0 -27
  163. package/esm2022/scm/password-input/component.mjs +0 -261
  164. package/esm2022/scm/password-input/module.mjs +0 -67
  165. package/esm2022/scm/password-input/public-api.mjs +0 -3
  166. package/esm2022/scm/public-api.mjs +0 -10
  167. package/esm2022/scm/pure-pipe/calc.pipe.mjs +0 -21
  168. package/esm2022/scm/pure-pipe/module.mjs +0 -18
  169. package/esm2022/scm/pure-pipe/public-api.mjs +0 -4
  170. package/esm2022/scm/pure-pipe/pure.pipe.mjs +0 -26
  171. package/esm2022/scm/resource-multi-select/component.mjs +0 -212
  172. package/esm2022/scm/resource-multi-select/util.mjs +0 -24
  173. package/scm/password-input/module.d.ts +0 -14
  174. package/scm/password-input/public-api.d.ts +0 -2
  175. package/scm/public-api.d.ts +0 -9
  176. package/scm/pure-pipe/public-api.d.ts +0 -3
  177. /package/{scm → core/directives}/declare.directive.d.ts +0 -0
  178. /package/{scm/pure-pipe → core/pipes}/calc.pipe.d.ts +0 -0
  179. /package/{scm/pure-pipe → core/pipes}/pure.pipe.d.ts +0 -0
  180. /package/{scm → widget}/resource-multi-select/component.d.ts +0 -0
  181. /package/{scm → widget}/resource-multi-select/util.d.ts +0 -0
  182. /package/{scm → widget}/search-panel/component.d.ts +0 -0
  183. /package/{scm → widget}/search-panel/helper.directive.d.ts +0 -0
  184. /package/{scm → widget}/search-panel/search-item/component.d.ts +0 -0
  185. /package/{scm → widget}/text-ellipsis/component.d.ts +0 -0
@@ -3,9 +3,8 @@ import { CommonModule } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';
4
4
  import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
5
5
  import { mergeLeft } from 'ramda';
6
- import { K8S_RESOURCE_LABEL_KEY_NAME_PATTERN, K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN, K8S_RESOURCE_LABEL_VALUE_PATTERN, createNestedFormControl, } from '../../core/public-api';
6
+ import { CalcPipe, K8S_RESOURCE_LABEL_KEY_NAME_PATTERN, K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN, K8S_RESOURCE_LABEL_VALUE_PATTERN, PurePipe, createNestedFormControl, } from '../../core/public-api';
7
7
  import { EffectDirectiveModule } from '../../effect-directive/module';
8
- import { PurePipeModule } from '../../scm/public-api';
9
8
  import { TranslateModule } from '../../translate/public-api';
10
9
  import { ErrorsMapperModule } from '../errors-mapper/public-api';
11
10
  import { ValidatorsModule } from '../validators/public-api';
@@ -17,9 +16,8 @@ import * as i4 from "@alauda/ui";
17
16
  import * as i5 from "../validators/function-validator.directive";
18
17
  import * as i6 from "../validators/maxlength-minlength-validator.directive";
19
18
  import * as i7 from "../errors-mapper/errors-mapper-component/component";
20
- import * as i8 from "../../scm/pure-pipe/calc.pipe";
21
- import * as i9 from "../../effect-directive/e2e-attribute-binding.directive";
22
- import * as i10 from "../../effect-directive/validators.directive";
19
+ import * as i8 from "../../effect-directive/e2e-attribute-binding.directive";
20
+ import * as i9 from "../../effect-directive/validators.directive";
23
21
  const _c0 = function (a0) { return { key: a0 }; };
24
22
  const _c1 = function (a0) { return { duplicated: a0 }; };
25
23
  function LabelsEditorComponent_tr_12_acl_errors_mapper_5_Template(rf, ctx) { if (rf & 1) {
@@ -208,7 +206,8 @@ export class LabelsEditorComponent extends createNestedFormControl() {
208
206
  i0.ɵɵproperty("plain", true)("disabled", (ctx.model == null ? null : ctx.model.length) >= 50);
209
207
  i0.ɵɵadvance(3);
210
208
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 13, "add"), " ");
211
- } }, 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, PurePipeModule, i8.CalcPipe, EffectDirectiveModule, i9.E2eAttributeBindingDirective, i10.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 }); }
209
+ } }, 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
+ 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 }); }
212
211
  }
213
212
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LabelsEditorComponent, [{
214
213
  type: Component,
@@ -221,7 +220,8 @@ export class LabelsEditorComponent extends createNestedFormControl() {
221
220
  ErrorsMapperModule,
222
221
  IconModule,
223
222
  ButtonModule,
224
- PurePipeModule,
223
+ PurePipe,
224
+ CalcPipe,
225
225
  EffectDirectiveModule,
226
226
  ], providers: [
227
227
  {
@@ -236,4 +236,4 @@ export class LabelsEditorComponent extends createNestedFormControl() {
236
236
  },
237
237
  ], 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
238
  }], null, null); })();
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vbGFiZWxzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9sYWJlbHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMscUNBQXFDLEVBQ3JDLGdDQUFnQyxFQUNoQyx1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNXcEQsd0NBUXFCOzs7OztJQU5uQixtQ0FBcUIsNktBQUE7OztJQW1CdkIsd0NBR3FCOzs7O0lBRG5CLG1DQUF1Qjs7OztJQXRDN0IsMEJBR0Ms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QUFBO1lBUXJDLG1HQUFTLGNBQVUsSUFBQztZQUdwQixnQ0FBd0M7WUFDeEMsNkJBQU07WUFDSixhQUNGOztZQUFBLGlCQUFPLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBOztZQXhGakIsMENBQTZCO1lBUWpCLGVBQXVCO1lBQXZCLGlEQUF1QjtZQUVmLGVBQXlCO1lBQXpCLG9EQUF5QjtZQU12QixlQUFVO1lBQVYsbUNBQVU7WUFxRHpCLGVBQW9CO1lBQXBCLHFFQUFvQjtZQVVqQixlQUFjO1lBQWQsNEJBQWMsaUVBQUE7WUFRWixlQUNGO1lBREUsOERBQ0Y7NEJENURSLFlBQVksdUJBQ1osZUFBZSxvQkFDZixXQUFXLHNHQUNYLFdBQVcscUJBQ1gsZ0JBQWdCLGlFQUNoQixrQkFBa0IsNEJBQ2xCLFVBQVUsb0JBQ1YsWUFBWSxzQkFDWixjQUFjLGVBQ2QscUJBQXFCOzt1RkFlWixxQkFBcUI7Y0EvQmpDLFNBQVM7NkJBQ0ksSUFBSSxZQUNOLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixjQUFjO29CQUNkLHFCQUFxQjtpQkFDdEIsYUFDVTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWVyZ2VMZWZ0IH0gZnJvbSAncmFtZGEnO1xuXG5pbXBvcnQge1xuICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk4sXG4gIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgUHVyZVBpcGVNb2R1bGUgfSBmcm9tICcuLi8uLi9zY20vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9lcnJvcnMtbWFwcGVyL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1sYWJlbHMtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQdXJlUGlwZU1vZHVsZSxcbiAgICBFZmZlY3REaXJlY3RpdmVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGFiZWxzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+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=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vbGFiZWxzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9sYWJlbHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsUUFBUSxFQUNSLHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNVcEQsd0NBUXFCOzs7OztJQU5uQixtQ0FBcUIsNktBQUE7OztJQW1CdkIsd0NBR3FCOzs7O0lBRG5CLG1DQUF1Qjs7OztJQXRDN0IsMEJBR0MsU0FBQSxvQkFBQTtJQVFLLCtPQUFpQixlQUFBLDJCQUFpQixLQUFLLFNBQVMsQ0FBQSxJQUFDOztJQU5uRCxpQkFTRTtJQUNGLHlHQVFxQjtJQUN2QixpQkFBSztJQUNMLDBCQUFJLG9CQUFBO0lBT0EsZ1BBQWlCLGVBQUEsNEJBQWlCLE9BQU8sU0FBUyxDQUFBLElBQUM7SUFOckQsaUJBU0U7SUFDRix5R0FHcUI7SUFDdkIsaUJBQUs7SUFDTCwrQkFBNkMsa0JBQUE7SUFPekMsNE5BQVMsZUFBQSw2QkFBa0IsQ0FBQSxJQUFDO0lBRTVCLGdDQUF5QztJQUMzQyxpQkFBUyxFQUFBLEVBQUE7Ozs7Ozs7SUFqRFgsNkRBQTBDO0lBUXRDLGVBQXFCO0lBQXJCLHNDQUFxQixrR0FBQTtJQU1wQixlQUE0QjtJQUE1QixvREFBNEI7SUFlN0IsZUFBdUI7SUFBdkIsd0NBQXVCLDREQUFBO0lBTXRCLGVBQThCO0lBQTlCLG9EQUE4QjtJQVMvQixlQUFlO0lBQWYsNkJBQWUsZUFBQTs7O0lBUXJCLDBCQUEyQixZQUFBLGNBQUE7SUFFRSxZQUE0Qjs7SUFBQSxpQkFBTSxFQUFBLEVBQUE7O0lBQWxDLGVBQTRCO0lBQTVCLHNEQUE0Qjs7QURqQjdELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUIsRUFHL0Q7SUFuQ0g7O1FBb0NFLHFDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3BFLG1CQUFjLEdBQTRCLEVBQUUsQ0FBQztRQWdCN0MscUJBQWdCLEdBQ2QsQ0FBQyxjQUF1QyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQzNELENBQUMsT0FBd0IsRUFBRSxFQUFFLENBQzNCLFNBQVMsQ0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FDekIsQ0FBQztLQXFGUDtJQXpHQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLEdBQWUsRUFBRSxLQUFhO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBVVEsVUFBVSxDQUFDLEtBQTZCO1FBQy9DLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVRLFNBQVMsQ0FBQyxLQUE2QjtRQUM5QyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFa0IsT0FBTyxDQUFDLEtBQTZCO1FBQ3RELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEQsR0FBRztZQUNILEtBQUs7U0FDTixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFa0IsUUFBUSxDQUFDLEtBQWE7UUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFO2dCQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdkI7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQzdDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsT0FBTyxHQUFHLENBQUM7YUFDWjtZQUVELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtvQkFDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDbEIsTUFBTTtpQkFDUDthQUNGO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0QsRUFBNkIsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBZ0M7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9ELElBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFO1lBQ2hCLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUNoRTtZQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUNFLENBQUMsQ0FBQyxNQUFNO1lBQ1IsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7Z0JBQ2xCLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQ3ZFO1lBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUMxQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FDbkIsY0FBdUMsRUFDdkMsS0FBYTtRQUViLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7WUFDbEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMxQixJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQzthQUM1QjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs2UEEvR1UscUJBQXFCLFNBQXJCLHFCQUFxQjtvRUFBckIscUJBQXFCLHlGQWJyQjtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNwRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQ3RESCxnQ0FHQyxZQUFBLFNBQUEsWUFBQSxXQUFBO1lBT2EsWUFBdUI7O1lBQUEsaUJBQU8sRUFBQTtZQUV0Qyw2QkFBZ0I7WUFBQSxZQUF5Qjs7WUFBQSxpQkFBSztZQUM5Qyx5QkFBaUM7WUFDbkMsaUJBQUssRUFBQTtZQUVQLDhCQUFPO1lBQ0wsd0VBcURLO1lBQ0wsc0VBSUs7WUFDTCw4QkFBNkMsYUFBQSxjQUFBLGlCQUFBO1lBUXJDLG1HQUFTLGNBQVUsSUFBQztZQUdwQixnQ0FBd0M7WUFDeEMsNkJBQU07WUFDSixhQUNGOztZQUFBLGlCQUFPLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBOztZQXhGakIsMENBQTZCO1lBUWpCLGVBQXVCO1lBQXZCLGlEQUF1QjtZQUVmLGVBQXlCO1lBQXpCLG9EQUF5QjtZQU12QixlQUFVO1lBQVYsbUNBQVU7WUFxRHpCLGVBQW9CO1lBQXBCLHFFQUFvQjtZQVVqQixlQUFjO1lBQWQsNEJBQWMsaUVBQUE7WUFRWixlQUNGO1lBREUsOERBQ0Y7NEJEM0RSLFlBQVksdUJBQ1osZUFBZSxvQkFDZixXQUFXLHNHQUNYLFdBQVcscUJBQ1gsZ0JBQWdCLGlFQUNoQixrQkFBa0IsNEJBQ2xCLFVBQVUsb0JBQ1YsWUFBWSxzQkFFWixRQUFRO1lBQ1IscUJBQXFCOzt1RkFlWixxQkFBcUI7Y0FoQ2pDLFNBQVM7NkJBQ0ksSUFBSSxZQUNOLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixRQUFRO29CQUNSLFFBQVE7b0JBQ1IscUJBQXFCO2lCQUN0QixhQUNVO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBJbnB1dE1vZHVsZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybXNNb2R1bGUsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtZXJnZUxlZnQgfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7XG4gIENhbGNQaXBlLFxuICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTixcbiAgSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk4sXG4gIFB1cmVQaXBlLFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVmZmVjdERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVycm9yc01hcHBlck1vZHVsZSB9IGZyb20gJy4uL2Vycm9ycy1tYXBwZXIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLWxhYmVscy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFZhbGlkYXRvcnNNb2R1bGUsXG4gICAgRXJyb3JzTWFwcGVyTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFB1cmVQaXBlLFxuICAgIENhbGNQaXBlLFxuICAgIEVmZmVjdERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMYWJlbHNFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGFiZWxzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsc0VkaXRvckNvbXBvbmVudCBleHRlbmRzIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sPFxuICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBQYWlyW11cbj4oKSB7XG4gIEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOID0gSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk47XG4gIGR1cGxpY2F0ZWRSb3dzOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPiA9IHt9O1xuXG4gIGFkZExhYmVsKCkge1xuICAgIHRoaXMubW9kZWwucHVzaCh7IGtleTogJycsIHZhbHVlOiAnJyB9KTtcbiAgfVxuXG4gIGVkaXRMYWJlbChpbmRleDogbnVtYmVyLCBrZXk6IGtleW9mIFBhaXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1vZGVsW2luZGV4XVtrZXldID0gdmFsdWU7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHJlbW92ZUxhYmVsKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHZhbGlkYXRlTGFiZWxLZXkgPVxuICAgIChkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sIGluZGV4OiBudW1iZXIpID0+XG4gICAgKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT5cbiAgICAgIG1lcmdlTGVmdChcbiAgICAgICAgdGhpcy5rZXlEdXBsaWNhdGVkKGR1cGxpY2F0ZWRSb3dzLCBpbmRleCkoY29udHJvbCksXG4gICAgICAgIHRoaXMua2V5UGF0dGVybihjb250cm9sKSxcbiAgICAgICk7XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRSb3dzKCk7XG4gIH1cblxuICBvdmVycmlkZSBlbWl0VmFsdWUodmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICBzdXBlci5lbWl0VmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRSb3dzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJbih2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFBhaXJbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlID8/IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBtb2RlbE91dChtb2RlbDogUGFpcltdKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIG1vZGVsLnJlZHVjZSgoYWNjLCB7IGtleSwgdmFsdWUgfSkgPT4ge1xuICAgICAgY29uc3QgayA9IGtleS50cmltKCk7XG4gICAgICBpZiAoaykge1xuICAgICAgICBhY2Nba10gPSB2YWx1ZS50cmltKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0R1cGxpY2F0ZWRSb3dzKCkge1xuICAgIHRoaXMuZHVwbGljYXRlZFJvd3MgPSAodGhpcy5tb2RlbCA/PyBbXSkucmVkdWNlKFxuICAgICAgKGFjYywgeyBrZXkgfSwgaW5kZXgsIGxhYmVscykgPT4ge1xuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IFtpLCBsYWJlbF0gb2YgbGFiZWxzLmVudHJpZXMoKSkge1xuICAgICAgICAgIGlmIChpICE9PSBpbmRleCAmJiBsYWJlbC5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgYWNjW2luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSBhcyBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPixcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlQYXR0ZXJuKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+KSB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgW25hbWUsIHByZWZpeCA9ICcnXSA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgaWYgKFxuICAgICAgbmFtZS5sZW5ndGggPiA2MyB8fFxuICAgICAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4ucGF0dGVybi50ZXN0KG5hbWUpID09PSBmYWxzZVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEhcHJlZml4ICYmXG4gICAgICAocHJlZml4Lmxlbmd0aCA+IDI1MyB8fFxuICAgICAgICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX1BSRUZJWF9QQVRURVJOLnBhdHRlcm4udGVzdChwcmVmaXgpID09PSBmYWxzZSlcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUga2V5RHVwbGljYXRlZChcbiAgICBkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sXG4gICAgaW5kZXg6IG51bWJlcixcbiAgKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAoZHVwbGljYXRlZFJvd3NbaW5kZXhdKSB7XG4gICAgICAgIHJldHVybiB7IGR1cGxpY2F0ZWQ6IGtleSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUGFpciB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuIiwiPHRhYmxlXG4gIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUgbXAtc3RpY2t5LXRhYmxlLWhlYWRlciBtcC1zdGlja3ktdGFibGUtYWN0aW9uc1wiXG4gIFtjbGFzcy5zdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICByZXF1aXJlZFxuICAgICAgICB3aWR0aD1cIjUwJVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7ICdrZXknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICAgIDx0aCB3aWR0aD1cIjUwJVwiPnt7ICd2YWx1ZScgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgPHRoIHN0eWxlPVwibWluLXdpZHRoOiA0NHB4XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyXG4gICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIFtjbGFzcy5kdXBsaWNhdGVkXT1cImR1cGxpY2F0ZWRSb3dzW2luZGV4XVwiXG4gICAgPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJrZXlcIlxuICAgICAgICAgICNrZXk9XCJuZ01vZGVsXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJsYWJlbC5rZXlcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRMYWJlbChpbmRleCwgJ2tleScsICRldmVudClcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgW2FjbFZhbGlkYXRlRm5dPVwidmFsaWRhdGVMYWJlbEtleSB8IGNhbGM6IGR1cGxpY2F0ZWRSb3dzOmluZGV4XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwga2V5LmRpcnR5XCJcbiAgICAgICAgICBbZXJyb3JzXT1cImtleS5lcnJvcnNcIlxuICAgICAgICAgIFtlcnJvcnNNYXBwZXJdPVwie1xuICAgICAgICAgICAgZHVwbGljYXRlZDpcbiAgICAgICAgICAgICAgJ2xhYmVsX2tleV9hbHJlYWR5X2V4aXN0cydcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsga2V5OiBrZXkuZXJyb3JzPy5kdXBsaWNhdGVkIH1cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgI3ZhbHVlPVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwibGFiZWwudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRMYWJlbChpbmRleCwgJ3ZhbHVlJywgJGV2ZW50KVwiXG4gICAgICAgICAgYWNsTWF4bGVuZ3RoPVwiNjNcIlxuICAgICAgICAgIFtwYXR0ZXJuXT1cIks4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLnBhdHRlcm5cIlxuICAgICAgICAvPlxuICAgICAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCB8fCB2YWx1ZS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJ2YWx1ZS5lcnJvcnNcIlxuICAgICAgICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYWN0aW9uLWNvbFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxhYmVsKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cIm1pbnVzX2NpcmNsZVwiPjwvYXVpLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdJZj1cIiFtb2RlbD8ubGVuZ3RoXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj57eyAnbm9fbGFiZWwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUtLXJvdy1hY3Rpb25cIj5cbiAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYm90dG9tLWNvbnRyb2wtYnV0dG9uc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZExhYmVsKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGVsPy5sZW5ndGggPj0gNTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwicGx1c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7ICdhZGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
@@ -2,9 +2,8 @@ import { ButtonModule, IconModule, InputModule, SelectModule, } from '@alauda/ui
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';
4
4
  import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
5
- import { TaintEffect, createNestedFormControl } from '../../core/public-api';
5
+ import { PurePipe, TaintEffect, createNestedFormControl, } from '../../core/public-api';
6
6
  import { EffectDirectiveModule } from '../../effect-directive/module';
7
- import { PurePipeModule } from '../../scm/public-api';
8
7
  import { TranslateModule } from '../../translate/public-api';
9
8
  import { ErrorsMapperModule } from '../errors-mapper/public-api';
10
9
  import { ValidatorsModule } from '../validators/public-api';
@@ -177,8 +176,7 @@ export class TaintsEditorComponent extends createNestedFormControl() {
177
176
  i0.ɵɵproperty("plain", true)("disabled", (ctx.model == null ? null : ctx.model.length) >= 50);
178
177
  i0.ɵɵadvance(3);
179
178
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(24, 16, "add"), " ");
180
- } }, 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, PurePipeModule,
181
- 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 }); }
179
+ } }, 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 }); }
182
180
  }
183
181
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaintsEditorComponent, [{
184
182
  type: Component,
@@ -192,7 +190,7 @@ export class TaintsEditorComponent extends createNestedFormControl() {
192
190
  ErrorsMapperModule,
193
191
  IconModule,
194
192
  ButtonModule,
195
- PurePipeModule,
193
+ PurePipe,
196
194
  EffectDirectiveModule,
197
195
  ], providers: [
198
196
  {
@@ -207,4 +205,4 @@ export class TaintsEditorComponent extends createNestedFormControl() {
207
205
  },
208
206
  ], 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"] }]
209
207
  }], null, null); })();
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdGFpbnRzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS90YWludHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztJQ1VwRCx3Q0FHcUI7Ozs7SUFEbkIsbUNBQXFCOzs7SUFjdkIsd0NBR3FCOzs7O0lBRG5CLG1DQUF1Qjs7O0lBVXZCLHNDQUdDO0lBQ0MsWUFDRjtJQUFBLGlCQUFhOzs7SUFIWCxpQ0FBZ0I7SUFFaEIsZUFDRjtJQURFLDBDQUNGOzs7O0lBN0NOLDBCQUFtRCxT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Wix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGtCQUFrQjtvQkFDbEIsVUFBVTtvQkFDVixZQUFZO29CQUNaLGNBQWM7b0JBQ2QscUJBQXFCO2lCQUN0QixhQUNVO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgU2VsZWN0TW9kdWxlLFxufSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUYWludEVmZmVjdCwgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgUHVyZVBpcGVNb2R1bGUgfSBmcm9tICcuLi8uLi9zY20vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9lcnJvcnMtbWFwcGVyL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC10YWludHMtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgVmFsaWRhdG9yc01vZHVsZSxcbiAgICBFcnJvcnNNYXBwZXJNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgUHVyZVBpcGVNb2R1bGUsXG4gICAgRWZmZWN0RGlyZWN0aXZlTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRhaW50c0VkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYWludHNFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFpbnRzRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2w8VGFpbnRbXT4oKSB7XG4gIGVmZmVjdHMgPSBPYmplY3QudmFsdWVzKFRhaW50RWZmZWN0KTtcblxuICBhZGRUYWludCgpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5tb2RlbCA/PyBbXTtcbiAgICB0aGlzLm1vZGVsLnB1c2goeyBrZXk6ICcnLCB2YWx1ZTogJycsIGVmZmVjdDogVGFpbnRFZmZlY3QuTm9TY2hlZHVsZSB9KTtcbiAgfVxuXG4gIGVkaXRUYWludChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGtleToga2V5b2YgT21pdDxUYWludCwgJ2VmZmVjdCc+LFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICk6IHZvaWQ7XG5cbiAgZWRpdFRhaW50KGluZGV4OiBudW1iZXIsIGtleTogJ2VmZmVjdCcsIHZhbHVlOiBUYWludEVmZmVjdCk6IHZvaWQ7XG4gIGVkaXRUYWludChpbmRleDogbnVtYmVyLCBrZXk6IGtleW9mIFRhaW50LCB2YWx1ZTogc3RyaW5nIHwgVGFpbnRFZmZlY3QpIHtcbiAgICB0aGlzLm1vZGVsW2luZGV4XVtrZXldID0gdmFsdWUgYXMgYW55O1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICByZW1vdmVUYWludChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICBrZXlQYXR0ZXJuKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+KSB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgW25hbWUsIHByZWZpeCA9ICcnXSA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgaWYgKFxuICAgICAgbmFtZS5sZW5ndGggPiA2MyB8fFxuICAgICAgL14oKFtcXGRBLVphLXpdW1xcdy4tXSopP1tcXGRBLVphLXpdKSQvLnRlc3QobmFtZSkgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgISFwcmVmaXggJiZcbiAgICAgIChwcmVmaXgubGVuZ3RoID4gMjUzIHx8XG4gICAgICAgIC9eW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8oXFwuW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8pKiQvLnRlc3QoXG4gICAgICAgICAgcHJlZml4LFxuICAgICAgICApID09PSBmYWxzZSlcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgVGFpbnQge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZWZmZWN0OiBUYWludEVmZmVjdDtcbn1cbiIsIjx0YWJsZVxuICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlIG1wLXN0aWNreS10YWJsZS1oZWFkZXIgbXAtc3RpY2t5LXRhYmxlLWFjdGlvbnNcIlxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXG4+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGhcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgd2lkdGg9XCI0MCVcIlxuICAgICAgPlxuICAgICAgICA8c3Bhbj57eyAna2V5JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggd2lkdGg9XCI0MCVcIj57eyAndmFsdWUnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0aCB3aWR0aD1cIjIwJVwiPnt7ICd0eXBlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICA8dGggc3R5bGU9XCJtaW4td2lkdGg6IDQ0cHhcIj48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHRhaW50IG9mIG1vZGVsOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJrZXlcIlxuICAgICAgICAgICNrZXk9XCJuZ01vZGVsXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ0YWludC5rZXlcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRUYWludChpbmRleCwgJ2tleScsICRldmVudClcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgW2FjbFZhbGlkYXRlRm5dPVwia2V5UGF0dGVyblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkIHx8IGtleS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJrZXkuZXJyb3JzXCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgI3ZhbHVlPVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwidGFpbnQudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRUYWludChpbmRleCwgJ3ZhbHVlJywgJGV2ZW50KVwiXG4gICAgICAgICAgYWNsTWF4bGVuZ3RoPVwiNjNcIlxuICAgICAgICAgIHBhdHRlcm49XCJeKChbXFxkQS1aYS16XVtcXHcuLV0qKT9bXFxkQS1aYS16XSk/JFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkIHx8IHZhbHVlLmRpcnR5XCJcbiAgICAgICAgICBbZXJyb3JzXT1cInZhbHVlLmVycm9yc1wiXG4gICAgICAgID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGF1aS1zZWxlY3RcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIG5hbWU9XCJlZmZlY3RcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInRhaW50LmVmZmVjdFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdFRhaW50KGluZGV4LCAnZWZmZWN0JywgJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVmZmVjdCBvZiBlZmZlY3RzXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJlZmZlY3RcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGVmZmVjdCB9fVxuICAgICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgICAgPC9hdWktc2VsZWN0PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19hY3Rpb24tY29sXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlVGFpbnQoaW5kZXgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwibWludXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwiIW1vZGVsPy5sZW5ndGhcIj5cbiAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlclwiPnt7ICdub190YWludCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZS0tcm93LWFjdGlvblwiPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19ib3R0b20tY29udHJvbC1idXR0b25zXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXVpLWJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWRkVGFpbnQoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWw/Lmxlbmd0aCA+PSA1MFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uIGljb249XCJwbHVzX2NpcmNsZVwiPjwvYXVpLWljb24+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAge3sgJ2FkZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
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==
@@ -8,10 +8,10 @@ import { StrongPasswordTooltipComponent } from './strong-password-tooltip/compon
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/cdk/overlay";
10
10
  export class StrongPasswordDirective extends BaseTooltip {
11
- set enabled(enabled) {
11
+ set aclStrongPassword(enabled) {
12
12
  this._enabled = coerceAttrBoolean(enabled);
13
13
  }
14
- get enabled() {
14
+ get aclStrongPassword() {
15
15
  return this._enabled && !this.disabled;
16
16
  }
17
17
  set required(required) {
@@ -36,7 +36,7 @@ export class StrongPasswordDirective extends BaseTooltip {
36
36
  this.validate = (control) => {
37
37
  const v = control.value ?? '';
38
38
  const isFocusing = this.elRef.nativeElement === document.activeElement;
39
- if (this.enabled && v) {
39
+ if (this.aclStrongPassword && v) {
40
40
  if (isFocusing) {
41
41
  this.show();
42
42
  }
@@ -45,7 +45,7 @@ export class StrongPasswordDirective extends BaseTooltip {
45
45
  this.hide();
46
46
  }
47
47
  // 必填校验由 required validator 控制
48
- const errors = this.enabled && (this.required || v)
48
+ const errors = this.aclStrongPassword && (this.required || v)
49
49
  ? converge((...list) => mergeAll(list), [
50
50
  this.validateLength,
51
51
  this.validatePattern,
@@ -110,7 +110,7 @@ export class StrongPasswordDirective extends BaseTooltip {
110
110
  this.trigger = TooltipTrigger.Focus;
111
111
  }
112
112
  onFocus() {
113
- if (!this.enabled) {
113
+ if (!this.aclStrongPassword) {
114
114
  return;
115
115
  }
116
116
  super.onFocus();
@@ -135,7 +135,7 @@ export class StrongPasswordDirective extends BaseTooltip {
135
135
  };
136
136
  }
137
137
  static { this.ɵfac = function StrongPasswordDirective_Factory(t) { return new (t || StrongPasswordDirective)(i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone)); }; }
138
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: StrongPasswordDirective, selectors: [["input", "aclStrongPassword", "", "ngModel", ""], ["input", "aclStrongPassword", "", "formControl", ""], ["input", "aclStrongPassword", "", "formControlName", ""]], inputs: { enabled: ["aclStrongPassword", "enabled"], required: "required", specialChars: "specialChars", minlength: "minlength", maxlength: "maxlength", notStartsWith: "notStartsWith" }, features: [i0.ɵɵProvidersFeature([
138
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: StrongPasswordDirective, selectors: [["input", "aclStrongPassword", "", "ngModel", ""], ["input", "aclStrongPassword", "", "formControl", ""], ["input", "aclStrongPassword", "", "formControlName", ""]], inputs: { aclStrongPassword: "aclStrongPassword", required: "required", specialChars: "specialChars", minlength: "minlength", maxlength: "maxlength", notStartsWith: "notStartsWith" }, features: [i0.ɵɵProvidersFeature([
139
139
  {
140
140
  provide: NG_VALIDATORS,
141
141
  useExisting: forwardRef(() => StrongPasswordDirective),
@@ -155,9 +155,8 @@ export class StrongPasswordDirective extends BaseTooltip {
155
155
  },
156
156
  ],
157
157
  }]
158
- }], function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, { enabled: [{
159
- type: Input,
160
- args: ['aclStrongPassword']
158
+ }], function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, { aclStrongPassword: [{
159
+ type: Input
161
160
  }], required: [{
162
161
  type: Input
163
162
  }], specialChars: [{
@@ -169,4 +168,4 @@ export class StrongPasswordDirective extends BaseTooltip {
169
168
  }], notStartsWith: [{
170
169
  type: Input
171
170
  }] }); })();
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Ryb25nLXBhc3N3b3JkLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL3N0cm9uZy1wYXNzd29yZC9zdHJvbmctcGFzc3dvcmQtdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFhckYsTUFBTSxPQUFPLHVCQUNYLFNBQVEsV0FBVztJQUtuQixJQUNJLE9BQU8sQ0FBQyxPQUFxQjtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFJRCxJQUNJLFFBQVEsQ0FBQyxRQUFzQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFp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QkFEUixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZVRvb2x0aXAsXG4gIGNvZXJjZUF0dHJCb29sZWFuLFxuICBUb29sdGlwVHJpZ2dlcixcbiAgVG9vbHRpcFR5cGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgZm9yd2FyZFJlZixcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb252ZXJnZSwgbWVyZ2VBbGwgfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7IFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBTdHJvbmdQYXNzd29yZFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3N0cm9uZy1wYXNzd29yZC10b29sdGlwL2NvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAnaW5wdXRbYWNsU3Ryb25nUGFzc3dvcmRdW25nTW9kZWxdLGlucHV0W2FjbFN0cm9uZ1Bhc3N3b3JkXVtmb3JtQ29udHJvbF0saW5wdXRbYWNsU3Ryb25nUGFzc3dvcmRdW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3Ryb25nUGFzc3dvcmREaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Ryb25nUGFzc3dvcmREaXJlY3RpdmVcbiAgZXh0ZW5kcyBCYXNlVG9vbHRpcFxuICBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzXG57XG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCdhY2xTdHJvbmdQYXNzd29yZCcpXG4gIHNldCBlbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBjb2VyY2VBdHRyQm9vbGVhbihlbmFibGVkKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkICYmICF0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHJlcXVpcmVkKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzcGVjaWFsQ2hhcnMgPSBTVFJPTkdfUEFTU1dPUkRfU1BFQ0lBTF9DSEFSUztcblxuICBASW5wdXQoKVxuICBtaW5sZW5ndGggPSA4O1xuXG4gIEBJbnB1dCgpXG4gIG1heGxlbmd0aCA9IDMyO1xuXG4gIEBJbnB1dCgpXG4gIG5vdFN0YXJ0c1dpdGggPSAnJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29tcG9uZW50Q2xhc3MgPSBTdHJvbmdQYXNzd29yZFRvb2x0aXBDb21wb25lbnQ7XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2U/LigpO1xuICB9XG5cbiAgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgZWxSZWYsIHJlbmRlcmVyLCBjZHIsIG5nWm9uZSk7XG4gICAgdGhpcy50eXBlID0gVG9vbHRpcFR5cGUuSW5mbztcbiAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcCBzdGFydCc7XG4gICAgdGhpcy50cmlnZ2VyID0gVG9vbHRpcFRyaWdnZXIuRm9jdXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Gb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1cGVyLm9uRm9jdXMoKTtcbiAgfVxuXG4gIHZhbGlkYXRlID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGNvbnN0IHY6IHN0cmluZyA9IGNvbnRyb2wudmFsdWUgPz8gJyc7XG5cbiAgICBjb25zdCBpc0ZvY3VzaW5nID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlZCAmJiB2KSB7XG4gICAgICBpZiAoaXNGb2N1c2luZykge1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFpc0ZvY3VzaW5nIHx8ICF0aGlzLnJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICAvLyDlv4XloavmoKHpqoznlLEgcmVxdWlyZWQgdmFsaWRhdG9yIOaOp+WItlxuICAgIGNvbnN0IGVycm9ycyA9XG4gICAgICB0aGlzLmVuYWJsZWQgJiYgKHRoaXMucmVxdWlyZWQgfHwgdilcbiAgICAgICAgPyBjb252ZXJnZSgoLi4ubGlzdCkgPT4gbWVyZ2VBbGwobGlzdCksIFtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVMZW5ndGgsXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlUGF0dGVybixcbiAgICAgICAgICBdIGFzIGNvbnN0KSh2KVxuICAgICAgICA6IG51bGw7XG5cbiAgICB0aGlzLnJlc2V0Q29udGV4dChlcnJvcnMsIHYpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfTtcblxuICBwcml2YXRlIHJlc2V0Q29udGV4dChlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsZW5ndGggPSAhIXZhbHVlICYmICFlcnJvcnM/Lm1heGxlbmd0aCAmJiAhZXJyb3JzPy5taW5sZW5ndGg7XG4gICAgY29uc3QgZW5nbGlzaENoYXIgPSAhIXZhbHVlICYmICFlcnJvcnM/LnBhdHRlcm4/Lm5lZWRFbmdsaXNoQ2hhcjtcbiAgICBjb25zdCBuZWVkTnVtYmVyID0gISF2YWx1ZSAmJiAhZXJyb3JzPy5wYXR0ZXJuPy5uZWVkTnVtYmVyO1xuICAgIGNvbnN0IHNwZWNpYWxDaGFyID0gISF2YWx1ZSAmJiAhZXJyb3JzPy5wYXR0ZXJuPy5uZWVkU3BlY2lhbENoYXI7XG5cbiAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICBzdGF0ZToge1xuICAgICAgICBsZW5ndGgsXG4gICAgICAgIGVuZ2xpc2hDaGFyLFxuICAgICAgICBzcGVjaWFsQ2hhcixcbiAgICAgICAgbnVtYmVyOiBuZWVkTnVtYmVyLFxuICAgICAgfSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgc3BlY2lhbENoYXI6IHRoaXMuc3BlY2lhbENoYXJzLFxuICAgICAgICBtaW5MZW5ndGg6IHRoaXMubWlubGVuZ3RoLFxuICAgICAgICBtYXhMZW5ndGg6IHRoaXMubWF4bGVuZ3RoLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0ZVBhdHRlcm4gPSAodjogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgaWYgKCF2KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnMgPSBjb252ZXJnZSgoLi4ubGlzdCkgPT4gbWVyZ2VBbGwobGlzdCksIFtcbiAgICAgIHRoaXMudmFsaWRhdGVFbmdsaXNoQ2hhcixcbiAgICAgIHRoaXMudmFsaWRhdGVTcGVjaWFsQ2hhcixcbiAgICAgIHRoaXMudmFsaWRhdGVOdW1iZXIsXG4gICAgICB0aGlzLnZhbGlkYXRlTm90U3RhcnRzV2l0aCxcbiAgICBdIGFzIGNvbnN0KSh2KTtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA/IHsgcGF0dGVybjogZXJyb3JzIH0gOiBudWxsO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGVMZW5ndGggPSAodjogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgaWYgKCF2IHx8ICh2Lmxlbmd0aCA+PSB0aGlzLm1pbmxlbmd0aCAmJiB2Lmxlbmd0aCA8PSB0aGlzLm1heGxlbmd0aCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IHt9O1xuICAgIGlmICh2Lmxlbmd0aCA8IHRoaXMubWlubGVuZ3RoKSB7XG4gICAgICBlcnJvcnMubWlubGVuZ3RoID0ge1xuICAgICAgICByZXF1aXJlZExlbmd0aDogdGhpcy5taW5sZW5ndGgsXG4gICAgICAgIGFjdHVhbExlbmd0aDogdi5sZW5ndGgsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodi5sZW5ndGggPiB0aGlzLm1heGxlbmd0aCkge1xuICAgICAgZXJyb3JzLm1heGxlbmd0aCA9IHtcbiAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWF4bGVuZ3RoLFxuICAgICAgICBhY3R1YWxMZW5ndGg6IHYubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRlRW5nbGlzaENoYXIgPSAodjogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyA9PlxuICAgIC9bQS1aYS16XS8udGVzdCh2KSA/IG51bGwgOiB7IG5lZWRFbmdsaXNoQ2hhcjogdHJ1ZSB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGVOdW1iZXIgPSAodjogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyA9PlxuICAgIC9cXGQvLnRlc3QodikgPyBudWxsIDogeyBuZWVkTnVtYmVyOiB0cnVlIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0ZVNwZWNpYWxDaGFyID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGlmICghdGhpcy5zcGVjaWFsQ2hhcnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBjaGFycyA9IHRoaXMuc3BlY2lhbENoYXJzLnNwbGl0KCcnKS5qb2luKCdcXFxcJyk7XG4gICAgY29uc3QgdW5leHBlY3RlZENoYXJzID0gKFxuICAgICAgdi5tYXRjaChuZXcgUmVnRXhwKGAoPyFbYS16QS1aMC05JHtjaGFyc31dKS5gLCAnZycpKSA/PyBbXVxuICAgICkuam9pbignJyk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoYFske2NoYXJzfV1gLCAnZycpLnRlc3QodikgJiYgIXVuZXhwZWN0ZWRDaGFyc1xuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBuZWVkU3BlY2lhbENoYXI6IHtcbiAgICAgICAgICAgIHJlcXVpcmVkQ2hhcnM6IHRoaXMuc3BlY2lhbENoYXJzLFxuICAgICAgICAgICAgYWN0dWFsQ2hhcnM6IHVuZXhwZWN0ZWRDaGFycyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGVOb3RTdGFydHNXaXRoID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT5cbiAgICB0aGlzLm5vdFN0YXJ0c1dpdGggJiYgdi5zdGFydHNXaXRoKHRoaXMubm90U3RhcnRzV2l0aClcbiAgICAgID8geyBub3RTdGFydHNXaXRoOiB0aGlzLm5vdFN0YXJ0c1dpdGggfVxuICAgICAgOiBudWxsO1xufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Ryb25nLXBhc3N3b3JkLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL3N0cm9uZy1wYXNzd29yZC9zdHJvbmctcGFzc3dvcmQtdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFhckYsTUFBTSxPQUFPLHVCQUNYLFNBQVEsV0FBVztJQUtuQixJQUNJLGlCQUFpQixDQUFDLE9BQXFCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUlELElBQ0ksUUFBUSxDQUFDLFFBQXNCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcs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QkFEUixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZVRvb2x0aXAsXG4gIGNvZXJjZUF0dHJCb29sZWFuLFxuICBUb29sdGlwVHJpZ2dlcixcbiAgVG9vbHRpcFR5cGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgZm9yd2FyZFJlZixcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb252ZXJnZSwgbWVyZ2VBbGwgfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7IFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBTdHJvbmdQYXNzd29yZFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3N0cm9uZy1wYXNzd29yZC10b29sdGlwL2NvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAnaW5wdXRbYWNsU3Ryb25nUGFzc3dvcmRdW25nTW9kZWxdLGlucHV0W2FjbFN0cm9uZ1Bhc3N3b3JkXVtmb3JtQ29udHJvbF0saW5wdXRbYWNsU3Ryb25nUGFzc3dvcmRdW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3Ryb25nUGFzc3dvcmREaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Ryb25nUGFzc3dvcmREaXJlY3RpdmVcbiAgZXh0ZW5kcyBCYXNlVG9vbHRpcFxuICBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzXG57XG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IGFjbFN0cm9uZ1Bhc3N3b3JkKGVuYWJsZWQ6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBjb2VyY2VBdHRyQm9vbGVhbihlbmFibGVkKTtcbiAgfVxuXG4gIGdldCBhY2xTdHJvbmdQYXNzd29yZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCByZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VBdHRyQm9vbGVhbihyZXF1aXJlZCk7XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc3BlY2lhbENoYXJzID0gU1RST05HX1BBU1NXT1JEX1NQRUNJQUxfQ0hBUlM7XG5cbiAgQElucHV0KClcbiAgbWlubGVuZ3RoID0gODtcblxuICBASW5wdXQoKVxuICBtYXhsZW5ndGggPSAzMjtcblxuICBASW5wdXQoKVxuICBub3RTdGFydHNXaXRoID0gJyc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNvbXBvbmVudENsYXNzID0gU3Ryb25nUGFzc3dvcmRUb29sdGlwQ29tcG9uZW50O1xuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlPy4oKTtcbiAgfVxuXG4gIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBlbFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICkge1xuICAgIHN1cGVyKG92ZXJsYXksIHZpZXdDb250YWluZXJSZWYsIGVsUmVmLCByZW5kZXJlciwgY2RyLCBuZ1pvbmUpO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLkluZm87XG4gICAgdGhpcy5wb3NpdGlvbiA9ICd0b3Agc3RhcnQnO1xuICAgIHRoaXMudHJpZ2dlciA9IFRvb2x0aXBUcmlnZ2VyLkZvY3VzO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFjbFN0cm9uZ1Bhc3N3b3JkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIub25Gb2N1cygpO1xuICB9XG5cbiAgdmFsaWRhdGUgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgY29uc3Qgdjogc3RyaW5nID0gY29udHJvbC52YWx1ZSA/PyAnJztcblxuICAgIGNvbnN0IGlzRm9jdXNpbmcgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAodGhpcy5hY2xTdHJvbmdQYXNzd29yZCAmJiB2KSB7XG4gICAgICBpZiAoaXNGb2N1c2luZykge1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFpc0ZvY3VzaW5nIHx8ICF0aGlzLnJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICAvLyDlv4XloavmoKHpqoznlLEgcmVxdWlyZWQgdmFsaWRhdG9yIOaOp+WItlxuICAgIGNvbnN0IGVycm9ycyA9XG4gICAgICB0aGlzLmFjbFN0cm9uZ1Bhc3N3b3JkICYmICh0aGlzLnJlcXVpcmVkIHx8IHYpXG4gICAgICAgID8gY29udmVyZ2UoKC4uLmxpc3QpID0+IG1lcmdlQWxsKGxpc3QpLCBbXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlTGVuZ3RoLFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVBhdHRlcm4sXG4gICAgICAgICAgXSBhcyBjb25zdCkodilcbiAgICAgICAgOiBudWxsO1xuXG4gICAgdGhpcy5yZXNldENvbnRleHQoZXJyb3JzLCB2KTtcblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH07XG5cbiAgcHJpdmF0ZSByZXNldENvbnRleHQoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gISF2YWx1ZSAmJiAhZXJyb3JzPy5tYXhsZW5ndGggJiYgIWVycm9ycz8ubWlubGVuZ3RoO1xuICAgIGNvbnN0IGVuZ2xpc2hDaGFyID0gISF2YWx1ZSAmJiAhZXJyb3JzPy5wYXR0ZXJuPy5uZWVkRW5nbGlzaENoYXI7XG4gICAgY29uc3QgbmVlZE51bWJlciA9ICEhdmFsdWUgJiYgIWVycm9ycz8ucGF0dGVybj8ubmVlZE51bWJlcjtcbiAgICBjb25zdCBzcGVjaWFsQ2hhciA9ICEhdmFsdWUgJiYgIWVycm9ycz8ucGF0dGVybj8ubmVlZFNwZWNpYWxDaGFyO1xuXG4gICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgc3RhdGU6IHtcbiAgICAgICAgbGVuZ3RoLFxuICAgICAgICBlbmdsaXNoQ2hhcixcbiAgICAgICAgc3BlY2lhbENoYXIsXG4gICAgICAgIG51bWJlcjogbmVlZE51bWJlcixcbiAgICAgIH0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIHNwZWNpYWxDaGFyOiB0aGlzLnNwZWNpYWxDaGFycyxcbiAgICAgICAgbWluTGVuZ3RoOiB0aGlzLm1pbmxlbmd0aCxcbiAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heGxlbmd0aCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGVQYXR0ZXJuID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGlmICghdikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzID0gY29udmVyZ2UoKC4uLmxpc3QpID0+IG1lcmdlQWxsKGxpc3QpLCBbXG4gICAgICB0aGlzLnZhbGlkYXRlRW5nbGlzaENoYXIsXG4gICAgICB0aGlzLnZhbGlkYXRlU3BlY2lhbENoYXIsXG4gICAgICB0aGlzLnZhbGlkYXRlTnVtYmVyLFxuICAgICAgdGhpcy52YWxpZGF0ZU5vdFN0YXJ0c1dpdGgsXG4gICAgXSBhcyBjb25zdCkodik7XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPyB7IHBhdHRlcm46IGVycm9ycyB9IDogbnVsbDtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRlTGVuZ3RoID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGlmICghdiB8fCAodi5sZW5ndGggPj0gdGhpcy5taW5sZW5ndGggJiYgdi5sZW5ndGggPD0gdGhpcy5tYXhsZW5ndGgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB7fTtcbiAgICBpZiAodi5sZW5ndGggPCB0aGlzLm1pbmxlbmd0aCkge1xuICAgICAgZXJyb3JzLm1pbmxlbmd0aCA9IHtcbiAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWlubGVuZ3RoLFxuICAgICAgICBhY3R1YWxMZW5ndGg6IHYubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHYubGVuZ3RoID4gdGhpcy5tYXhsZW5ndGgpIHtcbiAgICAgIGVycm9ycy5tYXhsZW5ndGggPSB7XG4gICAgICAgIHJlcXVpcmVkTGVuZ3RoOiB0aGlzLm1heGxlbmd0aCxcbiAgICAgICAgYWN0dWFsTGVuZ3RoOiB2Lmxlbmd0aCxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0ZUVuZ2xpc2hDaGFyID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT5cbiAgICAvW0EtWmEtel0vLnRlc3QodikgPyBudWxsIDogeyBuZWVkRW5nbGlzaENoYXI6IHRydWUgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRlTnVtYmVyID0gKHY6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgPT5cbiAgICAvXFxkLy50ZXN0KHYpID8gbnVsbCA6IHsgbmVlZE51bWJlcjogdHJ1ZSB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGVTcGVjaWFsQ2hhciA9ICh2OiBzdHJpbmcpOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgICBpZiAoIXRoaXMuc3BlY2lhbENoYXJzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY2hhcnMgPSB0aGlzLnNwZWNpYWxDaGFycy5zcGxpdCgnJykuam9pbignXFxcXCcpO1xuICAgIGNvbnN0IHVuZXhwZWN0ZWRDaGFycyA9IChcbiAgICAgIHYubWF0Y2gobmV3IFJlZ0V4cChgKD8hW2EtekEtWjAtOSR7Y2hhcnN9XSkuYCwgJ2cnKSkgPz8gW11cbiAgICApLmpvaW4oJycpO1xuICAgIHJldHVybiBuZXcgUmVnRXhwKGBbJHtjaGFyc31dYCwgJ2cnKS50ZXN0KHYpICYmICF1bmV4cGVjdGVkQ2hhcnNcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbmVlZFNwZWNpYWxDaGFyOiB7XG4gICAgICAgICAgICByZXF1aXJlZENoYXJzOiB0aGlzLnNwZWNpYWxDaGFycyxcbiAgICAgICAgICAgIGFjdHVhbENoYXJzOiB1bmV4cGVjdGVkQ2hhcnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRlTm90U3RhcnRzV2l0aCA9ICh2OiBzdHJpbmcpOiBWYWxpZGF0aW9uRXJyb3JzID0+XG4gICAgdGhpcy5ub3RTdGFydHNXaXRoICYmIHYuc3RhcnRzV2l0aCh0aGlzLm5vdFN0YXJ0c1dpdGgpXG4gICAgICA/IHsgbm90U3RhcnRzV2l0aDogdGhpcy5ub3RTdGFydHNXaXRoIH1cbiAgICAgIDogbnVsbDtcbn1cbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  import { Validators } from '@angular/forms';
2
+ import parser from 'cron-parser';
2
3
  import { map } from 'rxjs';
3
4
  import { K8S_RESOURCE_LABEL_KEY_NAME_PATTERN, K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN, K8S_RESOURCE_LABEL_VALUE_PATTERN, } from '../../core/constants/patterns';
4
- import { publishRef } from '../../core/public-api';
5
+ import { isCronFieldCountCorrect, isCronWeekDayCorrect, publishRef, } from '../../core/public-api';
5
6
  export const STRONG_PASSWORD_SPECIAL_CHARS = '~!@#$%^&*()-_=+?';
6
7
  const K8S_RESOURCE_LABEL_KEY_NAME_MAX_LENGTH = 63;
7
8
  const K8S_RESOURCE_LABEL_KEY_PREFIX_MAX_LENGTH = 253;
@@ -104,4 +105,48 @@ export const getK8sResourceAnnotationErrorMapper = (translate) => ({
104
105
  },
105
106
  });
106
107
  export const getK8sResourceAnnotationErrorMapper$ = (translate) => translate.locale$.pipe(map(() => getK8sResourceAnnotationErrorMapper(translate)), publishRef());
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQixPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsa0JBQWtCLENBQUM7QUFDaEUsTUFBTSxzQ0FBc0MsR0FBRyxFQUFFLENBQUM7QUFDbEQsTUFBTSx3Q0FBd0MsR0FBRyxHQUFHLENBQUM7QUFFckQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUM3QixNQUFNLEdBQUcsRUFBRSxFQUNYLE9BQU8sR0FBRyw2QkFBNkIsTUFJckMsRUFBRTtJQUNKLE1BQU0sU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBQy9DLE1BQU0sU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBQy9DLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztJQUU3QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBVSxFQUFFO1FBQ3hFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFB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QUcsQ0FBQztRQUM1RCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQztLQUMvRDtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQzdFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDcEQsVUFBVSxFQUFFLENBQ2IsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLENBQ2pELFNBQTJCLEVBQzNCLEVBQUUsQ0FBQyxDQUFDO0lBQ0osR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsR0FBRyxDQUFDO1FBQ25FLGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLEdBQUcsQ0FBQztRQUN2RSxXQUFXLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQztRQUM5RCxhQUFhLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztLQUMxRDtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLENBQ2xELFNBQTJCLEVBQzNCLEVBQUUsQ0FDRixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ3pELFVBQVUsRUFBRSxDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9wYXR0ZXJucyc7XG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBTVFJPTkdfUEFTU1dPUkRfU1BFQ0lBTF9DSEFSUyA9ICd+IUAjJCVeJiooKS1fPSs/JztcbmNvbnN0IEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9NQVhfTEVOR1RIID0gNjM7XG5jb25zdCBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX1BSRUZJWF9NQVhfTEVOR1RIID0gMjUzO1xuXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tUGFzc3dvcmQoe1xuICBsZW5ndGggPSAxMixcbiAgc3ltYm9scyA9IFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTLFxufToge1xuICBsZW5ndGg/OiBudW1iZXI7XG4gIHN5bWJvbHM/OiBzdHJpbmc7XG59ID0ge30pOiBzdHJpbmcge1xuICBjb25zdCBsb3dlckNhc2UgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICBjb25zdCB1cHBlckNhc2UgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuICBjb25zdCBudW1iZXJzID0gJzAxMjM0NTY3ODknO1xuXG4gIGNvbnN0IHBhc3N3b3JkID0gQXJyYXkuZnJvbSh7IGxlbmd0aCB9KTtcblxuICBjb25zdCByYW5kb21Qb3NpdGlvbiA9IChpID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGVuZ3RoKSk6IG51bWJlciA9PiB7XG4gICAgaWYgKHBhc3N3b3JkW2ldKSB7XG4gICAgICByZXR1cm4gcmFuZG9tUG9zaXRpb24oKytpID49IGxlbmd0aCA/IGkgLSBsZW5ndGggOiBpKTtcbiAgICB9XG4gICAgcmV0dXJuIGk7XG4gIH07XG5cbiAgY29uc3QgcmFuZG9tQ2hhciA9IChvcHRpb25zOiBzdHJpbmcpID0+XG4gICAgb3B0aW9ucy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogb3B0aW9ucy5sZW5ndGgpKTtcblxuICBjb25zdCByYW5kb21HZW5lcmF0b3IgPSAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IFtsb3dlckNhc2UsIHVwcGVyQ2FzZSwgbnVtYmVyc107XG4gICAgaWYgKHN5bWJvbHMpIHtcbiAgICAgIG9wdGlvbnMucHVzaChzeW1ib2xzKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhbmRvbUNoYXIob3B0aW9uc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBvcHRpb25zLmxlbmd0aCldKTtcbiAgfTtcblxuICBwYXNzd29yZFtyYW5kb21Qb3NpdGlvbigpXSA9IHJhbmRvbUNoYXIobG93ZXJDYXNlKTtcbiAgcGFzc3dvcmRbcmFuZG9tUG9zaXRpb24oKV0gPSByYW5kb21DaGFyKG51bWJlcnMpO1xuICBpZiAoc3ltYm9scykge1xuICAgIHBhc3N3b3JkW3JhbmRvbVBvc2l0aW9uKCldID0gcmFuZG9tQ2hhcihzeW1ib2xzKTtcbiAgfVxuXG4gIHBhc3N3b3JkLmZvckVhY2goKGNoYXIsIGluZGV4KSA9PiB7XG4gICAgaWYgKCFjaGFyKSB7XG4gICAgICBwYXNzd29yZFtpbmRleF0gPSByYW5kb21HZW5lcmF0b3IoKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwYXNzd29yZC5qb2luKCcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGs4c1Jlc291cmNlTGFiZWxLZXlWYWxpZGF0b3IoXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBrZXlQYXJ0aXRpb24gPSAoY29udHJvbC52YWx1ZSBhcyBzdHJpbmcpLnNwbGl0KCcvJyk7XG4gIGNvbnN0IFtwcmVmaXgsIC4uLm5hbWVQYXJ0c10gPSBrZXlQYXJ0aXRpb247XG4gIGxldCBjaGVja1ByZWZpeCA9IHRydWU7XG4gIGxldCBjaGVja05hbWUgPSB0cnVlO1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICBpZiAoa2V5UGFydGl0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICBuYW1lID0gbmFtZVBhcnRzLmpvaW4oJy8nKTtcbiAgICBjaGVja1ByZWZpeCA9IEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX1BBVFRFUk4ucGF0dGVybi50ZXN0KHByZWZpeCk7XG4gICAgY2hlY2tOYW1lID0gSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4ucGF0dGVybi50ZXN0KG5hbWUpO1xuICB9IGVsc2Uge1xuICAgIG5hbWUgPSBrZXlQYXJ0aXRpb25bMF07XG4gICAgY2hlY2tOYW1lID0gSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4ucGF0dGVybi50ZXN0KFxuICAgICAga2V5UGFydGl0aW9uWzBdLFxuICAgICk7XG4gIH1cbiAgaWYgKGtleVBhcnRpdGlvbi5sZW5ndGggPiAxKSB7XG4gICAgaWYgKCFjaGVja1ByZWZpeCkge1xuICAgICAgcmV0dXJuIHsgcHJlZml4UGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cbiAgICBpZiAocHJlZml4Lmxlbmd0aCA+IEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX01BWF9MRU5HVEgpIHtcbiAgICAgIHJldHVybiB7IHByZWZpeFRvb0xvbmc6IHByZWZpeC5sZW5ndGggfTtcbiAgICB9XG4gIH1cblxuICBpZiAoIWNoZWNrTmFtZSkge1xuICAgIHJldHVybiB7IG5hbWVQYXR0ZXJuOiB0cnVlIH07XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfTUFYX0xFTkdUSCkge1xuICAgIHJldHVybiB7IG5hbWVUb29Mb25nOiBuYW1lLmxlbmd0aCB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBrOHNSZXNvdXJjZUFubm90YXRpb25LZXlWYWxpZGF0b3IgPSBrOHNSZXNvdXJjZUxhYmVsS2V5VmFsaWRhdG9yO1xuXG5leHBvcnQgY29uc3QgazhzUmVzb3VyY2VMYWJlbFZhbHVlVmFsaWRhdG9yID0gVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgVmFsaWRhdG9ycy5wYXR0ZXJuKEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLnBhdHRlcm4pLFxuICBWYWxpZGF0b3JzLm1heExlbmd0aCg2MyksXG5dKTtcblxuZXhwb3J0IGNvbnN0IGs4c1Jlc291cmNlTGFiZWxWYWxpZGF0b3IgPSB7XG4gIGtleTogazhzUmVzb3VyY2VMYWJlbEtleVZhbGlkYXRvcixcbiAgdmFsdWU6IGs4c1Jlc291cmNlTGFiZWxWYWx1ZVZhbGlkYXRvcixcbn07XG5cbmV4cG9ydCBjb25zdCBrOHNSZXNvdXJjZUFubm90YXRpb25WYWxpZGF0b3IgPSB7XG4gIGtleTogazhzUmVzb3VyY2VBbm5vdGF0aW9uS2V5VmFsaWRhdG9yLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEs4c1Jlc291cmNlTGFiZWxFcnJvck1hcHBlciA9IChcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuKSA9PiAoe1xuICBrZXk6IHtcbiAgICBuYW1lUGF0dGVybjogdHJhbnNsYXRlLmdldChLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTi50aXApLFxuICAgIHByZWZpeFBhdHRlcm46IHRyYW5zbGF0ZS5nZXQoSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTi50aXApLFxuICAgIG5hbWVUb29Mb25nOiB0cmFuc2xhdGUuZ2V0KCdrOHNfcmVzb3VyY2VfbGFiZWxfa2V5X2V4Y2VlZGluZycpLFxuICAgIHByZWZpeFRvb0xvbmc6IHRyYW5zbGF0ZS5nZXQoJ2s4c19sYWJlbF9wcmVmaXhfdG9vX2xvbmcnKSxcbiAgfSxcbiAgdmFsdWU6IHtcbiAgICBwYXR0ZXJuOiB0cmFuc2xhdGUuZ2V0KEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLnRpcCksXG4gICAgbWF4bGVuZ3RoOiB0cmFuc2xhdGUuZ2V0KCdrOHNfcmVzb3VyY2VfbGFiZWxfdmFsdWVfZXhjZWVkaW5nJyksXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldEs4c1Jlc291cmNlTGFiZWxFcnJvck1hcHBlciQgPSAodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PlxuICB0cmFuc2xhdGUubG9jYWxlJC5waXBlKFxuICAgIG1hcCgoKSA9PiBnZXRLOHNSZXNvdXJjZUxhYmVsRXJyb3JNYXBwZXIodHJhbnNsYXRlKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG5leHBvcnQgY29uc3QgZ2V0SzhzUmVzb3VyY2VBbm5vdGF0aW9uRXJyb3JNYXBwZXIgPSAoXG4gIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbikgPT4gKHtcbiAga2V5OiB7XG4gICAgbmFtZVBhdHRlcm46IHRyYW5zbGF0ZS5nZXQoSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4udGlwKSxcbiAgICBwcmVmaXhQYXR0ZXJuOiB0cmFuc2xhdGUuZ2V0KEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX1BBVFRFUk4udGlwKSxcbiAgICBuYW1lVG9vTG9uZzogdHJhbnNsYXRlLmdldCgnazhzX3Jlc291cmNlX2xhYmVsX2tleV9leGNlZWRpbmcnKSxcbiAgICBwcmVmaXhUb29Mb25nOiB0cmFuc2xhdGUuZ2V0KCdrOHNfbGFiZWxfcHJlZml4X3Rvb19sb25nJyksXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldEs4c1Jlc291cmNlQW5ub3RhdGlvbkVycm9yTWFwcGVyJCA9IChcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuKSA9PlxuICB0cmFuc2xhdGUubG9jYWxlJC5waXBlKFxuICAgIG1hcCgoKSA9PiBnZXRLOHNSZXNvdXJjZUFubm90YXRpb25FcnJvck1hcHBlcih0cmFuc2xhdGUpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG4iXX0=
108
+ // CRON_FORMAT_ERROR: cronFormatError 标识格式错误
109
+ // CRON_MIN_INTERVAL_ERROR: cronMinIntervalError 标识最小间隔错误
110
+ export const CRON_FORMAT_ERROR = 'cronFormatError';
111
+ export const CRON_MIN_INTERVAL_ERROR = 'cronMinIntervalError';
112
+ export function cronValidator(minInterval) {
113
+ return (control) => {
114
+ const value = control.value;
115
+ if (!value) {
116
+ return null;
117
+ }
118
+ if (!isCronWeekDayCorrect(value)) {
119
+ return {
120
+ [CRON_FORMAT_ERROR]: true,
121
+ };
122
+ }
123
+ if (!isCronFieldCountCorrect(value)) {
124
+ return {
125
+ [CRON_FORMAT_ERROR]: true,
126
+ };
127
+ }
128
+ try {
129
+ const iterator = parser.parseExpression(value);
130
+ let minIntervalValidity = true;
131
+ if (minInterval) {
132
+ const next1 = iterator.next();
133
+ const next2 = iterator.next();
134
+ // minute
135
+ if ((next2._date - next1._date) / 1000 / 60 < minInterval) {
136
+ minIntervalValidity = false;
137
+ }
138
+ }
139
+ return minIntervalValidity
140
+ ? null
141
+ : {
142
+ [CRON_MIN_INTERVAL_ERROR]: true,
143
+ };
144
+ }
145
+ catch {
146
+ return {
147
+ [CRON_FORMAT_ERROR]: true,
148
+ };
149
+ }
150
+ };
151
+ }
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxxQ0FBcUMsRUFDckMsZ0NBQWdDLEdBQ2pDLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsVUFBVSxHQUNYLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsa0JBQWtCLENBQUM7QUFDaEUsTUFBTSxzQ0FBc0MsR0FBRyxFQUFFLENBQUM7QUFDbEQsTUFBTSx3Q0FBd0MsR0FBRyxHQUFHLENBQUM7QUFFckQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUM3QixNQUFNLEdBQUcsRUFBRSxFQUNYLE9BQU8sR0FBRyw2QkFBNkIsTUFJckMsRUFBRTtJQUNKLE1BQU0sU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBQy9DLE1BQU0sU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBQy9DLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztJQUU3QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBVSxFQUFFO1FBQ3hFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxj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QUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBwYXJzZXIgZnJvbSAnY3Jvbi1wYXJzZXInO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOLFxuICBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX1BSRUZJWF9QQVRURVJOLFxuICBLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvcGF0dGVybnMnO1xuaW1wb3J0IHtcbiAgaXNDcm9uRmllbGRDb3VudENvcnJlY3QsXG4gIGlzQ3JvbldlZWtEYXlDb3JyZWN0LFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTID0gJ34hQCMkJV4mKigpLV89Kz8nO1xuY29uc3QgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX01BWF9MRU5HVEggPSA2MztcbmNvbnN0IEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX01BWF9MRU5HVEggPSAyNTM7XG5cbmV4cG9ydCBmdW5jdGlvbiByYW5kb21QYXNzd29yZCh7XG4gIGxlbmd0aCA9IDEyLFxuICBzeW1ib2xzID0gU1RST05HX1BBU1NXT1JEX1NQRUNJQUxfQ0hBUlMsXG59OiB7XG4gIGxlbmd0aD86IG51bWJlcjtcbiAgc3ltYm9scz86IHN0cmluZztcbn0gPSB7fSk6IHN0cmluZyB7XG4gIGNvbnN0IGxvd2VyQ2FzZSA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eic7XG4gIGNvbnN0IHVwcGVyQ2FzZSA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWic7XG4gIGNvbnN0IG51bWJlcnMgPSAnMDEyMzQ1Njc4OSc7XG5cbiAgY29uc3QgcGFzc3dvcmQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoIH0pO1xuXG4gIGNvbnN0IHJhbmRvbVBvc2l0aW9uID0gKGkgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsZW5ndGgpKTogbnVtYmVyID0+IHtcbiAgICBpZiAocGFzc3dvcmRbaV0pIHtcbiAgICAgIHJldHVybiByYW5kb21Qb3NpdGlvbigrK2kgPj0gbGVuZ3RoID8gaSAtIGxlbmd0aCA6IGkpO1xuICAgIH1cbiAgICByZXR1cm4gaTtcbiAgfTtcblxuICBjb25zdCByYW5kb21DaGFyID0gKG9wdGlvbnM6IHN0cmluZykgPT5cbiAgICBvcHRpb25zLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBvcHRpb25zLmxlbmd0aCkpO1xuXG4gIGNvbnN0IHJhbmRvbUdlbmVyYXRvciA9ICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gW2xvd2VyQ2FzZSwgdXBwZXJDYXNlLCBudW1iZXJzXTtcbiAgICBpZiAoc3ltYm9scykge1xuICAgICAgb3B0aW9ucy5wdXNoKHN5bWJvbHMpO1xuICAgIH1cbiAgICByZXR1cm4gcmFuZG9tQ2hhcihvcHRpb25zW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG9wdGlvbnMubGVuZ3RoKV0pO1xuICB9O1xuXG4gIHBhc3N3b3JkW3JhbmRvbVBvc2l0aW9uKCldID0gcmFuZG9tQ2hhcihsb3dlckNhc2UpO1xuICBwYXNzd29yZFtyYW5kb21Qb3NpdGlvbigpXSA9IHJhbmRvbUNoYXIobnVtYmVycyk7XG4gIGlmIChzeW1ib2xzKSB7XG4gICAgcGFzc3dvcmRbcmFuZG9tUG9zaXRpb24oKV0gPSByYW5kb21DaGFyKHN5bWJvbHMpO1xuICB9XG5cbiAgcGFzc3dvcmQuZm9yRWFjaCgoY2hhciwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWNoYXIpIHtcbiAgICAgIHBhc3N3b3JkW2luZGV4XSA9IHJhbmRvbUdlbmVyYXRvcigpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHBhc3N3b3JkLmpvaW4oJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gazhzUmVzb3VyY2VMYWJlbEtleVZhbGlkYXRvcihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGtleVBhcnRpdGlvbiA9IChjb250cm9sLnZhbHVlIGFzIHN0cmluZykuc3BsaXQoJy8nKTtcbiAgY29uc3QgW3ByZWZpeCwgLi4ubmFtZVBhcnRzXSA9IGtleVBhcnRpdGlvbjtcbiAgbGV0IGNoZWNrUHJlZml4ID0gdHJ1ZTtcbiAgbGV0IGNoZWNrTmFtZSA9IHRydWU7XG4gIGxldCBuYW1lOiBzdHJpbmc7XG4gIGlmIChrZXlQYXJ0aXRpb24ubGVuZ3RoID4gMSkge1xuICAgIG5hbWUgPSBuYW1lUGFydHMuam9pbignLycpO1xuICAgIGNoZWNrUHJlZml4ID0gSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTi5wYXR0ZXJuLnRlc3QocHJlZml4KTtcbiAgICBjaGVja05hbWUgPSBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTi5wYXR0ZXJuLnRlc3QobmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgbmFtZSA9IGtleVBhcnRpdGlvblswXTtcbiAgICBjaGVja05hbWUgPSBLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTi5wYXR0ZXJuLnRlc3QoXG4gICAgICBrZXlQYXJ0aXRpb25bMF0sXG4gICAgKTtcbiAgfVxuICBpZiAoa2V5UGFydGl0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICBpZiAoIWNoZWNrUHJlZml4KSB7XG4gICAgICByZXR1cm4geyBwcmVmaXhQYXR0ZXJuOiB0cnVlIH07XG4gICAgfVxuICAgIGlmIChwcmVmaXgubGVuZ3RoID4gSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfTUFYX0xFTkdUSCkge1xuICAgICAgcmV0dXJuIHsgcHJlZml4VG9vTG9uZzogcHJlZml4Lmxlbmd0aCB9O1xuICAgIH1cbiAgfVxuXG4gIGlmICghY2hlY2tOYW1lKSB7XG4gICAgcmV0dXJuIHsgbmFtZVBhdHRlcm46IHRydWUgfTtcbiAgfVxuXG4gIGlmIChuYW1lLmxlbmd0aCA+IEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9NQVhfTEVOR1RIKSB7XG4gICAgcmV0dXJuIHsgbmFtZVRvb0xvbmc6IG5hbWUubGVuZ3RoIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IGs4c1Jlc291cmNlQW5ub3RhdGlvbktleVZhbGlkYXRvciA9IGs4c1Jlc291cmNlTGFiZWxLZXlWYWxpZGF0b3I7XG5cbmV4cG9ydCBjb25zdCBrOHNSZXNvdXJjZUxhYmVsVmFsdWVWYWxpZGF0b3IgPSBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICBWYWxpZGF0b3JzLnBhdHRlcm4oSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk4ucGF0dGVybiksXG4gIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYzKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgazhzUmVzb3VyY2VMYWJlbFZhbGlkYXRvciA9IHtcbiAga2V5OiBrOHNSZXNvdXJjZUxhYmVsS2V5VmFsaWRhdG9yLFxuICB2YWx1ZTogazhzUmVzb3VyY2VMYWJlbFZhbHVlVmFsaWRhdG9yLFxufTtcblxuZXhwb3J0IGNvbnN0IGs4c1Jlc291cmNlQW5ub3RhdGlvblZhbGlkYXRvciA9IHtcbiAga2V5OiBrOHNSZXNvdXJjZUFubm90YXRpb25LZXlWYWxpZGF0b3IsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SzhzUmVzb3VyY2VMYWJlbEVycm9yTWFwcGVyID0gKFxuICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4pID0+ICh7XG4gIGtleToge1xuICAgIG5hbWVQYXR0ZXJuOiB0cmFuc2xhdGUuZ2V0KEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOLnRpcCksXG4gICAgcHJlZml4UGF0dGVybjogdHJhbnNsYXRlLmdldChLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX1BSRUZJWF9QQVRURVJOLnRpcCksXG4gICAgbmFtZVRvb0xvbmc6IHRyYW5zbGF0ZS5nZXQoJ2s4c19yZXNvdXJjZV9sYWJlbF9rZXlfZXhjZWVkaW5nJyksXG4gICAgcHJlZml4VG9vTG9uZzogdHJhbnNsYXRlLmdldCgnazhzX2xhYmVsX3ByZWZpeF90b29fbG9uZycpLFxuICB9LFxuICB2YWx1ZToge1xuICAgIHBhdHRlcm46IHRyYW5zbGF0ZS5nZXQoSzhTX1JFU09VUkNFX0xBQkVMX1ZBTFVFX1BBVFRFUk4udGlwKSxcbiAgICBtYXhsZW5ndGg6IHRyYW5zbGF0ZS5nZXQoJ2s4c19yZXNvdXJjZV9sYWJlbF92YWx1ZV9leGNlZWRpbmcnKSxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0SzhzUmVzb3VyY2VMYWJlbEVycm9yTWFwcGVyJCA9ICh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpID0+XG4gIHRyYW5zbGF0ZS5sb2NhbGUkLnBpcGUoXG4gICAgbWFwKCgpID0+IGdldEs4c1Jlc291cmNlTGFiZWxFcnJvck1hcHBlcih0cmFuc2xhdGUpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbmV4cG9ydCBjb25zdCBnZXRLOHNSZXNvdXJjZUFubm90YXRpb25FcnJvck1hcHBlciA9IChcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuKSA9PiAoe1xuICBrZXk6IHtcbiAgICBuYW1lUGF0dGVybjogdHJhbnNsYXRlLmdldChLOFNfUkVTT1VSQ0VfTEFCRUxfS0VZX05BTUVfUEFUVEVSTi50aXApLFxuICAgIHByZWZpeFBhdHRlcm46IHRyYW5zbGF0ZS5nZXQoSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTi50aXApLFxuICAgIG5hbWVUb29Mb25nOiB0cmFuc2xhdGUuZ2V0KCdrOHNfcmVzb3VyY2VfbGFiZWxfa2V5X2V4Y2VlZGluZycpLFxuICAgIHByZWZpeFRvb0xvbmc6IHRyYW5zbGF0ZS5nZXQoJ2s4c19sYWJlbF9wcmVmaXhfdG9vX2xvbmcnKSxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0SzhzUmVzb3VyY2VBbm5vdGF0aW9uRXJyb3JNYXBwZXIkID0gKFxuICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4pID0+XG4gIHRyYW5zbGF0ZS5sb2NhbGUkLnBpcGUoXG4gICAgbWFwKCgpID0+IGdldEs4c1Jlc291cmNlQW5ub3RhdGlvbkVycm9yTWFwcGVyKHRyYW5zbGF0ZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuLy8gQ1JPTl9GT1JNQVRfRVJST1I6IGNyb25Gb3JtYXRFcnJvciDmoIfor4bmoLzlvI/plJnor69cbi8vIENST05fTUlOX0lOVEVSVkFMX0VSUk9SOiBjcm9uTWluSW50ZXJ2YWxFcnJvciDmoIfor4bmnIDlsI/pl7TpmpTplJnor69cblxuZXhwb3J0IGNvbnN0IENST05fRk9STUFUX0VSUk9SID0gJ2Nyb25Gb3JtYXRFcnJvcic7XG5leHBvcnQgY29uc3QgQ1JPTl9NSU5fSU5URVJWQUxfRVJST1IgPSAnY3Jvbk1pbkludGVydmFsRXJyb3InO1xuZXhwb3J0IGZ1bmN0aW9uIGNyb25WYWxpZGF0b3IobWluSW50ZXJ2YWw/OiBudW1iZXIpIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIWlzQ3JvbldlZWtEYXlDb3JyZWN0KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW0NST05fRk9STUFUX0VSUk9SXTogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFpc0Nyb25GaWVsZENvdW50Q29ycmVjdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtDUk9OX0ZPUk1BVF9FUlJPUl06IHRydWUsXG4gICAgICB9O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgaXRlcmF0b3IgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHZhbHVlKTtcblxuICAgICAgbGV0IG1pbkludGVydmFsVmFsaWRpdHkgPSB0cnVlO1xuXG4gICAgICBpZiAobWluSW50ZXJ2YWwpIHtcbiAgICAgICAgY29uc3QgbmV4dDEgPSBpdGVyYXRvci5uZXh0KCkgYXMgYW55O1xuICAgICAgICBjb25zdCBuZXh0MiA9IGl0ZXJhdG9yLm5leHQoKSBhcyBhbnk7XG4gICAgICAgIC8vIG1pbnV0ZVxuICAgICAgICBpZiAoKG5leHQyLl9kYXRlIC0gbmV4dDEuX2RhdGUpIC8gMTAwMCAvIDYwIDwgbWluSW50ZXJ2YWwpIHtcbiAgICAgICAgICBtaW5JbnRlcnZhbFZhbGlkaXR5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1pbkludGVydmFsVmFsaWRpdHlcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgW0NST05fTUlOX0lOVEVSVkFMX0VSUk9SXTogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW0NST05fRk9STUFUX0VSUk9SXTogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { HttpClientModule } from '@angular/common/http';
2
+ import { NgModule } from '@angular/core';
3
+ import { InMemoryCache } from '@apollo/client/core';
4
+ import { APOLLO_NAMED_OPTIONS, APOLLO_OPTIONS, ApolloModule, } from 'apollo-angular';
5
+ import { HttpLink } from 'apollo-angular/http';
6
+ import { GraphQLService } from './graphql.service';
7
+ import * as i0 from "@angular/core";
8
+ const defaultUri = '{{API_GATEWAY}}/graphql/v1';
9
+ const gitopsUri = '{{API_GATEWAY}}/gitops/v1/gql';
10
+ export function createDefaultApollo(httpLink) {
11
+ return {
12
+ link: httpLink.create({ uri: defaultUri }),
13
+ cache: new InMemoryCache(),
14
+ };
15
+ }
16
+ export function createNamedApollo(httpLink) {
17
+ return {
18
+ gitops: {
19
+ name: 'gitops',
20
+ link: httpLink.create({ uri: gitopsUri }),
21
+ cache: new InMemoryCache(),
22
+ },
23
+ };
24
+ }
25
+ export class GraphQLModule {
26
+ static { this.ɵfac = function GraphQLModule_Factory(t) { return new (t || GraphQLModule)(); }; }
27
+ static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: GraphQLModule }); }
28
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
29
+ {
30
+ provide: APOLLO_OPTIONS,
31
+ deps: [HttpLink],
32
+ useFactory: createDefaultApollo,
33
+ },
34
+ {
35
+ provide: APOLLO_NAMED_OPTIONS,
36
+ deps: [HttpLink],
37
+ useFactory: createNamedApollo,
38
+ },
39
+ GraphQLService,
40
+ ], imports: [ApolloModule, HttpClientModule] }); }
41
+ }
42
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GraphQLModule, [{
43
+ type: NgModule,
44
+ args: [{
45
+ exports: [ApolloModule, HttpClientModule],
46
+ providers: [
47
+ {
48
+ provide: APOLLO_OPTIONS,
49
+ deps: [HttpLink],
50
+ useFactory: createDefaultApollo,
51
+ },
52
+ {
53
+ provide: APOLLO_NAMED_OPTIONS,
54
+ deps: [HttpLink],
55
+ useFactory: createNamedApollo,
56
+ },
57
+ GraphQLService,
58
+ ],
59
+ }]
60
+ }], null, null); })();
61
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(GraphQLModule, { exports: [ApolloModule, HttpClientModule] }); })();
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JhcGhxbC9ncmFwaHFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBdUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQsTUFBTSxVQUFVLEdBQUcsNEJBQTRCLENBQUM7QUFDaEQsTUFBTSxTQUFTLEdBQUcsK0JBQStCLENBQUM7QUFFbEQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUFrQjtJQUVsQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDMUMsS0FBSyxFQUFFLElBQUksYUFBYSxFQUFFO0tBQzNCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixRQUFrQjtJQUVsQixPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN6QyxLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUU7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQztBQWtCRCxNQUFNLE9BQU8sYUFBYTs4RUFBYixhQUFhO21FQUFiLGFBQWE7d0VBZGI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNoQixVQUFVLEVBQUUsbUJBQW1CO2FBQ2hDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNoQixVQUFVLEVBQUUsaUJBQWlCO2FBQzlCO1lBQ0QsY0FBYztTQUNmLFlBYlMsWUFBWSxFQUFFLGdCQUFnQjs7dUZBZTdCLGFBQWE7Y0FoQnpCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7Z0JBQ3pDLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsY0FBYzt3QkFDdkIsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO3dCQUNoQixVQUFVLEVBQUUsbUJBQW1CO3FCQUNoQztvQkFDRDt3QkFDRSxPQUFPLEVBQUUsb0JBQW9CO3dCQUM3QixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7d0JBQ2hCLFVBQVUsRUFBRSxpQkFBaUI7cUJBQzlCO29CQUNELGNBQWM7aUJBQ2Y7YUFDRjs7d0ZBQ1ksYUFBYSxjQWZkLFlBQVksRUFBRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwb2xsb0NsaWVudE9wdGlvbnMsIEluTWVtb3J5Q2FjaGUgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7XG4gIEFQT0xMT19OQU1FRF9PUFRJT05TLFxuICBBUE9MTE9fT1BUSU9OUyxcbiAgQXBvbGxvTW9kdWxlLFxufSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBIdHRwTGluayB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyL2h0dHAnO1xuXG5pbXBvcnQgeyBHcmFwaFFMU2VydmljZSB9IGZyb20gJy4vZ3JhcGhxbC5zZXJ2aWNlJztcblxuY29uc3QgZGVmYXVsdFVyaSA9ICd7e0FQSV9HQVRFV0FZfX0vZ3JhcGhxbC92MSc7XG5jb25zdCBnaXRvcHNVcmkgPSAne3tBUElfR0FURVdBWX19L2dpdG9wcy92MS9ncWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdEFwb2xsbyhcbiAgaHR0cExpbms6IEh0dHBMaW5rLFxuKTogQXBvbGxvQ2xpZW50T3B0aW9uczx1bmtub3duPiB7XG4gIHJldHVybiB7XG4gICAgbGluazogaHR0cExpbmsuY3JlYXRlKHsgdXJpOiBkZWZhdWx0VXJpIH0pLFxuICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSgpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTmFtZWRBcG9sbG8oXG4gIGh0dHBMaW5rOiBIdHRwTGluayxcbik6IFJlY29yZDxzdHJpbmcsIEFwb2xsb0NsaWVudE9wdGlvbnM8dW5rbm93bj4+IHtcbiAgcmV0dXJuIHtcbiAgICBnaXRvcHM6IHtcbiAgICAgIG5hbWU6ICdnaXRvcHMnLFxuICAgICAgbGluazogaHR0cExpbmsuY3JlYXRlKHsgdXJpOiBnaXRvcHNVcmkgfSksXG4gICAgICBjYWNoZTogbmV3IEluTWVtb3J5Q2FjaGUoKSxcbiAgICB9LFxuICB9O1xufVxuXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbQXBvbGxvTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBPTExPX09QVElPTlMsXG4gICAgICBkZXBzOiBbSHR0cExpbmtdLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlRGVmYXVsdEFwb2xsbyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQT0xMT19OQU1FRF9PUFRJT05TLFxuICAgICAgZGVwczogW0h0dHBMaW5rXSxcbiAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZU5hbWVkQXBvbGxvLFxuICAgIH0sXG4gICAgR3JhcGhRTFNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYXBoUUxNb2R1bGUge31cbiJdfQ==