@alfresco/adf-process-services-cloud 8.1.0-14614292306 → 8.1.0-14621393037

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 (20) hide show
  1. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +3 -3
  2. package/esm2022/lib/group/components/group-cloud.component.mjs +3 -3
  3. package/esm2022/lib/people/components/people-cloud.component.mjs +3 -3
  4. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +3 -3
  5. package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +3 -3
  6. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +3 -3
  7. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +3 -3
  8. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +3 -3
  9. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +3 -3
  10. package/fesm2022/adf-process-services-cloud.mjs +18 -18
  11. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  12. package/lib/form/components/widgets/display-external-property/display-external-property.widget.scss +1 -1
  13. package/lib/group/components/group-cloud.component.scss +5 -5
  14. package/lib/people/components/people-cloud.component.scss +6 -6
  15. package/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.scss +5 -5
  16. package/lib/process/process-header/components/process-header-cloud.component.scss +1 -1
  17. package/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.scss +5 -5
  18. package/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.scss +5 -5
  19. package/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.scss +4 -4
  20. package/package.json +4 -4
@@ -293,7 +293,7 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone
293
293
  ];
294
294
  }
295
295
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EditTaskFilterCloudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
296
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EditTaskFilterCloudComponent, isStandalone: true, selector: "adf-cloud-edit-task-filter", usesInheritance: true, ngImport: i0, template: "<mat-accordion [hideToggle]=\"isLoading\" class=\"adf-edit-task-filter\">\n <mat-expansion-panel (afterExpand)=\"onExpand()\" (closed)=\"onClose()\">\n <mat-expansion-panel-header *ngIf=\"taskFilter\" id=\"adf-edit-task-filter-expansion-header\" class=\"adf-edit-task-filter-header\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <mat-panel-title *ngIf=\"showTaskFilterName\" id=\"adf-edit-task-filter-title-id\" class=\"adf-edit-task-filter-header__title\"\n >{{taskFilter.name | translate}}</mat-panel-title>\n <mat-panel-description class=\"adf-edit-task-filter-header__description\" id=\"adf-edit-task-filter-sub-title-id\">\n <span *ngIf=\"showTitle\">{{ 'ADF_CLOUD_EDIT_TASK_FILTER.TITLE' | translate}}</span>\n <div *ngIf=\"showFilterActions\" class=\"adf-cloud-edit-task-filter-actions\">\n <ng-container *ngIf=\"toggleFilterActions\">\n <button *ngFor=\"let filterAction of taskFilterActions\"\n mat-icon-button\n [title]=\"filterAction.tooltip | translate\"\n [attr.data-automation-id]=\"'adf-filter-action-' + filterAction.actionType\"\n [disabled]=\"isDisabledAction(filterAction)\"\n (click)=\"executeFilterActions(filterAction)\">\n <adf-icon [value]=\"filterAction.icon\" />\n </button>\n </ng-container>\n </div>\n </mat-panel-description>\n </ng-container>\n <ng-template #loadingTemplate>\n <div class=\"adf-cloud-edit-task-filter-loading-margin\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"30\" />\n </div>\n </ng-template>\n </mat-expansion-panel-header>\n <ng-container *ngIf=\"!isLoading;\">\n <form *ngIf=\"editTaskFilterForm\" [formGroup]=\"editTaskFilterForm\" class=\"adf-edit-task-filter-content\">\n <div class=\"adf-edit-task-filter-form\">\n <ng-container *ngFor=\"let taskFilterProperty of taskFilterProperties\">\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'select'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__select-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <mat-select\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\"\n (selectionChange)=\"onStatusChange($event)\">\n <mat-option *ngFor=\"let propertyOption of taskFilterProperty.options\"\n [value]=\"propertyOption.value\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-options-' + taskFilterProperty.key\">\n {{ propertyOption.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'text'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__text-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n [formControlName]=\"taskFilterProperty.key\"\n type=\"text\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\" />\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'date'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label>{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n (keyup)=\"onDateChanged($any($event).target.value, taskFilterProperty)\"\n (dateChange)=\"onDateChanged($event.value, taskFilterProperty)\"\n [matDatepicker]=\"dateController\"\n [placeholder]=\"taskFilterProperty.label | translate\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\">\n <mat-datepicker-toggle matSuffix\n [for]=\"dateController\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-toggle-' + taskFilterProperty.key\" />\n <mat-datepicker #dateController\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-picker-' + taskFilterProperty.key\" />\n <div class=\"adf-edit-task-filter-date-error-container\">\n <div *ngIf=\"hasError(taskFilterProperty)\">\n <div class=\"adf-error-text\">{{'ADF_TASK_LIST.START_TASK.FORM.ERROR.DATE'|translate}}</div>\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n </div>\n </div>\n </mat-form-field>\n <div class=\"adf-edit-task-filter-checkbox\"\n *ngIf=\"taskFilterProperty.type === 'checkbox'\">\n <mat-checkbox color=\"primary\"\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"taskFilterProperty.key\"\n >{{taskFilterProperty.label | translate}}</mat-checkbox>\n </div>\n\n <adf-cloud-date-range-filter #dateRange\n *ngIf=\"taskFilterProperty.type === 'date-range'\"\n [processFilterProperty]=\"taskFilterProperty\"\n [options]=\"taskFilterProperty.dateFilterOptions\"\n (dateTypeChange)=\"onDateTypeChange($event, taskFilterProperty)\"\n (dateChanged)=\"onDateRangeFilterChanged($event, taskFilterProperty)\" />\n <adf-cloud-people\n class=\"{{ 'adf-edit-task-filter-' + taskFilterProperty.key }}\"\n *ngIf=\"taskFilterProperty.type === 'people'\"\n [preSelectUsers]=\"taskFilterProperty.value\"\n [title]=\"taskFilterProperty.label\"\n [validate]=\"true\"\n [appName]=\"appName\"\n [mode]=\"taskFilterProperty.selectionMode\"\n (changedUsers)=\"onChangedUser($event, taskFilterProperty)\" />\n\n <adf-cloud-task-assignment-filter\n *ngIf=\"taskFilterProperty.type === 'assignment'\"\n [taskFilterProperty]=\"taskFilterProperty\"\n [status]=\"selectedStatus\"\n [appName]=\"appName\"\n (assignedUsersChange)=\"onAssignedUsersChange($event)\"\n (assignedGroupsChange)=\"onAssignedGroupsChange($event)\"\n (assignmentTypeChange)=\"onAssignmentTypeChange($event)\" />\n\n </ng-container>\n </div>\n </form>\n </ng-container>\n </mat-expansion-panel>\n</mat-accordion>\n", styles: [".adf-edit-task-filter-checkbox{font-size:var(--theme-subheading-2-font-size);padding-top:10px;text-align:center;flex:1 23%}.adf-edit-task-filter-date-error-container{position:absolute;height:20px;margin-top:12px;width:100%}.adf-edit-task-filter-date-error-container>div{display:flex;flex-flow:row;justify-content:flex-start}.adf-edit-task-filter-date-error-container .adf-error-text{padding-right:8px;height:16px;font-size:10px;line-height:1.33;color:var(--theme-warn-color);width:auto}.adf-edit-task-filter-date-error-container .adf-error-icon{font-size:16px;color:var(--theme-warn-color)}.adf-edit-task-filter-dateRange mat-grid-list{width:450px}.adf-cloud-edit-task-filter-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-edit-task-filter-form{flex-flow:row wrap;display:flex;place-content:center flex-start;align-items:center}.adf-edit-task-filter-form :not(:last-child){margin-right:10px}.adf-edit-task-filter-form mat-form-field,.adf-edit-task-filter-form adf-cloud-people,.adf-edit-task-filter-form adf-cloud-task-assignment-filter{flex:1 1 23%}@media (max-width: 599.9px){.adf-edit-task-filter-form{flex-flow:column}.adf-edit-task-filter-form :not(:last-child){margin-bottom:10px;margin-right:0}}.adf-edit-task-filter-header{height:var(--adf-edit-task-and-service-filter-header-height)}.adf-edit-task-filter-header__title{color:var(--adf-edit-task-and-service-filter-header-title-color)}.adf-edit-task-filter-header__description{color:var(--adf-edit-task-and-service-filter-header-description-color);place-content:center space-between}.adf-edit-task-filter-content__text-label{color:var(--adf-edit-task-and-service-filter-content-text-label-color)}.adf-edit-task-filter-content__select-label{color:var(--adf-edit-task-and-service-filter-content-select-label-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i3.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: DateRangeFilterComponent, selector: "adf-cloud-date-range-filter", inputs: ["processFilterProperty", "options"], outputs: ["dateChanged", "dateTypeChange"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }, { kind: "component", type: TaskAssignmentFilterCloudComponent, selector: "adf-cloud-task-assignment-filter", inputs: ["appName", "taskFilterProperty", "status"], outputs: ["assignedUsersChange", "assignedGroupsChange", "assignmentTypeChange"] }, { kind: "ngmodule", type: ApolloModule }], encapsulation: i0.ViewEncapsulation.None }); }
296
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EditTaskFilterCloudComponent, isStandalone: true, selector: "adf-cloud-edit-task-filter", usesInheritance: true, ngImport: i0, template: "<mat-accordion [hideToggle]=\"isLoading\" class=\"adf-edit-task-filter\">\n <mat-expansion-panel (afterExpand)=\"onExpand()\" (closed)=\"onClose()\">\n <mat-expansion-panel-header *ngIf=\"taskFilter\" id=\"adf-edit-task-filter-expansion-header\" class=\"adf-edit-task-filter-header\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <mat-panel-title *ngIf=\"showTaskFilterName\" id=\"adf-edit-task-filter-title-id\" class=\"adf-edit-task-filter-header__title\"\n >{{taskFilter.name | translate}}</mat-panel-title>\n <mat-panel-description class=\"adf-edit-task-filter-header__description\" id=\"adf-edit-task-filter-sub-title-id\">\n <span *ngIf=\"showTitle\">{{ 'ADF_CLOUD_EDIT_TASK_FILTER.TITLE' | translate}}</span>\n <div *ngIf=\"showFilterActions\" class=\"adf-cloud-edit-task-filter-actions\">\n <ng-container *ngIf=\"toggleFilterActions\">\n <button *ngFor=\"let filterAction of taskFilterActions\"\n mat-icon-button\n [title]=\"filterAction.tooltip | translate\"\n [attr.data-automation-id]=\"'adf-filter-action-' + filterAction.actionType\"\n [disabled]=\"isDisabledAction(filterAction)\"\n (click)=\"executeFilterActions(filterAction)\">\n <adf-icon [value]=\"filterAction.icon\" />\n </button>\n </ng-container>\n </div>\n </mat-panel-description>\n </ng-container>\n <ng-template #loadingTemplate>\n <div class=\"adf-cloud-edit-task-filter-loading-margin\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"30\" />\n </div>\n </ng-template>\n </mat-expansion-panel-header>\n <ng-container *ngIf=\"!isLoading;\">\n <form *ngIf=\"editTaskFilterForm\" [formGroup]=\"editTaskFilterForm\" class=\"adf-edit-task-filter-content\">\n <div class=\"adf-edit-task-filter-form\">\n <ng-container *ngFor=\"let taskFilterProperty of taskFilterProperties\">\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'select'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__select-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <mat-select\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\"\n (selectionChange)=\"onStatusChange($event)\">\n <mat-option *ngFor=\"let propertyOption of taskFilterProperty.options\"\n [value]=\"propertyOption.value\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-options-' + taskFilterProperty.key\">\n {{ propertyOption.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'text'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__text-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n [formControlName]=\"taskFilterProperty.key\"\n type=\"text\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\" />\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'date'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label>{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n (keyup)=\"onDateChanged($any($event).target.value, taskFilterProperty)\"\n (dateChange)=\"onDateChanged($event.value, taskFilterProperty)\"\n [matDatepicker]=\"dateController\"\n [placeholder]=\"taskFilterProperty.label | translate\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\">\n <mat-datepicker-toggle matSuffix\n [for]=\"dateController\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-toggle-' + taskFilterProperty.key\" />\n <mat-datepicker #dateController\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-picker-' + taskFilterProperty.key\" />\n <div class=\"adf-edit-task-filter-date-error-container\">\n <div *ngIf=\"hasError(taskFilterProperty)\">\n <div class=\"adf-error-text\">{{'ADF_TASK_LIST.START_TASK.FORM.ERROR.DATE'|translate}}</div>\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n </div>\n </div>\n </mat-form-field>\n <div class=\"adf-edit-task-filter-checkbox\"\n *ngIf=\"taskFilterProperty.type === 'checkbox'\">\n <mat-checkbox color=\"primary\"\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"taskFilterProperty.key\"\n >{{taskFilterProperty.label | translate}}</mat-checkbox>\n </div>\n\n <adf-cloud-date-range-filter #dateRange\n *ngIf=\"taskFilterProperty.type === 'date-range'\"\n [processFilterProperty]=\"taskFilterProperty\"\n [options]=\"taskFilterProperty.dateFilterOptions\"\n (dateTypeChange)=\"onDateTypeChange($event, taskFilterProperty)\"\n (dateChanged)=\"onDateRangeFilterChanged($event, taskFilterProperty)\" />\n <adf-cloud-people\n class=\"{{ 'adf-edit-task-filter-' + taskFilterProperty.key }}\"\n *ngIf=\"taskFilterProperty.type === 'people'\"\n [preSelectUsers]=\"taskFilterProperty.value\"\n [title]=\"taskFilterProperty.label\"\n [validate]=\"true\"\n [appName]=\"appName\"\n [mode]=\"taskFilterProperty.selectionMode\"\n (changedUsers)=\"onChangedUser($event, taskFilterProperty)\" />\n\n <adf-cloud-task-assignment-filter\n *ngIf=\"taskFilterProperty.type === 'assignment'\"\n [taskFilterProperty]=\"taskFilterProperty\"\n [status]=\"selectedStatus\"\n [appName]=\"appName\"\n (assignedUsersChange)=\"onAssignedUsersChange($event)\"\n (assignedGroupsChange)=\"onAssignedGroupsChange($event)\"\n (assignmentTypeChange)=\"onAssignmentTypeChange($event)\" />\n\n </ng-container>\n </div>\n </form>\n </ng-container>\n </mat-expansion-panel>\n</mat-accordion>\n", styles: [".adf-edit-task-filter-checkbox{font-size:var(--theme-subheading-2-font-size);padding-top:10px;text-align:center;flex:1 23%}.adf-edit-task-filter-date-error-container{position:absolute;height:20px;margin-top:12px;width:100%}.adf-edit-task-filter-date-error-container>div{display:flex;flex-flow:row;justify-content:flex-start}.adf-edit-task-filter-date-error-container .adf-error-text{padding-right:8px;height:16px;font-size:10px;line-height:1.33;color:var(--theme-warn-color);width:auto}.adf-edit-task-filter-date-error-container .adf-error-icon{font-size:16px;color:var(--theme-warn-color)}.adf-edit-task-filter-dateRange mat-grid-list{width:450px}.adf-cloud-edit-task-filter-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-edit-task-filter-form{flex-flow:row wrap;display:flex;place-content:center flex-start;align-items:center}.adf-edit-task-filter-form :not(:last-child){margin-right:10px}.adf-edit-task-filter-form mat-form-field,.adf-edit-task-filter-form adf-cloud-people,.adf-edit-task-filter-form adf-cloud-task-assignment-filter{flex:1 1 23%}@media (max-width: 599.9px){.adf-edit-task-filter-form{flex-flow:column}.adf-edit-task-filter-form :not(:last-child){margin-bottom:10px;margin-right:0}}.adf-edit-task-filter-header{height:48px}.adf-edit-task-filter-header__title{color:var(--adf-theme-foreground-text-color)}.adf-edit-task-filter-header__description{color:var(--adf-theme-foreground-secondary-text-color);place-content:center space-between}.adf-edit-task-filter-content__text-label,.adf-edit-task-filter-content__select-label{color:var(--adf-theme-foreground-secondary-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i3.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: DateRangeFilterComponent, selector: "adf-cloud-date-range-filter", inputs: ["processFilterProperty", "options"], outputs: ["dateChanged", "dateTypeChange"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }, { kind: "component", type: TaskAssignmentFilterCloudComponent, selector: "adf-cloud-task-assignment-filter", inputs: ["appName", "taskFilterProperty", "status"], outputs: ["assignedUsersChange", "assignedGroupsChange", "assignmentTypeChange"] }, { kind: "ngmodule", type: ApolloModule }], encapsulation: i0.ViewEncapsulation.None }); }
297
297
  }
298
298
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EditTaskFilterCloudComponent, decorators: [{
299
299
  type: Component,
@@ -315,6 +315,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
315
315
  PeopleCloudComponent,
316
316
  TaskAssignmentFilterCloudComponent,
317
317
  ApolloModule
318
- ], encapsulation: ViewEncapsulation.None, template: "<mat-accordion [hideToggle]=\"isLoading\" class=\"adf-edit-task-filter\">\n <mat-expansion-panel (afterExpand)=\"onExpand()\" (closed)=\"onClose()\">\n <mat-expansion-panel-header *ngIf=\"taskFilter\" id=\"adf-edit-task-filter-expansion-header\" class=\"adf-edit-task-filter-header\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <mat-panel-title *ngIf=\"showTaskFilterName\" id=\"adf-edit-task-filter-title-id\" class=\"adf-edit-task-filter-header__title\"\n >{{taskFilter.name | translate}}</mat-panel-title>\n <mat-panel-description class=\"adf-edit-task-filter-header__description\" id=\"adf-edit-task-filter-sub-title-id\">\n <span *ngIf=\"showTitle\">{{ 'ADF_CLOUD_EDIT_TASK_FILTER.TITLE' | translate}}</span>\n <div *ngIf=\"showFilterActions\" class=\"adf-cloud-edit-task-filter-actions\">\n <ng-container *ngIf=\"toggleFilterActions\">\n <button *ngFor=\"let filterAction of taskFilterActions\"\n mat-icon-button\n [title]=\"filterAction.tooltip | translate\"\n [attr.data-automation-id]=\"'adf-filter-action-' + filterAction.actionType\"\n [disabled]=\"isDisabledAction(filterAction)\"\n (click)=\"executeFilterActions(filterAction)\">\n <adf-icon [value]=\"filterAction.icon\" />\n </button>\n </ng-container>\n </div>\n </mat-panel-description>\n </ng-container>\n <ng-template #loadingTemplate>\n <div class=\"adf-cloud-edit-task-filter-loading-margin\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"30\" />\n </div>\n </ng-template>\n </mat-expansion-panel-header>\n <ng-container *ngIf=\"!isLoading;\">\n <form *ngIf=\"editTaskFilterForm\" [formGroup]=\"editTaskFilterForm\" class=\"adf-edit-task-filter-content\">\n <div class=\"adf-edit-task-filter-form\">\n <ng-container *ngFor=\"let taskFilterProperty of taskFilterProperties\">\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'select'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__select-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <mat-select\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\"\n (selectionChange)=\"onStatusChange($event)\">\n <mat-option *ngFor=\"let propertyOption of taskFilterProperty.options\"\n [value]=\"propertyOption.value\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-options-' + taskFilterProperty.key\">\n {{ propertyOption.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'text'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__text-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n [formControlName]=\"taskFilterProperty.key\"\n type=\"text\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\" />\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'date'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label>{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n (keyup)=\"onDateChanged($any($event).target.value, taskFilterProperty)\"\n (dateChange)=\"onDateChanged($event.value, taskFilterProperty)\"\n [matDatepicker]=\"dateController\"\n [placeholder]=\"taskFilterProperty.label | translate\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\">\n <mat-datepicker-toggle matSuffix\n [for]=\"dateController\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-toggle-' + taskFilterProperty.key\" />\n <mat-datepicker #dateController\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-picker-' + taskFilterProperty.key\" />\n <div class=\"adf-edit-task-filter-date-error-container\">\n <div *ngIf=\"hasError(taskFilterProperty)\">\n <div class=\"adf-error-text\">{{'ADF_TASK_LIST.START_TASK.FORM.ERROR.DATE'|translate}}</div>\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n </div>\n </div>\n </mat-form-field>\n <div class=\"adf-edit-task-filter-checkbox\"\n *ngIf=\"taskFilterProperty.type === 'checkbox'\">\n <mat-checkbox color=\"primary\"\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"taskFilterProperty.key\"\n >{{taskFilterProperty.label | translate}}</mat-checkbox>\n </div>\n\n <adf-cloud-date-range-filter #dateRange\n *ngIf=\"taskFilterProperty.type === 'date-range'\"\n [processFilterProperty]=\"taskFilterProperty\"\n [options]=\"taskFilterProperty.dateFilterOptions\"\n (dateTypeChange)=\"onDateTypeChange($event, taskFilterProperty)\"\n (dateChanged)=\"onDateRangeFilterChanged($event, taskFilterProperty)\" />\n <adf-cloud-people\n class=\"{{ 'adf-edit-task-filter-' + taskFilterProperty.key }}\"\n *ngIf=\"taskFilterProperty.type === 'people'\"\n [preSelectUsers]=\"taskFilterProperty.value\"\n [title]=\"taskFilterProperty.label\"\n [validate]=\"true\"\n [appName]=\"appName\"\n [mode]=\"taskFilterProperty.selectionMode\"\n (changedUsers)=\"onChangedUser($event, taskFilterProperty)\" />\n\n <adf-cloud-task-assignment-filter\n *ngIf=\"taskFilterProperty.type === 'assignment'\"\n [taskFilterProperty]=\"taskFilterProperty\"\n [status]=\"selectedStatus\"\n [appName]=\"appName\"\n (assignedUsersChange)=\"onAssignedUsersChange($event)\"\n (assignedGroupsChange)=\"onAssignedGroupsChange($event)\"\n (assignmentTypeChange)=\"onAssignmentTypeChange($event)\" />\n\n </ng-container>\n </div>\n </form>\n </ng-container>\n </mat-expansion-panel>\n</mat-accordion>\n", styles: [".adf-edit-task-filter-checkbox{font-size:var(--theme-subheading-2-font-size);padding-top:10px;text-align:center;flex:1 23%}.adf-edit-task-filter-date-error-container{position:absolute;height:20px;margin-top:12px;width:100%}.adf-edit-task-filter-date-error-container>div{display:flex;flex-flow:row;justify-content:flex-start}.adf-edit-task-filter-date-error-container .adf-error-text{padding-right:8px;height:16px;font-size:10px;line-height:1.33;color:var(--theme-warn-color);width:auto}.adf-edit-task-filter-date-error-container .adf-error-icon{font-size:16px;color:var(--theme-warn-color)}.adf-edit-task-filter-dateRange mat-grid-list{width:450px}.adf-cloud-edit-task-filter-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-edit-task-filter-form{flex-flow:row wrap;display:flex;place-content:center flex-start;align-items:center}.adf-edit-task-filter-form :not(:last-child){margin-right:10px}.adf-edit-task-filter-form mat-form-field,.adf-edit-task-filter-form adf-cloud-people,.adf-edit-task-filter-form adf-cloud-task-assignment-filter{flex:1 1 23%}@media (max-width: 599.9px){.adf-edit-task-filter-form{flex-flow:column}.adf-edit-task-filter-form :not(:last-child){margin-bottom:10px;margin-right:0}}.adf-edit-task-filter-header{height:var(--adf-edit-task-and-service-filter-header-height)}.adf-edit-task-filter-header__title{color:var(--adf-edit-task-and-service-filter-header-title-color)}.adf-edit-task-filter-header__description{color:var(--adf-edit-task-and-service-filter-header-description-color);place-content:center space-between}.adf-edit-task-filter-content__text-label{color:var(--adf-edit-task-and-service-filter-content-text-label-color)}.adf-edit-task-filter-content__select-label{color:var(--adf-edit-task-and-service-filter-content-select-label-color)}\n"] }]
318
+ ], encapsulation: ViewEncapsulation.None, template: "<mat-accordion [hideToggle]=\"isLoading\" class=\"adf-edit-task-filter\">\n <mat-expansion-panel (afterExpand)=\"onExpand()\" (closed)=\"onClose()\">\n <mat-expansion-panel-header *ngIf=\"taskFilter\" id=\"adf-edit-task-filter-expansion-header\" class=\"adf-edit-task-filter-header\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <mat-panel-title *ngIf=\"showTaskFilterName\" id=\"adf-edit-task-filter-title-id\" class=\"adf-edit-task-filter-header__title\"\n >{{taskFilter.name | translate}}</mat-panel-title>\n <mat-panel-description class=\"adf-edit-task-filter-header__description\" id=\"adf-edit-task-filter-sub-title-id\">\n <span *ngIf=\"showTitle\">{{ 'ADF_CLOUD_EDIT_TASK_FILTER.TITLE' | translate}}</span>\n <div *ngIf=\"showFilterActions\" class=\"adf-cloud-edit-task-filter-actions\">\n <ng-container *ngIf=\"toggleFilterActions\">\n <button *ngFor=\"let filterAction of taskFilterActions\"\n mat-icon-button\n [title]=\"filterAction.tooltip | translate\"\n [attr.data-automation-id]=\"'adf-filter-action-' + filterAction.actionType\"\n [disabled]=\"isDisabledAction(filterAction)\"\n (click)=\"executeFilterActions(filterAction)\">\n <adf-icon [value]=\"filterAction.icon\" />\n </button>\n </ng-container>\n </div>\n </mat-panel-description>\n </ng-container>\n <ng-template #loadingTemplate>\n <div class=\"adf-cloud-edit-task-filter-loading-margin\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"30\" />\n </div>\n </ng-template>\n </mat-expansion-panel-header>\n <ng-container *ngIf=\"!isLoading;\">\n <form *ngIf=\"editTaskFilterForm\" [formGroup]=\"editTaskFilterForm\" class=\"adf-edit-task-filter-content\">\n <div class=\"adf-edit-task-filter-form\">\n <ng-container *ngFor=\"let taskFilterProperty of taskFilterProperties\">\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'select'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__select-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <mat-select\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\"\n (selectionChange)=\"onStatusChange($event)\">\n <mat-option *ngFor=\"let propertyOption of taskFilterProperty.options\"\n [value]=\"propertyOption.value\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-options-' + taskFilterProperty.key\">\n {{ propertyOption.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'text'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label class=\"adf-edit-task-filter-content__text-label\">{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n [formControlName]=\"taskFilterProperty.key\"\n type=\"text\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\" />\n </mat-form-field>\n <mat-form-field [floatLabel]=\"'auto'\"\n *ngIf=\"taskFilterProperty.type === 'date'\"\n [attr.data-automation-id]=\"taskFilterProperty.key\">\n <mat-label>{{taskFilterProperty.label | translate}}</mat-label>\n <input matInput\n (keyup)=\"onDateChanged($any($event).target.value, taskFilterProperty)\"\n (dateChange)=\"onDateChanged($event.value, taskFilterProperty)\"\n [matDatepicker]=\"dateController\"\n [placeholder]=\"taskFilterProperty.label | translate\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-' + taskFilterProperty.key\">\n <mat-datepicker-toggle matSuffix\n [for]=\"dateController\"\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-toggle-' + taskFilterProperty.key\" />\n <mat-datepicker #dateController\n [attr.data-automation-id]=\"'adf-cloud-edit-task-property-date-picker-' + taskFilterProperty.key\" />\n <div class=\"adf-edit-task-filter-date-error-container\">\n <div *ngIf=\"hasError(taskFilterProperty)\">\n <div class=\"adf-error-text\">{{'ADF_TASK_LIST.START_TASK.FORM.ERROR.DATE'|translate}}</div>\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n </div>\n </div>\n </mat-form-field>\n <div class=\"adf-edit-task-filter-checkbox\"\n *ngIf=\"taskFilterProperty.type === 'checkbox'\">\n <mat-checkbox color=\"primary\"\n [formControlName]=\"taskFilterProperty.key\"\n [attr.data-automation-id]=\"taskFilterProperty.key\"\n >{{taskFilterProperty.label | translate}}</mat-checkbox>\n </div>\n\n <adf-cloud-date-range-filter #dateRange\n *ngIf=\"taskFilterProperty.type === 'date-range'\"\n [processFilterProperty]=\"taskFilterProperty\"\n [options]=\"taskFilterProperty.dateFilterOptions\"\n (dateTypeChange)=\"onDateTypeChange($event, taskFilterProperty)\"\n (dateChanged)=\"onDateRangeFilterChanged($event, taskFilterProperty)\" />\n <adf-cloud-people\n class=\"{{ 'adf-edit-task-filter-' + taskFilterProperty.key }}\"\n *ngIf=\"taskFilterProperty.type === 'people'\"\n [preSelectUsers]=\"taskFilterProperty.value\"\n [title]=\"taskFilterProperty.label\"\n [validate]=\"true\"\n [appName]=\"appName\"\n [mode]=\"taskFilterProperty.selectionMode\"\n (changedUsers)=\"onChangedUser($event, taskFilterProperty)\" />\n\n <adf-cloud-task-assignment-filter\n *ngIf=\"taskFilterProperty.type === 'assignment'\"\n [taskFilterProperty]=\"taskFilterProperty\"\n [status]=\"selectedStatus\"\n [appName]=\"appName\"\n (assignedUsersChange)=\"onAssignedUsersChange($event)\"\n (assignedGroupsChange)=\"onAssignedGroupsChange($event)\"\n (assignmentTypeChange)=\"onAssignmentTypeChange($event)\" />\n\n </ng-container>\n </div>\n </form>\n </ng-container>\n </mat-expansion-panel>\n</mat-accordion>\n", styles: [".adf-edit-task-filter-checkbox{font-size:var(--theme-subheading-2-font-size);padding-top:10px;text-align:center;flex:1 23%}.adf-edit-task-filter-date-error-container{position:absolute;height:20px;margin-top:12px;width:100%}.adf-edit-task-filter-date-error-container>div{display:flex;flex-flow:row;justify-content:flex-start}.adf-edit-task-filter-date-error-container .adf-error-text{padding-right:8px;height:16px;font-size:10px;line-height:1.33;color:var(--theme-warn-color);width:auto}.adf-edit-task-filter-date-error-container .adf-error-icon{font-size:16px;color:var(--theme-warn-color)}.adf-edit-task-filter-dateRange mat-grid-list{width:450px}.adf-cloud-edit-task-filter-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-edit-task-filter-form{flex-flow:row wrap;display:flex;place-content:center flex-start;align-items:center}.adf-edit-task-filter-form :not(:last-child){margin-right:10px}.adf-edit-task-filter-form mat-form-field,.adf-edit-task-filter-form adf-cloud-people,.adf-edit-task-filter-form adf-cloud-task-assignment-filter{flex:1 1 23%}@media (max-width: 599.9px){.adf-edit-task-filter-form{flex-flow:column}.adf-edit-task-filter-form :not(:last-child){margin-bottom:10px;margin-right:0}}.adf-edit-task-filter-header{height:48px}.adf-edit-task-filter-header__title{color:var(--adf-theme-foreground-text-color)}.adf-edit-task-filter-header__description{color:var(--adf-theme-foreground-secondary-text-color);place-content:center space-between}.adf-edit-task-filter-content__text-label,.adf-edit-task-filter-content__select-label{color:var(--adf-theme-foreground-secondary-text-color)}\n"] }]
319
319
  }], ctorParameters: () => [] });
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10YXNrLWZpbHRlci1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvZWRpdC10YXNrLWZpbHRlcnMvZWRpdC10YXNrLWZpbHRlci9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy9lZGl0LXRhc2stZmlsdGVycy9lZGl0LXRhc2stZmlsdGVyL2VkaXQtdGFzay1maWx0ZXItY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBb0Isb0JBQW9CLEVBQXdCLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFrQixNQUFNLDBDQUEwQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FB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LEVBQUU7Z0JBQ2xGLEtBQUssRUFBRTtvQkFDSCxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksRUFBRTtvQkFDbEQsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLEVBQUU7aUJBQ3pEO2dCQUNELGFBQWEsRUFBRSxVQUFVO2FBQzVCO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBalFRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDZHQ3RFekMsdTNRQXFIQSxrMUREckVRLFlBQVksK1BBQ1osZUFBZSwyRkFDZixrQkFBa0Isd3RCQUNsQixlQUFlLDRJQUNmLGFBQWEsMkZBQ2Isd0JBQXdCLGtPQUN4QixrQkFBa0IsMmFBQ2xCLG1CQUFtQiw0OEJBQ25CLGVBQWUsbXJCQUNmLGNBQWMsMldBQ2QsbUJBQW1CLG9nQkFDbkIsYUFBYSxvTEFDYixpQkFBaUIsK1dBQ2pCLHdCQUF3QixrS0FDeEIsb0JBQW9CLGtiQUNwQixrQ0FBa0MsbU5BQ2xDLFlBQVk7OzJGQU1QLDRCQUE0QjtrQkExQnhDLFNBQVM7K0JBQ0ksNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQ0FBa0M7d0JBQ2xDLFlBQVk7cUJBQ2YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYXNrRmlsdGVyQWN0aW9uLCBUYXNrRmlsdGVyQ2xvdWRNb2RlbCwgVGFza0ZpbHRlclByb3BlcnRpZXMsIFRhc2tTdGF0dXNGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLWZpbHRlci1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVDbG91ZEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZGF0ZS1jbG91ZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUVkaXRUYXNrRmlsdGVyQ2xvdWRDb21wb25lbnQsIERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vYmFzZS1lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IERhdGVSYW5nZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRlLXJhbmdlLWZpbHRlci9kYXRlLXJhbmdlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhc2tBc3NpZ25tZW50RmlsdGVyQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwb2xsb01vZHVsZSB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtZWRpdC10YXNrLWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBEYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIFBlb3BsZUNsb3VkQ29tcG9uZW50LFxuICAgICAgICBUYXNrQXNzaWdubWVudEZpbHRlckNsb3VkQ29tcG9uZW50LFxuICAgICAgICBBcG9sbG9Nb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0VGFza0ZpbHRlckNsb3VkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVkaXRUYXNrRmlsdGVyQ2xvdWRDb21wb25lbnQ8VGFza0ZpbHRlckNsb3VkTW9kZWw+IHtcbiAgICBwcml2YXRlIHRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UgPSBpbmplY3QoVGFza0ZpbHRlckNsb3VkU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBhc3NpZ25OZXdGaWx0ZXIobW9kZWw6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKSB7XG4gICAgICAgIHRoaXMuc2V0TGFzdE1vZGlmaWVkVG9GaWx0ZXIobW9kZWwpO1xuICAgICAgICB0aGlzLmNoYW5nZWRUYXNrRmlsdGVyID0gbmV3IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKE9iamVjdC5hc3NpZ24oe30sIHRoaXMudGFza0ZpbHRlciwgbW9kZWwpKTtcbiAgICAgICAgdGhpcy5mb3JtSGFzQmVlbkNoYW5nZWQgPSAhdGhpcy5kZWVwQ29tcGFyZSh0aGlzLmNoYW5nZWRUYXNrRmlsdGVyLCB0aGlzLnRhc2tGaWx0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuY2hhbmdlZFRhc2tGaWx0ZXIpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYXNrRmlsdGVyQnlJZChhcHBOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5nZXRUYXNrRmlsdGVyQnlJZChhcHBOYW1lLCBpZCkucGlwZShtYXAoKHJlc3BvbnNlKSA9PiBuZXcgVGFza0ZpbHRlckNsb3VkTW9kZWwocmVzcG9uc2UpKSk7XG4gICAgfVxuXG4gICAgY3JlYXRlQW5kRmlsdGVyUHJvcGVydGllcygpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuY3JlYXRlQW5kRmlsdGVyUHJvcGVydGllcygpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhc3RNb2RpZmllZFByb3BlcnR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbLi4ucmVzdWx0LCAuLi50aGlzLmNyZWF0ZUxhc3RNb2RpZmllZFByb3BlcnR5KCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0RmlsdGVyUHJvcGVydGllcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbJ3N0YXR1cycsICdhc3NpZ25lZScsICdzb3J0JywgJ29yZGVyJ107XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdFNvcnRQcm9wZXJ0aWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFsnaWQnLCAnbmFtZScsICdjcmVhdGVkRGF0ZScsICdwcmlvcml0eSddO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGFzdE1vZGlmaWVkVG9GaWx0ZXIoZm9ybVZhbHVlczogVGFza0ZpbHRlckNsb3VkTW9kZWwpIHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8gJiYgRGF0ZS5wYXJzZShmb3JtVmFsdWVzLmxhc3RNb2RpZmllZFRvLnRvU3RyaW5nKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0TW9kaWZpZWRUb0ZpbHRlclZhbHVlID0gc2V0KG5ldyBEYXRlKGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8pLCB7XG4gICAgICAgICAgICAgICAgaG91cnM6IDIzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXM6IDU5LFxuICAgICAgICAgICAgICAgIHNlY29uZHM6IDU5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8gPSBsYXN0TW9kaWZpZWRUb0ZpbHRlclZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRmlsdGVyKGZpbHRlclRvVXBkYXRlOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlLnVwZGF0ZUZpbHRlcihmaWx0ZXJUb1VwZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlbGV0ZUZpbHRlcihmaWx0ZXJUb0RlbGV0ZTogVGFza0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5kZWxldGVGaWx0ZXIoZmlsdGVyVG9EZWxldGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRGaWx0ZXIoZmlsdGVyVG9BZGQ6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5hZGRGaWx0ZXIoZmlsdGVyVG9BZGQpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpO1xuICAgIH1cblxuICAgIGlzRGlzYWJsZWRGb3JEZWZhdWx0RmlsdGVycyhhY3Rpb246IFRhc2tGaWx0ZXJBY3Rpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5pc0RlZmF1bHRGaWx0ZXIodGhpcy50YXNrRmlsdGVyLm5hbWUpICYmXG4gICAgICAgICAgICBFZGl0VGFza0ZpbHRlckNsb3VkQ29tcG9uZW50LkFDVElPTlNfRElTQUJMRURfQllfREVGQVVMVC5pbmNsdWRlcyhhY3Rpb24uYWN0aW9uVHlwZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXN0b3JlRGVmYXVsdFRhc2tGaWx0ZXJzKCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlLmdldFRhc2tMaXN0RmlsdGVycyh0aGlzLmFwcE5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFzdE1vZGlmaWVkUHJvcGVydHkoKTogVGFza0ZpbHRlclByb3BlcnRpZXNbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5MQVNUX01PRElGSUVEX0ZST00nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdsYXN0TW9kaWZpZWRGcm9tJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5MQVNUX01PRElGSUVEX1RPJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgICAgICAgICAga2V5OiAnbGFzdE1vZGlmaWVkVG8nLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3RhdHVzT3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQUxMLCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkFMTCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ1JFQVRFRCwgbGFiZWw6ICdBREZfQ0xPVURfVEFTS19GSUxURVJTLlNUQVRVUy5DUkVBVEVEJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogVGFza1N0YXR1c0ZpbHRlci5BU1NJR05FRCwgbGFiZWw6ICdBREZfQ0xPVURfVEFTS19GSUxURVJTLlNUQVRVUy5BU1NJR05FRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuU1VTUEVOREVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLlNVU1BFTkRFRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ0FOQ0VMTEVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkNBTkNFTExFRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ09NUExFVEVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkNPTVBMRVRFRCcgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNyZWF0ZVRhc2tGaWx0ZXJQcm9wZXJ0aWVzKCk6IFRhc2tGaWx0ZXJQcm9wZXJ0aWVzW10ge1xuICAgICAgICBjb25zdCBzdGF0dXNPcHRpb25zID0gdGhpcy5nZXRTdGF0dXNPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHNvcnRQcm9wZXJ0aWVzID0gdGhpcy5jcmVhdGVTb3J0UHJvcGVydGllcztcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkFQUF9OQU1FJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdhcHBOYW1lJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLmFwcE5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5hcHBsaWNhdGlvbk5hbWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuVEFTS19JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Rhc2tJZCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuU1RBVFVTJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIuc3RhdHVzIHx8IHN0YXR1c09wdGlvbnNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc3RhdHVzT3B0aW9uc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkFTU0lHTk1FTlQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdhc3NpZ25lZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5hc3NpZ25lZSB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLlBST0NFU1NfREVGX05BTUUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NEZWZpbml0aW9uTmFtZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUFJPQ0VTU19JTlNUQU5DRV9JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NJbnN0YW5jZUlkJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCB8fCB0aGlzLnRhc2tGaWx0ZXIucHJvY2Vzc0luc3RhbmNlSWQgfHwgJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5QUk9DRVNTX0RFRl9JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NEZWZpbml0aW9uSWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25JZCB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLlRBU0tfTkFNRScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Rhc2tOYW1lJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnRhc2tOYW1lIHx8ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUEFSRU5UX1RBU0tfSUQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdwYXJlbnRUYXNrSWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIucGFyZW50VGFza0lkIHx8ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUFJJT1JJVFknLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ3ByaW9yaXR5JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnByaW9yaXR5IHx8ICcnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMudGFza0Nsb3VkU2VydmljZS5wcmlvcml0aWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuT1dORVInLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdvd25lcicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5vd25lciB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkNSRUFURURfREFURScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICAgICAgICAgIGtleTogJ2NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5TT1JUJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzb3J0JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnNvcnQgfHwgc29ydFByb3BlcnRpZXNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc29ydFByb3BlcnRpZXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5ESVJFQ1RJT04nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ29yZGVyJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLm9yZGVyIHx8IHRoaXMuc29ydERpcmVjdGlvbnNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogWy4uLnRoaXMuc29ydERpcmVjdGlvbnNdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuU1RBTkRfQUxPTkUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgICAgICAga2V5OiAnc3RhbmRhbG9uZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5zdGFuZGFsb25lIHx8IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuRFVFX0RBVEUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlLXJhbmdlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdkdWVEYXRlUmFuZ2UnLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgZGF0ZVR5cGU6ICdkdWVEYXRlVHlwZScsIGZyb206ICdfZHVlRGF0ZUZyb20nLCB0bzogJ19kdWVEYXRlVG8nIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZHVlRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5kdWVEYXRlVHlwZSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfZHVlRGF0ZUZyb206IHRoaXMudGFza0ZpbHRlci5kdWVEYXRlRnJvbSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfZHVlRGF0ZVRvOiB0aGlzLnRhc2tGaWx0ZXIuZHVlRGF0ZVRvIHx8IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGVGaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIERhdGVDbG91ZEZpbHRlclR5cGUuTk9fREFURSxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5UT0RBWSxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5UT01PUlJPVyxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5ORVhUXzdfREFZUyxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5SQU5HRVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5DT01QTEVURURfREFURScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGUtcmFuZ2UnLFxuICAgICAgICAgICAgICAgIGtleTogJ2NvbXBsZXRlZERhdGVSYW5nZScsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBkYXRlVHlwZTogJ2NvbXBsZXRlZERhdGVUeXBlJywgZnJvbTogJ19jb21wbGV0ZWRGcm9tJywgdG86ICdfY29tcGxldGVkVG8nIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGVkRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5jb21wbGV0ZWREYXRlVHlwZSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfY29tcGxldGVkRnJvbTogdGhpcy50YXNrRmlsdGVyLmNvbXBsZXRlZEZyb20gfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NvbXBsZXRlZFRvOiB0aGlzLnRhc2tGaWx0ZXIuY29tcGxldGVkVG8gfHwgbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5DUkVBVEVEX0RBVEUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlLXJhbmdlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdjcmVhdGVkRGF0ZVJhbmdlJyxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IGRhdGVUeXBlOiAnY3JlYXRlZERhdGVUeXBlJywgZnJvbTogJ19jcmVhdGVkRnJvbScsIHRvOiAnX2NyZWF0ZWRUbycgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5jcmVhdGVkRGF0ZVR5cGUgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NyZWF0ZWRGcm9tOiB0aGlzLnRhc2tGaWx0ZXIuY3JlYXRlZEZyb20gfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NyZWF0ZWRUbzogdGhpcy50YXNrRmlsdGVyLmNyZWF0ZWRUbyB8fCBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkNPTVBMRVRFRF9CWScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Blb3BsZScsXG4gICAgICAgICAgICAgICAga2V5OiAnY29tcGxldGVkQnknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIuY29tcGxldGVkQnkgPyBbdGhpcy50YXNrRmlsdGVyLmNvbXBsZXRlZEJ5XSA6IG51bGwsXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5BU1NJR05NRU5UJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXNzaWdubWVudCcsXG4gICAgICAgICAgICAgICAga2V5OiAnYXNzaWdubWVudCcsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBhc3NpZ25lZFVzZXJzOiAnYXNzaWduZWRVc2VycycsIGNhbmRpZGF0ZUdyb3VwczogJ2NhbmRpZGF0ZUdyb3VwcycgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZFVzZXJzOiB0aGlzLnRhc2tGaWx0ZXIuYXNzaWduZWRVc2VycyB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlR3JvdXBzOiB0aGlzLnRhc2tGaWx0ZXIuY2FuZGlkYXRlR3JvdXBzIHx8IFtdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Nb2RlOiAnbXVsdGlwbGUnXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPG1hdC1hY2NvcmRpb24gW2hpZGVUb2dnbGVdPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJhZGYtZWRpdC10YXNrLWZpbHRlclwiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIChhZnRlckV4cGFuZCk9XCJvbkV4cGFuZCgpXCIgKGNsb3NlZCk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwidGFza0ZpbHRlclwiIGlkPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItZXhwYW5zaW9uLWhlYWRlclwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItaGVhZGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZzsgZWxzZSBsb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlICpuZ0lmPVwic2hvd1Rhc2tGaWx0ZXJOYW1lXCIgaWQ9XCJhZGYtZWRpdC10YXNrLWZpbHRlci10aXRsZS1pZFwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItaGVhZGVyX190aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgID57e3Rhc2tGaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZX19PC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWhlYWRlcl9fZGVzY3JpcHRpb25cIiBpZD1cImFkZi1lZGl0LXRhc2stZmlsdGVyLXN1Yi10aXRsZS1pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dUaXRsZVwiPnt7ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5USVRMRScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dGaWx0ZXJBY3Rpb25zXCIgY2xhc3M9XCJhZGYtY2xvdWQtZWRpdC10YXNrLWZpbHRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9nZ2xlRmlsdGVyQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGZpbHRlckFjdGlvbiBvZiB0YXNrRmlsdGVyQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWx0ZXJBY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1maWx0ZXItYWN0aW9uLScgKyBmaWx0ZXJBY3Rpb24uYWN0aW9uVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZEFjdGlvbihmaWx0ZXJBY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleGVjdXRlRmlsdGVyQWN0aW9ucyhmaWx0ZXJBY3Rpb24pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtaWNvbiBbdmFsdWVdPVwiZmlsdGVyQWN0aW9uLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWVkaXQtdGFzay1maWx0ZXItbG9hZGluZy1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjMwXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nO1wiPlxuICAgICAgICAgICAgPGZvcm0gKm5nSWY9XCJlZGl0VGFza0ZpbHRlckZvcm1cIiBbZm9ybUdyb3VwXT1cImVkaXRUYXNrRmlsdGVyRm9ybVwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZWRpdC10YXNrLWZpbHRlci1mb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhc2tGaWx0ZXJQcm9wZXJ0eSBvZiB0YXNrRmlsdGVyUHJvcGVydGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cIidhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCJ0YXNrRmlsdGVyUHJvcGVydHkua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWNvbnRlbnRfX3NlbGVjdC1sYWJlbFwiPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktJyArIHRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RhdHVzQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBwcm9wZXJ0eU9wdGlvbiBvZiB0YXNrRmlsdGVyUHJvcGVydHkub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BlcnR5T3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktb3B0aW9ucy0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5T3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCInYXV0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItY29udGVudF9fdGV4dC1sYWJlbFwiPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktJyArIHRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCInYXV0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uRGF0ZUNoYW5nZWQoJGFueSgkZXZlbnQpLnRhcmdldC52YWx1ZSwgdGFza0ZpbHRlclByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50LnZhbHVlLCB0YXNrRmlsdGVyUHJvcGVydHkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZUNvbnRyb2xsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZWRpdC10YXNrLXByb3BlcnR5LScgKyB0YXNrRmlsdGVyUHJvcGVydHkua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZGF0ZUNvbnRyb2xsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZWRpdC10YXNrLXByb3BlcnR5LWRhdGUtdG9nZ2xlLScgKyB0YXNrRmlsdGVyUHJvcGVydHkua2V5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2RhdGVDb250cm9sbGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLWNsb3VkLWVkaXQtdGFzay1wcm9wZXJ0eS1kYXRlLXBpY2tlci0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWRhdGUtZXJyb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoYXNFcnJvcih0YXNrRmlsdGVyUHJvcGVydHkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWVycm9yLXRleHRcIj57eydBREZfVEFTS19MSVNULlNUQVJUX1RBU0suRk9STS5FUlJPUi5EQVRFJ3x0cmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWVycm9yLWljb25cIj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwidGFza0ZpbHRlclByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwidGFza0ZpbHRlclByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWNsb3VkLWRhdGUtcmFuZ2UtZmlsdGVyICNkYXRlUmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRhc2tGaWx0ZXJQcm9wZXJ0eS50eXBlID09PSAnZGF0ZS1yYW5nZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9jZXNzRmlsdGVyUHJvcGVydHldPVwidGFza0ZpbHRlclByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJ0YXNrRmlsdGVyUHJvcGVydHkuZGF0ZUZpbHRlck9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlVHlwZUNoYW5nZSk9XCJvbkRhdGVUeXBlQ2hhbmdlKCRldmVudCwgdGFza0ZpbHRlclByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGVDaGFuZ2VkKT1cIm9uRGF0ZVJhbmdlRmlsdGVyQ2hhbmdlZCgkZXZlbnQsIHRhc2tGaWx0ZXJQcm9wZXJ0eSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1jbG91ZC1wZW9wbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7ICdhZGYtZWRpdC10YXNrLWZpbHRlci0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ3Blb3BsZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVTZWxlY3RVc2Vyc109XCJ0YXNrRmlsdGVyUHJvcGVydHkudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwTmFtZV09XCJhcHBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkuc2VsZWN0aW9uTW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZWRVc2Vycyk9XCJvbkNoYW5nZWRVc2VyKCRldmVudCwgdGFza0ZpbHRlclByb3BlcnR5KVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICdhc3NpZ25tZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rhc2tGaWx0ZXJQcm9wZXJ0eV09XCJ0YXNrRmlsdGVyUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwic2VsZWN0ZWRTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NpZ25lZFVzZXJzQ2hhbmdlKT1cIm9uQXNzaWduZWRVc2Vyc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzaWduZWRHcm91cHNDaGFuZ2UpPVwib25Bc3NpZ25lZEdyb3Vwc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzaWdubWVudFR5cGVDaGFuZ2UpPVwib25Bc3NpZ25tZW50VHlwZUNoYW5nZSgkZXZlbnQpXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuPC9tYXQtYWNjb3JkaW9uPlxuIl19
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10YXNrLWZpbHRlci1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvZWRpdC10YXNrLWZpbHRlcnMvZWRpdC10YXNrLWZpbHRlci9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy9lZGl0LXRhc2stZmlsdGVycy9lZGl0LXRhc2stZmlsdGVyL2VkaXQtdGFzay1maWx0ZXItY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBb0Isb0JBQW9CLEVBQXdCLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFrQixNQUFNLDBDQUEwQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FB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LEVBQUU7Z0JBQ2xGLEtBQUssRUFBRTtvQkFDSCxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksRUFBRTtvQkFDbEQsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLEVBQUU7aUJBQ3pEO2dCQUNELGFBQWEsRUFBRSxVQUFVO2FBQzVCO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBalFRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDZHQ3RFekMsdTNRQXFIQSxvcUREckVRLFlBQVksK1BBQ1osZUFBZSwyRkFDZixrQkFBa0Isd3RCQUNsQixlQUFlLDRJQUNmLGFBQWEsMkZBQ2Isd0JBQXdCLGtPQUN4QixrQkFBa0IsMmFBQ2xCLG1CQUFtQiw0OEJBQ25CLGVBQWUsbXJCQUNmLGNBQWMsMldBQ2QsbUJBQW1CLG9nQkFDbkIsYUFBYSxvTEFDYixpQkFBaUIsK1dBQ2pCLHdCQUF3QixrS0FDeEIsb0JBQW9CLGtiQUNwQixrQ0FBa0MsbU5BQ2xDLFlBQVk7OzJGQU1QLDRCQUE0QjtrQkExQnhDLFNBQVM7K0JBQ0ksNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQ0FBa0M7d0JBQ2xDLFlBQVk7cUJBQ2YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYXNrRmlsdGVyQWN0aW9uLCBUYXNrRmlsdGVyQ2xvdWRNb2RlbCwgVGFza0ZpbHRlclByb3BlcnRpZXMsIFRhc2tTdGF0dXNGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLWZpbHRlci1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVDbG91ZEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZGF0ZS1jbG91ZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUVkaXRUYXNrRmlsdGVyQ2xvdWRDb21wb25lbnQsIERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vYmFzZS1lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IERhdGVSYW5nZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRlLXJhbmdlLWZpbHRlci9kYXRlLXJhbmdlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhc2tBc3NpZ25tZW50RmlsdGVyQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwb2xsb01vZHVsZSB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtZWRpdC10YXNrLWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBEYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIFBlb3BsZUNsb3VkQ29tcG9uZW50LFxuICAgICAgICBUYXNrQXNzaWdubWVudEZpbHRlckNsb3VkQ29tcG9uZW50LFxuICAgICAgICBBcG9sbG9Nb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0VGFza0ZpbHRlckNsb3VkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVkaXRUYXNrRmlsdGVyQ2xvdWRDb21wb25lbnQ8VGFza0ZpbHRlckNsb3VkTW9kZWw+IHtcbiAgICBwcml2YXRlIHRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UgPSBpbmplY3QoVGFza0ZpbHRlckNsb3VkU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBhc3NpZ25OZXdGaWx0ZXIobW9kZWw6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKSB7XG4gICAgICAgIHRoaXMuc2V0TGFzdE1vZGlmaWVkVG9GaWx0ZXIobW9kZWwpO1xuICAgICAgICB0aGlzLmNoYW5nZWRUYXNrRmlsdGVyID0gbmV3IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKE9iamVjdC5hc3NpZ24oe30sIHRoaXMudGFza0ZpbHRlciwgbW9kZWwpKTtcbiAgICAgICAgdGhpcy5mb3JtSGFzQmVlbkNoYW5nZWQgPSAhdGhpcy5kZWVwQ29tcGFyZSh0aGlzLmNoYW5nZWRUYXNrRmlsdGVyLCB0aGlzLnRhc2tGaWx0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuY2hhbmdlZFRhc2tGaWx0ZXIpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYXNrRmlsdGVyQnlJZChhcHBOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5nZXRUYXNrRmlsdGVyQnlJZChhcHBOYW1lLCBpZCkucGlwZShtYXAoKHJlc3BvbnNlKSA9PiBuZXcgVGFza0ZpbHRlckNsb3VkTW9kZWwocmVzcG9uc2UpKSk7XG4gICAgfVxuXG4gICAgY3JlYXRlQW5kRmlsdGVyUHJvcGVydGllcygpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuY3JlYXRlQW5kRmlsdGVyUHJvcGVydGllcygpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhc3RNb2RpZmllZFByb3BlcnR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbLi4ucmVzdWx0LCAuLi50aGlzLmNyZWF0ZUxhc3RNb2RpZmllZFByb3BlcnR5KCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0RmlsdGVyUHJvcGVydGllcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbJ3N0YXR1cycsICdhc3NpZ25lZScsICdzb3J0JywgJ29yZGVyJ107XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdFNvcnRQcm9wZXJ0aWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFsnaWQnLCAnbmFtZScsICdjcmVhdGVkRGF0ZScsICdwcmlvcml0eSddO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGFzdE1vZGlmaWVkVG9GaWx0ZXIoZm9ybVZhbHVlczogVGFza0ZpbHRlckNsb3VkTW9kZWwpIHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8gJiYgRGF0ZS5wYXJzZShmb3JtVmFsdWVzLmxhc3RNb2RpZmllZFRvLnRvU3RyaW5nKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0TW9kaWZpZWRUb0ZpbHRlclZhbHVlID0gc2V0KG5ldyBEYXRlKGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8pLCB7XG4gICAgICAgICAgICAgICAgaG91cnM6IDIzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXM6IDU5LFxuICAgICAgICAgICAgICAgIHNlY29uZHM6IDU5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1WYWx1ZXMubGFzdE1vZGlmaWVkVG8gPSBsYXN0TW9kaWZpZWRUb0ZpbHRlclZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRmlsdGVyKGZpbHRlclRvVXBkYXRlOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlLnVwZGF0ZUZpbHRlcihmaWx0ZXJUb1VwZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlbGV0ZUZpbHRlcihmaWx0ZXJUb0RlbGV0ZTogVGFza0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5kZWxldGVGaWx0ZXIoZmlsdGVyVG9EZWxldGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRGaWx0ZXIoZmlsdGVyVG9BZGQ6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5hZGRGaWx0ZXIoZmlsdGVyVG9BZGQpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpO1xuICAgIH1cblxuICAgIGlzRGlzYWJsZWRGb3JEZWZhdWx0RmlsdGVycyhhY3Rpb246IFRhc2tGaWx0ZXJBY3Rpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5pc0RlZmF1bHRGaWx0ZXIodGhpcy50YXNrRmlsdGVyLm5hbWUpICYmXG4gICAgICAgICAgICBFZGl0VGFza0ZpbHRlckNsb3VkQ29tcG9uZW50LkFDVElPTlNfRElTQUJMRURfQllfREVGQVVMVC5pbmNsdWRlcyhhY3Rpb24uYWN0aW9uVHlwZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXN0b3JlRGVmYXVsdFRhc2tGaWx0ZXJzKCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlLmdldFRhc2tMaXN0RmlsdGVycyh0aGlzLmFwcE5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFzdE1vZGlmaWVkUHJvcGVydHkoKTogVGFza0ZpbHRlclByb3BlcnRpZXNbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5MQVNUX01PRElGSUVEX0ZST00nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdsYXN0TW9kaWZpZWRGcm9tJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5MQVNUX01PRElGSUVEX1RPJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgICAgICAgICAga2V5OiAnbGFzdE1vZGlmaWVkVG8nLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3RhdHVzT3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQUxMLCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkFMTCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ1JFQVRFRCwgbGFiZWw6ICdBREZfQ0xPVURfVEFTS19GSUxURVJTLlNUQVRVUy5DUkVBVEVEJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogVGFza1N0YXR1c0ZpbHRlci5BU1NJR05FRCwgbGFiZWw6ICdBREZfQ0xPVURfVEFTS19GSUxURVJTLlNUQVRVUy5BU1NJR05FRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuU1VTUEVOREVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLlNVU1BFTkRFRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ0FOQ0VMTEVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkNBTkNFTExFRCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IFRhc2tTdGF0dXNGaWx0ZXIuQ09NUExFVEVELCBsYWJlbDogJ0FERl9DTE9VRF9UQVNLX0ZJTFRFUlMuU1RBVFVTLkNPTVBMRVRFRCcgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNyZWF0ZVRhc2tGaWx0ZXJQcm9wZXJ0aWVzKCk6IFRhc2tGaWx0ZXJQcm9wZXJ0aWVzW10ge1xuICAgICAgICBjb25zdCBzdGF0dXNPcHRpb25zID0gdGhpcy5nZXRTdGF0dXNPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHNvcnRQcm9wZXJ0aWVzID0gdGhpcy5jcmVhdGVTb3J0UHJvcGVydGllcztcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkFQUF9OQU1FJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdhcHBOYW1lJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLmFwcE5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5hcHBsaWNhdGlvbk5hbWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuVEFTS19JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Rhc2tJZCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuU1RBVFVTJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIuc3RhdHVzIHx8IHN0YXR1c09wdGlvbnNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc3RhdHVzT3B0aW9uc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkFTU0lHTk1FTlQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdhc3NpZ25lZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5hc3NpZ25lZSB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLlBST0NFU1NfREVGX05BTUUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NEZWZpbml0aW9uTmFtZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUFJPQ0VTU19JTlNUQU5DRV9JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NJbnN0YW5jZUlkJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCB8fCB0aGlzLnRhc2tGaWx0ZXIucHJvY2Vzc0luc3RhbmNlSWQgfHwgJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5QUk9DRVNTX0RFRl9JRCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NEZWZpbml0aW9uSWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25JZCB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLlRBU0tfTkFNRScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGtleTogJ3Rhc2tOYW1lJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnRhc2tOYW1lIHx8ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUEFSRU5UX1RBU0tfSUQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdwYXJlbnRUYXNrSWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIucGFyZW50VGFza0lkIHx8ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuUFJJT1JJVFknLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ3ByaW9yaXR5JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnByaW9yaXR5IHx8ICcnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMudGFza0Nsb3VkU2VydmljZS5wcmlvcml0aWVzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuT1dORVInLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdvd25lcicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5vd25lciB8fCAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkNSRUFURURfREFURScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICAgICAgICAgIGtleTogJ2NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5TT1JUJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdzb3J0JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLnNvcnQgfHwgc29ydFByb3BlcnRpZXNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogc29ydFByb3BlcnRpZXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5ESVJFQ1RJT04nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGtleTogJ29yZGVyJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50YXNrRmlsdGVyLm9yZGVyIHx8IHRoaXMuc29ydERpcmVjdGlvbnNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogWy4uLnRoaXMuc29ydERpcmVjdGlvbnNdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuU1RBTkRfQUxPTkUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgICAgICAga2V5OiAnc3RhbmRhbG9uZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudGFza0ZpbHRlci5zdGFuZGFsb25lIHx8IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuTEFCRUwuRFVFX0RBVEUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlLXJhbmdlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdkdWVEYXRlUmFuZ2UnLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgZGF0ZVR5cGU6ICdkdWVEYXRlVHlwZScsIGZyb206ICdfZHVlRGF0ZUZyb20nLCB0bzogJ19kdWVEYXRlVG8nIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZHVlRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5kdWVEYXRlVHlwZSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfZHVlRGF0ZUZyb206IHRoaXMudGFza0ZpbHRlci5kdWVEYXRlRnJvbSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfZHVlRGF0ZVRvOiB0aGlzLnRhc2tGaWx0ZXIuZHVlRGF0ZVRvIHx8IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGVGaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIERhdGVDbG91ZEZpbHRlclR5cGUuTk9fREFURSxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5UT0RBWSxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5UT01PUlJPVyxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5ORVhUXzdfREFZUyxcbiAgICAgICAgICAgICAgICAgICAgRGF0ZUNsb3VkRmlsdGVyVHlwZS5SQU5HRVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5DT01QTEVURURfREFURScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGUtcmFuZ2UnLFxuICAgICAgICAgICAgICAgIGtleTogJ2NvbXBsZXRlZERhdGVSYW5nZScsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBkYXRlVHlwZTogJ2NvbXBsZXRlZERhdGVUeXBlJywgZnJvbTogJ19jb21wbGV0ZWRGcm9tJywgdG86ICdfY29tcGxldGVkVG8nIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGVkRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5jb21wbGV0ZWREYXRlVHlwZSB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBfY29tcGxldGVkRnJvbTogdGhpcy50YXNrRmlsdGVyLmNvbXBsZXRlZEZyb20gfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NvbXBsZXRlZFRvOiB0aGlzLnRhc2tGaWx0ZXIuY29tcGxldGVkVG8gfHwgbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5DUkVBVEVEX0RBVEUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlLXJhbmdlJyxcbiAgICAgICAgICAgICAgICBrZXk6ICdjcmVhdGVkRGF0ZVJhbmdlJyxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IGRhdGVUeXBlOiAnY3JlYXRlZERhdGVUeXBlJywgZnJvbTogJ19jcmVhdGVkRnJvbScsIHRvOiAnX2NyZWF0ZWRUbycgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkRGF0ZVR5cGU6IHRoaXMudGFza0ZpbHRlci5jcmVhdGVkRGF0ZVR5cGUgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NyZWF0ZWRGcm9tOiB0aGlzLnRhc2tGaWx0ZXIuY3JlYXRlZEZyb20gfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgX2NyZWF0ZWRUbzogdGhpcy50YXNrRmlsdGVyLmNyZWF0ZWRUbyB8fCBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkxBQkVMLkNPTVBMRVRFRF9CWScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Blb3BsZScsXG4gICAgICAgICAgICAgICAga2V5OiAnY29tcGxldGVkQnknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRhc2tGaWx0ZXIuY29tcGxldGVkQnkgPyBbdGhpcy50YXNrRmlsdGVyLmNvbXBsZXRlZEJ5XSA6IG51bGwsXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5MQUJFTC5BU1NJR05NRU5UJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXNzaWdubWVudCcsXG4gICAgICAgICAgICAgICAga2V5OiAnYXNzaWdubWVudCcsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBhc3NpZ25lZFVzZXJzOiAnYXNzaWduZWRVc2VycycsIGNhbmRpZGF0ZUdyb3VwczogJ2NhbmRpZGF0ZUdyb3VwcycgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZFVzZXJzOiB0aGlzLnRhc2tGaWx0ZXIuYXNzaWduZWRVc2VycyB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlR3JvdXBzOiB0aGlzLnRhc2tGaWx0ZXIuY2FuZGlkYXRlR3JvdXBzIHx8IFtdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Nb2RlOiAnbXVsdGlwbGUnXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPG1hdC1hY2NvcmRpb24gW2hpZGVUb2dnbGVdPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJhZGYtZWRpdC10YXNrLWZpbHRlclwiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIChhZnRlckV4cGFuZCk9XCJvbkV4cGFuZCgpXCIgKGNsb3NlZCk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwidGFza0ZpbHRlclwiIGlkPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItZXhwYW5zaW9uLWhlYWRlclwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItaGVhZGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZzsgZWxzZSBsb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlICpuZ0lmPVwic2hvd1Rhc2tGaWx0ZXJOYW1lXCIgaWQ9XCJhZGYtZWRpdC10YXNrLWZpbHRlci10aXRsZS1pZFwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItaGVhZGVyX190aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgID57e3Rhc2tGaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZX19PC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWhlYWRlcl9fZGVzY3JpcHRpb25cIiBpZD1cImFkZi1lZGl0LXRhc2stZmlsdGVyLXN1Yi10aXRsZS1pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dUaXRsZVwiPnt7ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5USVRMRScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dGaWx0ZXJBY3Rpb25zXCIgY2xhc3M9XCJhZGYtY2xvdWQtZWRpdC10YXNrLWZpbHRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9nZ2xlRmlsdGVyQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGZpbHRlckFjdGlvbiBvZiB0YXNrRmlsdGVyQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWx0ZXJBY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1maWx0ZXItYWN0aW9uLScgKyBmaWx0ZXJBY3Rpb24uYWN0aW9uVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZEFjdGlvbihmaWx0ZXJBY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleGVjdXRlRmlsdGVyQWN0aW9ucyhmaWx0ZXJBY3Rpb24pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtaWNvbiBbdmFsdWVdPVwiZmlsdGVyQWN0aW9uLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWVkaXQtdGFzay1maWx0ZXItbG9hZGluZy1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjMwXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nO1wiPlxuICAgICAgICAgICAgPGZvcm0gKm5nSWY9XCJlZGl0VGFza0ZpbHRlckZvcm1cIiBbZm9ybUdyb3VwXT1cImVkaXRUYXNrRmlsdGVyRm9ybVwiIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZWRpdC10YXNrLWZpbHRlci1mb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhc2tGaWx0ZXJQcm9wZXJ0eSBvZiB0YXNrRmlsdGVyUHJvcGVydGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cIidhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCJ0YXNrRmlsdGVyUHJvcGVydHkua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWNvbnRlbnRfX3NlbGVjdC1sYWJlbFwiPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktJyArIHRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RhdHVzQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBwcm9wZXJ0eU9wdGlvbiBvZiB0YXNrRmlsdGVyUHJvcGVydHkub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BlcnR5T3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktb3B0aW9ucy0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5T3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCInYXV0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLWVkaXQtdGFzay1maWx0ZXItY29udGVudF9fdGV4dC1sYWJlbFwiPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1lZGl0LXRhc2stcHJvcGVydHktJyArIHRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCInYXV0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uRGF0ZUNoYW5nZWQoJGFueSgkZXZlbnQpLnRhcmdldC52YWx1ZSwgdGFza0ZpbHRlclByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50LnZhbHVlLCB0YXNrRmlsdGVyUHJvcGVydHkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZUNvbnRyb2xsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZWRpdC10YXNrLXByb3BlcnR5LScgKyB0YXNrRmlsdGVyUHJvcGVydHkua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZGF0ZUNvbnRyb2xsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZWRpdC10YXNrLXByb3BlcnR5LWRhdGUtdG9nZ2xlLScgKyB0YXNrRmlsdGVyUHJvcGVydHkua2V5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2RhdGVDb250cm9sbGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLWNsb3VkLWVkaXQtdGFzay1wcm9wZXJ0eS1kYXRlLXBpY2tlci0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWRhdGUtZXJyb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoYXNFcnJvcih0YXNrRmlsdGVyUHJvcGVydHkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWVycm9yLXRleHRcIj57eydBREZfVEFTS19MSVNULlNUQVJUX1RBU0suRk9STS5FUlJPUi5EQVRFJ3x0cmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWVycm9yLWljb25cIj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lZGl0LXRhc2stZmlsdGVyLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwidGFza0ZpbHRlclByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwidGFza0ZpbHRlclByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7dGFza0ZpbHRlclByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWNsb3VkLWRhdGUtcmFuZ2UtZmlsdGVyICNkYXRlUmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRhc2tGaWx0ZXJQcm9wZXJ0eS50eXBlID09PSAnZGF0ZS1yYW5nZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9jZXNzRmlsdGVyUHJvcGVydHldPVwidGFza0ZpbHRlclByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJ0YXNrRmlsdGVyUHJvcGVydHkuZGF0ZUZpbHRlck9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlVHlwZUNoYW5nZSk9XCJvbkRhdGVUeXBlQ2hhbmdlKCRldmVudCwgdGFza0ZpbHRlclByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGVDaGFuZ2VkKT1cIm9uRGF0ZVJhbmdlRmlsdGVyQ2hhbmdlZCgkZXZlbnQsIHRhc2tGaWx0ZXJQcm9wZXJ0eSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1jbG91ZC1wZW9wbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7ICdhZGYtZWRpdC10YXNrLWZpbHRlci0nICsgdGFza0ZpbHRlclByb3BlcnR5LmtleSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YXNrRmlsdGVyUHJvcGVydHkudHlwZSA9PT0gJ3Blb3BsZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVTZWxlY3RVc2Vyc109XCJ0YXNrRmlsdGVyUHJvcGVydHkudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwTmFtZV09XCJhcHBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJ0YXNrRmlsdGVyUHJvcGVydHkuc2VsZWN0aW9uTW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZWRVc2Vycyk9XCJvbkNoYW5nZWRVc2VyKCRldmVudCwgdGFza0ZpbHRlclByb3BlcnR5KVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFza0ZpbHRlclByb3BlcnR5LnR5cGUgPT09ICdhc3NpZ25tZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rhc2tGaWx0ZXJQcm9wZXJ0eV09XCJ0YXNrRmlsdGVyUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwic2VsZWN0ZWRTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NpZ25lZFVzZXJzQ2hhbmdlKT1cIm9uQXNzaWduZWRVc2Vyc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzaWduZWRHcm91cHNDaGFuZ2UpPVwib25Bc3NpZ25lZEdyb3Vwc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzaWdubWVudFR5cGVDaGFuZ2UpPVwib25Bc3NpZ25tZW50VHlwZUNoYW5nZSgkZXZlbnQpXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuPC9tYXQtYWNjb3JkaW9uPlxuIl19
@@ -122,11 +122,11 @@ export class TaskAssignmentFilterCloudComponent {
122
122
  return !!this.taskFilterProperty.attributes && !!this.taskFilterProperty.value;
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskAssignmentFilterCloudComponent, deps: [{ token: i1.IdentityUserService }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TaskAssignmentFilterCloudComponent, isStandalone: true, selector: "adf-cloud-task-assignment-filter", inputs: { appName: "appName", taskFilterProperty: "taskFilterProperty", status: "status" }, outputs: { assignedUsersChange: "assignedUsersChange", assignedGroupsChange: "assignedGroupsChange", assignmentTypeChange: "assignmentTypeChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-task-assignment-filter-label-default-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--adf-task-assignment-filter-label-focus-color)}.adf-task-assignment-filter-option{color:var(--adf-task-assignment-filter-option-default-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--adf-task-assignment-filter-option-selected-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GroupCloudComponent, selector: "adf-cloud-group", inputs: ["appName", "title", "mode", "preSelectGroups", "validate", "readOnly", "required", "groupChipsCtrl", "searchGroupsControl", "roles"], outputs: ["selectGroup", "removeGroup", "changedGroups", "warning"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }] }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TaskAssignmentFilterCloudComponent, isStandalone: true, selector: "adf-cloud-task-assignment-filter", inputs: { appName: "appName", taskFilterProperty: "taskFilterProperty", status: "status" }, outputs: { assignedUsersChange: "assignedUsersChange", assignedGroupsChange: "assignedGroupsChange", assignmentTypeChange: "assignmentTypeChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GroupCloudComponent, selector: "adf-cloud-group", inputs: ["appName", "title", "mode", "preSelectGroups", "validate", "readOnly", "required", "groupChipsCtrl", "searchGroupsControl", "roles"], outputs: ["selectGroup", "removeGroup", "changedGroups", "warning"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }] }); }
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TaskAssignmentFilterCloudComponent, decorators: [{
128
128
  type: Component,
129
- args: [{ selector: 'adf-cloud-task-assignment-filter', standalone: true, imports: [CommonModule, GroupCloudComponent, TranslateModule, MatSelectModule, FormsModule, PeopleCloudComponent], template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-task-assignment-filter-label-default-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--adf-task-assignment-filter-label-focus-color)}.adf-task-assignment-filter-option{color:var(--adf-task-assignment-filter-option-default-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--adf-task-assignment-filter-option-selected-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"] }]
129
+ args: [{ selector: 'adf-cloud-task-assignment-filter', standalone: true, imports: [CommonModule, GroupCloudComponent, TranslateModule, MatSelectModule, FormsModule, PeopleCloudComponent], template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"] }]
130
130
  }], ctorParameters: () => [{ type: i1.IdentityUserService }], propDecorators: { appName: [{
131
131
  type: Input
132
132
  }], taskFilterProperty: [{
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
140
140
  }], assignmentTypeChange: [{
141
141
  type: Output
142
142
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvdGFzay1hc3NpZ25tZW50LWZpbHRlci90YXNrLWFzc2lnbm1lbnQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBUzVGLE1B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a0IsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDbkYsQ0FBQzs4R0FoSFEsa0NBQWtDO2tHQUFsQyxrQ0FBa0Msa1dDckMvQyw2L0RBcUNBLGd3QkRKYyxZQUFZLDhWQUFFLG1CQUFtQiwrUUFBRSxlQUFlLDJGQUFFLGVBQWUsKzdCQUFFLFdBQVcsK1ZBQUUsb0JBQW9COzsyRkFJdkcsa0NBQWtDO2tCQVA5QyxTQUFTOytCQUNJLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUM7d0ZBS3hHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEFzc2lnbm1lbnRUeXBlLCBUYXNrRmlsdGVyUHJvcGVydGllcywgVGFza1N0YXR1c0ZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvbW9kZWxzL2lkZW50aXR5LXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Blb3BsZS9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWRlbnRpdHlHcm91cE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvbW9kZWxzL2lkZW50aXR5LWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vZWRpdC10YXNrLWZpbHRlcnMvYmFzZS1lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBHcm91cENsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvY29tcG9uZW50cy9ncm91cC1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcm91cENsb3VkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgRm9ybXNNb2R1bGUsIFBlb3BsZUNsb3VkQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tBc3NpZ25tZW50RmlsdGVyQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgYXBwTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgdGFza0ZpbHRlclByb3BlcnR5OiBUYXNrRmlsdGVyUHJvcGVydGllcztcblxuICAgIEBJbnB1dCgpIHN0YXR1czogVGFza1N0YXR1c0ZpbHRlcjtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25lZFVzZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eVVzZXJNb2RlbFtdPigpO1xuXG4gICAgQE91dHB1dCgpIGFzc2lnbmVkR3JvdXBzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eUdyb3VwTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25tZW50VHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXNzaWdubWVudFR5cGU+KCk7XG5cbiAgICBhc3NpZ25tZW50VHlwZTogQXNzaWdubWVudFR5cGU7XG4gICAgYXNzaWduZWRVc2VyczogSWRlbnRpdHlVc2VyTW9kZWxbXSA9IFtdO1xuICAgIGNhbmRpZGF0ZUdyb3VwczogSWRlbnRpdHlHcm91cE1vZGVsW10gPSBbXTtcbiAgICBncm91cEZvcm0gPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIGFzc2lnbm1lbnRUeXBlT3B0aW9uczogRHJvcGRvd25PcHRpb25bXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRlbnRpdHlVc2VyU2VydmljZTogSWRlbnRpdHlVc2VyU2VydmljZSkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXM/LnN0YXR1cz8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzPy5zdGF0dXM/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhjaGFuZ2VzPy5zdGF0dXM/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZU9wdGlvbnMgPSB0aGlzLmdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbENhbmRpZGF0ZUdyb3VwcygpO1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsQXNzaWduZWRVc2VycygpO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0QXNzaWdubWVudFR5cGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgfVxuXG4gICAgaXNBc3NpZ25lZFRvVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPO1xuICAgIH1cblxuICAgIG9uQXNzaWdubWVudFR5cGVDaGFuZ2UoYXNzaWdubWVudENoYW5nZTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gW107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IFtdO1xuXG4gICAgICAgIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5DVVJSRU5UX1VTRVIpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduZWRVc2Vyc0NoYW5nZS5lbWl0KFt0aGlzLmlkZW50aXR5VXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXJJbmZvKCldKTtcbiAgICAgICAgfSBlbHNlIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5OT05FKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnNDaGFuZ2UuZW1pdChbXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gYXNzaWdubWVudENoYW5nZS52YWx1ZTtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZUNoYW5nZS5lbWl0KHRoaXMuYXNzaWdubWVudFR5cGUpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEdyb3Vwcyhncm91cHM6IElkZW50aXR5R3JvdXBNb2RlbFtdKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRHcm91cHNDaGFuZ2UuZW1pdChncm91cHMpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEFzc2lnbmVkVXNlcnModXNlcnM6IElkZW50aXR5VXNlck1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJzQ2hhbmdlLmVtaXQodXNlcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhzdGF0dXM6IFRhc2tTdGF0dXNGaWx0ZXIpIHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXR1c0ZpbHRlci5DUkVBVEVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYXNrU3RhdHVzRmlsdGVyLkFTU0lHTkVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLk5PTkU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLk5PTkUsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5OT05FfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLlVOQVNTSUdORUQsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQVNTSUdORURfVE99YCB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogQXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFMsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTfWAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEFzc2lnbm1lbnRUeXBlKCkge1xuICAgICAgICBpZiAodGhpcy5jYW5kaWRhdGVHcm91cHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hc3NpZ25lZFVzZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5OT05FO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQ2FuZGlkYXRlR3JvdXBzKCkge1xuICAgICAgICBjb25zdCBjYW5kaWRhdGVHcm91cHNBdHRyID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkuYXR0cmlidXRlc1snY2FuZGlkYXRlR3JvdXBzJ107XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWVbY2FuZGlkYXRlR3JvdXBzQXR0cl07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQXNzaWduZWRVc2VycygpIHtcbiAgICAgICAgY29uc3QgYXNzaWduZWRVc2Vyc0F0dHIgPSB0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzWydhc3NpZ25lZFVzZXJzJ107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IHRoaXMudGFza0ZpbHRlclByb3BlcnR5LnZhbHVlW2Fzc2lnbmVkVXNlcnNBdHRyXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzICYmICEhdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWU7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1hc3NpZ25tZW50LWNvbnRhaW5lclwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1sYWJlbFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLWxhYmVsLS1mb2N1cyc6IHR5cGVEcm9wZG93bi5mb2N1c2VkfVwiPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLkFTU0lHTk1FTlRfVFlQRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFzc2lnbm1lbnRUeXBlXCIgI3R5cGVEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLXNlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQXNzaWdubWVudFR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGFzc2lnbm1lbnRUeXBlIG9mIGFzc2lnbm1lbnRUeXBlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItb3B0aW9uLS1zZWxlY3RlZCc6IGZpbHRlck9wdGlvbi5zZWxlY3RlZH1cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhc3NpZ25tZW50VHlwZS52YWx1ZVwiICNmaWx0ZXJPcHRpb25cbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLScgKyBhc3NpZ25tZW50VHlwZS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFzc2lnbm1lbnRUeXBlLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGFkZi1jbG91ZC1ncm91cCAqbmdJZj1cImlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZ3JvdXAtY2xvdWQtZmlsdGVyXCJcbiAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWdyb3VwLWNsb3VkLWNhbmRpZGF0ZS1ncm91cHMtZmlsdGVyXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIFtwcmVTZWxlY3RHcm91cHNdPVwiY2FuZGlkYXRlR3JvdXBzXCJcbiAgICAgICAgW21vZGVdPVwidGFza0ZpbHRlclByb3BlcnR5LnNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbdGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuU1RBUlRfVEFTSy5GT1JNLkxBQkVMLkNBTkRJREFURV9HUk9VUCdcIlxuICAgICAgICAoY2hhbmdlZEdyb3Vwcyk9XCJvbkNoYW5nZWRHcm91cHMoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLWNsb3VkLXBlb3BsZSAqbmdJZj1cImlzQXNzaWduZWRUb1R5cGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWdyb3VwLWNsb3VkLWZpbHRlclwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1ncm91cC1jbG91ZC1hc3NpZ25lZC10by1maWx0ZXJcIlxuICAgICAgICBbcHJlU2VsZWN0VXNlcnNdPVwiYXNzaWduZWRVc2Vyc1wiXG4gICAgICAgIFt0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5TVEFSVF9UQVNLLkZPUk0uTEFCRUwuQVNTSUdORUUnXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIChjaGFuZ2VkVXNlcnMpPVwib25DaGFuZ2VkQXNzaWduZWRVc2VycygkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvdGFzay1hc3NpZ25tZW50LWZpbHRlci90YXNrLWFzc2lnbm1lbnQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBUzVGLE1B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a0IsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDbkYsQ0FBQzs4R0FoSFEsa0NBQWtDO2tHQUFsQyxrQ0FBa0Msa1dDckMvQyw2L0RBcUNBLHFyQkRKYyxZQUFZLDhWQUFFLG1CQUFtQiwrUUFBRSxlQUFlLDJGQUFFLGVBQWUsKzdCQUFFLFdBQVcsK1ZBQUUsb0JBQW9COzsyRkFJdkcsa0NBQWtDO2tCQVA5QyxTQUFTOytCQUNJLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUM7d0ZBS3hHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEFzc2lnbm1lbnRUeXBlLCBUYXNrRmlsdGVyUHJvcGVydGllcywgVGFza1N0YXR1c0ZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvbW9kZWxzL2lkZW50aXR5LXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Blb3BsZS9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWRlbnRpdHlHcm91cE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvbW9kZWxzL2lkZW50aXR5LWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vZWRpdC10YXNrLWZpbHRlcnMvYmFzZS1lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBHcm91cENsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvY29tcG9uZW50cy9ncm91cC1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcm91cENsb3VkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgRm9ybXNNb2R1bGUsIFBlb3BsZUNsb3VkQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tBc3NpZ25tZW50RmlsdGVyQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgYXBwTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgdGFza0ZpbHRlclByb3BlcnR5OiBUYXNrRmlsdGVyUHJvcGVydGllcztcblxuICAgIEBJbnB1dCgpIHN0YXR1czogVGFza1N0YXR1c0ZpbHRlcjtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25lZFVzZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eVVzZXJNb2RlbFtdPigpO1xuXG4gICAgQE91dHB1dCgpIGFzc2lnbmVkR3JvdXBzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eUdyb3VwTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25tZW50VHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXNzaWdubWVudFR5cGU+KCk7XG5cbiAgICBhc3NpZ25tZW50VHlwZTogQXNzaWdubWVudFR5cGU7XG4gICAgYXNzaWduZWRVc2VyczogSWRlbnRpdHlVc2VyTW9kZWxbXSA9IFtdO1xuICAgIGNhbmRpZGF0ZUdyb3VwczogSWRlbnRpdHlHcm91cE1vZGVsW10gPSBbXTtcbiAgICBncm91cEZvcm0gPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIGFzc2lnbm1lbnRUeXBlT3B0aW9uczogRHJvcGRvd25PcHRpb25bXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRlbnRpdHlVc2VyU2VydmljZTogSWRlbnRpdHlVc2VyU2VydmljZSkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXM/LnN0YXR1cz8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzPy5zdGF0dXM/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhjaGFuZ2VzPy5zdGF0dXM/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZU9wdGlvbnMgPSB0aGlzLmdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbENhbmRpZGF0ZUdyb3VwcygpO1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsQXNzaWduZWRVc2VycygpO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0QXNzaWdubWVudFR5cGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgfVxuXG4gICAgaXNBc3NpZ25lZFRvVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPO1xuICAgIH1cblxuICAgIG9uQXNzaWdubWVudFR5cGVDaGFuZ2UoYXNzaWdubWVudENoYW5nZTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gW107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IFtdO1xuXG4gICAgICAgIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5DVVJSRU5UX1VTRVIpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduZWRVc2Vyc0NoYW5nZS5lbWl0KFt0aGlzLmlkZW50aXR5VXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXJJbmZvKCldKTtcbiAgICAgICAgfSBlbHNlIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5OT05FKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnNDaGFuZ2UuZW1pdChbXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gYXNzaWdubWVudENoYW5nZS52YWx1ZTtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZUNoYW5nZS5lbWl0KHRoaXMuYXNzaWdubWVudFR5cGUpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEdyb3Vwcyhncm91cHM6IElkZW50aXR5R3JvdXBNb2RlbFtdKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRHcm91cHNDaGFuZ2UuZW1pdChncm91cHMpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEFzc2lnbmVkVXNlcnModXNlcnM6IElkZW50aXR5VXNlck1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJzQ2hhbmdlLmVtaXQodXNlcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhzdGF0dXM6IFRhc2tTdGF0dXNGaWx0ZXIpIHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXR1c0ZpbHRlci5DUkVBVEVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYXNrU3RhdHVzRmlsdGVyLkFTU0lHTkVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLk5PTkU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLk5PTkUsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5OT05FfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLlVOQVNTSUdORUQsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQVNTSUdORURfVE99YCB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogQXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFMsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTfWAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEFzc2lnbm1lbnRUeXBlKCkge1xuICAgICAgICBpZiAodGhpcy5jYW5kaWRhdGVHcm91cHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hc3NpZ25lZFVzZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5OT05FO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQ2FuZGlkYXRlR3JvdXBzKCkge1xuICAgICAgICBjb25zdCBjYW5kaWRhdGVHcm91cHNBdHRyID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkuYXR0cmlidXRlc1snY2FuZGlkYXRlR3JvdXBzJ107XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWVbY2FuZGlkYXRlR3JvdXBzQXR0cl07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQXNzaWduZWRVc2VycygpIHtcbiAgICAgICAgY29uc3QgYXNzaWduZWRVc2Vyc0F0dHIgPSB0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzWydhc3NpZ25lZFVzZXJzJ107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IHRoaXMudGFza0ZpbHRlclByb3BlcnR5LnZhbHVlW2Fzc2lnbmVkVXNlcnNBdHRyXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzICYmICEhdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWU7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1hc3NpZ25tZW50LWNvbnRhaW5lclwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1sYWJlbFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLWxhYmVsLS1mb2N1cyc6IHR5cGVEcm9wZG93bi5mb2N1c2VkfVwiPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLkFTU0lHTk1FTlRfVFlQRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFzc2lnbm1lbnRUeXBlXCIgI3R5cGVEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLXNlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQXNzaWdubWVudFR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGFzc2lnbm1lbnRUeXBlIG9mIGFzc2lnbm1lbnRUeXBlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItb3B0aW9uLS1zZWxlY3RlZCc6IGZpbHRlck9wdGlvbi5zZWxlY3RlZH1cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhc3NpZ25tZW50VHlwZS52YWx1ZVwiICNmaWx0ZXJPcHRpb25cbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLScgKyBhc3NpZ25tZW50VHlwZS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFzc2lnbm1lbnRUeXBlLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGFkZi1jbG91ZC1ncm91cCAqbmdJZj1cImlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZ3JvdXAtY2xvdWQtZmlsdGVyXCJcbiAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWdyb3VwLWNsb3VkLWNhbmRpZGF0ZS1ncm91cHMtZmlsdGVyXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIFtwcmVTZWxlY3RHcm91cHNdPVwiY2FuZGlkYXRlR3JvdXBzXCJcbiAgICAgICAgW21vZGVdPVwidGFza0ZpbHRlclByb3BlcnR5LnNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbdGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuU1RBUlRfVEFTSy5GT1JNLkxBQkVMLkNBTkRJREFURV9HUk9VUCdcIlxuICAgICAgICAoY2hhbmdlZEdyb3Vwcyk9XCJvbkNoYW5nZWRHcm91cHMoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLWNsb3VkLXBlb3BsZSAqbmdJZj1cImlzQXNzaWduZWRUb1R5cGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWdyb3VwLWNsb3VkLWZpbHRlclwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1ncm91cC1jbG91ZC1hc3NpZ25lZC10by1maWx0ZXJcIlxuICAgICAgICBbcHJlU2VsZWN0VXNlcnNdPVwiYXNzaWduZWRVc2Vyc1wiXG4gICAgICAgIFt0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5TVEFSVF9UQVNLLkZPUk0uTEFCRUwuQVNTSUdORUUnXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIChjaGFuZ2VkVXNlcnMpPVwib25DaGFuZ2VkQXNzaWduZWRVc2VycygkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19