@valtimo/process-link 12.5.1 → 12.6.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 (37) hide show
  1. package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +15 -5
  2. package/esm2022/lib/components/plugin-action-configuration/plugin-action-configuration.component.mjs +7 -5
  3. package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +8 -6
  4. package/esm2022/lib/components/select-form/select-form.component.mjs +16 -10
  5. package/esm2022/lib/components/select-form-flow/select-form-flow.component.mjs +14 -9
  6. package/esm2022/lib/components/select-plugin-action/select-plugin-action.component.mjs +7 -8
  7. package/esm2022/lib/components/select-url/select-url.component.mjs +13 -22
  8. package/esm2022/lib/models/process-link.model.mjs +1 -1
  9. package/esm2022/lib/process-link.module.mjs +9 -12
  10. package/esm2022/lib/services/process-link-state.service.mjs +2 -2
  11. package/esm2022/lib/services/process-link.service.mjs +20 -19
  12. package/esm2022/lib/services/url-resolver.service.mjs +1 -1
  13. package/esm2022/lib/services/url-validator.service.mjs +1 -1
  14. package/fesm2022/valtimo-process-link.mjs +115 -103
  15. package/fesm2022/valtimo-process-link.mjs.map +1 -1
  16. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts +9 -4
  17. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts.map +1 -1
  18. package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts +9 -7
  19. package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts.map +1 -1
  20. package/lib/components/process-link-modal/process-link-modal.component.d.ts +4 -2
  21. package/lib/components/process-link-modal/process-link-modal.component.d.ts.map +1 -1
  22. package/lib/components/select-form/select-form.component.d.ts +5 -3
  23. package/lib/components/select-form/select-form.component.d.ts.map +1 -1
  24. package/lib/components/select-form-flow/select-form-flow.component.d.ts +4 -2
  25. package/lib/components/select-form-flow/select-form-flow.component.d.ts.map +1 -1
  26. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts +1 -2
  27. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts.map +1 -1
  28. package/lib/components/select-url/select-url.component.d.ts.map +1 -1
  29. package/lib/models/process-link.model.d.ts +25 -1
  30. package/lib/models/process-link.model.d.ts.map +1 -1
  31. package/lib/process-link.module.d.ts +1 -1
  32. package/lib/process-link.module.d.ts.map +1 -1
  33. package/lib/services/process-link.service.d.ts +4 -2
  34. package/lib/services/process-link.service.d.ts.map +1 -1
  35. package/lib/services/url-resolver.service.d.ts.map +1 -1
  36. package/lib/services/url-validator.service.d.ts.map +1 -1
  37. package/package.json +1 -1
