@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
102 lines • 18.6 kB
JavaScript
import { Component, Inject, ViewChild } from '@angular/core';
import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, NAE_BASE_FILTER, NAE_DEFAULT_HEADERS, SearchService, UserImpersonationConstants } from '@netgrif/components-core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@netgrif/components-core";
import * as i3 from "@angular/common";
import * as i4 from "@ngbracket/ngx-layout";
import * as i5 from "@ngbracket/ngx-layout/extended";
import * as i6 from "../../view/case-view/components/case-list/case-list.component";
import * as i7 from "../../header/header.component";
import * as i8 from "@ngx-translate/core";
function baseFilterFactory(dialogControl) {
if (!dialogControl) {
throw new Error('NewFilterCaseId was not provided in the side menu injection data');
}
return { filter: dialogControl.filter };
}
function localAllowedNetsFactory(factory) {
return factory.createFromArray([UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER]);
}
export class UserImpersonateDialogComponent extends AbstractCaseViewComponent {
_dialogRef;
_data;
caseHeaderComponent;
_injectedData;
constructor(_dialogRef, _data, caseViewService) {
super(caseViewService);
this._dialogRef = _dialogRef;
this._data = _data;
if (this._data) {
this._injectedData = this._data;
}
}
handleCaseClick(clickedCase) {
this._dialogRef.close({
opened: false,
message: 'User selected',
data: {
stringId: clickedCase.stringId
}
});
}
ngAfterViewInit() {
this.initializeHeader(this.caseHeaderComponent);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserImpersonateDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.CaseViewService }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UserImpersonateDialogComponent, selector: "nc-user-impersonate-dialog", providers: [
CaseViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: baseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
{
provide: NAE_DEFAULT_HEADERS,
useValue: [
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_IMPERSONATED}`,
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_ROLES}`,
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_AUTHS}`,
]
}
], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.impersonation.title' | translate }}\n</div>\n<div mat-dialog-content class=\"load-filter-container side-menu-root\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"3\" [responsiveHeaders]=\"true\" [hideHeaderMenu]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" class=\"virtual-scroll-list-padding\"></nc-case-list>\n</div>\n\n", styles: [".load-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px}.case-header-padding{padding-top:4px}.virtual-scroll-list-padding{padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.CaseListComponent, selector: "nc-case-list" }, { kind: "component", type: i7.HeaderComponent, selector: "nc-header" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserImpersonateDialogComponent, decorators: [{
type: Component,
args: [{ selector: 'nc-user-impersonate-dialog', providers: [
CaseViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: baseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
{
provide: NAE_DEFAULT_HEADERS,
useValue: [
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_IMPERSONATED}`,
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_ROLES}`,
`${UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER}-${UserImpersonationConstants.IMPERSONATION_CONFIG_FIELD_AUTHS}`,
]
}
], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.impersonation.title' | translate }}\n</div>\n<div mat-dialog-content class=\"load-filter-container side-menu-root\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"3\" [responsiveHeaders]=\"true\" [hideHeaderMenu]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" class=\"virtual-scroll-list-padding\"></nc-case-list>\n</div>\n\n", styles: [".load-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px}.case-header-padding{padding-top:4px}.virtual-scroll-list-padding{padding-right:4px}\n"] }]
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }, { type: i2.CaseViewService }], propDecorators: { caseHeaderComponent: [{
type: ViewChild,
args: ['header']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbXBlcnNvbmF0ZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGlhbG9nL3VzZXItaW1wZXJzb25hdGUtZGlhbG9nL3VzZXItaW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy91c2VyLWltcGVyc29uYXRlLWRpYWxvZy91c2VyLWltcGVyc29uYXRlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUd6QixlQUFlLEVBQ2YsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixhQUFhLEVBR2IsMEJBQTBCLEVBQzdCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBRXZFLFNBQVMsaUJBQWlCLENBQUMsYUFBMkM7SUFDbEUsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7S0FDdkY7SUFFRCxPQUFPLEVBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxPQUFrQztJQUMvRCxPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUM7QUFDckcsQ0FBQztBQTZCRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEseUJBQXlCO0lBS25EO0lBQ21DO0lBSjdCLG1CQUFtQixDQUFrQjtJQUN2RCxhQUFhLENBQStCO0lBRXRELFlBQXNCLFVBQXdELEVBQ3JCLEtBQW1DLEVBQ3RFLGVBQWdDO1FBQ2xELEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUhMLGVBQVUsR0FBVixVQUFVLENBQThDO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQThCO1FBR3hGLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQXFDLENBQUM7U0FDbkU7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQWlCO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2xCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTthQUNBO1NBQ3JDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7d0dBMUJRLDhCQUE4Qiw4Q0FNVCxlQUFlOzRGQU5wQyw4QkFBOEIscURBdkI1QjtZQUNQLGVBQWU7WUFDZixhQUFhO1lBQ2I7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7Z0JBQzdCLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMxQjtZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ3BDO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsUUFBUSxFQUFFO29CQUNOLEdBQUcsMEJBQTBCLENBQUMsbUNBQW1DLElBQUksMEJBQTBCLENBQUMsdUNBQXVDLEVBQUU7b0JBQ3pJLEdBQUcsMEJBQTBCLENBQUMsbUNBQW1DLElBQUksMEJBQTBCLENBQUMsZ0NBQWdDLEVBQUU7b0JBQ2xJLEdBQUcsMEJBQTBCLENBQUMsbUNBQW1DLElBQUksMEJBQTBCLENBQUMsZ0NBQWdDLEVBQUU7aUJBQ3JJO2FBQ0o7U0FDSixnS0N2REwsaXdCQVNBOzs0RkRnRGEsOEJBQThCO2tCQTNCMUMsU0FBUzsrQkFDSSw0QkFBNEIsYUFHM0I7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiOzRCQUNJLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsaUJBQWlCOzRCQUM3QixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzFCO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUI7NEJBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO3lCQUNwQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixRQUFRLEVBQUU7Z0NBQ04sR0FBRywwQkFBMEIsQ0FBQyxtQ0FBbUMsSUFBSSwwQkFBMEIsQ0FBQyx1Q0FBdUMsRUFBRTtnQ0FDekksR0FBRywwQkFBMEIsQ0FBQyxtQ0FBbUMsSUFBSSwwQkFBMEIsQ0FBQyxnQ0FBZ0MsRUFBRTtnQ0FDbEksR0FBRywwQkFBMEIsQ0FBQyxtQ0FBbUMsSUFBSSwwQkFBMEIsQ0FBQyxnQ0FBZ0MsRUFBRTs2QkFDckk7eUJBQ0o7cUJBQ0o7OzBCQVFzQixNQUFNOzJCQUFDLGVBQWU7dUVBSmpCLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBCYXNlRmlsdGVyLFxuICAgIENhc2UsXG4gICAgQ2FzZVZpZXdTZXJ2aWNlLFxuICAgIE5BRV9CQVNFX0ZJTFRFUixcbiAgICBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgVXNlckltcGVyc29uYXRlQ29uZmlnTWV0YWRhdGEsXG4gICAgVXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YSxcbiAgICBVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50c1xufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmZ1bmN0aW9uIGJhc2VGaWx0ZXJGYWN0b3J5KGRpYWxvZ0NvbnRyb2w6IFVzZXJJbXBlcnNvbmF0ZUluamVjdGlvbkRhdGEpOiBCYXNlRmlsdGVyIHtcbiAgICBpZiAoIWRpYWxvZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXdGaWx0ZXJDYXNlSWQgd2FzIG5vdCBwcm92aWRlZCBpbiB0aGUgc2lkZSBtZW51IGluamVjdGlvbiBkYXRhJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtmaWx0ZXI6IGRpYWxvZ0NvbnRyb2wuZmlsdGVyfTtcbn1cblxuZnVuY3Rpb24gbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnkoZmFjdG9yeTogQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSk6IEFsbG93ZWROZXRzU2VydmljZSB7XG4gICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRnJvbUFycmF5KFtVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19ORVRfSURFTlRJRklFUl0pO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXVzZXItaW1wZXJzb25hdGUtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1pbXBlcnNvbmF0ZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VzZXItaW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkFFX0JBU0VfRklMVEVSLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogYmFzZUZpbHRlckZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbTUFUX0RJQUxPR19EQVRBXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFtcbiAgICAgICAgICAgICAgICBgJHtVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19ORVRfSURFTlRJRklFUn0tJHtVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19GSUVMRF9JTVBFUlNPTkFURUR9YCxcbiAgICAgICAgICAgICAgICBgJHtVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19ORVRfSURFTlRJRklFUn0tJHtVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19GSUVMRF9ST0xFU31gLFxuICAgICAgICAgICAgICAgIGAke1VzZXJJbXBlcnNvbmF0aW9uQ29uc3RhbnRzLklNUEVSU09OQVRJT05fQ09ORklHX05FVF9JREVOVElGSUVSfS0ke1VzZXJJbXBlcnNvbmF0aW9uQ29uc3RhbnRzLklNUEVSU09OQVRJT05fQ09ORklHX0ZJRUxEX0FVVEhTfWAsXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJJbXBlcnNvbmF0ZURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIHB1YmxpYyBjYXNlSGVhZGVyQ29tcG9uZW50OiBIZWFkZXJDb21wb25lbnQ7XG4gICAgcHJvdGVjdGVkIF9pbmplY3RlZERhdGE6IFVzZXJJbXBlcnNvbmF0ZUluamVjdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFVzZXJJbXBlcnNvbmF0ZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFVzZXJJbXBlcnNvbmF0ZUluamVjdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGNhc2VWaWV3U2VydmljZSk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFVzZXJJbXBlcnNvbmF0ZUluamVjdGlvbkRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDYXNlQ2xpY2soY2xpY2tlZENhc2U6IENhc2UpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVXNlciBzZWxlY3RlZCcsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgc3RyaW5nSWQ6IGNsaWNrZWRDYXNlLnN0cmluZ0lkXG4gICAgICAgICAgICB9IGFzIFVzZXJJbXBlcnNvbmF0ZUNvbmZpZ01ldGFkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMuY2FzZUhlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibWF0LWRpYWxvZy10aXRsZVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBub25lXCI+XG4gICAge3sgJ3NpZGUtbWVudS5pbXBlcnNvbmF0aW9uLnRpdGxlJyB8IHRyYW5zbGF0ZSAgfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJsb2FkLWZpbHRlci1jb250YWluZXIgc2lkZS1tZW51LXJvb3RcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgPG5jLWhlYWRlciAjaGVhZGVyIFt0eXBlXT1cImhlYWRlclR5cGVcIiBbbWF4SGVhZGVyQ29sdW1uc109XCIzXCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cInRydWVcIiBbaGlkZUhlYWRlck1lbnVdPVwidHJ1ZVwiIGNsYXNzPVwiY2FzZS1oZWFkZXItcGFkZGluZ1wiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBnZXRXaWR0aCgpfVwiPjwvbmMtaGVhZGVyPlxuICAgIDxuYy1jYXNlLWxpc3QgW3NlbGVjdGVkSGVhZGVycyRdPVwic2VsZWN0ZWRIZWFkZXJzJFwiIFtzaG93RGVsZXRlTWVudV09XCJmYWxzZVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgIChjYXNlQ2xpY2spPVwiaGFuZGxlQ2FzZUNsaWNrKCRldmVudClcIiBbcmVzcG9uc2l2ZUJvZHldPVwidHJ1ZVwiIGZ4RmxleCBbdGV4dEVsbGlwc2lzXT1cInRydWVcIiBjbGFzcz1cInZpcnR1YWwtc2Nyb2xsLWxpc3QtcGFkZGluZ1wiPjwvbmMtY2FzZS1saXN0PlxuPC9kaXY+XG5cbiJdfQ==