@ieeesa-npm/tenants 0.3.4 → 0.3.6
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.
- package/esm2022/lib/components/create-modify-role/create-modify-role.component.mjs +1 -1
- package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +5 -5
- package/esm2022/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.mjs +2 -2
- package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +6 -22
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +16 -8
- package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +1 -1
- package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +3 -3
- package/fesm2022/ieeesa-npm-tenants.mjs +32 -40
- package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -1
- package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +2 -2
- package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +1 -9
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -377,7 +377,7 @@ export class RolesAndPermissionsMappingComponent {
|
|
|
377
377
|
this.destroy$?.unsubscribe();
|
|
378
378
|
}
|
|
379
379
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RolesAndPermissionsMappingComponent, deps: [{ token: i1.TenantApplicationsService }, { token: i2.SharedService }, { token: i0.ElementRef }, { token: i2.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
380
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RolesAndPermissionsMappingComponent, isStandalone: true, selector: "ieeesa-roles-and-permissions-mapping", outputs: { formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n [formGroups]=\"formGroup\"\r\n [colWidth]=\"colWidth\"\r\n [isSubmitButtonDisabled]=\"true\"\r\n [isLegendVisible]=\"true\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLeftButtonNeeded]=\"true\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n (dropdownChange)=\"onRoleOrPermissionSelected($event)\"\r\n (formSubmit)=\"onMapAndPermissionsFormSubmit()\"\r\n (formLeftButtonClicked)=\"onMapAndPermissionsFormCancel()\"\r\n>\r\n <ieeesa-data-table\r\n component\r\n *ngIf=\"tableData.length\"\r\n [columnSchemaInfo]=\"tableColumnSchema\"\r\n [tableColumnsHeaderText]=\"tableHeading\"\r\n [tableDataInfo]=\"tableData\"\r\n (rowSlideToggle)=\"roleOrPermissionStatusChange($event)\"\r\n ></ieeesa-data-table>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-map-permissions-and-roles{max-width:50vw!important}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-container{box-shadow:none}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-surface{border-radius:0}.ieeesa-map-permissions-and-roles .ieeesa-modal{box-shadow:0 3px #00b5e2 inset,0 4px 24px #00000080}.ieeesa-map-permissions-and-roles .ieeesa-modal-title__heading{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .row{margin:0;padding:0 12px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__legend{text-align:center;margin-bottom:0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:4px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .ieeesa-select-field__label{color:#49454f}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field{display:flex;min-height:40px;height:40px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:24px;padding-top:48px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:33vw;padding-top:48px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__columns-header-text{font-size:16px;padding:0}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-colum-role,.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-column-permission{padding:16px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__content{padding-top:12px}@media (max-width: 767px){.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:auto}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:24px!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected"], exportAs: ["dynamicForm"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
380
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RolesAndPermissionsMappingComponent, isStandalone: true, selector: "ieeesa-roles-and-permissions-mapping", outputs: { formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n [formGroups]=\"formGroup\"\r\n [colWidth]=\"colWidth\"\r\n [isSubmitButtonDisabled]=\"true\"\r\n [isLegendVisible]=\"true\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLeftButtonNeeded]=\"true\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n (dropdownChange)=\"onRoleOrPermissionSelected($event)\"\r\n (formSubmit)=\"onMapAndPermissionsFormSubmit()\"\r\n (formLeftButtonClicked)=\"onMapAndPermissionsFormCancel()\"\r\n>\r\n <ieeesa-data-table\r\n component\r\n *ngIf=\"tableData.length\"\r\n [columnSchemaInfo]=\"tableColumnSchema\"\r\n [tableColumnsHeaderText]=\"tableHeading\"\r\n [tableDataInfo]=\"tableData\"\r\n (rowSlideToggle)=\"roleOrPermissionStatusChange($event)\"\r\n ></ieeesa-data-table>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-map-permissions-and-roles{max-width:50vw!important}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-container{box-shadow:none}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-surface{border-radius:0}.ieeesa-map-permissions-and-roles .ieeesa-modal{box-shadow:0 3px #00b5e2 inset,0 4px 24px #00000080}.ieeesa-map-permissions-and-roles .ieeesa-modal-title__heading{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .row{margin:0;padding:0 12px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__legend{text-align:center;margin-bottom:0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:4px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .ieeesa-select-field__label{color:#49454f}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field{display:flex;min-height:40px;height:40px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:24px;padding-top:48px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:33vw;padding-top:48px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__columns-header-text{font-size:16px;padding:0}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-colum-role,.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-column-permission{padding:16px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__content{padding-top:12px}@media (max-width: 767px){.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:auto}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:24px!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick"], exportAs: ["dynamicForm"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon", "canDisableCheckbox"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
381
381
|
}
|
|
382
382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RolesAndPermissionsMappingComponent, decorators: [{
|
|
383
383
|
type: Component,
|
|
@@ -388,4 +388,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
388
388
|
type: ViewChild,
|
|
389
389
|
args: [DynamicFormComponent]
|
|
390
390
|
}] } });
|
|
391
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBR1osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBS1QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixrQkFBa0IsRUFFbEIsZUFBZSxHQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVdoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQVcxRCxNQUFNLE9BQU8sbUNBQW1DO0lBZ0M5QztJQUNFLGdHQUFnRztJQUN4RixnQkFBMkM7SUFDbkQsMENBQTBDO0lBQ2xDLGFBQTRCO0lBQ3BDLDBDQUEwQztJQUNuQyxVQUFzQjtJQUM3QiwwQ0FBMEM7SUFDbEMsa0JB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QUFDLFlBQVksQ0FDN0IsS0FBSyxFQUNMLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQzlDLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCw2QkFBNkI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0F0Y1UsbUNBQW1DO21HQUFuQyxtQ0FBbUMsNkxBK0JuQyxvQkFBb0IsZ0RDL0VqQyx3MEJBc0JBLDQ3VURxQlksWUFBWSxtSUFBRSxvQkFBb0IseTFCQUFFLGtCQUFrQjs7NEZBS3JELG1DQUFtQztrQkFSL0MsU0FBUzsrQkFDRSxzQ0FBc0MsY0FDcEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJO3NNQWdDM0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDMEIsb0JBQW9CO3NCQUFwRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBBbGlnblR5cGUsXHJcbiAgRm9ybUdyaWQsXHJcbiAgRm9ybU1vZGVsLFxyXG4gIFNlbGVjdE9wdGlvbixcclxuICBTbGlkZVRvZ2dsZU9wdGlvbixcclxuICBGb3JtQ29udHJvbFR5cGUsXHJcbiAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgRGF0YVRhYmxlQ29tcG9uZW50LFxyXG4gIFRhYmxlQ29sdW1uU2NoZW1hLFxyXG4gIFRhYmxlQ29sdW1uVHlwZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgUGVybWlzc2lvbixcclxuICBNb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLFxyXG4gIFJvbGVzQW5kUGVybWlzc2lvbnNSZXF1ZXN0UGF5bG9hZCxcclxuICBSb2xlLFxyXG4gIFJvbGVEZXRhaWxzLFxyXG4gIFJvbGVPclBlcm1pc3Npb25NYXBwaW5nLFxyXG4gIFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9yb2xlcy1hbmQtcGVybWlzc2lvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLXRhYmxlLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0IGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSwgU2hhcmVkU2VydmljZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1yb2xlcy1hbmQtcGVybWlzc2lvbnMtbWFwcGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEeW5hbWljRm9ybUNvbXBvbmVudCwgRGF0YVRhYmxlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JvbGVzLWFuZC1wZXJtaXNzaW9ucy1tYXBwaW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBzY3JlZW5UZXh0O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgbWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzOiBhbnkgPVxyXG4gICAgdGhpcy5jb25zdGFudHM/Lm1hcFJvbGVzQW5kUGVybWlzc2lvbnM7XHJcbiAgZm9ybUdyb3VwITogRm9ybU1vZGVsO1xyXG4gIGNvbFdpZHRoOiBGb3JtR3JpZCA9IHsgeHM6IDEyLCB4bDogNiwgc206IDEyLCBtZDogMTIsIGxnOiA2IH07XHJcbiAgYWN0aW9uQnV0dG9uQWxpZ24gPSBBbGlnblR5cGUuTUlERExFO1xyXG4gIGxlZnRCdXR0b25MYWJlbCA9XHJcbiAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ubGFiZWw/LmxlZnRCdXR0b25MYWJlbDtcclxuICByaWdodEJ1dHRvbkxhYmVsID1cclxuICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sYWJlbD8ucmlnaHRCdXR0b25MYWJlbDtcclxuICByb2xlczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBwZXJtaXNzaW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBhcHBJZCE6IHN0cmluZztcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgdGFibGVDb2x1bW5TY2hlbWE6IFRhYmxlQ29sdW1uU2NoZW1hW10gPSBbXTtcclxuICB0YWJsZURhdGE6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nW10gPSBbXTtcclxuICBzZWxlY3RlZFJvbGUhOiBSb2xlRGV0YWlscztcclxuICBzZWxlY3RlZFBlcm1pc3Npb24hOiBQZXJtaXNzaW9uO1xyXG4gIG1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmc6IE1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmdbXSA9IFtdO1xyXG4gIHRhYmxlSGVhZGluZyA9ICcnO1xyXG4gIHJvbGVQZXJtaXNzaW9uTWFwcGluZ1BheWxvYWQ6IFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgcGF5bG9hZDoge1xyXG4gICAgICBhcHBJZDogJycsXHJcbiAgICAgIHBlcm1pc3Npb25JZDogbnVsbCxcclxuICAgICAgcm9sZUlkOiBudWxsLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1Db21wb25lbnQpIGR5bmFtaWNGb3JtQ29tcG9uZW50ITogRHluYW1pY0Zvcm1Db21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgZm9ybSBncm91cCBhbmQgYWxsIHRoZSBwYWdlIGRlZmF1bHRzLlxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwcElkID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldFNlbGVjdGVkVGVuYW50SW5mb3JtYXRpb24oKVxyXG4gICAgICA/LmFwcElkIGFzIHN0cmluZztcclxuICAgIHRoaXMuZm9ybUdyb3VwID0ge1xyXG4gICAgICBmb3JtR3JvdXA6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsZWdlbmQ6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sZWdlbmQsXHJcbiAgICAgICAgICBjb250cm9sczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdyb2xlJyxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5yb2xlLFxyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICAgICAgZHJvcGRvd25PcHRpb25zOiB0aGlzLnJvbGVzLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LnN1cHBvcnRUZXh0Py5yb2xlLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDpcclxuICAgICAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5yb2xlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LnJvbGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ubGFiZWw/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlNFTEVDVCxcclxuICAgICAgICAgICAgICBkcm9wZG93bk9wdGlvbnM6IHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8uc3VwcG9ydFRleHQ/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhTGFiZWxcclxuICAgICAgICAgICAgICAgICAgPy5wZXJtaXNzaW9uLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5nZXRSb2xlcygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmlzQWxlcnRDbG9zZWRcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBhbGVydE1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAnLmNkay1vdmVybGF5LWNvbnRhaW5lciBpZWVlc2EtYWxlcnQnXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoYWxlcnRNb2RhbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICAgICAgJy5jZGstb3ZlcmxheS1jb250YWluZXIgLm1hdC1tZGMtZGlhbG9nLWNvbnRlbnQgLmllZWVzYS1hbGVydC1ib3hfX2Nsb3NlLWJ1dHRvbidcclxuICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudFxyXG4gICAgICAgICAgKT8uZm9jdXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgKFxyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICAgICcuY2RrLW92ZXJsYXktY29udGFpbmVyIC5tYXQtbWRjLWRpYWxvZy1jb250ZW50IC5pZWVlc2Etc2VsZWN0LWZpZWxkIG1hdC1zZWxlY3QnXHJcbiAgICAgICAgICAgICkgYXMgSFRNTEVsZW1lbnRcclxuICAgICAgICAgICk/LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyB0aGUgcm9sZSBvciBwZXJtaXNzaW9uIHRhYmxlIHNjaGVtYSB0byBkaXNwbGF5IHRoZSBhc3NvY2lhdGVkIG1hcHBpbmcgaW4gYSB0YWJsZSB2aWV3LlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1Hcm91cHNcclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIG9uUm9sZU9yUGVybWlzc2lvblNlbGVjdGVkKGZvcm1Hcm91cHM6IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlQ29sdW1uU2NoZW1hID0gW107XHJcbiAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcgPSBbXTtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGZvcm1Hcm91cHNbMF07XHJcbiAgICBjb25zdCByb2xlID0gZm9ybUdyb3VwLmdldCgncm9sZScpPy52YWx1ZTtcclxuICAgIGNvbnN0IHBlcm1pc3Npb24gPSBmb3JtR3JvdXAuZ2V0KCdwZXJtaXNzaW9uJyk/LnZhbHVlO1xyXG4gICAgaWYgKHJvbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSB7XHJcbiAgICAgICAgcm9sZUlkOiByb2xlLmlkLFxyXG4gICAgICAgIHJvbGVOYW1lOiByb2xlLm5hbWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucm9sZVBlcm1pc3Npb25NYXBwaW5nUGF5bG9hZC5wYXlsb2FkLnJvbGVJZCA9IHJvbGU/LmlkO1xyXG4gICAgfVxyXG4gICAgaWYgKHBlcm1pc3Npb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24gPSB7XHJcbiAgICAgICAgcGVybWlzc2lvbklkOiBwZXJtaXNzaW9uLmlkLFxyXG4gICAgICAgIHBlcm1pc3Npb25OYW1lOiBwZXJtaXNzaW9uLm5hbWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucm9sZVBlcm1pc3Npb25NYXBwaW5nUGF5bG9hZC5wYXlsb2FkLnBlcm1pc3Npb25JZCA9IHBlcm1pc3Npb24/LmlkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb2xlUGVybWlzc2lvbk1hcHBpbmdQYXlsb2FkLnBheWxvYWQuYXBwSWQgPSB0aGlzLmFwcElkO1xyXG4gICAgaWYgKChyb2xlICYmIHBlcm1pc3Npb24pIHx8IHJvbGUpIHtcclxuICAgICAgdGhpcy50YWJsZUhlYWRpbmcgPSBgJHt0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ucm9sZVRhYmxlQ2FwdGlvbn08c3Ryb25nPiR7cm9sZT8ubmFtZX08L3N0cm9uZz5gO1xyXG4gICAgICB0aGlzLnRhYmxlQ29sdW1uU2NoZW1hLnB1c2goe1xyXG4gICAgICAgIGlkOiAxLFxyXG4gICAgICAgIGNvbHVtbkRlZjogJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgIGhlYWRpbmc6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLnRhYmxlQ29sdW1ucy5wZXJtaXNzaW9uLFxyXG4gICAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5URVhULFxyXG4gICAgICAgIGNlbGxEYXRhOiAocGVybWlzc2lvbk1hcHBpbmc6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nKSA9PlxyXG4gICAgICAgICAgcGVybWlzc2lvbk1hcHBpbmc/LnJvbGVPclBlcm1pc3Npb25OYW1lLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5TY2hlbWEucHVzaCh7XHJcbiAgICAgICAgaWQ6IDEsXHJcbiAgICAgICAgY29sdW1uRGVmOiAncm9sZScsXHJcbiAgICAgICAgaGVhZGluZzogdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHMudGFibGVDb2x1bW5zLnJvbGUsXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLlRFWFQsXHJcbiAgICAgICAgY2VsbERhdGE6IChyb2xlTWFwcGluZzogUm9sZU9yUGVybWlzc2lvbk1hcHBpbmcpID0+XHJcbiAgICAgICAgICByb2xlTWFwcGluZz8ucm9sZU9yUGVybWlzc2lvbk5hbWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHBlcm1pc3Npb24pIHtcclxuICAgICAgY29uc3QgcGVybWlzc2lvbkhlYWRpbmcgPSBgJHt0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ucGVybWlzc2lvblRhYmxlQ2FwdGlvbn08c3Ryb25nPiR7cGVybWlzc2lvbj8ubmFtZX08L3N0cm9uZz5gO1xyXG4gICAgICB0aGlzLnRhYmxlSGVhZGluZyA9IHJvbGVcclxuICAgICAgICA/IHRoaXMudGFibGVIZWFkaW5nICsgYDwvYnI+YCArIHBlcm1pc3Npb25IZWFkaW5nXHJcbiAgICAgICAgOiBwZXJtaXNzaW9uSGVhZGluZztcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVDb2x1bW5TY2hlbWEucHVzaCh7XHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBjb2x1bW5EZWY6ICdzbGlkZVRvZ2dsZScsXHJcbiAgICAgIGhlYWRpbmc6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLnRhYmxlQ29sdW1ucy5zdGF0dXMsXHJcbiAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5TTElERV9UT0dHTEUsXHJcbiAgICAgIGNlbGxEYXRhOiAocm9sZU1hcHBpbmc6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkOiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKSArIDEsXHJcbiAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICBhcmlhTGFiZWw6IHJvbGVNYXBwaW5nLnJvbGVPclBlcm1pc3Npb25OYW1lLFxyXG4gICAgICAgICAgY2hlY2tlZDogcm9sZU1hcHBpbmcuc3RhdHVzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnQuaXNTdWJtaXRCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmdldFJvbGVQZXJtaXNzaW9uTWFwcGluZyh0aGlzLnJvbGVQZXJtaXNzaW9uTWFwcGluZ1BheWxvYWQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBsaXN0IG9mIHJvbGVzIGFuZCBkaXNwbGF5ZWQgaW4gdGhlIHJvbGUgZHJvcGRvd24uXHJcbiAgICogQG1lbWJlcm9mIE1hcFBlcm1pc3Npb25zUm9sZXNDb21wb25lbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICBnZXRSb2xlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuZ2V0Um9sZXModGhpcy5hcHBJZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGVzTGlzdCA9IHJlc3BvbnNlPy5ib2R5IGFzIFJvbGVbXTtcclxuICAgICAgICAgICAgcm9sZXNMaXN0Lm1hcCgocm9sZTogUm9sZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucm9sZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogcm9sZS5yb2xlSWQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiByb2xlLnJvbGVOYW1lLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UudXBkYXRlRm9ybUNvbnRyb2xPcHRpb25zKFxyXG4gICAgICAgICAgICAgICdyb2xlJyxcclxuICAgICAgICAgICAgICAnZHJvcGRvd25PcHRpb25zJyxcclxuICAgICAgICAgICAgICB0aGlzLnJvbGVzLFxyXG4gICAgICAgICAgICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGxpc3Qgb2YgcGVybWlzc2lvbnMgYW5kIGRpc3BsYXllZCBpbiB0aGUgcGVybWlzc2lvbiBkcm9wZG93bi5cclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIGdldFBlcm1pc3Npb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRQZXJtaXNzaW9ucyh0aGlzLmFwcElkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbnNMaXN0ID0gcmVzcG9uc2U/LmJvZHkgYXMgUGVybWlzc2lvbltdO1xyXG4gICAgICAgICAgICBwZXJtaXNzaW9uc0xpc3QubWFwKChwZXJtaXNzaW9uOiBQZXJtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwZXJtaXNzaW9uLnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IHBlcm1pc3Npb24ucGVybWlzc2lvbk5hbWUsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS51cGRhdGVGb3JtQ29udHJvbE9wdGlvbnMoXHJcbiAgICAgICAgICAgICAgJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgICAgICAgICdkcm9wZG93bk9wdGlvbnMnLFxyXG4gICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgdGhpcy5keW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgbGlzdCBvZiBtYXBwZWQgcm9sZXMvcGVybWlzc2lvbnMgZnJvbSB0aGUgYmFja2VuZCBhcGkuXHJcbiAgICogQHBhcmFtIHtSb2xlUGVybWlzc2lvbk1hcHBpbmdSZXF1ZXN0UGF5bG9hZH0gcGF5bG9hZFxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgZ2V0Um9sZVBlcm1pc3Npb25NYXBwaW5nKHBheWxvYWQ6IFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YSA9IFtdO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRSb2xlUGVybWlzc2lvbk1hcHBpbmcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBheWxvYWRJbmZvID0gcGF5bG9hZC5wYXlsb2FkO1xyXG4gICAgICAgICAgaWYgKHBheWxvYWRJbmZvPy5yb2xlSWQgJiYgcGF5bG9hZEluZm8/LnBlcm1pc3Npb25JZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICByb2xlT3JQZXJtaXNzaW9uTmFtZTogdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24/LnBlcm1pc3Npb25OYW1lLFxyXG4gICAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25JZDogdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24/LnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgICAgICBzdGF0dXM6IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkSW5mbz8ucm9sZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKFxyXG4gICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyBQZXJtaXNzaW9uW10sXHJcbiAgICAgICAgICAgICAgUm9sZUFuZFBlcm1pc3Npb25zVGFibGVUeXBlLlBFUk1JU1NJT05cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKFxyXG4gICAgICAgICAgICAgIHRoaXMucm9sZXMsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyBSb2xlRGV0YWlsc1tdLFxyXG4gICAgICAgICAgICAgIFJvbGVBbmRQZXJtaXNzaW9uc1RhYmxlVHlwZS5ST0xFXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGVzID0gZXJyb3I/LmVycm9yPy5ib2R5Py5lcnJvckNvZGVzO1xyXG4gICAgICAgICAgLy8gUmV0dXJucyBlcnJvciBjb2RlIDMwMjAgd2hlbiBtYXBwZWQgcm9sZXMgZG9lcyBub3QgZXhpc3QgZm9yIGdpdmVuIHBlcm1pc3Npb24gaWQuXHJcbiAgICAgICAgICBpZiAoZXJyb3JDb2Rlcy5pbmNsdWRlcygnMzAyMCcpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKHRoaXMucm9sZXMsIFtdLCBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUuUk9MRSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBSZXR1cm5zIGVycm9yIGNvZGUgMzAyMSB3aGVuIG1hcHBlZCBwZXJtaXNzaW9ucyBkb2VzIG5vdCBleGlzdCBmb3IgZ2l2ZW4gcm9sZSBpZC5cclxuICAgICAgICAgIGVsc2UgaWYgKGVycm9yQ29kZXMuaW5jbHVkZXMoJzMwMjEnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlRGF0YShcclxuICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLFxyXG4gICAgICAgICAgICAgIFtdLFxyXG4gICAgICAgICAgICAgIFJvbGVBbmRQZXJtaXNzaW9uc1RhYmxlVHlwZS5QRVJNSVNTSU9OXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBSZXR1cm5zIGVycm9yIGNvZGUgMzAxNyB3aGVuIHJvbGUgcGVybWlzc2lvbiBtYXBwaW5nIGRvZXMgbm90IGV4aXN0IGZvciBnaXZlbiByb2xlIGlkLlxyXG4gICAgICAgICAgZWxzZSBpZiAoZXJyb3JDb2Rlcy5pbmNsdWRlcygnMzAxNycpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25OYW1lOiB0aGlzLnNlbGVjdGVkUGVybWlzc2lvbj8ucGVybWlzc2lvbk5hbWUsXHJcbiAgICAgICAgICAgICAgcm9sZU9yUGVybWlzc2lvbklkOiB0aGlzLnNlbGVjdGVkUGVybWlzc2lvbj8ucGVybWlzc2lvbklkLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHMuZXJyb3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlpbmcgdGhlIG1hcHBlZCByb2xlcyBhbmQgcGVybWlzc2lvbnMgZGF0YSBpbnRvIHRoZSBkYXRhIHRhYmxlLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IHJvbGVPclBlcm1pc3Npb25zXHJcbiAgICogQHBhcmFtIHtSb2xlRGV0YWlsc1tdIHwgUGVybWlzc2lvbltdfSBtYXBwZWRSb2xlT3JQZXJtaXNzaW9uc1xyXG4gICAqIEBwYXJhbSB7Um9sZUFuZFBlcm1pc3Npb25zVGFibGVUeXBlfSB0YWJsZVR5cGVcclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIHNldFRhYmxlRGF0YShcclxuICAgIHJvbGVPclBlcm1pc3Npb25zOiBTZWxlY3RPcHRpb25bXSxcclxuICAgIG1hcHBlZFJvbGVPclBlcm1pc3Npb25zOiBSb2xlRGV0YWlsc1tdIHwgUGVybWlzc2lvbltdLFxyXG4gICAgdGFibGVUeXBlOiBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGVcclxuICApOiB2b2lkIHtcclxuICAgIHJvbGVPclBlcm1pc3Npb25zLm1hcCgocm9sZU9yUGVybWlzc2lvbikgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHtcclxuICAgICAgICByb2xlT3JQZXJtaXNzaW9uTmFtZTogcm9sZU9yUGVybWlzc2lvbi5uYW1lLFxyXG4gICAgICAgIHJvbGVPclBlcm1pc3Npb25JZDogcm9sZU9yUGVybWlzc2lvbi5pZCBhcyBzdHJpbmcsXHJcbiAgICAgICAgc3RhdHVzOlxyXG4gICAgICAgICAgdGFibGVUeXBlID09PSBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUuUk9MRVxyXG4gICAgICAgICAgICA/IG1hcHBlZFJvbGVPclBlcm1pc3Npb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgICAobWFwcGVkUm9sZU9yUGVybWlzc2lvbnMgYXMgUm9sZURldGFpbHNbXSkuc29tZShcclxuICAgICAgICAgICAgICAgIChtYXBwZWRSb2xlT3JQZXJtaXNzaW9uOiBSb2xlRGV0YWlscykgPT5cclxuICAgICAgICAgICAgICAgICAgbWFwcGVkUm9sZU9yUGVybWlzc2lvbi5yb2xlSWQgPT09IHJvbGVPclBlcm1pc3Npb24uaWRcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogbWFwcGVkUm9sZU9yUGVybWlzc2lvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgICAgIChtYXBwZWRSb2xlT3JQZXJtaXNzaW9ucyBhcyBQZXJtaXNzaW9uW10pLnNvbWUoXHJcbiAgICAgICAgICAgICAgICAobWFwcGVkUm9sZU9yUGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgICAgICAgbWFwcGVkUm9sZU9yUGVybWlzc2lvbi5wZXJtaXNzaW9uSWQgPT09IHJvbGVPclBlcm1pc3Npb24uaWRcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwYXlsb2FkIGJhc2VkIG9uIHRoZSByb2xlcyBhbmQgcGVybWlzc2lvbnMgbWFwcGluZyAoc2VsZWN0aW9uIG9yIGRlc2VsZWN0aW9uKS5cclxuICAgKiBAcGFyYW0gcm9sZU9yUGVybWlzc2lvblN0YXR1c1xyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgcm9sZU9yUGVybWlzc2lvblN0YXR1c0NoYW5nZShyb2xlT3JQZXJtaXNzaW9uU3RhdHVzOiB7XHJcbiAgICBzbGlkZVRvZ2dsZTogU2xpZGVUb2dnbGVPcHRpb247XHJcbiAgICByb3dEYXRhOiBSb2xlT3JQZXJtaXNzaW9uTWFwcGluZztcclxuICB9KTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgICh0aGlzLnNlbGVjdGVkUm9sZT8ucm9sZUlkICYmIHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uPy5wZXJtaXNzaW9uSWQpIHx8XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlPy5yb2xlSWRcclxuICAgICkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLmZpbmQoXHJcbiAgICAgICAgICAocGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgcGVybWlzc2lvbi5wZXJtaXNzaW9uSWQgPT09XHJcbiAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWRcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZy5zcGxpY2UoXHJcbiAgICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcuZmluZEluZGV4KFxyXG4gICAgICAgICAgICAocGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgICBwZXJtaXNzaW9uLnBlcm1pc3Npb25JZCA9PT1cclxuICAgICAgICAgICAgICByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnJvd0RhdGEucm9sZU9yUGVybWlzc2lvbklkXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgMVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLnB1c2goe1xyXG4gICAgICAgICAgcm9sZUlkOiB0aGlzLnNlbGVjdGVkUm9sZS5yb2xlSWQsXHJcbiAgICAgICAgICBwZXJtaXNzaW9uSWQ6IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWQsXHJcbiAgICAgICAgICBhcHBJZDogdGhpcy5hcHBJZCxcclxuICAgICAgICAgIHN0YXR1czogcm9sZU9yUGVybWlzc2lvblN0YXR1cy5zbGlkZVRvZ2dsZS5jaGVja2VkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uPy5wZXJtaXNzaW9uSWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZy5maW5kKFxyXG4gICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgIHJvbGUucm9sZUlkID09PSByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnJvd0RhdGEucm9sZU9yUGVybWlzc2lvbklkXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcuc3BsaWNlKFxyXG4gICAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLmZpbmRJbmRleChcclxuICAgICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgICAgcm9sZS5yb2xlSWQgPT09IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWRcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICAxXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcucHVzaCh7XHJcbiAgICAgICAgICByb2xlSWQ6IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWQsXHJcbiAgICAgICAgICBwZXJtaXNzaW9uSWQ6IHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uLnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgIGFwcElkOiB0aGlzLmFwcElkLFxyXG4gICAgICAgICAgc3RhdHVzOiByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnNsaWRlVG9nZ2xlLmNoZWNrZWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnQuaXNTdWJtaXRCdXR0b25EaXNhYmxlZCA9XHJcbiAgICAgICF0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcubGVuZ3RoO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTdWJtaXRzIHRoZSByb2xlcyBhbmQgcGVybWlzc2lvbnMgbWFwcGluZ3MgdG8gdGhlIHNlcnZlci5cclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIG9uTWFwQW5kUGVybWlzc2lvbnNGb3JtU3VibWl0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF5bG9hZDogUm9sZXNBbmRQZXJtaXNzaW9uc1JlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5keW5hbWljRm9ybUNvbXBvbmVudC5pc1N1Ym1pdEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZyA9IFtdO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5zYXZlUm9sZVBlcm1pc3Npb25NYXBwaW5nKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2Uuc2hvd0FsZXJ0TWVzc2FnZShcclxuICAgICAgICAgICAgICBBbGVydFR5cGUuU1VDQ0VTUyxcclxuICAgICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cy5tZXNzYWdlLnN1Y2Nlc3NcclxuICAgICAgICAgICAgICAgIC5yb2xlc0FuZFBlcm1pc3Npb25zU3VibWlzc2lvblxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBtYXAgYW5kIHBlcm1pc3Npb25zIG1vZGFsLlxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgb25NYXBBbmRQZXJtaXNzaW9uc0Zvcm1DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBQZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkPy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGllZWVzYS1keW5hbWljLWZvcm1cclxuICBbZm9ybUdyb3Vwc109XCJmb3JtR3JvdXBcIlxyXG4gIFtjb2xXaWR0aF09XCJjb2xXaWR0aFwiXHJcbiAgW2lzU3VibWl0QnV0dG9uRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgW2lzTGVnZW5kVmlzaWJsZV09XCJ0cnVlXCJcclxuICBbbGVmdEJ1dHRvbkxhYmVsXT1cImxlZnRCdXR0b25MYWJlbFwiXHJcbiAgW3JpZ2h0QnV0dG9uTGFiZWxdPVwicmlnaHRCdXR0b25MYWJlbFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJ0cnVlXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIChkcm9wZG93bkNoYW5nZSk9XCJvblJvbGVPclBlcm1pc3Npb25TZWxlY3RlZCgkZXZlbnQpXCJcclxuICAoZm9ybVN1Ym1pdCk9XCJvbk1hcEFuZFBlcm1pc3Npb25zRm9ybVN1Ym1pdCgpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cIm9uTWFwQW5kUGVybWlzc2lvbnNGb3JtQ2FuY2VsKClcIlxyXG4+XHJcbiAgPGllZWVzYS1kYXRhLXRhYmxlXHJcbiAgICBjb21wb25lbnRcclxuICAgICpuZ0lmPVwidGFibGVEYXRhLmxlbmd0aFwiXHJcbiAgICBbY29sdW1uU2NoZW1hSW5mb109XCJ0YWJsZUNvbHVtblNjaGVtYVwiXHJcbiAgICBbdGFibGVDb2x1bW5zSGVhZGVyVGV4dF09XCJ0YWJsZUhlYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YUluZm9dPVwidGFibGVEYXRhXCJcclxuICAgIChyb3dTbGlkZVRvZ2dsZSk9XCJyb2xlT3JQZXJtaXNzaW9uU3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2llZWVzYS1kYXRhLXRhYmxlPlxyXG48L2llZWVzYS1keW5hbWljLWZvcm0+XHJcbiJdfQ==
|
|
391
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcvcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBR1osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBS1QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixrQkFBa0IsRUFFbEIsZUFBZSxHQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVdoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQVcxRCxNQUFNLE9BQU8sbUNBQW1DO0lBZ0M5QztJQUNFLGdHQUFnRztJQUN4RixnQkFBMkM7SUFDbkQsMENBQTBDO0lBQ2xDLGFBQTRCO0lBQ3BDLDBDQUEwQztJQUNuQyxVQUFzQjtJQUM3QiwwQ0FBMEM7SUFDbEMsa0JB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QUFDLFlBQVksQ0FDN0IsS0FBSyxFQUNMLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQzlDLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCw2QkFBNkI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0F0Y1UsbUNBQW1DO21HQUFuQyxtQ0FBbUMsNkxBK0JuQyxvQkFBb0IsZ0RDL0VqQyx3MEJBc0JBLDQ3VURxQlksWUFBWSxtSUFBRSxvQkFBb0IsMjJCQUFFLGtCQUFrQjs7NEZBS3JELG1DQUFtQztrQkFSL0MsU0FBUzsrQkFDRSxzQ0FBc0MsY0FDcEMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJO3NNQWdDM0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDMEIsb0JBQW9CO3NCQUFwRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBBbGlnblR5cGUsXHJcbiAgRm9ybUdyaWQsXHJcbiAgRm9ybU1vZGVsLFxyXG4gIFNlbGVjdE9wdGlvbixcclxuICBTbGlkZVRvZ2dsZU9wdGlvbixcclxuICBGb3JtQ29udHJvbFR5cGUsXHJcbiAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgRGF0YVRhYmxlQ29tcG9uZW50LFxyXG4gIFRhYmxlQ29sdW1uU2NoZW1hLFxyXG4gIFRhYmxlQ29sdW1uVHlwZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgUGVybWlzc2lvbixcclxuICBNb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLFxyXG4gIFJvbGVzQW5kUGVybWlzc2lvbnNSZXF1ZXN0UGF5bG9hZCxcclxuICBSb2xlLFxyXG4gIFJvbGVEZXRhaWxzLFxyXG4gIFJvbGVPclBlcm1pc3Npb25NYXBwaW5nLFxyXG4gIFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9yb2xlcy1hbmQtcGVybWlzc2lvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcm9sZXMtYW5kLXBlcm1pc3Npb25zLXRhYmxlLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0IGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSwgU2hhcmVkU2VydmljZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1yb2xlcy1hbmQtcGVybWlzc2lvbnMtbWFwcGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEeW5hbWljRm9ybUNvbXBvbmVudCwgRGF0YVRhYmxlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMtYW5kLXBlcm1pc3Npb25zLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JvbGVzLWFuZC1wZXJtaXNzaW9ucy1tYXBwaW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBzY3JlZW5UZXh0O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgbWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzOiBhbnkgPVxyXG4gICAgdGhpcy5jb25zdGFudHM/Lm1hcFJvbGVzQW5kUGVybWlzc2lvbnM7XHJcbiAgZm9ybUdyb3VwITogRm9ybU1vZGVsO1xyXG4gIGNvbFdpZHRoOiBGb3JtR3JpZCA9IHsgeHM6IDEyLCB4bDogNiwgc206IDEyLCBtZDogMTIsIGxnOiA2IH07XHJcbiAgYWN0aW9uQnV0dG9uQWxpZ24gPSBBbGlnblR5cGUuTUlERExFO1xyXG4gIGxlZnRCdXR0b25MYWJlbCA9XHJcbiAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ubGFiZWw/LmxlZnRCdXR0b25MYWJlbDtcclxuICByaWdodEJ1dHRvbkxhYmVsID1cclxuICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sYWJlbD8ucmlnaHRCdXR0b25MYWJlbDtcclxuICByb2xlczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBwZXJtaXNzaW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBhcHBJZCE6IHN0cmluZztcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgdGFibGVDb2x1bW5TY2hlbWE6IFRhYmxlQ29sdW1uU2NoZW1hW10gPSBbXTtcclxuICB0YWJsZURhdGE6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nW10gPSBbXTtcclxuICBzZWxlY3RlZFJvbGUhOiBSb2xlRGV0YWlscztcclxuICBzZWxlY3RlZFBlcm1pc3Npb24hOiBQZXJtaXNzaW9uO1xyXG4gIG1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmc6IE1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmdbXSA9IFtdO1xyXG4gIHRhYmxlSGVhZGluZyA9ICcnO1xyXG4gIHJvbGVQZXJtaXNzaW9uTWFwcGluZ1BheWxvYWQ6IFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgcGF5bG9hZDoge1xyXG4gICAgICBhcHBJZDogJycsXHJcbiAgICAgIHBlcm1pc3Npb25JZDogbnVsbCxcclxuICAgICAgcm9sZUlkOiBudWxsLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1Db21wb25lbnQpIGR5bmFtaWNGb3JtQ29tcG9uZW50ITogRHluYW1pY0Zvcm1Db21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgZm9ybSBncm91cCBhbmQgYWxsIHRoZSBwYWdlIGRlZmF1bHRzLlxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwcElkID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldFNlbGVjdGVkVGVuYW50SW5mb3JtYXRpb24oKVxyXG4gICAgICA/LmFwcElkIGFzIHN0cmluZztcclxuICAgIHRoaXMuZm9ybUdyb3VwID0ge1xyXG4gICAgICBmb3JtR3JvdXA6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsZWdlbmQ6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sZWdlbmQsXHJcbiAgICAgICAgICBjb250cm9sczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdyb2xlJyxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5yb2xlLFxyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICAgICAgZHJvcGRvd25PcHRpb25zOiB0aGlzLnJvbGVzLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LnN1cHBvcnRUZXh0Py5yb2xlLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDpcclxuICAgICAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5yb2xlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LnJvbGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ubGFiZWw/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlNFTEVDVCxcclxuICAgICAgICAgICAgICBkcm9wZG93bk9wdGlvbnM6IHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8uc3VwcG9ydFRleHQ/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhTGFiZWxcclxuICAgICAgICAgICAgICAgICAgPy5wZXJtaXNzaW9uLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LnBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5nZXRSb2xlcygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmlzQWxlcnRDbG9zZWRcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBhbGVydE1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAnLmNkay1vdmVybGF5LWNvbnRhaW5lciBpZWVlc2EtYWxlcnQnXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoYWxlcnRNb2RhbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICAgICAgJy5jZGstb3ZlcmxheS1jb250YWluZXIgLm1hdC1tZGMtZGlhbG9nLWNvbnRlbnQgLmllZWVzYS1hbGVydC1ib3hfX2Nsb3NlLWJ1dHRvbidcclxuICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudFxyXG4gICAgICAgICAgKT8uZm9jdXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgKFxyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICAgICcuY2RrLW92ZXJsYXktY29udGFpbmVyIC5tYXQtbWRjLWRpYWxvZy1jb250ZW50IC5pZWVlc2Etc2VsZWN0LWZpZWxkIG1hdC1zZWxlY3QnXHJcbiAgICAgICAgICAgICkgYXMgSFRNTEVsZW1lbnRcclxuICAgICAgICAgICk/LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyB0aGUgcm9sZSBvciBwZXJtaXNzaW9uIHRhYmxlIHNjaGVtYSB0byBkaXNwbGF5IHRoZSBhc3NvY2lhdGVkIG1hcHBpbmcgaW4gYSB0YWJsZSB2aWV3LlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1Hcm91cHNcclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIG9uUm9sZU9yUGVybWlzc2lvblNlbGVjdGVkKGZvcm1Hcm91cHM6IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlQ29sdW1uU2NoZW1hID0gW107XHJcbiAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcgPSBbXTtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGZvcm1Hcm91cHNbMF07XHJcbiAgICBjb25zdCByb2xlID0gZm9ybUdyb3VwLmdldCgncm9sZScpPy52YWx1ZTtcclxuICAgIGNvbnN0IHBlcm1pc3Npb24gPSBmb3JtR3JvdXAuZ2V0KCdwZXJtaXNzaW9uJyk/LnZhbHVlO1xyXG4gICAgaWYgKHJvbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSB7XHJcbiAgICAgICAgcm9sZUlkOiByb2xlLmlkLFxyXG4gICAgICAgIHJvbGVOYW1lOiByb2xlLm5hbWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucm9sZVBlcm1pc3Npb25NYXBwaW5nUGF5bG9hZC5wYXlsb2FkLnJvbGVJZCA9IHJvbGU/LmlkO1xyXG4gICAgfVxyXG4gICAgaWYgKHBlcm1pc3Npb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24gPSB7XHJcbiAgICAgICAgcGVybWlzc2lvbklkOiBwZXJtaXNzaW9uLmlkLFxyXG4gICAgICAgIHBlcm1pc3Npb25OYW1lOiBwZXJtaXNzaW9uLm5hbWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucm9sZVBlcm1pc3Npb25NYXBwaW5nUGF5bG9hZC5wYXlsb2FkLnBlcm1pc3Npb25JZCA9IHBlcm1pc3Npb24/LmlkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb2xlUGVybWlzc2lvbk1hcHBpbmdQYXlsb2FkLnBheWxvYWQuYXBwSWQgPSB0aGlzLmFwcElkO1xyXG4gICAgaWYgKChyb2xlICYmIHBlcm1pc3Npb24pIHx8IHJvbGUpIHtcclxuICAgICAgdGhpcy50YWJsZUhlYWRpbmcgPSBgJHt0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ucm9sZVRhYmxlQ2FwdGlvbn08c3Ryb25nPiR7cm9sZT8ubmFtZX08L3N0cm9uZz5gO1xyXG4gICAgICB0aGlzLnRhYmxlQ29sdW1uU2NoZW1hLnB1c2goe1xyXG4gICAgICAgIGlkOiAxLFxyXG4gICAgICAgIGNvbHVtbkRlZjogJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgIGhlYWRpbmc6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLnRhYmxlQ29sdW1ucy5wZXJtaXNzaW9uLFxyXG4gICAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5URVhULFxyXG4gICAgICAgIGNlbGxEYXRhOiAocGVybWlzc2lvbk1hcHBpbmc6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nKSA9PlxyXG4gICAgICAgICAgcGVybWlzc2lvbk1hcHBpbmc/LnJvbGVPclBlcm1pc3Npb25OYW1lLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5TY2hlbWEucHVzaCh7XHJcbiAgICAgICAgaWQ6IDEsXHJcbiAgICAgICAgY29sdW1uRGVmOiAncm9sZScsXHJcbiAgICAgICAgaGVhZGluZzogdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHMudGFibGVDb2x1bW5zLnJvbGUsXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLlRFWFQsXHJcbiAgICAgICAgY2VsbERhdGE6IChyb2xlTWFwcGluZzogUm9sZU9yUGVybWlzc2lvbk1hcHBpbmcpID0+XHJcbiAgICAgICAgICByb2xlTWFwcGluZz8ucm9sZU9yUGVybWlzc2lvbk5hbWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHBlcm1pc3Npb24pIHtcclxuICAgICAgY29uc3QgcGVybWlzc2lvbkhlYWRpbmcgPSBgJHt0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cz8ucGVybWlzc2lvblRhYmxlQ2FwdGlvbn08c3Ryb25nPiR7cGVybWlzc2lvbj8ubmFtZX08L3N0cm9uZz5gO1xyXG4gICAgICB0aGlzLnRhYmxlSGVhZGluZyA9IHJvbGVcclxuICAgICAgICA/IHRoaXMudGFibGVIZWFkaW5nICsgYDwvYnI+YCArIHBlcm1pc3Npb25IZWFkaW5nXHJcbiAgICAgICAgOiBwZXJtaXNzaW9uSGVhZGluZztcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVDb2x1bW5TY2hlbWEucHVzaCh7XHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBjb2x1bW5EZWY6ICdzbGlkZVRvZ2dsZScsXHJcbiAgICAgIGhlYWRpbmc6IHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLnRhYmxlQ29sdW1ucy5zdGF0dXMsXHJcbiAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5TTElERV9UT0dHTEUsXHJcbiAgICAgIGNlbGxEYXRhOiAocm9sZU1hcHBpbmc6IFJvbGVPclBlcm1pc3Npb25NYXBwaW5nKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkOiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKSArIDEsXHJcbiAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICBhcmlhTGFiZWw6IHJvbGVNYXBwaW5nLnJvbGVPclBlcm1pc3Npb25OYW1lLFxyXG4gICAgICAgICAgY2hlY2tlZDogcm9sZU1hcHBpbmcuc3RhdHVzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnQuaXNTdWJtaXRCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmdldFJvbGVQZXJtaXNzaW9uTWFwcGluZyh0aGlzLnJvbGVQZXJtaXNzaW9uTWFwcGluZ1BheWxvYWQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBsaXN0IG9mIHJvbGVzIGFuZCBkaXNwbGF5ZWQgaW4gdGhlIHJvbGUgZHJvcGRvd24uXHJcbiAgICogQG1lbWJlcm9mIE1hcFBlcm1pc3Npb25zUm9sZXNDb21wb25lbnRcclxuICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgKi9cclxuICBnZXRSb2xlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuZ2V0Um9sZXModGhpcy5hcHBJZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGVzTGlzdCA9IHJlc3BvbnNlPy5ib2R5IGFzIFJvbGVbXTtcclxuICAgICAgICAgICAgcm9sZXNMaXN0Lm1hcCgocm9sZTogUm9sZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucm9sZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogcm9sZS5yb2xlSWQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiByb2xlLnJvbGVOYW1lLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UudXBkYXRlRm9ybUNvbnRyb2xPcHRpb25zKFxyXG4gICAgICAgICAgICAgICdyb2xlJyxcclxuICAgICAgICAgICAgICAnZHJvcGRvd25PcHRpb25zJyxcclxuICAgICAgICAgICAgICB0aGlzLnJvbGVzLFxyXG4gICAgICAgICAgICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGxpc3Qgb2YgcGVybWlzc2lvbnMgYW5kIGRpc3BsYXllZCBpbiB0aGUgcGVybWlzc2lvbiBkcm9wZG93bi5cclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIGdldFBlcm1pc3Npb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRQZXJtaXNzaW9ucyh0aGlzLmFwcElkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbnNMaXN0ID0gcmVzcG9uc2U/LmJvZHkgYXMgUGVybWlzc2lvbltdO1xyXG4gICAgICAgICAgICBwZXJtaXNzaW9uc0xpc3QubWFwKChwZXJtaXNzaW9uOiBQZXJtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwZXJtaXNzaW9uLnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IHBlcm1pc3Npb24ucGVybWlzc2lvbk5hbWUsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS51cGRhdGVGb3JtQ29udHJvbE9wdGlvbnMoXHJcbiAgICAgICAgICAgICAgJ3Blcm1pc3Npb24nLFxyXG4gICAgICAgICAgICAgICdkcm9wZG93bk9wdGlvbnMnLFxyXG4gICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgdGhpcy5keW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgbGlzdCBvZiBtYXBwZWQgcm9sZXMvcGVybWlzc2lvbnMgZnJvbSB0aGUgYmFja2VuZCBhcGkuXHJcbiAgICogQHBhcmFtIHtSb2xlUGVybWlzc2lvbk1hcHBpbmdSZXF1ZXN0UGF5bG9hZH0gcGF5bG9hZFxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgZ2V0Um9sZVBlcm1pc3Npb25NYXBwaW5nKHBheWxvYWQ6IFJvbGVQZXJtaXNzaW9uTWFwcGluZ1JlcXVlc3RQYXlsb2FkKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YSA9IFtdO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRSb2xlUGVybWlzc2lvbk1hcHBpbmcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBheWxvYWRJbmZvID0gcGF5bG9hZC5wYXlsb2FkO1xyXG4gICAgICAgICAgaWYgKHBheWxvYWRJbmZvPy5yb2xlSWQgJiYgcGF5bG9hZEluZm8/LnBlcm1pc3Npb25JZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICByb2xlT3JQZXJtaXNzaW9uTmFtZTogdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24/LnBlcm1pc3Npb25OYW1lLFxyXG4gICAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25JZDogdGhpcy5zZWxlY3RlZFBlcm1pc3Npb24/LnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgICAgICBzdGF0dXM6IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkSW5mbz8ucm9sZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKFxyXG4gICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyBQZXJtaXNzaW9uW10sXHJcbiAgICAgICAgICAgICAgUm9sZUFuZFBlcm1pc3Npb25zVGFibGVUeXBlLlBFUk1JU1NJT05cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKFxyXG4gICAgICAgICAgICAgIHRoaXMucm9sZXMsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyBSb2xlRGV0YWlsc1tdLFxyXG4gICAgICAgICAgICAgIFJvbGVBbmRQZXJtaXNzaW9uc1RhYmxlVHlwZS5ST0xFXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGVzID0gZXJyb3I/LmVycm9yPy5ib2R5Py5lcnJvckNvZGVzO1xyXG4gICAgICAgICAgLy8gUmV0dXJucyBlcnJvciBjb2RlIDMwMjAgd2hlbiBtYXBwZWQgcm9sZXMgZG9lcyBub3QgZXhpc3QgZm9yIGdpdmVuIHBlcm1pc3Npb24gaWQuXHJcbiAgICAgICAgICBpZiAoZXJyb3JDb2Rlcy5pbmNsdWRlcygnMzAyMCcpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVEYXRhKHRoaXMucm9sZXMsIFtdLCBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUuUk9MRSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBSZXR1cm5zIGVycm9yIGNvZGUgMzAyMSB3aGVuIG1hcHBlZCBwZXJtaXNzaW9ucyBkb2VzIG5vdCBleGlzdCBmb3IgZ2l2ZW4gcm9sZSBpZC5cclxuICAgICAgICAgIGVsc2UgaWYgKGVycm9yQ29kZXMuaW5jbHVkZXMoJzMwMjEnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlRGF0YShcclxuICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zLFxyXG4gICAgICAgICAgICAgIFtdLFxyXG4gICAgICAgICAgICAgIFJvbGVBbmRQZXJtaXNzaW9uc1RhYmxlVHlwZS5QRVJNSVNTSU9OXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBSZXR1cm5zIGVycm9yIGNvZGUgMzAxNyB3aGVuIHJvbGUgcGVybWlzc2lvbiBtYXBwaW5nIGRvZXMgbm90IGV4aXN0IGZvciBnaXZlbiByb2xlIGlkLlxyXG4gICAgICAgICAgZWxzZSBpZiAoZXJyb3JDb2Rlcy5pbmNsdWRlcygnMzAxNycpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25OYW1lOiB0aGlzLnNlbGVjdGVkUGVybWlzc2lvbj8ucGVybWlzc2lvbk5hbWUsXHJcbiAgICAgICAgICAgICAgcm9sZU9yUGVybWlzc2lvbklkOiB0aGlzLnNlbGVjdGVkUGVybWlzc2lvbj8ucGVybWlzc2lvbklkLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgICAgdGhpcy5tYXBSb2xlc0FuZFBlcm1pc3Npb25zU2NyZWVuVGV4dHMuZXJyb3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlpbmcgdGhlIG1hcHBlZCByb2xlcyBhbmQgcGVybWlzc2lvbnMgZGF0YSBpbnRvIHRoZSBkYXRhIHRhYmxlLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IHJvbGVPclBlcm1pc3Npb25zXHJcbiAgICogQHBhcmFtIHtSb2xlRGV0YWlsc1tdIHwgUGVybWlzc2lvbltdfSBtYXBwZWRSb2xlT3JQZXJtaXNzaW9uc1xyXG4gICAqIEBwYXJhbSB7Um9sZUFuZFBlcm1pc3Npb25zVGFibGVUeXBlfSB0YWJsZVR5cGVcclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIHNldFRhYmxlRGF0YShcclxuICAgIHJvbGVPclBlcm1pc3Npb25zOiBTZWxlY3RPcHRpb25bXSxcclxuICAgIG1hcHBlZFJvbGVPclBlcm1pc3Npb25zOiBSb2xlRGV0YWlsc1tdIHwgUGVybWlzc2lvbltdLFxyXG4gICAgdGFibGVUeXBlOiBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGVcclxuICApOiB2b2lkIHtcclxuICAgIHJvbGVPclBlcm1pc3Npb25zLm1hcCgocm9sZU9yUGVybWlzc2lvbikgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHtcclxuICAgICAgICByb2xlT3JQZXJtaXNzaW9uTmFtZTogcm9sZU9yUGVybWlzc2lvbi5uYW1lLFxyXG4gICAgICAgIHJvbGVPclBlcm1pc3Npb25JZDogcm9sZU9yUGVybWlzc2lvbi5pZCBhcyBzdHJpbmcsXHJcbiAgICAgICAgc3RhdHVzOlxyXG4gICAgICAgICAgdGFibGVUeXBlID09PSBSb2xlQW5kUGVybWlzc2lvbnNUYWJsZVR5cGUuUk9MRVxyXG4gICAgICAgICAgICA/IG1hcHBlZFJvbGVPclBlcm1pc3Npb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgICAobWFwcGVkUm9sZU9yUGVybWlzc2lvbnMgYXMgUm9sZURldGFpbHNbXSkuc29tZShcclxuICAgICAgICAgICAgICAgIChtYXBwZWRSb2xlT3JQZXJtaXNzaW9uOiBSb2xlRGV0YWlscykgPT5cclxuICAgICAgICAgICAgICAgICAgbWFwcGVkUm9sZU9yUGVybWlzc2lvbi5yb2xlSWQgPT09IHJvbGVPclBlcm1pc3Npb24uaWRcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogbWFwcGVkUm9sZU9yUGVybWlzc2lvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgICAgIChtYXBwZWRSb2xlT3JQZXJtaXNzaW9ucyBhcyBQZXJtaXNzaW9uW10pLnNvbWUoXHJcbiAgICAgICAgICAgICAgICAobWFwcGVkUm9sZU9yUGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgICAgICAgbWFwcGVkUm9sZU9yUGVybWlzc2lvbi5wZXJtaXNzaW9uSWQgPT09IHJvbGVPclBlcm1pc3Npb24uaWRcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwYXlsb2FkIGJhc2VkIG9uIHRoZSByb2xlcyBhbmQgcGVybWlzc2lvbnMgbWFwcGluZyAoc2VsZWN0aW9uIG9yIGRlc2VsZWN0aW9uKS5cclxuICAgKiBAcGFyYW0gcm9sZU9yUGVybWlzc2lvblN0YXR1c1xyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgcm9sZU9yUGVybWlzc2lvblN0YXR1c0NoYW5nZShyb2xlT3JQZXJtaXNzaW9uU3RhdHVzOiB7XHJcbiAgICBzbGlkZVRvZ2dsZTogU2xpZGVUb2dnbGVPcHRpb247XHJcbiAgICByb3dEYXRhOiBSb2xlT3JQZXJtaXNzaW9uTWFwcGluZztcclxuICB9KTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgICh0aGlzLnNlbGVjdGVkUm9sZT8ucm9sZUlkICYmIHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uPy5wZXJtaXNzaW9uSWQpIHx8XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlPy5yb2xlSWRcclxuICAgICkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLmZpbmQoXHJcbiAgICAgICAgICAocGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgcGVybWlzc2lvbi5wZXJtaXNzaW9uSWQgPT09XHJcbiAgICAgICAgICAgIHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWRcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZy5zcGxpY2UoXHJcbiAgICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcuZmluZEluZGV4KFxyXG4gICAgICAgICAgICAocGVybWlzc2lvbikgPT5cclxuICAgICAgICAgICAgICBwZXJtaXNzaW9uLnBlcm1pc3Npb25JZCA9PT1cclxuICAgICAgICAgICAgICByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnJvd0RhdGEucm9sZU9yUGVybWlzc2lvbklkXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgMVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLnB1c2goe1xyXG4gICAgICAgICAgcm9sZUlkOiB0aGlzLnNlbGVjdGVkUm9sZS5yb2xlSWQsXHJcbiAgICAgICAgICBwZXJtaXNzaW9uSWQ6IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWQsXHJcbiAgICAgICAgICBhcHBJZDogdGhpcy5hcHBJZCxcclxuICAgICAgICAgIHN0YXR1czogcm9sZU9yUGVybWlzc2lvblN0YXR1cy5zbGlkZVRvZ2dsZS5jaGVja2VkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uPy5wZXJtaXNzaW9uSWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZy5maW5kKFxyXG4gICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgIHJvbGUucm9sZUlkID09PSByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnJvd0RhdGEucm9sZU9yUGVybWlzc2lvbklkXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcuc3BsaWNlKFxyXG4gICAgICAgICAgdGhpcy5tb2RpZmllZFJvbGVzQW5kUGVybWlzc2lvbnNNYXBwaW5nLmZpbmRJbmRleChcclxuICAgICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgICAgcm9sZS5yb2xlSWQgPT09IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWRcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICAxXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcucHVzaCh7XHJcbiAgICAgICAgICByb2xlSWQ6IHJvbGVPclBlcm1pc3Npb25TdGF0dXMucm93RGF0YS5yb2xlT3JQZXJtaXNzaW9uSWQsXHJcbiAgICAgICAgICBwZXJtaXNzaW9uSWQ6IHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9uLnBlcm1pc3Npb25JZCxcclxuICAgICAgICAgIGFwcElkOiB0aGlzLmFwcElkLFxyXG4gICAgICAgICAgc3RhdHVzOiByb2xlT3JQZXJtaXNzaW9uU3RhdHVzLnNsaWRlVG9nZ2xlLmNoZWNrZWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZHluYW1pY0Zvcm1Db21wb25lbnQuaXNTdWJtaXRCdXR0b25EaXNhYmxlZCA9XHJcbiAgICAgICF0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcubGVuZ3RoO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTdWJtaXRzIHRoZSByb2xlcyBhbmQgcGVybWlzc2lvbnMgbWFwcGluZ3MgdG8gdGhlIHNlcnZlci5cclxuICAgKiBAbWVtYmVyb2YgTWFwUGVybWlzc2lvbnNSb2xlc0NvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAqL1xyXG4gIG9uTWFwQW5kUGVybWlzc2lvbnNGb3JtU3VibWl0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF5bG9hZDogUm9sZXNBbmRQZXJtaXNzaW9uc1JlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB0aGlzLm1vZGlmaWVkUm9sZXNBbmRQZXJtaXNzaW9uc01hcHBpbmcsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5keW5hbWljRm9ybUNvbXBvbmVudC5pc1N1Ym1pdEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubW9kaWZpZWRSb2xlc0FuZFBlcm1pc3Npb25zTWFwcGluZyA9IFtdO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5zYXZlUm9sZVBlcm1pc3Npb25NYXBwaW5nKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2Uuc2hvd0FsZXJ0TWVzc2FnZShcclxuICAgICAgICAgICAgICBBbGVydFR5cGUuU1VDQ0VTUyxcclxuICAgICAgICAgICAgICB0aGlzLm1hcFJvbGVzQW5kUGVybWlzc2lvbnNTY3JlZW5UZXh0cy5tZXNzYWdlLnN1Y2Nlc3NcclxuICAgICAgICAgICAgICAgIC5yb2xlc0FuZFBlcm1pc3Npb25zU3VibWlzc2lvblxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMubWFwUm9sZXNBbmRQZXJtaXNzaW9uc1NjcmVlblRleHRzLmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBtYXAgYW5kIHBlcm1pc3Npb25zIG1vZGFsLlxyXG4gICAqIEBtZW1iZXJvZiBNYXBQZXJtaXNzaW9uc1JvbGVzQ29tcG9uZW50XHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgb25NYXBBbmRQZXJtaXNzaW9uc0Zvcm1DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBQZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkPy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGllZWVzYS1keW5hbWljLWZvcm1cclxuICBbZm9ybUdyb3Vwc109XCJmb3JtR3JvdXBcIlxyXG4gIFtjb2xXaWR0aF09XCJjb2xXaWR0aFwiXHJcbiAgW2lzU3VibWl0QnV0dG9uRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgW2lzTGVnZW5kVmlzaWJsZV09XCJ0cnVlXCJcclxuICBbbGVmdEJ1dHRvbkxhYmVsXT1cImxlZnRCdXR0b25MYWJlbFwiXHJcbiAgW3JpZ2h0QnV0dG9uTGFiZWxdPVwicmlnaHRCdXR0b25MYWJlbFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJ0cnVlXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIChkcm9wZG93bkNoYW5nZSk9XCJvblJvbGVPclBlcm1pc3Npb25TZWxlY3RlZCgkZXZlbnQpXCJcclxuICAoZm9ybVN1Ym1pdCk9XCJvbk1hcEFuZFBlcm1pc3Npb25zRm9ybVN1Ym1pdCgpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cIm9uTWFwQW5kUGVybWlzc2lvbnNGb3JtQ2FuY2VsKClcIlxyXG4+XHJcbiAgPGllZWVzYS1kYXRhLXRhYmxlXHJcbiAgICBjb21wb25lbnRcclxuICAgICpuZ0lmPVwidGFibGVEYXRhLmxlbmd0aFwiXHJcbiAgICBbY29sdW1uU2NoZW1hSW5mb109XCJ0YWJsZUNvbHVtblNjaGVtYVwiXHJcbiAgICBbdGFibGVDb2x1bW5zSGVhZGVyVGV4dF09XCJ0YWJsZUhlYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YUluZm9dPVwidGFibGVEYXRhXCJcclxuICAgIChyb3dTbGlkZVRvZ2dsZSk9XCJyb2xlT3JQZXJtaXNzaW9uU3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2llZWVzYS1kYXRhLXRhYmxlPlxyXG48L2llZWVzYS1keW5hbWljLWZvcm0+XHJcbiJdfQ==
|
|
@@ -50,9 +50,11 @@ export class TenantBasicDetailsComponent {
|
|
|
50
50
|
* @memberof TenantBasicDetailsComponent
|
|
51
51
|
*/
|
|
52
52
|
getAppType() {
|
|
53
|
-
const appTypes = this.tenantAppService.
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
const appTypes = this.tenantAppService.getApplicationType();
|
|
54
|
+
if (this.basicInfo) {
|
|
55
|
+
const selectedType = appTypes?.find(({ id }) => id === this.basicInfo?.appType);
|
|
56
|
+
this.selectedAppTypeLabel = selectedType?.label;
|
|
57
|
+
}
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
60
|
* Retrieves presigned URL for downloading files from Amazon S3 bucket.
|
|
@@ -73,24 +75,6 @@ export class TenantBasicDetailsComponent {
|
|
|
73
75
|
},
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Downloads file from AWS S3 using a presigned URL.
|
|
78
|
-
* @memberof TenantBasicDetailsComponent
|
|
79
|
-
*/
|
|
80
|
-
downloadFile(presignedUrl) {
|
|
81
|
-
this.fileUploadService
|
|
82
|
-
.downloadFile(presignedUrl)
|
|
83
|
-
.pipe(takeUntil(this.destroy$))
|
|
84
|
-
.subscribe({
|
|
85
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
-
next: (response) => {
|
|
87
|
-
this.imageUrl = response;
|
|
88
|
-
},
|
|
89
|
-
error: (error) => {
|
|
90
|
-
this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
78
|
/**
|
|
95
79
|
* Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
96
80
|
* @memberof ViewTenantDetailsComponent
|
|
@@ -108,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
108
92
|
}], ctorParameters: function () { return [{ type: i1.TenantApplicationsService }, { type: i2.BreakpointObserverService }, { type: i3.FileUploadService }, { type: i4.SharedService }]; }, propDecorators: { tenantDetails: [{
|
|
109
93
|
type: Input
|
|
110
94
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUdMLHFCQUFxQixHQUN0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBWWxDLE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVEO0lBQ0UsMENBQTBDO0lBQ25DLGdCQUEyQztJQUNsRCwwQ0FBMEM7SUFDbEMseUJBQW9EO0lBQzVELDBDQUEwQztJQUNsQyxpQkFBb0M7SUFDNUMsMENBQTBDO0lBQ2xDLGFBQTRCO1FBTjdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBMkI7UUFFMUMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUVwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRXBDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBN0J0QyxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFDcEQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FBUyxHQUFHLFVBQVUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUM7UUE0QnhFLElBQUksQ0FBQyx5QkFBeUI7YUFDM0IsYUFBYSxFQUFFO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxFQUFFLE9BQU8sQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUNuRCxNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsTUFBTSxDQUNuQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FDbkMsQ0FBQztRQUNuQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNEJBQTRCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQjthQUNuQiw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7YUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsOERBQThEO1lBQzlELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDakMsQ0FBQztZQUNELDhEQUE4RDtZQUM5RCxLQUFLLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQzdCLEtBQUssRUFDTCxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQ3BDLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxZQUFvQjtRQUMvQixJQUFJLENBQUMsaUJBQWlCO2FBQ25CLFlBQVksQ0FBQyxZQUFZLENBQUM7YUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsOERBQThEO1lBQzlELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQWtCLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUM3QixLQUFLLEVBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUNwQyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXpHVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtSUN0QnhDLDQxREE0Q0EscS9RRDNCWSxZQUFZLG1iQUFFLHFCQUFxQjs7NEZBS2xDLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLGlCQUcvQixpQkFBaUIsQ0FBQyxJQUFJO29OQWNqQyxhQUFhO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0IGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIFJhZGlvT3B0aW9uLFxyXG4gIEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gIEltYWdlUHJldmlld0NvbXBvbmVudCxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50QmFzaWNJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10ZW5hbnQtYmFzaWMtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbWFnZVByZXZpZXdDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnQtYmFzaWMtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50QmFzaWNEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgY29uc3RhbnRzID0gc2NyZWVuVGV4dDtcclxuICBiYXNpY0RldGFpbFRleHRzID0gdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzPy50ZW5hbnRCYXNpY0RldGFpbHM/LmxhYmVsO1xyXG4gIHRlbmFudEJhY2tncm91bmRDb2xvciE6IHN0cmluZztcclxuICBzZWxlY3RlZEFwcFR5cGUhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRBcHBUeXBlTGFiZWwhOiBzdHJpbmc7XHJcbiAgbG9nbyE6IHN0cmluZztcclxuICBiYXNpY0luZm8hOiBUZW5hbnRCYXNpY0luZm87XHJcbiAgaW1hZ2VVcmwhOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzZXQgdGVuYW50RGV0YWlscyh2YWx1ZTogVGVuYW50QmFzaWNJbmZvKSB7XHJcbiAgICB0aGlzLmJhc2ljSW5mbyA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2dvID0gdGhpcy5iYXNpY0luZm8/LmFwcExvZ28gYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGUgPSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5iYXNpY0luZm8pIHtcclxuICAgICAgdGhpcy5nZXRBcHBUeXBlKCk7XHJcbiAgICAgIHRoaXMuZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyh0aGlzLmxvZ28pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyB0ZW5hbnRBcHBTZXJ2aWNlOiBUZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiB7IG1hdGNoZXM6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Py5tYXRjaGVzO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRBcHBsaWNhdGlvblR5cGUoKTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0QXBpQmFzZVVybCh0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmFwaUJhc2VVcmwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgYXBwbGljYXRpb24gdHlwZXMuXHJcbiAgICogQG1lbWJlcm9mIFRlbmFudEJhc2ljRGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFwcFR5cGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcHBUeXBlcyA9IHRoaXMudGVuYW50QXBwU2VydmljZS5hcHBUeXBlSW5mbztcclxuICAgIGNvbnN0IHNlbGVjdGVkVHlwZSA9IGFwcFR5cGVzPy5maWx0ZXIoXHJcbiAgICAgIChhcHBUeXBlKSA9PiBhcHBUeXBlLmlkID09PSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZVxyXG4gICAgKSBhcyBSYWRpb09wdGlvbltdO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVMYWJlbCA9IHNlbGVjdGVkVHlwZVswXT8ubGFiZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgZnJvbSBBbWF6b24gUzMgYnVja2V0LlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoZmlsZU5hbWUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlPy5ib2R5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RhbnRzPy52aWV3VGVuYW50cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIGZpbGUgZnJvbSBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBkb3dubG9hZEZpbGUocHJlc2lnbmVkVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmRvd25sb2FkRmlsZShwcmVzaWduZWRVcmwpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlIGFzIHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybXMgbmVjZXNzYXJ5IGNsZWFudXAgdGFza3MsIHN1Y2ggYXMgdW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJiYXNpY0luZm9cIiBjbGFzcz1cImllZWVzYS10ZW5hbnQtYmFzaWMtaW5mbyBkLWZsZXggZmxleC1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7IGJhc2ljRGV0YWlsVGV4dHMudGl0bGUgfX08L3A+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtYm9keS1tZC0xNlwiPnt7IGJhc2ljSW5mby5hcHBUaXRsZSB9fTwvcD5cclxuICA8cCBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTJcIj57eyBiYXNpY0RldGFpbFRleHRzLmxvZ28gfX08L3A+XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIDxpZWVlc2EtaW1hZ2UtcHJldmlld1xyXG4gICAgICBjbGFzcz1cInBiLTNcIlxyXG4gICAgICBbaW1hZ2VVcmxdPVwiaW1hZ2VVcmxcIlxyXG4gICAgPjwvaWVlZXNhLWltYWdlLXByZXZpZXc+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3tcclxuICAgIGJhc2ljRGV0YWlsVGV4dHMuaGVhZGluZ1xyXG4gIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLXRpdGxlLXNtLTE2XCI+e3sgYmFzaWNJbmZvLmFwcEhlYWRpbmcgfX08L3A+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3tcclxuICAgIGJhc2ljRGV0YWlsVGV4dHMuZGVzY3JpcHRpb25cclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1zbS0xNiBtZS00XCI+e3sgYmFzaWNJbmZvLmFwcERlc2NyaXB0aW9uIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMlwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmJnQ29sb3JcclxuICB9fTwvc3Bhbj5cclxuICA8cFxyXG4gICAgY2xhc3M9XCJpZWVlc2EtdGVuYW50LWJhc2ljLWluZm9fX2JnQ29sb3JcIlxyXG4gICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IGJhc2ljSW5mby5iYWNrZ3JvdW5kQ29sb3IgfVwiXHJcbiAgPjwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5oZWxwTGlua1xyXG4gIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLXRpdGxlLXNtLTE2XCI+e3sgYmFzaWNJbmZvLmFwcEhlbHBMaW5rIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmxpc3RPZkZlYXR1cmVzXHJcbiAgfX08L3NwYW4+XHJcbiAgPHVsIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICcnIDogJ2QtZmxleCBnYXAtNSdcIj5cclxuICAgIDxsaSBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE2XCIgKm5nRm9yPVwibGV0IGZlYXR1cmUgb2YgYmFzaWNJbmZvLmZlYXR1cmVzXCI+XHJcbiAgICAgIHt7IGZlYXR1cmU/LmZlYXR1cmVOYW1lIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3tcclxuICAgIGJhc2ljRGV0YWlsVGV4dHMuZG9tYWluVVJMXHJcbiAgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtc20tMTZcIj57eyBiYXNpY0luZm8uYXBwRG9tYWluVXJsIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7IGJhc2ljRGV0YWlsVGV4dHMudHlwZSB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE2XCI+e3sgc2VsZWN0ZWRBcHBUeXBlTGFiZWwgfX08L3A+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUVMLHFCQUFxQixHQUN0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBWWxDLE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO0lB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WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHQgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgSW1hZ2VQcmV2aWV3Q29tcG9uZW50LFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBUZW5hbnRCYXNpY0luZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50Lm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXRlbmFudC1iYXNpYy1kZXRhaWxzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEltYWdlUHJldmlld0NvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1iYXNpYy1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZW5hbnQtYmFzaWMtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBjb25zdGFudHMgPSBzY3JlZW5UZXh0O1xyXG4gIGJhc2ljRGV0YWlsVGV4dHMgPSB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LnRlbmFudEJhc2ljRGV0YWlscz8ubGFiZWw7XHJcbiAgdGVuYW50QmFja2dyb3VuZENvbG9yITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkQXBwVHlwZSE6IHN0cmluZztcclxuICBzZWxlY3RlZEFwcFR5cGVMYWJlbCE6IHN0cmluZztcclxuICBsb2dvITogc3RyaW5nO1xyXG4gIGJhc2ljSW5mbyE6IFRlbmFudEJhc2ljSW5mbztcclxuICBpbWFnZVVybCE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHNldCB0ZW5hbnREZXRhaWxzKHZhbHVlOiBUZW5hbnRCYXNpY0luZm8pIHtcclxuICAgIHRoaXMuYmFzaWNJbmZvID0gdmFsdWU7XHJcbiAgICB0aGlzLmxvZ28gPSB0aGlzLmJhc2ljSW5mbz8uYXBwTG9nbyBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXBwVHlwZSA9IHRoaXMuYmFzaWNJbmZvPy5hcHBUeXBlIGFzIHN0cmluZztcclxuICAgIGlmICh0aGlzLmJhc2ljSW5mbykge1xyXG4gICAgICB0aGlzLmdldEFwcFR5cGUoKTtcclxuICAgICAgdGhpcy5nZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKHRoaXMubG9nbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIHRlbmFudEFwcFNlcnZpY2U6IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyU2VydmljZTogQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRCcmVha3BvaW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHsgbWF0Y2hlczogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQ/Lm1hdGNoZXM7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEFwcGxpY2F0aW9uVHlwZSgpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRBcGlCYXNlVXJsKHRoaXMudGVuYW50QXBwU2VydmljZT8uYXBpQmFzZVVybCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBhcHBsaWNhdGlvbiB0eXBlcy5cclxuICAgKiBAbWVtYmVyb2YgVGVuYW50QmFzaWNEZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0QXBwVHlwZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFwcFR5cGVzID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEFwcGxpY2F0aW9uVHlwZSgpO1xyXG4gICAgaWYgKHRoaXMuYmFzaWNJbmZvKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVHlwZSA9IGFwcFR5cGVzPy5maW5kKFxyXG4gICAgICAgICh7IGlkIH0pID0+IGlkID09PSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXBwVHlwZUxhYmVsID0gc2VsZWN0ZWRUeXBlPy5sYWJlbCBhcyBzdHJpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgZnJvbSBBbWF6b24gUzMgYnVja2V0LlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoZmlsZU5hbWUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlPy5ib2R5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudERldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQ/Lm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiYmFzaWNJbmZvXCIgY2xhc3M9XCJpZWVlc2EtdGVuYW50LWJhc2ljLWluZm8gZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICA8cCBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57eyBiYXNpY0RldGFpbFRleHRzLnRpdGxlIH19PC9wPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktbWQtMTZcIj57eyBiYXNpY0luZm8uYXBwVGl0bGUgfX08L3A+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0yXCI+e3sgYmFzaWNEZXRhaWxUZXh0cy5sb2dvIH19PC9wPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8aWVlZXNhLWltYWdlLXByZXZpZXdcclxuICAgICAgY2xhc3M9XCJwYi0zXCJcclxuICAgICAgW2ltYWdlVXJsXT1cImltYWdlVXJsXCJcclxuICAgID48L2llZWVzYS1pbWFnZS1wcmV2aWV3PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmhlYWRpbmdcclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1zbS0xNlwiPnt7IGJhc2ljSW5mby5hcHBIZWFkaW5nIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmRlc2NyaXB0aW9uXHJcbiAgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtc20tMTYgbWUtNFwiPnt7IGJhc2ljSW5mby5hcHBEZXNjcmlwdGlvbiB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTJcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5iZ0NvbG9yXHJcbiAgfX08L3NwYW4+XHJcbiAgPHBcclxuICAgIGNsYXNzPVwiaWVlZXNhLXRlbmFudC1iYXNpYy1pbmZvX19iZ0NvbG9yXCJcclxuICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBiYXNpY0luZm8uYmFja2dyb3VuZENvbG9yIH1cIlxyXG4gID48L3A+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3tcclxuICAgIGJhc2ljRGV0YWlsVGV4dHMuaGVscExpbmtcclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1zbS0xNlwiPnt7IGJhc2ljSW5mby5hcHBIZWxwTGluayB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5saXN0T2ZGZWF0dXJlc1xyXG4gIH19PC9zcGFuPlxyXG4gIDx1bCBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAnJyA6ICdkLWZsZXggZ2FwLTUnXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJpZWVlc2EtYm9keS1tZC0xNlwiICpuZ0Zvcj1cImxldCBmZWF0dXJlIG9mIGJhc2ljSW5mby5mZWF0dXJlc1wiPlxyXG4gICAgICB7eyBmZWF0dXJlPy5mZWF0dXJlTmFtZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmRvbWFpblVSTFxyXG4gIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLXRpdGxlLXNtLTE2XCI+e3sgYmFzaWNJbmZvLmFwcERvbWFpblVybCB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57eyBiYXNpY0RldGFpbFRleHRzLnR5cGUgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtYm9keS1tZC0xNlwiPnt7IHNlbGVjdGVkQXBwVHlwZUxhYmVsIH19PC9wPlxyXG48L2Rpdj5cclxuIl19
|