@@ -34,6 +34,7 @@ export class SelectFormComponent {
34
34
  this.buttonService = buttonService;
35
35
  this.formDisplayValue = '';
36
36
  this.formSizeValue = '';
37
+ this.subtitlesValue = [];
37
38
  this.saving$ = this.stateService.saving$;
38
39
  this.formDefinitions$ = this.formService.getAllFormDefinitions();
39
40
  this.formDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formDefinitions$]).pipe(map(([selectedProcessLink, formDefinitions]) => formDefinitions.map(definition => ({
@@ -50,7 +51,7 @@ export class SelectFormComponent {
50
51
  }));
51
52
  this._subscriptions = new Subscription();
52
53
  this.isUserTask$ = new BehaviorSubject(false);
53
- this.taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
54
+ this._taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
54
55
  }
55
56
  ngOnInit() {
56
57
  this.openBackButtonSubscription();
@@ -81,6 +82,9 @@ export class SelectFormComponent {
81
82
  selectedFormSizeValue(formSize) {
82
83
  this.formSizeValue = formSize;
83
84
  }
85
+ selectedSubtitlesValue(subtitles) {
86
+ this.subtitlesValue = subtitles;
87
+ }
84
88
  openBackButtonSubscription() {
85
89
  this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
86
90
  this.stateService.setInitial();
@@ -114,11 +118,12 @@ export class SelectFormComponent {
114
118
  id: selectedProcessLink.id,
115
119
  formDefinitionId: this.selectedFormDefinition.id,
116
120
  viewModelEnabled,
117
- ...(this.taskPanelToggle &&
121
+ ...(this._taskPanelToggle &&
118
122
  isUserTask && {
119
123
  formDisplayType: this.formDisplayValue,
120
124
  }),
121
- ...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
125
+ ...(this._taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
126
+ ...(isUserTask && { subtitles: this.subtitlesValue }),
122
127
  };
123
128
  this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
124
129
  this.stateService.closeModal();
@@ -141,14 +146,15 @@ export class SelectFormComponent {
141
146
  processLinkType: processLinkTypeId,
142
147
  activityId: modalParams.element.id,
143
148
  viewModelEnabled,
144
- ...(this.taskPanelToggle &&
145
- isUserTask && {
149
+ ...(isUserTask && {
146
150
  formDisplayType: this.formDisplayValue,
147
151
  }),
148
- ...(this.taskPanelToggle &&
149
- isUserTask && {
152
+ ...(isUserTask && {
150
153
  formSize: this.formSizeValue,
151
154
  }),
155
+ ...(isUserTask && {
156
+ subtitles: this.subtitlesValue,
157
+ }),
152
158
  })))
153
159
  .subscribe(() => {
154
160
  this.stateService.closeModal();
@@ -157,10 +163,10 @@ export class SelectFormComponent {
157
163
  });
158
164
  }
159
165
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1.ConfigService }, { token: i2.FormService }, { token: i3.ProcessLinkStateService }, { token: i3.ProcessLinkService }, { token: i3.ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
160
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormComponent, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormComponent, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
161
167
  }
162
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, decorators: [{
163
169
  type: Component,
164
- args: [{ selector: 'valtimo-select-form', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
170
+ args: [{ selector: 'valtimo-select-form', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
165
171
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.FormService }, { type: i3.ProcessLinkStateService }, { type: i3.ProcessLinkService }, { type: i3.ProcessLinkButtonService }] });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLWxpbmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1mb3JtL3NlbGVjdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtZm9ybS9zZWxlY3QtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQU9uRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLG1CQUFtQjtJQStCOUIsWUFDbUIsYUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDO1FBSnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQW5DbkQscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBR2xCLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLHFC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QVcsQ0FBQyxtQkFBbUI7WUFDcEQsZUFBZSxFQUFFLGlCQUFpQjtZQUNsQyxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xDLGdCQUFnQjtZQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWU7Z0JBQ3RCLFVBQVUsSUFBSTtnQkFDWixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN2QyxDQUFDO1lBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlO2dCQUN0QixVQUFVLElBQUk7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQzdCLENBQUM7U0FDTCxDQUFDLENBQ0gsQ0FDRjthQUNBLFNBQVMsQ0FDUixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzsrR0ExS1UsbUJBQW1CO21HQUFuQixtQkFBbUIsMkRDakNoQyxvbURBNENBOzs0RkRYYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb25MaXN0SXRlbSwgRm9ybVByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXNlbGVjdC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGZvcm1EaXNwbGF5VmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgZm9ybVNpemVWYWx1ZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1EZWZpbml0aW9uITogRm9ybURlZmluaXRpb25MaXN0SXRlbTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2F2aW5nJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmluZyQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybURlZmluaXRpb25zJCA9IHRoaXMuZm9ybVNlcnZpY2UuZ2V0QWxsRm9ybURlZmluaXRpb25zKCk7XG4gIHB1YmxpYyByZWFkb25seSBmb3JtRGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybURlZmluaXRpb25MaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCwgdGhpcy5mb3JtRGVmaW5pdGlvbnMkXSkucGlwZShcbiAgICAgIG1hcCgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIGZvcm1EZWZpbml0aW9uc10pID0+XG4gICAgICAgIGZvcm1EZWZpbml0aW9ucy5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgIGNvbnRlbnQ6IGRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRQcm9jZXNzTGlua1xuICAgICAgICAgICAgPyBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1EZWZpbml0aW9uSWQgPT09IGRlZmluaXRpb24uaWRcbiAgICAgICAgICAgIDogZmFsc2UsXG4gICAgICAgIH0pKVxuICAgICAgKSxcbiAgICAgIHRhcChmb3JtRGVmaW5pdGlvbkxpc3RJdGVtcyA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGZvcm1EZWZpbml0aW9uTGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb3JtRGVmaW5pdGlvbihzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBpc1VzZXJUYXNrJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhc2tQYW5lbFRvZ2dsZSA9IHRoaXMuY29uZmlnU2VydmljZS5mZWF0dXJlVG9nZ2xlcz8uZW5hYmxlVGFza1BhbmVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1dHRvblNlcnZpY2U6IFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkJhY2tCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5TYXZlQnV0dG9uU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQsXG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLm1vZGFsUGFyYW1zJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIG1vZGFsUGFyYW1zXSkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzTGluaykge1xuICAgICAgICAgIHRoaXMuZm9ybURpc3BsYXlWYWx1ZSA9IHNlbGVjdGVkUHJvY2Vzc0xpbmsuZm9ybURpc3BsYXlUeXBlO1xuICAgICAgICAgIHRoaXMuZm9ybVNpemVWYWx1ZSA9IHNlbGVjdGVkUHJvY2Vzc0xpbmsuZm9ybVNpemU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzVXNlclRhc2skLm5leHQobW9kYWxQYXJhbXM/LmVsZW1lbnQ/LnR5cGUgPT09ICdicG1uOlVzZXJUYXNrJyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEZvcm1EZWZpbml0aW9uKGZvcm1EZWZpbml0aW9uOiBGb3JtRGVmaW5pdGlvbkxpc3RJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb24/LmlkID8gZm9ybURlZmluaXRpb24gOiBudWxsO1xuXG4gICAgdGhpcy5zZWxlY3RlZEZvcm1EZWZpbml0aW9uXG4gICAgICA/IHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uKClcbiAgICAgIDogdGhpcy5idXR0b25TZXJ2aWNlLmRpc2FibGVTYXZlQnV0dG9uKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRGb3JtRGlzcGxheVZhbHVlKGZvcm1EaXNwbGF5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EaXNwbGF5VmFsdWUgPSBmb3JtRGlzcGxheTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1TaXplVmFsdWUoZm9ybVNpemU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNpemVWYWx1ZSA9IGZvcm1TaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2F2ZUJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuICAgICAgICB0aGlzLnNhdmVQcm9jZXNzTGluaygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzTGluaykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb2Nlc3NMaW5rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLFxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uudmlld01vZGVsRW5hYmxlZCQsXG4gICAgICB0aGlzLmlzVXNlclRhc2skLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIHZpZXdNb2RlbEVuYWJsZWQsIGlzVXNlclRhc2tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogRm9ybVByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0byA9IHtcbiAgICAgICAgICBpZDogc2VsZWN0ZWRQcm9jZXNzTGluay5pZCxcbiAgICAgICAgICBmb3JtRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkRm9ybURlZmluaXRpb24uaWQsXG4gICAgICAgICAgdmlld01vZGVsRW5hYmxlZCxcbiAgICAgICAgICAuLi4odGhpcy50YXNrUGFuZWxUb2dnbGUgJiZcbiAgICAgICAgICAgIGlzVXNlclRhc2sgJiYge1xuICAgICAgICAgICAgICBmb3JtRGlzcGxheVR5cGU6IHRoaXMuZm9ybURpc3BsYXlWYWx1ZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIC4uLih0aGlzLnRhc2tQYW5lbFRvZ2dsZSAmJiBpc1VzZXJUYXNrICYmIHtmb3JtU2l6ZTogdGhpcy5mb3JtU2l6ZVZhbHVlfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2UudXBkYXRlUHJvY2Vzc0xpbmsodXBkYXRlUHJvY2Vzc0xpbmtSZXF1ZXN0KS5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc3RvcFNhdmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlTmV3UHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rVHlwZUlkJCxcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnZpZXdNb2RlbEVuYWJsZWQkLFxuICAgICAgdGhpcy5pc1VzZXJUYXNrJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoW21vZGFsUGFyYW1zLCBwcm9jZXNzTGlua1R5cGVJZCwgdmlld01vZGVsRW5hYmxlZCwgaXNVc2VyVGFza10pID0+XG4gICAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2Uuc2F2ZVByb2Nlc3NMaW5rKHtcbiAgICAgICAgICAgIGZvcm1EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAgIGFjdGl2aXR5VHlwZTogbW9kYWxQYXJhbXMuZWxlbWVudC5hY3Rpdml0eUxpc3RlbmVyVHlwZSxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IG1vZGFsUGFyYW1zLnByb2Nlc3NEZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwcm9jZXNzTGlua1R5cGU6IHByb2Nlc3NMaW5rVHlwZUlkLFxuICAgICAgICAgICAgYWN0aXZpdHlJZDogbW9kYWxQYXJhbXMuZWxlbWVudC5pZCxcbiAgICAgICAgICAgIHZpZXdNb2RlbEVuYWJsZWQsXG4gICAgICAgICAgICAuLi4odGhpcy50YXNrUGFuZWxUb2dnbGUgJiZcbiAgICAgICAgICAgICAgaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgICAgZm9ybURpc3BsYXlUeXBlOiB0aGlzLmZvcm1EaXNwbGF5VmFsdWUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uKHRoaXMudGFza1BhbmVsVG9nZ2xlICYmXG4gICAgICAgICAgICAgIGlzVXNlclRhc2sgJiYge1xuICAgICAgICAgICAgICAgIGZvcm1TaXplOiB0aGlzLmZvcm1TaXplVmFsdWUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBmb3JtRGVmaW5pdGlvbnM6IGZvcm1EZWZpbml0aW9uTGlzdEl0ZW1zJCB8IGFzeW5jLFxuICAgIHNhdmluZzogc2F2aW5nJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDxwIGNsYXNzPVwic3RlcC1kZXNjcmlwdGlvblwiPlxuICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY2hvb3NlRm9ybURlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG4gIDxkaXYgY2xhc3M9XCJzZWxlY3QtZm9ybVwiPlxuICAgIDxjZHMtY29tYm8tYm94XG4gICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFvYnMuZm9ybURlZmluaXRpb25zIHx8IG9icy5zYXZpbmdcIlxuICAgICAgW2l0ZW1zXT1cIm9icy5mb3JtRGVmaW5pdGlvbnMgfHwgW11cIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2VsZWN0Rm9ybURlZmluaXRpb24oJGV2ZW50KVwiXG4gICAgICBbbGFiZWxdPVwiJ3Byb2Nlc3NMaW5rU3RlcHMuc2VsZWN0Rm9ybScgfCB0cmFuc2xhdGVcIlxuICAgICAgPjxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0XG4gICAgPjwvY2RzLWNvbWJvLWJveD5cbiAgICA8YnIgLz5cblxuICAgIDx2YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uXG4gICAgICBbc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbl09XCJzZWxlY3RlZEZvcm1EZWZpbml0aW9uXCJcbiAgICAgIChmb3JtRGlzcGxheVZhbHVlKT1cInNlbGVjdGVkRm9ybURpc3BsYXlWYWx1ZSgkZXZlbnQpXCJcbiAgICAgIChmb3JtU2l6ZVZhbHVlKT1cInNlbGVjdGVkRm9ybVNpemVWYWx1ZSgkZXZlbnQpXCJcbiAgICA+PC92YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLWxpbmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1mb3JtL3NlbGVjdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtZm9ybS9zZWxlY3QtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLG1CQUFtQjtJQWdDOUIsWUFDbUIsYUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDO1FBSnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQXBDbkQscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBR3JCLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxxQkFBZ0Is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QUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUMzRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1lBQ3RDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ2hELFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtZQUN0RCxtQkFBbUIsRUFBRSxXQUFXLENBQUMsbUJBQW1CO1lBQ3BELGVBQWUsRUFBRSxpQkFBaUI7WUFDbEMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQyxnQkFBZ0I7WUFDaEIsR0FBRyxDQUFDLFVBQVUsSUFBSTtnQkFDaEIsZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDdkMsQ0FBQztZQUNGLEdBQUcsQ0FBQyxVQUFVLElBQUk7Z0JBQ2hCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYTthQUM3QixDQUFDO1lBQ0YsR0FBRyxDQUFDLFVBQVUsSUFBSTtnQkFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQy9CLENBQUM7U0FDSCxDQUFDLENBQ0gsQ0FDRjthQUNBLFNBQVMsQ0FDUixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzsrR0FqTFUsbUJBQW1CO21HQUFuQixtQkFBbUIsMkRDaENoQywrcERBNkNBOzs0RkRiYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Zvcm1TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Zvcm1EZWZpbml0aW9uTGlzdEl0ZW0sIEZvcm1Qcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG99IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtRGlzcGxheVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGZvcm1TaXplVmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc3VidGl0bGVzVmFsdWU6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1EZWZpbml0aW9uITogRm9ybURlZmluaXRpb25MaXN0SXRlbTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2F2aW5nJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmluZyQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybURlZmluaXRpb25zJCA9IHRoaXMuZm9ybVNlcnZpY2UuZ2V0QWxsRm9ybURlZmluaXRpb25zKCk7XG4gIHB1YmxpYyByZWFkb25seSBmb3JtRGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybURlZmluaXRpb25MaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCwgdGhpcy5mb3JtRGVmaW5pdGlvbnMkXSkucGlwZShcbiAgICAgIG1hcCgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIGZvcm1EZWZpbml0aW9uc10pID0+XG4gICAgICAgIGZvcm1EZWZpbml0aW9ucy5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgIGNvbnRlbnQ6IGRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRQcm9jZXNzTGlua1xuICAgICAgICAgICAgPyBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1EZWZpbml0aW9uSWQgPT09IGRlZmluaXRpb24uaWRcbiAgICAgICAgICAgIDogZmFsc2UsXG4gICAgICAgIH0pKVxuICAgICAgKSxcbiAgICAgIHRhcChmb3JtRGVmaW5pdGlvbkxpc3RJdGVtcyA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGZvcm1EZWZpbml0aW9uTGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb3JtRGVmaW5pdGlvbihzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBpc1VzZXJUYXNrJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90YXNrUGFuZWxUb2dnbGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZmVhdHVyZVRvZ2dsZXM/LmVuYWJsZVRhc2tQYW5lbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTZXJ2aWNlOiBQcm9jZXNzTGlua1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5CYWNrQnV0dG9uU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuU2F2ZUJ1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLFxuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtzZWxlY3RlZFByb2Nlc3NMaW5rLCBtb2RhbFBhcmFtc10pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUHJvY2Vzc0xpbmspIHtcbiAgICAgICAgICB0aGlzLmZvcm1EaXNwbGF5VmFsdWUgPSBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1EaXNwbGF5VHlwZTtcbiAgICAgICAgICB0aGlzLmZvcm1TaXplVmFsdWUgPSBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1TaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1VzZXJUYXNrJC5uZXh0KG1vZGFsUGFyYW1zPy5lbGVtZW50Py50eXBlID09PSAnYnBtbjpVc2VyVGFzaycpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGb3JtRGVmaW5pdGlvbihmb3JtRGVmaW5pdGlvbjogRm9ybURlZmluaXRpb25MaXN0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbiA9IGZvcm1EZWZpbml0aW9uPy5pZCA/IGZvcm1EZWZpbml0aW9uIDogbnVsbDtcblxuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRGVmaW5pdGlvblxuICAgICAgPyB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlU2F2ZUJ1dHRvbigpXG4gICAgICA6IHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlU2F2ZUJ1dHRvbigpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkRm9ybURpc3BsYXlWYWx1ZShmb3JtRGlzcGxheTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGlzcGxheVZhbHVlID0gZm9ybURpc3BsYXk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRGb3JtU2l6ZVZhbHVlKGZvcm1TaXplOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1TaXplVmFsdWUgPSBmb3JtU2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZFN1YnRpdGxlc1ZhbHVlKHN1YnRpdGxlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnN1YnRpdGxlc1ZhbHVlID0gc3VidGl0bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2F2ZUJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuICAgICAgICB0aGlzLnNhdmVQcm9jZXNzTGluaygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzTGluaykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb2Nlc3NMaW5rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLFxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uudmlld01vZGVsRW5hYmxlZCQsXG4gICAgICB0aGlzLmlzVXNlclRhc2skLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIHZpZXdNb2RlbEVuYWJsZWQsIGlzVXNlclRhc2tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogRm9ybVByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0byA9IHtcbiAgICAgICAgICBpZDogc2VsZWN0ZWRQcm9jZXNzTGluay5pZCxcbiAgICAgICAgICBmb3JtRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkRm9ybURlZmluaXRpb24uaWQsXG4gICAgICAgICAgdmlld01vZGVsRW5hYmxlZCxcbiAgICAgICAgICAuLi4odGhpcy5fdGFza1BhbmVsVG9nZ2xlICYmXG4gICAgICAgICAgICBpc1VzZXJUYXNrICYmIHtcbiAgICAgICAgICAgICAgZm9ybURpc3BsYXlUeXBlOiB0aGlzLmZvcm1EaXNwbGF5VmFsdWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAuLi4odGhpcy5fdGFza1BhbmVsVG9nZ2xlICYmIGlzVXNlclRhc2sgJiYge2Zvcm1TaXplOiB0aGlzLmZvcm1TaXplVmFsdWV9KSxcbiAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7c3VidGl0bGVzOiB0aGlzLnN1YnRpdGxlc1ZhbHVlfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2UudXBkYXRlUHJvY2Vzc0xpbmsodXBkYXRlUHJvY2Vzc0xpbmtSZXF1ZXN0KS5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc3RvcFNhdmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlTmV3UHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rVHlwZUlkJCxcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnZpZXdNb2RlbEVuYWJsZWQkLFxuICAgICAgdGhpcy5pc1VzZXJUYXNrJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoW21vZGFsUGFyYW1zLCBwcm9jZXNzTGlua1R5cGVJZCwgdmlld01vZGVsRW5hYmxlZCwgaXNVc2VyVGFza10pID0+XG4gICAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2Uuc2F2ZVByb2Nlc3NMaW5rKHtcbiAgICAgICAgICAgIGZvcm1EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAgIGFjdGl2aXR5VHlwZTogbW9kYWxQYXJhbXMuZWxlbWVudC5hY3Rpdml0eUxpc3RlbmVyVHlwZSxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IG1vZGFsUGFyYW1zLnByb2Nlc3NEZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwcm9jZXNzTGlua1R5cGU6IHByb2Nlc3NMaW5rVHlwZUlkLFxuICAgICAgICAgICAgYWN0aXZpdHlJZDogbW9kYWxQYXJhbXMuZWxlbWVudC5pZCxcbiAgICAgICAgICAgIHZpZXdNb2RlbEVuYWJsZWQsXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1TaXplOiB0aGlzLmZvcm1TaXplVmFsdWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLihpc1VzZXJUYXNrICYmIHtcbiAgICAgICAgICAgICAgc3VidGl0bGVzOiB0aGlzLnN1YnRpdGxlc1ZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGZvcm1EZWZpbml0aW9uczogZm9ybURlZmluaXRpb25MaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgc2F2aW5nOiBzYXZpbmckIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHAgY2xhc3M9XCJzdGVwLWRlc2NyaXB0aW9uXCI+XG4gICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jaG9vc2VGb3JtRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdC1mb3JtXCI+XG4gICAgPGNkcy1jb21iby1ib3hcbiAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9icy5mb3JtRGVmaW5pdGlvbnMgfHwgb2JzLnNhdmluZ1wiXG4gICAgICBbaXRlbXNdPVwib2JzLmZvcm1EZWZpbml0aW9ucyB8fCBbXVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2ludGVyZmFjZS50eXBlVG9TZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgIChzZWxlY3RlZCk9XCJzZWxlY3RGb3JtRGVmaW5pdGlvbigkZXZlbnQpXCJcbiAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtTdGVwcy5zZWxlY3RGb3JtJyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+PGNkcy1kcm9wZG93bi1saXN0PjwvY2RzLWRyb3Bkb3duLWxpc3RcbiAgICA+PC9jZHMtY29tYm8tYm94PlxuICAgIDxiciAvPlxuXG4gICAgPHZhbHRpbW8tZm9ybS1kaXNwbGF5LWNvbmZpZ3VyYXRpb25cbiAgICAgIFtzZWxlY3RlZEZvcm1EZWZpbml0aW9uXT1cInNlbGVjdGVkRm9ybURlZmluaXRpb25cIlxuICAgICAgKGZvcm1EaXNwbGF5VmFsdWUpPVwic2VsZWN0ZWRGb3JtRGlzcGxheVZhbHVlKCRldmVudClcIlxuICAgICAgKGZvcm1TaXplVmFsdWUpPVwic2VsZWN0ZWRGb3JtU2l6ZVZhbHVlKCRldmVudClcIlxuICAgICAgKHN1YnRpdGxlc1ZhbHVlKT1cInNlbGVjdGVkU3VidGl0bGVzVmFsdWUoJGV2ZW50KVwiXG4gICAgPjwvdmFsdGltby1mb3JtLWRpc3BsYXktY29uZmlndXJhdGlvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -33,8 +33,10 @@ export class SelectFormFlowComponent {
33
33
  this.buttonService = buttonService;
34
34
  this.formDisplayValue = '';
35
35
  this.formSizeValue = '';
36
+ this.subtitlesValue = [];
36
37
  this.saving$ = this.stateService.saving$;
37
38
  this.formFlowDefinitions$ = this.formFlowService.getFormFlowDefinitions();
39
+ this._taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
38
40
  this.formFlowDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formFlowDefinitions$]).pipe(map(([selectedProcessLink, formFlowDefinitions]) => formFlowDefinitions.map(definition => ({
39
41
  content: definition.name,
40
42
  id: definition.id,
@@ -49,7 +51,6 @@ export class SelectFormFlowComponent {
49
51
  }));
50
52
  this._subscriptions = new Subscription();
51
53
  this.isUserTask$ = new BehaviorSubject(false);
52
- this.taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
53
54
  }
54
55
  ngOnInit() {
55
56
  this.openBackButtonSubscription();
@@ -80,6 +81,9 @@ export class SelectFormFlowComponent {
80
81
  ? this.buttonService.enableSaveButton()
81
82
  : this.buttonService.disableSaveButton();
82
83
  }
84
+ selectedSubtitlesValue(subtitles) {
85
+ this.subtitlesValue = subtitles;
86
+ }
83
87
  openBackButtonSubscription() {
84
88
  this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
85
89
  this.stateService.setInitial();
@@ -108,11 +112,12 @@ export class SelectFormFlowComponent {
108
112
  const updateProcessLinkRequest = {
109
113
  id: selectedProcessLink.id,
110
114
  formFlowDefinitionId: this.selectedFormFlowDefinition.id,
111
- ...(this.taskPanelToggle &&
115
+ ...(this._taskPanelToggle &&
112
116
  isUserTask && {
113
117
  formDisplayType: this.formDisplayValue,
114
118
  }),
115
- ...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
119
+ ...(this._taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
120
+ ...(isUserTask && { subtitles: this.subtitlesValue }),
116
121
  };
117
122
  this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
118
123
  this.stateService.closeModal();
@@ -133,11 +138,11 @@ export class SelectFormFlowComponent {
133
138
  processDefinitionId: modalParams.processDefinitionId,
134
139
  processLinkType: processLinkTypeId,
135
140
  activityId: modalParams.element.id,
136
- ...(this.taskPanelToggle &&
137
- isUserTask && {
141
+ ...(isUserTask && {
138
142
  formDisplayType: this.formDisplayValue,
139
143
  }),
140
- ...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
144
+ ...(isUserTask && { formSize: this.formSizeValue }),
145
+ ...(isUserTask && { subtitles: this.subtitlesValue }),
141
146
  })))
142
147
  .subscribe(() => {
143
148
  this.stateService.closeModal();
@@ -146,10 +151,10 @@ export class SelectFormFlowComponent {
146
151
  });
147
152
  }
148
153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1.ConfigService }, { token: i2.FormFlowService }, { token: i2.ProcessLinkStateService }, { token: i2.ProcessLinkService }, { token: i2.ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i6.FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i6.FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
150
155
  }
151
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
152
157
  type: Component,
153
- args: [{ selector: 'valtimo-select-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
158
+ args: [{ selector: 'valtimo-select-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
154
159
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.FormFlowService }, { type: i2.ProcessLinkStateService }, { type: i2.ProcessLinkService }, { type: i2.ProcessLinkButtonService }] });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWZvcm0tZmxvdy9zZWxlY3QtZm9ybS1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtZm9ybS1mbG93L3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFRbkcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHVCQUF1QjtJQStCbEMsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDO1FBSnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFuQ25ELHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUVsQixZQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDbkMseUJBQW9CLEdB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O1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZTtnQkFDdEIsVUFBVSxJQUFJO2dCQUNaLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2FBQ3ZDLENBQUM7WUFDSixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxVQUFVLElBQUksRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBQyxDQUFDO1NBQzFFLENBQUMsQ0FDSCxDQUNGO2FBQ0EsU0FBUyxDQUNSLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOytHQWhLVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnRUNqQ3BDLHlvREE0Q0E7OzRGRFhhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBGb3JtRmxvd1NlcnZpY2UsXG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtGb3JtRGVmaW5pdGlvbkxpc3RJdGVtLCBGb3JtRmxvd1Byb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXNlbGVjdC1mb3JtLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Rm9ybUZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtRGlzcGxheVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGZvcm1TaXplVmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24hOiBGb3JtRGVmaW5pdGlvbkxpc3RJdGVtO1xuICBwdWJsaWMgcmVhZG9ubHkgc2F2aW5nJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmluZyQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybUZsb3dEZWZpbml0aW9ucyQgPSB0aGlzLmZvcm1GbG93U2VydmljZS5nZXRGb3JtRmxvd0RlZmluaXRpb25zKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1GbG93RGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybURlZmluaXRpb25MaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCwgdGhpcy5mb3JtRmxvd0RlZmluaXRpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzZWxlY3RlZFByb2Nlc3NMaW5rLCBmb3JtRmxvd0RlZmluaXRpb25zXSkgPT5cbiAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9ucy5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgIGNvbnRlbnQ6IGRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRQcm9jZXNzTGlua1xuICAgICAgICAgICAgPyBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1GbG93RGVmaW5pdGlvbklkID09PSBkZWZpbml0aW9uLmlkXG4gICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICB0YXAoZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb3JtRmxvd0RlZmluaXRpb24oc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgaXNVc2VyVGFzayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXNrUGFuZWxUb2dnbGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZmVhdHVyZVRvZ2dsZXM/LmVuYWJsZVRhc2tQYW5lbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd1NlcnZpY2U6IEZvcm1GbG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1dHRvblNlcnZpY2U6IFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCxcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLFxuICAgICAgXSkuc3Vic2NyaWJlKChbc2VsZWN0ZWRQcm9jZXNzTGluaywgbW9kYWxQYXJhbXNdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgICAgdGhpcy5mb3JtRGlzcGxheVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtRGlzcGxheVR5cGU7XG4gICAgICAgICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNVc2VyVGFzayQubmV4dChtb2RhbFBhcmFtcz8uZWxlbWVudD8udHlwZSA9PT0gJ2JwbW46VXNlclRhc2snKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1EaXNwbGF5VmFsdWUoZm9ybURpc3BsYXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURpc3BsYXlWYWx1ZSA9IGZvcm1EaXNwbGF5O1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkRm9ybVNpemVWYWx1ZShmb3JtU2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gZm9ybVNpemU7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Rm9ybUZsb3dEZWZpbml0aW9uKGZvcm1GbG93RGVmaW5pdGlvbjogRm9ybURlZmluaXRpb25MaXN0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24gPSBmb3JtRmxvd0RlZmluaXRpb24/LmlkID8gZm9ybUZsb3dEZWZpbml0aW9uIDogbnVsbDtcblxuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb25cbiAgICAgID8gdGhpcy5idXR0b25TZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24oKVxuICAgICAgOiB0aGlzLmJ1dHRvblNlcnZpY2UuZGlzYWJsZVNhdmVCdXR0b24oKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkJhY2tCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuYmFja0J1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRJbml0aWFsKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNhdmVCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhcnRTYXZpbmcoKTtcbiAgICAgICAgdGhpcy5zYXZlRm9ybUZsb3dMaW5rKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVGb3JtRmxvd0xpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzTGluaykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb2Nlc3NMaW5rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLCB0aGlzLmlzVXNlclRhc2skKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtzZWxlY3RlZFByb2Nlc3NMaW5rLCBpc1VzZXJUYXNrXSkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3Q6IEZvcm1GbG93UHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvID0ge1xuICAgICAgICAgIGlkOiBzZWxlY3RlZFByb2Nlc3NMaW5rLmlkLFxuICAgICAgICAgIGZvcm1GbG93RGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkRm9ybUZsb3dEZWZpbml0aW9uLmlkLFxuICAgICAgICAgIC4uLih0aGlzLnRhc2tQYW5lbFRvZ2dsZSAmJlxuICAgICAgICAgICAgaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgLi4uKHRoaXMudGFza1BhbmVsVG9nZ2xlICYmIGlzVXNlclRhc2sgJiYge2Zvcm1TaXplOiB0aGlzLmZvcm1TaXplVmFsdWV9KSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS51cGRhdGVQcm9jZXNzTGluayh1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3QpLnN1YnNjcmliZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVOZXdQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLm1vZGFsUGFyYW1zJCxcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmtUeXBlSWQkLFxuICAgICAgdGhpcy5pc1VzZXJUYXNrJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoW21vZGFsUGFyYW1zLCBwcm9jZXNzTGlua1R5cGVJZCwgaXNVc2VyVGFza10pID0+XG4gICAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2Uuc2F2ZVByb2Nlc3NMaW5rKHtcbiAgICAgICAgICAgIGZvcm1GbG93RGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkRm9ybUZsb3dEZWZpbml0aW9uLmlkLFxuICAgICAgICAgICAgYWN0aXZpdHlUeXBlOiBtb2RhbFBhcmFtcy5lbGVtZW50LmFjdGl2aXR5TGlzdGVuZXJUeXBlLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25JZDogbW9kYWxQYXJhbXMucHJvY2Vzc0RlZmluaXRpb25JZCxcbiAgICAgICAgICAgIHByb2Nlc3NMaW5rVHlwZTogcHJvY2Vzc0xpbmtUeXBlSWQsXG4gICAgICAgICAgICBhY3Rpdml0eUlkOiBtb2RhbFBhcmFtcy5lbGVtZW50LmlkLFxuICAgICAgICAgICAgLi4uKHRoaXMudGFza1BhbmVsVG9nZ2xlICYmXG4gICAgICAgICAgICAgIGlzVXNlclRhc2sgJiYge1xuICAgICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLih0aGlzLnRhc2tQYW5lbFRvZ2dsZSAmJiBpc1VzZXJUYXNrICYmIHtmb3JtU2l6ZTogdGhpcy5mb3JtU2l6ZVZhbHVlfSksXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGZvcm1GbG93RGVmaW5pdGlvbnM6IGZvcm1GbG93RGVmaW5pdGlvbkxpc3RJdGVtcyQgfCBhc3luYyxcbiAgICBzYXZpbmc6IHNhdmluZyQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8cCBjbGFzcz1cInN0ZXAtZGVzY3JpcHRpb25cIj5cbiAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNob29zZUZvcm1GbG93RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdC1mb3JtLWZsb3dcIj5cbiAgICA8Y2RzLWNvbWJvLWJveFxuICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhb2JzLmZvcm1GbG93RGVmaW5pdGlvbnMgfHwgb2JzLnNhdmluZ1wiXG4gICAgICBbaXRlbXNdPVwib2JzLmZvcm1GbG93RGVmaW5pdGlvbnMgfHwgW11cIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2VsZWN0Rm9ybUZsb3dEZWZpbml0aW9uKCRldmVudClcIlxuICAgICAgW2xhYmVsXT1cIidwcm9jZXNzTGlua1N0ZXBzLnNlbGVjdEZvcm1GbG93JyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+PGNkcy1kcm9wZG93bi1saXN0PjwvY2RzLWRyb3Bkb3duLWxpc3RcbiAgICA+PC9jZHMtY29tYm8tYm94PlxuICAgIDxiciAvPlxuXG4gICAgPHZhbHRpbW8tZm9ybS1kaXNwbGF5LWNvbmZpZ3VyYXRpb25cbiAgICAgIFtzZWxlY3RlZEZvcm1EZWZpbml0aW9uXT1cInNlbGVjdGVkRm9ybUZsb3dEZWZpbml0aW9uXCJcbiAgICAgIChmb3JtRGlzcGxheVZhbHVlKT1cInNlbGVjdGVkRm9ybURpc3BsYXlWYWx1ZSgkZXZlbnQpXCJcbiAgICAgIChmb3JtU2l6ZVZhbHVlKT1cInNlbGVjdGVkRm9ybVNpemVWYWx1ZSgkZXZlbnQpXCJcbiAgICA+PC92YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWZvcm0tZmxvdy9zZWxlY3QtZm9ybS1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtZm9ybS1mbG93L3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFlcEMsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDO1FBSnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFwQ25ELHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FB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LElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3hELFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtZQUN0RCxtQkFBbUIsRUFBRSxXQUFXLENBQUMsbUJBQW1CO1lBQ3BELGVBQWUsRUFBRSxpQkFBaUI7WUFDbEMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQyxHQUFHLENBQUMsVUFBVSxJQUFJO2dCQUNoQixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN2QyxDQUFDO1lBQ0YsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUM7WUFDakQsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUNILENBQ0Y7YUFDQSxTQUFTLENBQ1IsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7K0dBdEtVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGdFQ2hDcEMsb3NEQTZDQTs7NEZEYmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb25MaXN0SXRlbSwgRm9ybUZsb3dQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG99IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBGb3JtRmxvd1NlcnZpY2UsXG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXNlbGVjdC1mb3JtLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Rm9ybUZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtRGlzcGxheVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGZvcm1TaXplVmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24hOiBGb3JtRGVmaW5pdGlvbkxpc3RJdGVtO1xuICBwdWJsaWMgc3VidGl0bGVzVmFsdWU6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyByZWFkb25seSBzYXZpbmckID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2F2aW5nJDtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd0RlZmluaXRpb25zJCA9IHRoaXMuZm9ybUZsb3dTZXJ2aWNlLmdldEZvcm1GbG93RGVmaW5pdGlvbnMoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGFza1BhbmVsVG9nZ2xlID0gdGhpcy5jb25maWdTZXJ2aWNlLmZlYXR1cmVUb2dnbGVzPy5lbmFibGVUYXNrUGFuZWw7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1GbG93RGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybURlZmluaXRpb25MaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCwgdGhpcy5mb3JtRmxvd0RlZmluaXRpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzZWxlY3RlZFByb2Nlc3NMaW5rLCBmb3JtRmxvd0RlZmluaXRpb25zXSkgPT5cbiAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9ucy5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgIGNvbnRlbnQ6IGRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRQcm9jZXNzTGlua1xuICAgICAgICAgICAgPyBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1GbG93RGVmaW5pdGlvbklkID09PSBkZWZpbml0aW9uLmlkXG4gICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICB0YXAoZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb3JtRmxvd0RlZmluaXRpb24oc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgaXNVc2VyVGFzayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd1NlcnZpY2U6IEZvcm1GbG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1dHRvblNlcnZpY2U6IFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCxcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLFxuICAgICAgXSkuc3Vic2NyaWJlKChbc2VsZWN0ZWRQcm9jZXNzTGluaywgbW9kYWxQYXJhbXNdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgICAgdGhpcy5mb3JtRGlzcGxheVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtRGlzcGxheVR5cGU7XG4gICAgICAgICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNVc2VyVGFzayQubmV4dChtb2RhbFBhcmFtcz8uZWxlbWVudD8udHlwZSA9PT0gJ2JwbW46VXNlclRhc2snKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1EaXNwbGF5VmFsdWUoZm9ybURpc3BsYXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURpc3BsYXlWYWx1ZSA9IGZvcm1EaXNwbGF5O1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkRm9ybVNpemVWYWx1ZShmb3JtU2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gZm9ybVNpemU7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Rm9ybUZsb3dEZWZpbml0aW9uKGZvcm1GbG93RGVmaW5pdGlvbjogRm9ybURlZmluaXRpb25MaXN0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24gPSBmb3JtRmxvd0RlZmluaXRpb24/LmlkID8gZm9ybUZsb3dEZWZpbml0aW9uIDogbnVsbDtcblxuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb25cbiAgICAgID8gdGhpcy5idXR0b25TZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24oKVxuICAgICAgOiB0aGlzLmJ1dHRvblNlcnZpY2UuZGlzYWJsZVNhdmVCdXR0b24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZFN1YnRpdGxlc1ZhbHVlKHN1YnRpdGxlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnN1YnRpdGxlc1ZhbHVlID0gc3VidGl0bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2F2ZUJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuICAgICAgICB0aGlzLnNhdmVGb3JtRmxvd0xpbmsoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZUZvcm1GbG93TGluaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvY2Vzc0xpbmsoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2F2ZU5ld1Byb2Nlc3NMaW5rKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVByb2Nlc3NMaW5rKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QodGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQsIHRoaXMuaXNVc2VyVGFzayQpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIGlzVXNlclRhc2tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogRm9ybUZsb3dQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8gPSB7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkUHJvY2Vzc0xpbmsuaWQsXG4gICAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24uaWQsXG4gICAgICAgICAgLi4uKHRoaXMuX3Rhc2tQYW5lbFRvZ2dsZSAmJlxuICAgICAgICAgICAgaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgLi4uKHRoaXMuX3Rhc2tQYW5lbFRvZ2dsZSAmJiBpc1VzZXJUYXNrICYmIHtmb3JtU2l6ZTogdGhpcy5mb3JtU2l6ZVZhbHVlfSksXG4gICAgICAgICAgLi4uKGlzVXNlclRhc2sgJiYge3N1YnRpdGxlczogdGhpcy5zdWJ0aXRsZXNWYWx1ZX0pLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0xpbmtTZXJ2aWNlLnVwZGF0ZVByb2Nlc3NMaW5rKHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdCkuc3Vic2NyaWJlKFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZU5ld1Byb2Nlc3NMaW5rKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLFxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGlua1R5cGVJZCQsXG4gICAgICB0aGlzLmlzVXNlclRhc2skLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChbbW9kYWxQYXJhbXMsIHByb2Nlc3NMaW5rVHlwZUlkLCBpc1VzZXJUYXNrXSkgPT5cbiAgICAgICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS5zYXZlUHJvY2Vzc0xpbmsoe1xuICAgICAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24uaWQsXG4gICAgICAgICAgICBhY3Rpdml0eVR5cGU6IG1vZGFsUGFyYW1zLmVsZW1lbnQuYWN0aXZpdHlMaXN0ZW5lclR5cGUsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiBtb2RhbFBhcmFtcy5wcm9jZXNzRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0xpbmtUeXBlOiBwcm9jZXNzTGlua1R5cGVJZCxcbiAgICAgICAgICAgIGFjdGl2aXR5SWQ6IG1vZGFsUGFyYW1zLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7Zm9ybVNpemU6IHRoaXMuZm9ybVNpemVWYWx1ZX0pLFxuICAgICAgICAgICAgLi4uKGlzVXNlclRhc2sgJiYge3N1YnRpdGxlczogdGhpcy5zdWJ0aXRsZXNWYWx1ZX0pLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBmb3JtRmxvd0RlZmluaXRpb25zOiBmb3JtRmxvd0RlZmluaXRpb25MaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgc2F2aW5nOiBzYXZpbmckIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHAgY2xhc3M9XCJzdGVwLWRlc2NyaXB0aW9uXCI+XG4gICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jaG9vc2VGb3JtRmxvd0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG4gIDxkaXYgY2xhc3M9XCJzZWxlY3QtZm9ybS1mbG93XCI+XG4gICAgPGNkcy1jb21iby1ib3hcbiAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9icy5mb3JtRmxvd0RlZmluaXRpb25zIHx8IG9icy5zYXZpbmdcIlxuICAgICAgW2l0ZW1zXT1cIm9icy5mb3JtRmxvd0RlZmluaXRpb25zIHx8IFtdXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaW50ZXJmYWNlLnR5cGVUb1NlYXJjaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdEZvcm1GbG93RGVmaW5pdGlvbigkZXZlbnQpXCJcbiAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtTdGVwcy5zZWxlY3RGb3JtRmxvdycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0XG4gICAgPjwvY2RzLWNvbWJvLWJveD5cbiAgICA8YnIgLz5cblxuICAgIDx2YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uXG4gICAgICBbc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbl09XCJzZWxlY3RlZEZvcm1GbG93RGVmaW5pdGlvblwiXG4gICAgICAoZm9ybURpc3BsYXlWYWx1ZSk9XCJzZWxlY3RlZEZvcm1EaXNwbGF5VmFsdWUoJGV2ZW50KVwiXG4gICAgICAoZm9ybVNpemVWYWx1ZSk9XCJzZWxlY3RlZEZvcm1TaXplVmFsdWUoJGV2ZW50KVwiXG4gICAgICAoc3VidGl0bGVzVmFsdWUpPVwic2VsZWN0ZWRTdWJ0aXRsZXNWYWx1ZSgkZXZlbnQpXCJcbiAgICA+PC92YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -19,10 +19,9 @@ import { switchMap, take } from 'rxjs/operators';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "../../services";
21
21
  import * as i2 from "@valtimo/plugin";
22
- import * as i3 from "../../services/plugin-state.service";
23
- import * as i4 from "@angular/common";
24
- import * as i5 from "carbon-components-angular";
25
- import * as i6 from "@ngx-translate/core";
22
+ import * as i3 from "@angular/common";
23
+ import * as i4 from "carbon-components-angular";
24
+ import * as i5 from "@ngx-translate/core";
26
25
  export class SelectPluginActionComponent {
27
26
  constructor(buttonService, pluginManagementService, stateService, stepService) {
28
27
  this.buttonService = buttonService;
@@ -65,11 +64,11 @@ export class SelectPluginActionComponent {
65
64
  this.stepService.setConfigurePluginActionSteps();
66
65
  }));
67
66
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: i1.ProcessLinkButtonService }, { token: i2.PluginManagementService }, { token: i3.PluginStateService }, { token: i1.ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i5.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: i1.ProcessLinkButtonService }, { token: i2.PluginManagementService }, { token: i1.PluginStateService }, { token: i1.ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i4.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
70
69
  }
71
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
72
71
  type: Component,
73
72
  args: [{ selector: 'valtimo-select-plugin-action', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
74
- }], ctorParameters: () => [{ type: i1.ProcessLinkButtonService }, { type: i2.PluginManagementService }, { type: i3.PluginStateService }, { type: i1.ProcessLinkStepService }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBsdWdpbi1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLWxpbmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1wbHVnaW4tYWN0aW9uL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcGx1Z2luLWFjdGlvbi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBVS9DLE1BQU0sT0FBTywyQkFBMkI7SUFnQnRDLFlBQ21CLGFBQXVDLEVBQ3ZDLHVCQUFnRCxFQUNoRCxZQUFnQyxFQUNoQyxXQUFtQztRQUhuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBbkJ0QyxxQkFBZ0IsR0FDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQzdCLGtCQUFrQjtZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUN6RSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNsQixDQUNGLENBQUM7UUFDWSw4QkFBeUIsR0FDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztRQUM5Qiw0QkFBdUIsR0FDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztRQUVwQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFPekMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxjQUFjLENBQUMsY0FBOEI7UUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQXNCO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO2FBQ2hDLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxFQUN4RCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxZQUFxQixFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQTlEVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixvRUM1QnhDLG0rREFzREE7OzRGRDFCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsdWdpbkRlZmluaXRpb24sIFBsdWdpbkZ1bmN0aW9uLCBQbHVnaW5NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1Byb2Nlc3NMaW5rQnV0dG9uU2VydmljZSwgUHJvY2Vzc0xpbmtTdGVwU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtQbHVnaW5TdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BsdWdpbi1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFBsdWdpbkFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IHBsdWdpbkZ1bmN0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luRnVuY3Rpb24+IHwgdW5kZWZpbmVkPiA9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkRGVmaW5pdGlvbiA9PlxuICAgICAgICBzZWxlY3RlZERlZmluaXRpb25cbiAgICAgICAgICA/IHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0UGx1Z2luRnVuY3Rpb25zKHNlbGVjdGVkRGVmaW5pdGlvbi5rZXkpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ6IE9ic2VydmFibGU8UGx1Z2luRGVmaW5pdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJDogT2JzZXJ2YWJsZTxQbHVnaW5GdW5jdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRnVuY3Rpb24kO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZXBTZXJ2aWNlOiBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3Blbk5leHRCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RnVuY3Rpb24ocGx1Z2luRnVuY3Rpb246IFBsdWdpbkZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0UGx1Z2luRnVuY3Rpb24ocGx1Z2luRnVuY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkKGV2ZW50OiB7dmFsdWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEZ1bmN0aW9uKEpTT04ucGFyc2UoZXZlbnQudmFsdWUpKTtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbigpO1xuICB9XG5cbiAgcHVibGljIHN0cmluZ2lmeShvYmplY3Q6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5CYWNrQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RlcFNlcnZpY2UuaGFzT25lUHJvY2Vzc0xpbmtUeXBlJCksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGhhc09uZU9wdGlvbjogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldFByb2Nlc3NMaW5rVHlwZVN0ZXBzKCdwbHVnaW4nLCBoYXNPbmVPcHRpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5OZXh0QnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLm5leHRCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwU2VydmljZS5zZXRDb25maWd1cmVQbHVnaW5BY3Rpb25TdGVwcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnMkIHwgYXN5bmMgYXMgcGx1Z2luRnVuY3Rpb25zOyBlbHNlIGxvYWRpbmdcIj5cbiAgPGRpdiBjbGFzcz1cImNob29zZS1wbHVnaW4tYWN0aW9uXCIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8cCBjbGFzcz1cInN0ZXAtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY2hvb3NlUGx1Z2luQWN0aW9uRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tdGlsZXNcIj5cbiAgICAgIDxjZHMtdGlsZS1ncm91cFxuICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICAqbmdJZj1cIntzZWxlY3RlZFBsdWdpbkRlZmluaXRpb246IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQgfCBhc3luY30gYXMgb2JzXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdGVkKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHBsdWdpbkZ1bmN0aW9uIG9mIHBsdWdpbkZ1bmN0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInN0cmluZ2lmeShwbHVnaW5GdW5jdGlvbilcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJmYWxzZVwiXG4gICAgICAgICAgPnt7XG4gICAgICAgICAgICBwbHVnaW5GdW5jdGlvbi5rZXkgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5zZWxlY3RlZFBsdWdpbkRlZmluaXRpb24ua2V5IHwgYXN5bmNcbiAgICAgICAgICB9fTwvY2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgID5cbiAgICAgIDwvY2RzLXRpbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXBsdWdpbkZ1bmN0aW9ucyB8fCBwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA9PT0gMFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1BsdWdpbkZ1bmN0aW9uc1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25vUGx1Z2luRnVuY3Rpb25zVGVtcGxhdGU+XG4gIDxwIGNsYXNzPVwic3RlcC1kZXNjcmlwdGlvblwiPlxuICAgIHt7ICdwcm9jZXNzTGluay5ub1BsdWdpbkZ1bmN0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
73
+ }], ctorParameters: () => [{ type: i1.ProcessLinkButtonService }, { type: i2.PluginManagementService }, { type: i1.PluginStateService }, { type: i1.ProcessLinkStepService }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBsdWdpbi1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLWxpbmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1wbHVnaW4tYWN0aW9uL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcGx1Z2luLWFjdGlvbi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTL0MsTUFBTSxPQUFPLDJCQUEyQjtJQWdCdEMsWUFDbUIsYUFBdUMsRUFDdkMsdUJBQWdELEVBQ2hELFlBQWdDLEVBQ2hDLFdBQW1DO1FBSG5DLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFuQnRDLHFCQUFnQixHQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FDN0Isa0JBQWtCO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQ3pFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQ2xCLENBQ0YsQ0FBQztRQUNZLDhCQUF5QixHQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1FBQzlCLDRCQUF1QixHQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1FBRXBDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU96QyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxjQUE4QjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0I7YUFDaEMsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEVBQ3hELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLFlBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBOURVLDJCQUEyQjttR0FBM0IsMkJBQTJCLG9FQzNCeEMsbStEQXNEQTs7NEZEM0JhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGx1Z2luRGVmaW5pdGlvbiwgUGx1Z2luRnVuY3Rpb24sIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7UHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLCBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlLCBQbHVnaW5TdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFBsdWdpbkFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IHBsdWdpbkZ1bmN0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luRnVuY3Rpb24+IHwgdW5kZWZpbmVkPiA9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkRGVmaW5pdGlvbiA9PlxuICAgICAgICBzZWxlY3RlZERlZmluaXRpb25cbiAgICAgICAgICA/IHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0UGx1Z2luRnVuY3Rpb25zKHNlbGVjdGVkRGVmaW5pdGlvbi5rZXkpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ6IE9ic2VydmFibGU8UGx1Z2luRGVmaW5pdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJDogT2JzZXJ2YWJsZTxQbHVnaW5GdW5jdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRnVuY3Rpb24kO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZXBTZXJ2aWNlOiBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3Blbk5leHRCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RnVuY3Rpb24ocGx1Z2luRnVuY3Rpb246IFBsdWdpbkZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0UGx1Z2luRnVuY3Rpb24ocGx1Z2luRnVuY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkKGV2ZW50OiB7dmFsdWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEZ1bmN0aW9uKEpTT04ucGFyc2UoZXZlbnQudmFsdWUpKTtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbigpO1xuICB9XG5cbiAgcHVibGljIHN0cmluZ2lmeShvYmplY3Q6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5CYWNrQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RlcFNlcnZpY2UuaGFzT25lUHJvY2Vzc0xpbmtUeXBlJCksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGhhc09uZU9wdGlvbjogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldFByb2Nlc3NMaW5rVHlwZVN0ZXBzKCdwbHVnaW4nLCBoYXNPbmVPcHRpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5OZXh0QnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLm5leHRCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwU2VydmljZS5zZXRDb25maWd1cmVQbHVnaW5BY3Rpb25TdGVwcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnMkIHwgYXN5bmMgYXMgcGx1Z2luRnVuY3Rpb25zOyBlbHNlIGxvYWRpbmdcIj5cbiAgPGRpdiBjbGFzcz1cImNob29zZS1wbHVnaW4tYWN0aW9uXCIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8cCBjbGFzcz1cInN0ZXAtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY2hvb3NlUGx1Z2luQWN0aW9uRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tdGlsZXNcIj5cbiAgICAgIDxjZHMtdGlsZS1ncm91cFxuICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICAqbmdJZj1cIntzZWxlY3RlZFBsdWdpbkRlZmluaXRpb246IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQgfCBhc3luY30gYXMgb2JzXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdGVkKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHBsdWdpbkZ1bmN0aW9uIG9mIHBsdWdpbkZ1bmN0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInN0cmluZ2lmeShwbHVnaW5GdW5jdGlvbilcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJmYWxzZVwiXG4gICAgICAgICAgPnt7XG4gICAgICAgICAgICBwbHVnaW5GdW5jdGlvbi5rZXkgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5zZWxlY3RlZFBsdWdpbkRlZmluaXRpb24ua2V5IHwgYXN5bmNcbiAgICAgICAgICB9fTwvY2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgID5cbiAgICAgIDwvY2RzLXRpbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXBsdWdpbkZ1bmN0aW9ucyB8fCBwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA9PT0gMFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1BsdWdpbkZ1bmN0aW9uc1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25vUGx1Z2luRnVuY3Rpb25zVGVtcGxhdGU+XG4gIDxwIGNsYXNzPVwic3RlcC1kZXNjcmlwdGlvblwiPlxuICAgIHt7ICdwcm9jZXNzTGluay5ub1BsdWdpbkZ1bmN0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19