@c8y/ngx-components 1018.503.45 → 1018.503.50
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/context-dashboard/add-dashboard.factory.d.ts +3 -2
- package/context-dashboard/context-dashboard.model.d.ts +16 -1
- package/context-dashboard/context-dashboard.service.d.ts +4 -2
- package/context-dashboard/report-dashboard/report-dashboard-list.component.d.ts +3 -2
- package/core/common/ApplicationOptions.d.ts +2 -2
- package/core/login/credentials.component.d.ts +1 -3
- package/core/login/login.component.d.ts +3 -1
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +17 -5
- package/esm2020/context-dashboard/context-dashboard.component.mjs +24 -4
- package/esm2020/context-dashboard/context-dashboard.model.mjs +19 -4
- package/esm2020/context-dashboard/context-dashboard.service.mjs +21 -6
- package/esm2020/context-dashboard/dashboard-availability.component.mjs +3 -3
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +21 -6
- package/esm2020/core/common/ApplicationOptions.mjs +1 -1
- package/esm2020/core/login/credentials.component.mjs +15 -18
- package/esm2020/core/login/login.component.mjs +18 -15
- package/esm2020/widgets/implementations/device-control-message/device-control-message-widget-view/device-control-message-widget-view.component.mjs +17 -9
- package/esm2020/widgets/implementations/map/map-widget.component.mjs +26 -11
- package/esm2020/widgets/implementations/three-d-rotation/lazy-box-model/lazy-load-box-model.mjs +3 -3
- package/esm2020/widgets/implementations/three-d-rotation/lazy-phone-model/lazy-load-phone-model.mjs +3 -3
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +91 -15
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-device-control-message.mjs +19 -8
- package/fesm2015/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-map.mjs +37 -20
- package/fesm2015/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs +2 -2
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs +2 -2
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +11 -11
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +91 -15
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-device-control-message.mjs +15 -8
- package/fesm2020/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-map.mjs +25 -13
- package/fesm2020/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs +2 -2
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs +2 -2
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +11 -11
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/widgets/implementations/device-control-message/device-control-message-widget-view/device-control-message-widget-view.component.d.ts +4 -2
- package/widgets/implementations/map/map-widget.component.d.ts +7 -4
- package/widgets/implementations/three-d-rotation/lazy-box-model/lazy-load-box-model.d.ts +79 -1
- package/widgets/implementations/three-d-rotation/lazy-phone-model/lazy-load-phone-model.d.ts +76 -1
- package/esm2020/widgets/implementations/three-d-rotation/box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs +0 -5
- package/esm2020/widgets/implementations/three-d-rotation/box-model/index.mjs +0 -4
- package/esm2020/widgets/implementations/three-d-rotation/phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs +0 -5
- package/esm2020/widgets/implementations/three-d-rotation/phone-model/index.mjs +0 -4
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs +0 -10
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs.map +0 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs +0 -10
- package/fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs.map +0 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs +0 -10
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs.map +0 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs +0 -10
- package/fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs.map +0 -1
- package/widgets/implementations/three-d-rotation/box-model/index.d.ts +0 -1
- package/widgets/implementations/three-d-rotation/phone-model/index.d.ts +0 -1
|
@@ -3,10 +3,10 @@ import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
|
3
3
|
import { BsModalService } from 'ngx-bootstrap/modal';
|
|
4
4
|
import { InventoryService } from '@c8y/client';
|
|
5
5
|
import { debounceTime, distinctUntilChanged, shareReplay, switchMap, tap } from 'rxjs/operators';
|
|
6
|
-
import { FilterInputComponent, gettext, ModalService, Status, AlertService, Permissions } from '@c8y/ngx-components';
|
|
6
|
+
import { FilterInputComponent, gettext, ModalService, Status, AlertService, Permissions, GainsightService } from '@c8y/ngx-components';
|
|
7
7
|
import { DashboardDetailComponent } from '../dashboard-detail.component';
|
|
8
8
|
import { ContextDashboardService } from '../context-dashboard.service';
|
|
9
|
-
import { ContextDashboardType } from '../context-dashboard.model';
|
|
9
|
+
import { ContextDashboardType, PRODUCT_EXPERIENCE } from '../context-dashboard.model';
|
|
10
10
|
import { TranslateService } from '@ngx-translate/core';
|
|
11
11
|
import { ReportDashboardService } from './report-dashboard.service';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
@@ -22,7 +22,7 @@ import * as i9 from "ngx-bootstrap/tooltip";
|
|
|
22
22
|
import * as i10 from "@angular/router";
|
|
23
23
|
import * as i11 from "ngx-bootstrap/popover";
|
|
24
24
|
export class ReportDashboardListComponent {
|
|
25
|
-
constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions) {
|
|
25
|
+
constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions, gainsightService) {
|
|
26
26
|
this.inventoryService = inventoryService;
|
|
27
27
|
this.contextDashboardService = contextDashboardService;
|
|
28
28
|
this.bsModal = bsModal;
|
|
@@ -31,6 +31,7 @@ export class ReportDashboardListComponent {
|
|
|
31
31
|
this.alertService = alertService;
|
|
32
32
|
this.reportDashboardService = reportDashboardService;
|
|
33
33
|
this.permissions = permissions;
|
|
34
|
+
this.gainsightService = gainsightService;
|
|
34
35
|
this.textFilter$ = new BehaviorSubject('');
|
|
35
36
|
this.reload$ = new BehaviorSubject(null);
|
|
36
37
|
this.reloading = false;
|
|
@@ -84,6 +85,13 @@ export class ReportDashboardListComponent {
|
|
|
84
85
|
}
|
|
85
86
|
this.reload$.next();
|
|
86
87
|
modal.close();
|
|
88
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
|
|
89
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_REPORT,
|
|
90
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
|
|
91
|
+
name: report.name,
|
|
92
|
+
id: report.id,
|
|
93
|
+
context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
94
|
+
});
|
|
87
95
|
}
|
|
88
96
|
catch (ex) {
|
|
89
97
|
if (ex) {
|
|
@@ -113,6 +121,13 @@ export class ReportDashboardListComponent {
|
|
|
113
121
|
this.reportDashboardService.removeNavigatorNode(report);
|
|
114
122
|
}
|
|
115
123
|
this.reload$.next();
|
|
124
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
|
|
125
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.REPORTS_LIST,
|
|
126
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
|
|
127
|
+
name: report.name,
|
|
128
|
+
id: report.id,
|
|
129
|
+
context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
130
|
+
});
|
|
116
131
|
}
|
|
117
132
|
catch (ex) {
|
|
118
133
|
if (ex) {
|
|
@@ -128,13 +143,13 @@ export class ReportDashboardListComponent {
|
|
|
128
143
|
: this.reportDashboardService.removeNavigatorNode(report);
|
|
129
144
|
}
|
|
130
145
|
}
|
|
131
|
-
ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: i2.ContextDashboardService }, { token: i3.BsModalService }, { token: i4.TranslateService }, { token: i5.ModalService }, { token: i5.AlertService }, { token: i6.ReportDashboardService }, { token: i5.Permissions }], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
+
ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: i2.ContextDashboardService }, { token: i3.BsModalService }, { token: i4.TranslateService }, { token: i5.ModalService }, { token: i5.AlertService }, { token: i6.ReportDashboardService }, { token: i5.Permissions }, { token: i5.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
132
147
|
ReportDashboardListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ReportDashboardListComponent, selector: "c8y-report-dashboard-list", viewQueries: [{ propertyName: "filter", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form\"\n>\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n aria-label=\"{{ 'Info' | translate }}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n *ngIf=\"!canAddReport\"\n >\n <i\n class=\"text-primary\"\n [c8yIcon]=\"'info-circle'\"\n ></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ report.name }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em\n class=\"text-muted\"\n *ngIf=\"!report.description; else showDescription\"\n >\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label\n class=\"c8y-switch c8y-switch--inline\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: i5.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i5.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount"] }, { kind: "component", type: i5.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i5.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i5.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i5.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i5.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i5.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i5.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i11.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] });
|
|
133
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ReportDashboardListComponent, decorators: [{
|
|
134
149
|
type: Component,
|
|
135
150
|
args: [{ selector: 'c8y-report-dashboard-list', template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form\"\n>\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n aria-label=\"{{ 'Info' | translate }}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n *ngIf=\"!canAddReport\"\n >\n <i\n class=\"text-primary\"\n [c8yIcon]=\"'info-circle'\"\n ></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ report.name }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em\n class=\"text-muted\"\n *ngIf=\"!report.description; else showDescription\"\n >\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label\n class=\"c8y-switch c8y-switch--inline\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n" }]
|
|
136
|
-
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i2.ContextDashboardService }, { type: i3.BsModalService }, { type: i4.TranslateService }, { type: i5.ModalService }, { type: i5.AlertService }, { type: i6.ReportDashboardService }, { type: i5.Permissions }]; }, propDecorators: { filter: [{
|
|
151
|
+
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i2.ContextDashboardService }, { type: i3.BsModalService }, { type: i4.TranslateService }, { type: i5.ModalService }, { type: i5.AlertService }, { type: i6.ReportDashboardService }, { type: i5.Permissions }, { type: i5.GainsightService }]; }, propDecorators: { filter: [{
|
|
137
152
|
type: ViewChild,
|
|
138
153
|
args: [FilterInputComponent, { static: false }]
|
|
139
154
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL3JlcG9ydC1kYXNoYm9hcmQvcmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL3JlcG9ydC1kYXNoYm9hcmQvcmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU1wRSxNQUFNLE9BQU8s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Q0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLG1CQUFtQjtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUM1RCxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7O3lIQXZJVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix5R0FDNUIsb0JBQW9CLGdEQ3hCakMsK2lMQXdNQTsyRkRqTGEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjs4VEFJZSxNQUFNO3NCQUF6RCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlLCBJUmVzdWx0TGlzdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEZpbHRlcklucHV0Q29tcG9uZW50LFxuICBnZXR0ZXh0LFxuICBNb2RhbFNlcnZpY2UsXG4gIFN0YXR1cyxcbiAgQWxlcnRTZXJ2aWNlLFxuICBQZXJtaXNzaW9uc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbENvbXBvbmVudCB9IGZyb20gJy4uL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRleHREYXNoYm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vY29udGV4dC1kYXNoYm9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkVHlwZSB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFJlcG9ydERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuL3JlcG9ydC1kYXNoYm9hcmQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1yZXBvcnQtZGFzaGJvYXJkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnREYXNoYm9hcmRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChGaWx0ZXJJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZpbHRlcjogRmlsdGVySW5wdXRDb21wb25lbnQ7XG4gIHRleHRGaWx0ZXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICByZWxvYWQkOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICByZWxvYWRpbmcgPSBmYWxzZTtcbiAgcmVwb3J0cyQ6IE9ic2VydmFibGU8SVJlc3VsdExpc3Q8SU1hbmFnZWRPYmplY3Q+PiA9IGNvbWJpbmVMYXRlc3QoXG4gICAgdGhpcy50ZXh0RmlsdGVyJC5waXBlKGRlYm91bmNlVGltZSg0MDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICB0aGlzLnJlbG9hZCRcbiAgKS5waXBlKFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZGluZyA9IHRydWU7XG4gICAgfSksXG4gICAgc3dpdGNoTWFwKChbdGV4dF0pID0+IHRoaXMubG9hZFJlcG9ydHModGV4dCkpLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIGNhbkFkZFJlcG9ydCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IERFTEVURURfU1VDQ0VTU19NU0cgPSBnZXR0ZXh0KCdSZXBvcnQgZGVsZXRlZC4nKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0RGFzaGJvYXJkU2VydmljZTogQ29udGV4dERhc2hib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsOiBCc01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXBvcnREYXNoYm9hcmRTZXJ2aWNlOiBSZXBvcnREYXNoYm9hcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhbkFkZFJlcG9ydCA9IHRoaXMucGVybWlzc2lvbnMuaGFzQW55Um9sZShbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9DUkVBVEUsXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTixcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4sXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURVxuICAgIF0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZFJlcG9ydHMocGFydGlhbE5hbWU/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGFydGlhbE5hbWVcbiAgICAgID8gdGhpcy5yZXBvcnREYXNoYm9hcmRTZXJ2aWNlLmxpc3RSZXBvcnRzKHsgZmlsdGVyOiB7IG5hbWU6IGAqJHtwYXJ0aWFsTmFtZX0qYCB9IH0pXG4gICAgICA6IHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5saXN0UmVwb3J0cygpO1xuICB9XG5cbiAgYXN5bmMgYWRkKCkge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGlzUmVwb3J0OiB0cnVlLFxuICAgICAgaXNOYW1lZERhc2hib2FyZDogdHJ1ZVxuICAgIH07XG4gICAgY29uc3QgbW9kYWwgPSB0aGlzLmJzTW9kYWwuc2hvdyhEYXNoYm9hcmREZXRhaWxDb21wb25lbnQsIHtcbiAgICAgIGNsYXNzOiAnbW9kYWwtbGcnLFxuICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGtleWJvYXJkOiBmYWxzZSxcbiAgICAgIGFyaWFEZXNjcmliZWRieTogJ21vZGFsLWJvZHknLFxuICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtb2RhbC10aXRsZScsXG4gICAgICBpbml0aWFsU3RhdGVcbiAgICB9KS5jb250ZW50IGFzIERhc2hib2FyZERldGFpbENvbXBvbmVudDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2ZnID0gYXdhaXQgbW9kYWwucmVzdWx0O1xuICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24sIC4uLmRhc2hib2FyZENmZyB9ID0gY2ZnO1xuICAgICAgY29uc3QgcmVwb3J0ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLnJlcG9ydERhc2hib2FyZFNlcnZpY2UuY3JlYXRlUmVwb3J0KHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYzh5X0lzTmF2aWdhdG9yTm9kZSxcbiAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9IGFzIFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KVxuICAgICAgKS5kYXRhO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgZGFzaGJvYXJkQ2ZnLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGAke3RoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuUkVQT1JUX1BBUlRJQUxfTkFNRX0ke3JlcG9ydC5pZH1gXG4gICAgICApO1xuICAgICAgaWYgKHJlcG9ydC5jOHlfSXNOYXZpZ2F0b3JOb2RlKSB7XG4gICAgICAgIHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5hZGRSZXBvcnROYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbG9hZCQubmV4dCgpO1xuICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgaWYgKGV4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3Jvbmc6ICR7ZXh9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKHJlcG9ydDogSU1hbmFnZWRPYmplY3QpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGFzaGJvYXJkID0gYXdhaXQgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZVxuICAgICAgICAuZ2V0RGFzaGJvYXJkJChgcmVwb3J0XyR7cmVwb3J0LmlkfWAsIFtDb250ZXh0RGFzaGJvYXJkVHlwZS5OYW1lZF0pXG4gICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgIGNvbnN0IGlzRGFzaGJvYXJkRnJvemVuID0gISFkYXNoYm9hcmQ/LmM4eV9EYXNoYm9hcmQ/LmlzRnJvemVuO1xuXG4gICAgICBjb25zdCBtc2cgPSBpc0Rhc2hib2FyZEZyb3plblxuICAgICAgICA/IGdldHRleHQoXG4gICAgICAgICAgICBgWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIHJlcG9ydCBcInt7IHJlcG9ydE5hbWUgfX1cIi4gQmUgYXdhcmUgdGhhdCB0aGUgcmVwb3J0IGhhcyBhIGxvY2tlZCBkYXNoYm9hcmQgYXNzaWduZWQuIERvIHlvdSB3YW50IHRvIHByb2NlZWQ/YFxuICAgICAgICAgIClcbiAgICAgICAgOiBnZXR0ZXh0KGBZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgcmVwb3J0IFwie3sgcmVwb3J0TmFtZSB9fVwiLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkP2ApO1xuXG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0RlbGV0ZSByZXBvcnQnKSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQobXNnLCB7XG4gICAgICAgICAgcmVwb3J0TmFtZTogcmVwb3J0Lm5hbWVcbiAgICAgICAgfSksXG4gICAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICAgIHtcbiAgICAgICAgICBvazogZ2V0dGV4dCgnRGVsZXRlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmRlbGV0ZShkYXNoYm9hcmQsIGZhbHNlKTtcbiAgICAgIGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGUocmVwb3J0LmlkKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5ERUxFVEVEX1NVQ0NFU1NfTVNHKTtcbiAgICAgIGlmIChyZXBvcnQuYzh5X0lzTmF2aWdhdG9yTm9kZSkge1xuICAgICAgICB0aGlzLnJlcG9ydERhc2hib2FyZFNlcnZpY2UucmVtb3ZlTmF2aWdhdG9yTm9kZShyZXBvcnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZWxvYWQkLm5leHQoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgaWYgKGV4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3Jvbmc6ICR7ZXh9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlKHJlcG9ydDogSU1hbmFnZWRPYmplY3QpIHtcbiAgICByZXBvcnQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHJlcG9ydC5jOHlfSXNOYXZpZ2F0b3JOb2RlID8ge30gOiBudWxsO1xuICAgIGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS51cGRhdGUocmVwb3J0KTtcbiAgICByZXBvcnQuYzh5X0lzTmF2aWdhdG9yTm9kZVxuICAgICAgPyB0aGlzLnJlcG9ydERhc2hib2FyZFNlcnZpY2UuYWRkUmVwb3J0TmF2aWdhdG9yTm9kZShyZXBvcnQpXG4gICAgICA6IHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5yZW1vdmVOYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7ICdSZXBvcnRzJyB8IHRyYW5zbGF0ZSB9fVxuPC9jOHktdGl0bGU+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwibmF2YmFyLWZvcm1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc2VhcmNoXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidGaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ0ZpbHRlcuKApicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICBbbmdNb2RlbF09XCJ0ZXh0RmlsdGVyJCB8IGFzeW5jXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRleHRGaWx0ZXIkLm5leHQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uXCI+XG4gICAgICA8aVxuICAgICAgICBjOHlJY29uPVwic2VhcmNoXCJcbiAgICAgICAgKm5nSWY9XCIodGV4dEZpbHRlciQgfCBhc3luYykubGVuZ3RoID09PSAwXCJcbiAgICAgID48L2k+XG4gICAgICA8aVxuICAgICAgICBjbGFzcz1cInRleHQtbXV0ZWRcIlxuICAgICAgICBjOHlJY29uPVwidGltZXNcIlxuICAgICAgICAqbmdJZj1cIih0ZXh0RmlsdGVyJCB8IGFzeW5jKS5sZW5ndGggPiAwXCJcbiAgICAgICAgKGNsaWNrKT1cInRleHRGaWx0ZXIkLm5leHQoJycpXCJcbiAgICAgICAgcHgtZXZlbnQ9XCJDbGVhciBmaWx0ZXJpbmcgcmVwb3J0c1wiXG4gICAgICA+PC9pPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ0FkZCByZXBvcnQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5kYXRhLWN5XT1cIidyZXBvcnRzLWFkZC1yZXBvcnQtYWN0aW9uLWJhci1idXR0b24nXCJcbiAgICAoY2xpY2spPVwiYWRkKClcIlxuICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkUmVwb3J0XCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiPjwvaT5cbiAgICB7eyAnQWRkIHJlcG9ydCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tZG90IG0tci0xNlwiXG4gICAgYXJpYS1sYWJlbD1cInt7ICdJbmZvJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgcG9wb3Zlcj1cInt7ICdZb3UgZG9uXFwndCBoYXZlIHBlcm1pc3Npb24gdG8gYWRkIHJlcG9ydHMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwiIWNhbkFkZFJlcG9ydFwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIlxuICAgICAgW2M4eUljb25dPVwiJ2luZm8tY2lyY2xlJ1wiXG4gICAgPjwvaT5cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ1JlbG9hZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJsb2FkUmVwb3J0cygpXCJcbiAgPlxuICAgIDxpXG4gICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdpY29uLXNwaW4nOiByZWxvYWRpbmcgfVwiXG4gICAgPjwvaT5cbiAgICB7eyAnUmVsb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwIHNyYz1cIi91c2Vycy1ndWlkZS9jb2NrcGl0LyNyZXBvcnRzXCI+PC9jOHktaGVscD5cblxuPGM4eS1saXN0LWdyb3VwPlxuICA8Yzh5LWxpXG4gICAgY2xhc3M9XCJwYWdlLXN0aWNreS1oZWFkZXIgaGlkZGVuLXhzIGhpZGRlbi1zbVwiXG4gICAgKm5nSWY9XCIocmVwb3J0cyQgfCBhc3luYyk/LmRhdGEubGVuZ3RoID4gMFwiXG4gID5cbiAgICA8Yzh5LWxpLWljb24+XG4gICAgICA8aSBjbGFzcz1cInAtbC0yNFwiPjwvaT5cbiAgICA8L2M4eS1saS1pY29uPlxuICAgIDxjOHktbGktYm9keSBjbGFzcz1cImNvbnRlbnQtZmxleC02MFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XG4gICAgICAgIHt7ICdSZXBvcnQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICB7eyAnRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxuICAgICAgICB7eyAnU2hvdyBpbiBuYXZpZ2F0b3InIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2M4eS1saS1ib2R5PlxuICA8L2M4eS1saT5cblxuICA8Yzh5LWxpICpjOHlGb3I9XCJsZXQgcmVwb3J0IG9mIHJlcG9ydHMkOyBsZXQgaSA9IGluZGV4OyBsb2FkTW9yZTogJ2F1dG8nXCI+XG4gICAgPGM4eS1saS1pY29uIFtpY29uXT1cInJlcG9ydC5pY29uXCI+PC9jOHktbGktaWNvbj5cbiAgICA8Yzh5LWxpLWJvZHkgY2xhc3M9XCJjb250ZW50LWZsZXgtNjBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4tY2xlYW5cIlxuICAgICAgICAgIHRpdGxlPVwie3sgcmVwb3J0Lm5hbWUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvdXRlckxpbms9XCIvcmVwb3J0cy97eyByZXBvcnQuaWQgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+XG4gICAgICAgICAgICB7eyByZXBvcnQubmFtZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICA8cCBjbGFzcz1cInNtYWxsIHRleHQtdHJ1bmNhdGUtd3JhcFwiPlxuICAgICAgICAgIDxlbVxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXJlcG9ydC5kZXNjcmlwdGlvbjsgZWxzZSBzaG93RGVzY3JpcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9lbT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHt7IHJlcG9ydC5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGZpdC1oLTIwIG0tdC14cy04XCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIGNsYXNzPVwiYzh5LXN3aXRjaCBjOHktc3dpdGNoLS1pbmxpbmVcIlxuICAgICAgICAgIHRpdGxlPVwie3sgJ1Nob3cgaW4gbmF2aWdhdG9yJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIiEhcmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGUocmVwb3J0KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXNpYmxlLXhzXCI+XG4gICAgICAgICAgICB7eyAnU2hvdyBpbiBuYXZpZ2F0b3InIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEgaGlkZGVuLXhzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90IGJ0bi1kb3QtLWRhbmdlciBzaG93T25Ib3ZlciBtLWwtYXV0byBkLWZsZXhcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlbW92ZSByZXBvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICB0b29sdGlwPVwie3sgJ1JlbW92ZSByZXBvcnQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKHJlcG9ydClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgYzh5SWNvbj1cIm1pbnVzLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2aXNpYmxlLXhzIHAtdC04IHRleHQtcmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyAnUmVtb3ZlIHJlcG9ydCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGUocmVwb3J0KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjOHlJY29uPVwiZGVsZXRlXCI+PC9pPlxuICAgICAgICAgIHt7ICdSZW1vdmUgcmVwb3J0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYzh5LWxpLWJvZHk+XG4gIDwvYzh5LWxpPlxuPC9jOHktbGlzdC1ncm91cD5cblxuPGM4eS11aS1lbXB0eS1zdGF0ZVxuICBbaWNvbl09XCInYzh5LXJlcG9ydHMnXCJcbiAgW3RpdGxlXT1cIidUaGVyZSBhcmUgbm8gcmVwb3J0cyBkZWZpbmVkLicgfCB0cmFuc2xhdGVcIlxuICBbc3VidGl0bGVdPVwiJ0FkZCBhIHJlcG9ydCBmaXJzdC4nIHwgdHJhbnNsYXRlXCJcbiAgKm5nSWY9XCIocmVwb3J0cyQgfCBhc3luYyk/LmRhdGEubGVuZ3RoID09PSAwXCJcbj5cbiAgPHA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgdGl0bGU9XCJ7eyAnQWRkIHJlcG9ydCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5kYXRhLWN5XT1cIidyZXBvcnRzLWFkZC1yZXBvcnQtZW1wdHktc3RhdGUtYnV0dG9uJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhbkFkZFJlcG9ydFwiXG4gICAgICAoY2xpY2spPVwiYWRkKClcIlxuICAgID5cbiAgICAgIHt7ICdBZGQgcmVwb3J0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3A+XG4gIDxwIGM4eS1ndWlkZS1kb2NzPlxuICAgIDxzbWFsbFxuICAgICAgdHJhbnNsYXRlXG4gICAgICBuZ05vbkJpbmRhYmxlXG4gICAgPlxuICAgICAgRmluZCBvdXQgbW9yZSBpbiB0aGVcbiAgICAgIDxhIGM4eS1ndWlkZS1ocmVmPVwidXNlcnMtZ3VpZGUvY29ja3BpdC8jcmVwb3J0c1wiPlVzZXIgZ3VpZGVgS0VFUF9PUklHSU5BTGA8L2E+XG4gICAgICAuXG4gICAgPC9zbWFsbD5cbiAgPC9wPlxuPC9jOHktdWktZW1wdHktc3RhdGU+XG4iXX0=
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL3JlcG9ydC1kYXNoYm9hcmQvcmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL3JlcG9ydC1kYXNoYm9hcmQvcmVwb3J0LWRhc2hib2FyZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7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SUFDOUQsQ0FBQzs7eUhBdEpVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHlHQUM1QixvQkFBb0IsZ0RDekJqQywraUxBd01BOzJGRGhMYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsMkJBQTJCOzZWQUllLE1BQU07c0JBQXpELFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgRmlsdGVySW5wdXRDb21wb25lbnQsXG4gIGdldHRleHQsXG4gIE1vZGFsU2VydmljZSxcbiAgU3RhdHVzLFxuICBBbGVydFNlcnZpY2UsXG4gIFBlcm1pc3Npb25zLFxuICBHYWluc2lnaHRTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9jb250ZXh0LWRhc2hib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRleHREYXNoYm9hcmRUeXBlLCBQUk9EVUNUX0VYUEVSSUVOQ0UgfSBmcm9tICcuLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBSZXBvcnREYXNoYm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi9yZXBvcnQtZGFzaGJvYXJkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktcmVwb3J0LWRhc2hib2FyZC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1kYXNoYm9hcmQtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0RGFzaGJvYXJkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoRmlsdGVySW5wdXRDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmaWx0ZXI6IEZpbHRlcklucHV0Q29tcG9uZW50O1xuICB0ZXh0RmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgcmVsb2FkJDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcmVsb2FkaW5nID0gZmFsc2U7XG4gIHJlcG9ydHMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSBjb21iaW5lTGF0ZXN0KFxuICAgIHRoaXMudGV4dEZpbHRlciQucGlwZShkZWJvdW5jZVRpbWUoNDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgdGhpcy5yZWxvYWQkXG4gICkucGlwZShcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5yZWxvYWRpbmcgPSB0cnVlO1xuICAgIH0pLFxuICAgIHN3aXRjaE1hcCgoW3RleHRdKSA9PiB0aGlzLmxvYWRSZXBvcnRzKHRleHQpKSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5yZWxvYWRpbmcgPSBmYWxzZTtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBjYW5BZGRSZXBvcnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUxFVEVEX1NVQ0NFU1NfTVNHID0gZ2V0dGV4dCgnUmVwb3J0IGRlbGV0ZWQuJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dERhc2hib2FyZFNlcnZpY2U6IENvbnRleHREYXNoYm9hcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbDogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVwb3J0RGFzaGJvYXJkU2VydmljZTogUmVwb3J0RGFzaGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FuQWRkUmVwb3J0ID0gdGhpcy5wZXJtaXNzaW9ucy5oYXNBbnlSb2xlKFtcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0NSRUFURSxcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9BRE1JTixcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQ1JFQVRFXG4gICAgXSk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVwb3J0cyhwYXJ0aWFsTmFtZT86IHN0cmluZykge1xuICAgIHJldHVybiBwYXJ0aWFsTmFtZVxuICAgICAgPyB0aGlzLnJlcG9ydERhc2hib2FyZFNlcnZpY2UubGlzdFJlcG9ydHMoeyBmaWx0ZXI6IHsgbmFtZTogYCoke3BhcnRpYWxOYW1lfSpgIH0gfSlcbiAgICAgIDogdGhpcy5yZXBvcnREYXNoYm9hcmRTZXJ2aWNlLmxpc3RSZXBvcnRzKCk7XG4gIH1cblxuICBhc3luYyBhZGQoKSB7XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgaXNSZXBvcnQ6IHRydWUsXG4gICAgICBpc05hbWVkRGFzaGJvYXJkOiB0cnVlXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbCA9IHRoaXMuYnNNb2RhbC5zaG93KERhc2hib2FyZERldGFpbENvbXBvbmVudCwge1xuICAgICAgY2xhc3M6ICdtb2RhbC1sZycsXG4gICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxuICAgICAgYXJpYURlc2NyaWJlZGJ5OiAnbW9kYWwtYm9keScsXG4gICAgICBhcmlhTGFiZWxsZWRCeTogJ21vZGFsLXRpdGxlJyxcbiAgICAgIGluaXRpYWxTdGF0ZVxuICAgIH0pLmNvbnRlbnQgYXMgRGFzaGJvYXJkRGV0YWlsQ29tcG9uZW50O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZmcgPSBhd2FpdCBtb2RhbC5yZXN1bHQ7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiwgLi4uZGFzaGJvYXJkQ2ZnIH0gPSBjZmc7XG4gICAgICBjb25zdCByZXBvcnQgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5jcmVhdGVSZXBvcnQoe1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgaWNvbixcbiAgICAgICAgICBjOHlfSXNOYXZpZ2F0b3JOb2RlLFxuICAgICAgICAgIHByaW9yaXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIH0gYXMgUGFydGlhbDxJTWFuYWdlZE9iamVjdD4pXG4gICAgICApLmRhdGE7XG5cbiAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlKFxuICAgICAgICBkYXNoYm9hcmRDZmcsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYCR7dGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5SRVBPUlRfUEFSVElBTF9OQU1FfSR7cmVwb3J0LmlkfWBcbiAgICAgICk7XG4gICAgICBpZiAocmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUpIHtcbiAgICAgICAgdGhpcy5yZXBvcnREYXNoYm9hcmRTZXJ2aWNlLmFkZFJlcG9ydE5hdmlnYXRvck5vZGUocmVwb3J0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVsb2FkJC5uZXh0KCk7XG4gICAgICBtb2RhbC5jbG9zZSgpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5SRVBPUlRTLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9SRVBPUlQsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5BQ1RJT05TLkNSRUFURSxcbiAgICAgICAgbmFtZTogcmVwb3J0Lm5hbWUsXG4gICAgICAgIGlkOiByZXBvcnQuaWQsXG4gICAgICAgIGNvbnRleHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQ09OVEVYVC5SRVBPUlRcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICBpZiAoZXgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTb21ldGhpbmcgd2VudCB3cm9uZzogJHtleH1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUocmVwb3J0OiBJTWFuYWdlZE9iamVjdCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXNoYm9hcmQgPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlXG4gICAgICAgIC5nZXREYXNoYm9hcmQkKGByZXBvcnRfJHtyZXBvcnQuaWR9YCwgW0NvbnRleHREYXNoYm9hcmRUeXBlLk5hbWVkXSlcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgY29uc3QgaXNEYXNoYm9hcmRGcm96ZW4gPSAhIWRhc2hib2FyZD8uYzh5X0Rhc2hib2FyZD8uaXNGcm96ZW47XG5cbiAgICAgIGNvbnN0IG1zZyA9IGlzRGFzaGJvYXJkRnJvemVuXG4gICAgICAgID8gZ2V0dGV4dChcbiAgICAgICAgICAgIGBZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgcmVwb3J0IFwie3sgcmVwb3J0TmFtZSB9fVwiLiBCZSBhd2FyZSB0aGF0IHRoZSByZXBvcnQgaGFzIGEgbG9ja2VkIGRhc2hib2FyZCBhc3NpZ25lZC4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD9gXG4gICAgICAgICAgKVxuICAgICAgICA6IGdldHRleHQoYFlvdSBhcmUgYWJvdXQgdG8gZGVsZXRlIHRoZSByZXBvcnQgXCJ7eyByZXBvcnROYW1lIH19XCIuIERvIHlvdSB3YW50IHRvIHByb2NlZWQ/YCk7XG5cbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnRGVsZXRlIHJlcG9ydCcpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtc2csIHtcbiAgICAgICAgICByZXBvcnROYW1lOiByZXBvcnQubmFtZVxuICAgICAgICB9KSxcbiAgICAgICAgU3RhdHVzLkRBTkdFUixcbiAgICAgICAge1xuICAgICAgICAgIG9rOiBnZXR0ZXh0KCdEZWxldGUnKSxcbiAgICAgICAgICBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuZGVsZXRlKGRhc2hib2FyZCwgZmFsc2UpO1xuICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRlbGV0ZShyZXBvcnQuaWQpO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLkRFTEVURURfU1VDQ0VTU19NU0cpO1xuICAgICAgaWYgKHJlcG9ydC5jOHlfSXNOYXZpZ2F0b3JOb2RlKSB7XG4gICAgICAgIHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5yZW1vdmVOYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbG9hZCQubmV4dCgpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5SRVBPUlRTLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLlJFUE9SVFNfTElTVCxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuREVMRVRFLFxuICAgICAgICBuYW1lOiByZXBvcnQubmFtZSxcbiAgICAgICAgaWQ6IHJlcG9ydC5pZCxcbiAgICAgICAgY29udGV4dDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT05URVhULlJFUE9SVFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIGlmIChleCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nOiAke2V4fWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShyZXBvcnQ6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgcmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUgPSByZXBvcnQuYzh5X0lzTmF2aWdhdG9yTm9kZSA/IHt9IDogbnVsbDtcbiAgICBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UudXBkYXRlKHJlcG9ydCk7XG4gICAgcmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8gdGhpcy5yZXBvcnREYXNoYm9hcmRTZXJ2aWNlLmFkZFJlcG9ydE5hdmlnYXRvck5vZGUocmVwb3J0KVxuICAgICAgOiB0aGlzLnJlcG9ydERhc2hib2FyZFNlcnZpY2UucmVtb3ZlTmF2aWdhdG9yTm9kZShyZXBvcnQpO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPlxuICB7eyAnUmVwb3J0cycgfCB0cmFuc2xhdGUgfX1cbjwvYzh5LXRpdGxlPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gIGl0ZW1DbGFzcz1cIm5hdmJhci1mb3JtXCJcbj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNlYXJjaFwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdGaWx0ZXLigKYnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgW25nTW9kZWxdPVwidGV4dEZpbHRlciQgfCBhc3luY1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0RmlsdGVyJC5uZXh0KCRldmVudClcIlxuICAgIC8+XG4gICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvblwiPlxuICAgICAgPGlcbiAgICAgICAgYzh5SWNvbj1cInNlYXJjaFwiXG4gICAgICAgICpuZ0lmPVwiKHRleHRGaWx0ZXIkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMFwiXG4gICAgICA+PC9pPlxuICAgICAgPGlcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LW11dGVkXCJcbiAgICAgICAgYzh5SWNvbj1cInRpbWVzXCJcbiAgICAgICAgKm5nSWY9XCIodGV4dEZpbHRlciQgfCBhc3luYykubGVuZ3RoID4gMFwiXG4gICAgICAgIChjbGljayk9XCJ0ZXh0RmlsdGVyJC5uZXh0KCcnKVwiXG4gICAgICAgIHB4LWV2ZW50PVwiQ2xlYXIgZmlsdGVyaW5nIHJlcG9ydHNcIlxuICAgICAgPjwvaT5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbSBbcGxhY2VtZW50XT1cIidyaWdodCdcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgcmVwb3J0JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuZGF0YS1jeV09XCIncmVwb3J0cy1hZGQtcmVwb3J0LWFjdGlvbi1iYXItYnV0dG9uJ1wiXG4gICAgKGNsaWNrKT1cImFkZCgpXCJcbiAgICBbZGlzYWJsZWRdPVwiIWNhbkFkZFJlcG9ydFwiXG4gID5cbiAgICA8aSBjOHlJY29uPVwicGx1cy1jaXJjbGVcIj48L2k+XG4gICAge3sgJ0FkZCByZXBvcnQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWRvdCBtLXItMTZcIlxuICAgIGFyaWEtbGFiZWw9XCJ7eyAnSW5mbycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHBvcG92ZXI9XCJ7eyAnWW91IGRvblxcJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFkZCByZXBvcnRzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICB0cmlnZ2Vycz1cImZvY3VzXCJcbiAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAqbmdJZj1cIiFjYW5BZGRSZXBvcnRcIlxuICA+XG4gICAgPGlcbiAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5XCJcbiAgICAgIFtjOHlJY29uXT1cIidpbmZvLWNpcmNsZSdcIlxuICAgID48L2k+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbSBbcGxhY2VtZW50XT1cIidyaWdodCdcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdSZWxvYWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwibG9hZFJlcG9ydHMoKVwiXG4gID5cbiAgICA8aVxuICAgICAgYzh5SWNvbj1cInJlZnJlc2hcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1zcGluJzogcmVsb2FkaW5nIH1cIlxuICAgID48L2k+XG4gICAge3sgJ1JlbG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktaGVscCBzcmM9XCIvdXNlcnMtZ3VpZGUvY29ja3BpdC8jcmVwb3J0c1wiPjwvYzh5LWhlbHA+XG5cbjxjOHktbGlzdC1ncm91cD5cbiAgPGM4eS1saVxuICAgIGNsYXNzPVwicGFnZS1zdGlja3ktaGVhZGVyIGhpZGRlbi14cyBoaWRkZW4tc21cIlxuICAgICpuZ0lmPVwiKHJlcG9ydHMkIHwgYXN5bmMpPy5kYXRhLmxlbmd0aCA+IDBcIlxuICA+XG4gICAgPGM4eS1saS1pY29uPlxuICAgICAgPGkgY2xhc3M9XCJwLWwtMjRcIj48L2k+XG4gICAgPC9jOHktbGktaWNvbj5cbiAgICA8Yzh5LWxpLWJvZHkgY2xhc3M9XCJjb250ZW50LWZsZXgtNjBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxuICAgICAgICB7eyAnUmVwb3J0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cbiAgICAgICAge3sgJ0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cbiAgICAgICAge3sgJ1Nob3cgaW4gbmF2aWdhdG9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9jOHktbGktYm9keT5cbiAgPC9jOHktbGk+XG5cbiAgPGM4eS1saSAqYzh5Rm9yPVwibGV0IHJlcG9ydCBvZiByZXBvcnRzJDsgbGV0IGkgPSBpbmRleDsgbG9hZE1vcmU6ICdhdXRvJ1wiPlxuICAgIDxjOHktbGktaWNvbiBbaWNvbl09XCJyZXBvcnQuaWNvblwiPjwvYzh5LWxpLWljb24+XG4gICAgPGM4eS1saS1ib2R5IGNsYXNzPVwiY29udGVudC1mbGV4LTYwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuLWNsZWFuXCJcbiAgICAgICAgICB0aXRsZT1cInt7IHJlcG9ydC5uYW1lIH19XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICByb3V0ZXJMaW5rPVwiL3JlcG9ydHMve3sgcmVwb3J0LmlkIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAge3sgcmVwb3J0Lm5hbWUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJzbWFsbCB0ZXh0LXRydW5jYXRlLXdyYXBcIj5cbiAgICAgICAgICA8ZW1cbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXBvcnQuZGVzY3JpcHRpb247IGVsc2Ugc2hvd0Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnTm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZW0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93RGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7eyByZXBvcnQuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMiBmaXQtaC0yMCBtLXQteHMtOFwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBjbGFzcz1cImM4eS1zd2l0Y2ggYzh5LXN3aXRjaC0taW5saW5lXCJcbiAgICAgICAgICB0aXRsZT1cInt7ICdTaG93IGluIG5hdmlnYXRvcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCIhIXJlcG9ydC5jOHlfSXNOYXZpZ2F0b3JOb2RlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlKHJlcG9ydClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzaWJsZS14c1wiPlxuICAgICAgICAgICAge3sgJ1Nob3cgaW4gbmF2aWdhdG9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xIGhpZGRlbi14c1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRvdCBidG4tZG90LS1kYW5nZXIgc2hvd09uSG92ZXIgbS1sLWF1dG8gZC1mbGV4XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZW1vdmUgcmVwb3J0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgdG9vbHRpcD1cInt7ICdSZW1vdmUgcmVwb3J0JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZShyZXBvcnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGM4eUljb249XCJtaW51cy1jaXJjbGVcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidmlzaWJsZS14cyBwLXQtOCB0ZXh0LXJpZ2h0XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc21cIlxuICAgICAgICAgIHRpdGxlPVwie3sgJ1JlbW92ZSByZXBvcnQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKHJlcG9ydClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgYzh5SWNvbj1cImRlbGV0ZVwiPjwvaT5cbiAgICAgICAgICB7eyAnUmVtb3ZlIHJlcG9ydCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2M4eS1saS1ib2R5PlxuICA8L2M4eS1saT5cbjwvYzh5LWxpc3QtZ3JvdXA+XG5cbjxjOHktdWktZW1wdHktc3RhdGVcbiAgW2ljb25dPVwiJ2M4eS1yZXBvcnRzJ1wiXG4gIFt0aXRsZV09XCInVGhlcmUgYXJlIG5vIHJlcG9ydHMgZGVmaW5lZC4nIHwgdHJhbnNsYXRlXCJcbiAgW3N1YnRpdGxlXT1cIidBZGQgYSByZXBvcnQgZmlyc3QuJyB8IHRyYW5zbGF0ZVwiXG4gICpuZ0lmPVwiKHJlcG9ydHMkIHwgYXN5bmMpPy5kYXRhLmxlbmd0aCA9PT0gMFwiXG4+XG4gIDxwPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ0FkZCByZXBvcnQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuZGF0YS1jeV09XCIncmVwb3J0cy1hZGQtcmVwb3J0LWVtcHR5LXN0YXRlLWJ1dHRvbidcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRSZXBvcnRcIlxuICAgICAgKGNsaWNrKT1cImFkZCgpXCJcbiAgICA+XG4gICAgICB7eyAnQWRkIHJlcG9ydCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9wPlxuICA8cCBjOHktZ3VpZGUtZG9jcz5cbiAgICA8c21hbGxcbiAgICAgIHRyYW5zbGF0ZVxuICAgICAgbmdOb25CaW5kYWJsZVxuICAgID5cbiAgICAgIEZpbmQgb3V0IG1vcmUgaW4gdGhlXG4gICAgICA8YSBjOHktZ3VpZGUtaHJlZj1cInVzZXJzLWd1aWRlL2NvY2twaXQvI3JlcG9ydHNcIj5Vc2VyIGd1aWRlYEtFRVBfT1JJR0lOQUxgPC9hPlxuICAgICAgLlxuICAgIDwvc21hbGw+XG4gIDwvcD5cbjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuIl19
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export class ApplicationOptions {
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBNE05QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVSTCB0byBzdXBwb3J0IHBhZ2UgKHNldCB0byBgZmFsc2VgIHRvIGhpZGUgdGhlIGxpbmspLiAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbms7XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBzdG9yYWdlIGxpbWl0YXRpb24gZmVhdHVyZS4gKi9cbiAgc3RvcmFnZUxpbWl0YXRpb25GZWF0dXJlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBOYW1lIG9mIGNvbXBhbnkgaGFuZGxpbmcgc3VwcG9ydCByZXF1ZXN0cyBmcm9tIGFwcCB1c2VycyAoZGlzcGxheWVkIGluIG5vdGlmaWNhdGlvbiBtZXNzYWdlKS4gKi9cbiAgY29tcGFueU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdGVtcGxhdGUgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGRlZmF1bHQ6IGAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9J2ApLiAqL1xuICBndWlkZUhyZWZUZW1wbGF0ZT86IHN0cmluZztcbiAgLyoqIEJhc2UgVVJMIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChpbmNsdWRlIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciwgaWYgeW91IHdhbnQgdmVyc2lvbmVkIGxpbmtzKS4gKi9cbiAgZG9jc0Jhc2VVcmw/OiBzdHJpbmc7XG4gIC8qKiBDU1Agc3RyaW5nIHRvIGJlIGFwcGxpZWQgdG8gYGluZGV4Lmh0bWxgIGJ5IHJlcGxhY2luZyBkZWZhdWx0IHZhbHVlcy4gKi9cbiAgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xuICAvKiogRW5hYmxlcyBjbG91ZCBzZW5zb3Igd2l6YXJkICovXG4gIHNlbnNvclBob25lPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSBhIG5ld3NsZXR0ZXIgc3Vic2NyaXB0aW9uIGNoZWNrYm94IGluIGVkaXQgdXNlciBtb2RhbC4gKi9cbiAgbmV3c2xldHRlcj86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSByb290IG5vZGVfbW9kdWxlcyBkaXIgKHVzZWZ1bCB3aGVuIHdvcmtpbmcgaW4gbW9ub3JlcG8gc2V0dXAsIGUuZy4geWFybiB3b3Jrc3BhY2VzKS4gKi9cbiAgcm9vdE5vZGVNb2R1bGVzUGF0aD86IHN0cmluZztcbiAgLyoqIENvb2tpZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBjb29raWVCYW5uZXI/OiBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uO1xuICAvKiogQ29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24uIEhlcmUgeW91IGNhbiBlbmFibGUgb3IgZGlzYWJsZSBjb29raWUgY2F0ZWdvcmllcyAqL1xuICBjb29raWVQcmVmZXJlbmNlcz86IENvb2tpZVByZWZlcmVuY2VzQ29uZmlndXJhdGlvbjtcbiAgLyoqIEEga2V5IGZvciB0aGUgcHJvZHVjdCBleHBlcmllbmNlIHNvZnR3YXJlIEdhaW5zaWdodC4gKi9cbiAgZ2FpbnNpZ2h0S2V5Pzogc3RyaW5nO1xuICAvKiogRGlzYWJsZSB1c2VyIHRyYWNraW5nICovXG4gIGRpc2FibGVUcmFja2luZz86IGJvb2xlYW47XG4gIC8qKiBOZ01vZHVsZSBleHBvcnQgZm9yIHBsdWdpbnMuICovXG4gIGV4cG9ydHM/OiBQbHVnaW5zRXhwb3J0c1tdO1xuICAvKiogTGlzdCBvZiBpbXBvcnRlZCByZW1vdGUgcGx1Z2lucy4gKi9cbiAgcmVtb3Rlcz86IFJlbW90ZVBsdWdpbnM7XG4gIC8qKiBUaGUgcGFja2FnZSBzb3VyY2UgYSBhcHBsaWNhdGlvbiBvcmlnaW5zIGZyb20gYXMgSUFwcGxpY2F0aW9uIG9yIHNpbXBseSB0aGUgaWQgb2YgdGhlIHNvdXJjZSAqL1xuICBzb3VyY2U/OiBzdHJpbmcgfCBudW1iZXIgfCBJQXBwbGljYXRpb247XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGFzc2V0cyB0byBjb3B5IHRvIHRoZSBidWlsZCBvdXRwdXQuXG4gICAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL2NvcHktd2VicGFjay1wbHVnaW4gZm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICogYWJvdXQgdGhlIHBhdHRlcm5zIHRvIGFkZCBoZXJlLlxuICAgKi9cbiAgY29weT86IFtdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGVuYWJsZSBvciBkaXNhYmxlIGNvbnRleHQgaGVscCwgb3IgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmFzZSBVUkwgdXNlZCB0byBsb2FkIGl0cyBjb250ZW50cy5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGNvbnRleHQgaGVscCB1c2VzIHRoZSBzYW1lIGJhc2UgVVJMIGFzIGRlZmluZWQgaW4gdGhlIGBkb2NzQmFzZVVybGAgb3B0aW9uXG4gICAqIChpZiB0aGlzIG9wdGlvbiBpcyB1bmRlZmluZWQsIHRoZW4gdGhlIGZvbGxvd2luZyB2YWx1ZSB3aWxsIGJlIHVzZWQ6IGBodHRwczovL3d3dy5jdW11bG9jaXR5LmNvbS9ndWlkZXMve3t2ZXJzaW9ufX1gKS5cbiAgICogQWx0ZXJuYXRpdmVseSwgaWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQgaGVyZSwgaXQnbGwgYmUgdXNlZCBhcyB0aGUgYmFzZSBVUkxcbiAgICogYW5kIGFueSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb24uXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiB0aGUgdmVyc2lvbiB3YXJuaW5nIHdoaWNoIGlzIHNob3duIGluIHRoZSBkZXYgdG9vbHMuXG4gICAqL1xuICBub1ZlcnNpb25XYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgdGhlIG1hcCBsYXllcnMuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG9wZW4gc3RyZWV0IG1hcCBsYXllci5cbiAgICovXG4gIG1hcExheWVycz86IE1hcFRpbGVMYXllcltdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIHRoZSBtYXBzLlxuICAgKi9cbiAgbWFwQ29uZmlnPzogTWFwRGVmYXVsdENvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBVUkwgdXNlZCB0byBsb29rdXAgZ2VvIGNvb3JkaW5hdGVzIGZvciBhIHVzZXIgcHJvdmlkZWQgYWRkcmVzcyB2aWEgW25vbWluYXRpbSBBUEldKGh0dHBzOi8vbm9taW5hdGltLm9yZy9yZWxlYXNlLWRvY3MvZGV2ZWxvcC9hcGkvU2VhcmNoLykuXG4gICAqIENhbiBiZSBzZXQgdG8gZW1wdHkgdG8gZGlzYWJsZSB0aGUgZmluZCBhZGRyZXNzIGZlYXR1cmUgb24gdGhlIGxvY2F0aW9uIHRhYi5cbiAgICogVXNlczogYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaD9mb3JtYXQ9anNvbiZxPXtzZWFyY2hUZXJtfWAgaWYgbm90IHNldC5cbiAgICovXG4gIG1hcE5vbWluYXRpbVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBEZWZhdWx0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHpvb20gbGV2ZWwgdG8gc2V0IG9uIGVhY2ggbmV3IG1hcC5cbiAgICovXG4gIHpvb21MZXZlbD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGNlbnRlciBwb3NpdGlvbiBvZiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICBjZW50ZXI/OiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFRpbGVMYXllciB7XG4gIC8qKlxuICAgKiBUaGUgbGF5ZXIgdXJsIGluIHRoZSBzcGVjaWZpYyBsZWFmbGV0IGZvcm1hdC5cbiAgICovXG4gIGxheWVyVXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMuIE5vdGUgdGhpcyBvcHRpb25zIGFyZSBub3QgdHlwZWQgYXMgbGVhZmxldCBzaG91bGQgbm90IGJlIGJ5IGRlZmF1bHQgaW5jbHVkZWQuIFRoZSB0eXBlIGZyb20gbGVhZmxldCBpcyBMLlRpbGVMYXllck9wdGlvbnMuXG4gICAqL1xuICBvcHRpb25zOiBhbnk7XG4gIC8qKlxuICAgKiBBIGxhYmVsIHRvIHNob3cgdG8gdGhlIGVuZCB1c2VyLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgb3JkZXIgb2YgdGhlIGxheWVycyB0byBiZSBzaG93biB0byB0aGUgdXNlci4gSGlnaGVzdCBwcmlvcml0eSBmaXJzdC5cbiAgICovXG4gIHByaW9yaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZVBsdWdpbnMge1xuICAvKipcbiAgICogQSBrZXkgdmFsdWUgcGFpciwgd2hpbGUgdGhlIHZhbHVlIGlzIGFuIGFycmF5IG9mIG1vZHVsZXMgdG8gbG9hZCBhbmQgdGhlXG4gICAqIGtleSBpcyB0aGUgY29udGV4dCBwYXRoLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiB7XG4gICAqICAgICdjb2NrcGl0JzogWydIb21lRGFzaGJvYXJkTW9kdWxlJywgJ0RhdGFFeHBsb3JlckRhc2hib2FyZCddLFxuICAgKiAgICAnd2lkZ2V0LXBhY2thZ2VAMS4wLjAnOiBbJ0V4dGVuZGVkTWFwV2lkZ2V0J11cbiAgICogfVxuICAgKiBgYFxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luc0V4cG9ydHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIGNsYXNzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGUgcGF0aCB0byB0aGUgbW9kdWxlIHR5cGVzY3JpcHQgZmlsZS5cbiAgICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIHNob3J0IGRlc2NyaXB0aW9uIGFib3V0IHdoYXQgdGhlIG1vZHVsZSBkb2VzLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2NvcGUgdGhlIHBsdWdpbiB0byBjZXJ0YWluIGFwcGxpY2F0aW9ucy4gRS5nLiBpZiB5b3VcbiAgICogYWRkIGhlcmUgJ2NvY2twaXQnLCB0aGUgcGx1Z2luIGNhbiBvbmx5IGJlIGluc3RhbGxlZCBpbnRvIGFuXG4gICAqIGFwcGxpY2F0aW9uIG9uIHRoZSBjb250ZXh0UGF0aCBgYXBwcy9jb2NrcGl0YC4gWW91IGNhbiB1c2UgY29tbWFcbiAgICogc2VwYXJhdGVkIHZhbHVlcywgYXN0ZXJpc2sgKGRlZmF1bHQpIHRvIGFsbG93IGFsbCBhcHBsaWNhdGlvbnMgb3JcbiAgICogYHNlbGZgIHRvIGxpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgc29sdXRpb24uXG4gICAqL1xuICBzY29wZT86ICcqJyB8ICdzZWxmJyB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHRpdGxlIG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBUZXh0IG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGV4dD86IHN0cmluZztcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHBvbGljeVVybCBvZiBDb29raWUgQmFubmVyICovXG4gIHBvbGljeVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24ge1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBsb2dnaW5nIGluICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gdHJhY2tpbmcgY29va2llcyAgKi9cbiAgZnVuY3Rpb25hbD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gY29va2llcyByZWxhdGVkIHRvIGFkdmVydGlzaW5nICAqL1xuICBtYXJrZXRpbmc/OiBib29sZWFuIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luRXh0cmFMaW5rIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbiB7XG4gIGNsYXNzPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jcyB7XG4gIC8qKiBIaWRlIGRlZmF1bHQgbGlua3MgdG8gZG9jdW1lbnRhdGlvbi4gKi9cbiAgbm9EZWZhdWx0OiBib29sZWFuO1xuICAvKiogTGlzdCBvZiByZWdleCBzdHJpbmdzLiBNYXRjaGluZyBkZWZhdWx0IGRvY3MgVVJMcyB3aWxsIGJlIGhpZGRlbi4gKi9cbiAgZXhjbHVkZURlZmF1bHQ6IHN0cmluZ1tdO1xuICAvKiogQWRkaXRpb25hbCBsaW5rcyB0byBiZSBkaXNwbGF5ZWQuICovXG4gIGxpbmtzOiBMaW5rc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtzIHtcbiAgLyoqIEljb24gY2xhc3NlcyB3aXRoIGBjOHktaWNvbmAsIGUuZy4gYGM4eS1pY29uIGM4eS1pY29uLWFkZC11c2VyYCBvciBgYzh5LWljb24gYzh5LWljb24tZGV2aWNlLWNvbm5lY3RgLiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICB0eXBlOiAnZG9jJyB8ICdxdWlja2xpbmsnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYSB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogSTE4bkV4dHJhTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkV4dHJhTGFuZ0NvZGUge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzIHtcbiAgW2xhbmdDb2RlOiBzdHJpbmddOiBMYW5ndWFnZXNMYW5nQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZXNMYW5nQ29kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbmF0aXZlTmFtZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuZGluZ0Nzc1ZhcnMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iXX0=
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBNE05QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVSTCB0byBzdXBwb3J0IHBhZ2UgKHNldCB0byBgZmFsc2VgIHRvIGhpZGUgdGhlIGxpbmspLiAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsocykgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbmsgfCBMb2dpbkV4dHJhTGlua1tdO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc3RvcmFnZSBsaW1pdGF0aW9uIGZlYXR1cmUuICovXG4gIHN0b3JhZ2VMaW1pdGF0aW9uRmVhdHVyZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTmFtZSBvZiBjb21wYW55IGhhbmRsaW5nIHN1cHBvcnQgcmVxdWVzdHMgZnJvbSBhcHAgdXNlcnMgKGRpc3BsYXllZCBpbiBub3RpZmljYXRpb24gbWVzc2FnZSkuICovXG4gIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIHRlbXBsYXRlIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChkZWZhdWx0OiBgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfSdgKS4gKi9cbiAgZ3VpZGVIcmVmVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBCYXNlIFVSTCBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoaW5jbHVkZSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIsIGlmIHlvdSB3YW50IHZlcnNpb25lZCBsaW5rcykuICovXG4gIGRvY3NCYXNlVXJsPzogc3RyaW5nO1xuICAvKiogQ1NQIHN0cmluZyB0byBiZSBhcHBsaWVkIHRvIGBpbmRleC5odG1sYCBieSByZXBsYWNpbmcgZGVmYXVsdCB2YWx1ZXMuICovXG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgY2xvdWQgc2Vuc29yIHdpemFyZCAqL1xuICBzZW5zb3JQaG9uZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgYSBuZXdzbGV0dGVyIHN1YnNjcmlwdGlvbiBjaGVja2JveCBpbiBlZGl0IHVzZXIgbW9kYWwuICovXG4gIG5ld3NsZXR0ZXI/OiBib29sZWFuO1xuICAvKiogUGF0aCB0byB0aGUgcm9vdCBub2RlX21vZHVsZXMgZGlyICh1c2VmdWwgd2hlbiB3b3JraW5nIGluIG1vbm9yZXBvIHNldHVwLCBlLmcuIHlhcm4gd29ya3NwYWNlcykuICovXG4gIHJvb3ROb2RlTW9kdWxlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb29raWUgQmFubmVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgY29va2llQmFubmVyPzogQ29va2llQmFubmVyQ29uZmlndXJhdGlvbjtcbiAgLyoqIENvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLiBIZXJlIHlvdSBjYW4gZW5hYmxlIG9yIGRpc2FibGUgY29va2llIGNhdGVnb3JpZXMgKi9cbiAgY29va2llUHJlZmVyZW5jZXM/OiBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRGVmYXVsdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB6b29tIGxldmVsIHRvIHNldCBvbiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjZW50ZXIgcG9zaXRpb24gb2YgZWFjaCBuZXcgbWFwLlxuICAgKi9cbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBUaWxlTGF5ZXIge1xuICAvKipcbiAgICogVGhlIGxheWVyIHVybCBpbiB0aGUgc3BlY2lmaWMgbGVhZmxldCBmb3JtYXQuXG4gICAqL1xuICBsYXllclVybDogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zLiBOb3RlIHRoaXMgb3B0aW9ucyBhcmUgbm90IHR5cGVkIGFzIGxlYWZsZXQgc2hvdWxkIG5vdCBiZSBieSBkZWZhdWx0IGluY2x1ZGVkLiBUaGUgdHlwZSBmcm9tIGxlYWZsZXQgaXMgTC5UaWxlTGF5ZXJPcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uczogYW55O1xuICAvKipcbiAgICogQSBsYWJlbCB0byBzaG93IHRvIHRoZSBlbmQgdXNlci5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSBsYXllcnMgdG8gYmUgc2hvd24gdG8gdGhlIHVzZXIuIEhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
import { Component, Output, Input, EventEmitter } from '@angular/core';
|
|
2
2
|
import { LoginService } from './login.service';
|
|
3
3
|
import { AlertService } from '../alert/alert.service';
|
|
4
|
-
import { AppStateService } from '../common/ui-state.service';
|
|
5
4
|
import { gettext } from '../i18n/gettext';
|
|
6
5
|
import { LoginViews } from './login.model';
|
|
7
6
|
import { CredentialsFromQueryParamsService } from './credentials-from-query-params.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "./login.service";
|
|
10
9
|
import * as i2 from "../alert/alert.service";
|
|
11
|
-
import * as i3 from "
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
import * as i5 from "
|
|
14
|
-
import * as i6 from "../
|
|
15
|
-
import * as i7 from "
|
|
16
|
-
import * as i8 from "
|
|
17
|
-
import * as i9 from "../
|
|
18
|
-
import * as i10 from "../forms/
|
|
19
|
-
import * as i11 from "../
|
|
20
|
-
import * as i12 from "../i18n/c8y-translate.pipe";
|
|
10
|
+
import * as i3 from "./credentials-from-query-params.service";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "../common/icon.directive";
|
|
13
|
+
import * as i6 from "../i18n/c8y-translate.directive";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
import * as i8 from "../authentication/password-input.component";
|
|
16
|
+
import * as i9 from "../forms/form-group.component";
|
|
17
|
+
import * as i10 from "../forms/required-input-placeholder.directive";
|
|
18
|
+
import * as i11 from "../i18n/c8y-translate.pipe";
|
|
21
19
|
export class CredentialsComponent {
|
|
22
|
-
constructor(loginService, alert,
|
|
20
|
+
constructor(loginService, alert, credentialsFromQueryParamsService) {
|
|
23
21
|
this.loginService = loginService;
|
|
24
22
|
this.alert = alert;
|
|
25
|
-
this.ui = ui;
|
|
26
23
|
this.credentialsFromQueryParamsService = credentialsFromQueryParamsService;
|
|
27
24
|
this.onChangeView = new EventEmitter();
|
|
28
25
|
this.loginViewParams = {
|
|
@@ -114,14 +111,14 @@ export class CredentialsComponent {
|
|
|
114
111
|
this.alert.warning(gettext('Two-factor authentication has been turned on for this account. Provide your phone number above to save it in your user profile and start receiving verification codes via SMS.'));
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
|
-
CredentialsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CredentialsComponent, deps: [{ token: i1.LoginService }, { token: i2.AlertService }, { token: i3.
|
|
118
|
-
CredentialsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CredentialsComponent, selector: "c8y-credentials", inputs: { loginViewParams: "loginViewParams" }, outputs: { onChangeView: "onChangeView" }, ngImport: i0, template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label
|
|
114
|
+
CredentialsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CredentialsComponent, deps: [{ token: i1.LoginService }, { token: i2.AlertService }, { token: i3.CredentialsFromQueryParamsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
CredentialsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CredentialsComponent, selector: "c8y-credentials", inputs: { loginViewParams: "loginViewParams" }, outputs: { onChangeView: "onChangeView" }, ngImport: i0, template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"password\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"password\"\n required\n [id]=\"'password'\"\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i6.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete"] }, { kind: "component", type: i9.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i10.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "pipe", type: i11.C8yTranslatePipe, name: "translate" }] });
|
|
119
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CredentialsComponent, decorators: [{
|
|
120
117
|
type: Component,
|
|
121
|
-
args: [{ selector: 'c8y-credentials', template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.AlertService }, { type: i3.
|
|
118
|
+
args: [{ selector: 'c8y-credentials', template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"password\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"password\"\n required\n [id]=\"'password'\"\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n</form>\n" }]
|
|
119
|
+
}], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.AlertService }, { type: i3.CredentialsFromQueryParamsService }]; }, propDecorators: { onChangeView: [{
|
|
123
120
|
type: Output
|
|
124
121
|
}], loginViewParams: [{
|
|
125
122
|
type: Input
|
|
126
123
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9jcmVkZW50aWFscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUTVGLE1BQU0sT0FBTyxvQkFBb0I7SUFtQi9CLFlBQ1MsWUFBMEIsRUFDMUIsS0FBbUIsRUFDbkIsRUFBbUIsRUFDbEIsaUNBQW9FO1FBSHJFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbEIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQXRCcEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLG9CQUFlLEdBQStCO1lBQ3JELGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFFRixnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUN6Qixj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QUVPLGtCQUFrQixDQUFDLE9BQWU7UUFDeEMsSUFBSSxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2hCLE9BQU8sQ0FDTCxzR0FBc0csQ0FDdkcsQ0FDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNoQixPQUFPLENBQ0wsZ0xBQWdMLENBQ2pMLENBQ0YsQ0FBQztJQUNKLENBQUM7O2lIQTdHVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixrSkNmakMsay9HQW9KQTsyRkRySWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs0TUFLakIsWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IElDcmVkZW50aWFscyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBMb2dpblZpZXdzIH0gZnJvbSAnLi9sb2dpbi5tb2RlbCc7XG5pbXBvcnQgeyBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWZyb20tcXVlcnktcGFyYW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWNvbXBvbmVudC1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktY3JlZGVudGlhbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlZGVudGlhbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENyZWRlbnRpYWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlVmlldyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBsb2dpblZpZXdQYXJhbXM6IENyZWRlbnRpYWxzQ29tcG9uZW50UGFyYW1zID0ge1xuICAgIGRpc2FibGVUZW5hbnQ6IGZhbHNlLFxuICAgIHNob3dUZW5hbnQ6IGZhbHNlXG4gIH07XG5cbiAgTE9HSU5fVklFV1MgPSBMb2dpblZpZXdzO1xuICBtb2RlbDogSUNyZWRlbnRpYWxzID0ge307XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBzaG93TG9naW5Gb3JtID0gZmFsc2U7XG4gIHNob3dCYXNpY0F1dGggPSBmYWxzZTtcbiAgb2F1dGhPcHRpb25zOiBhbnkgPSB7fTtcbiAgc2hvd1RlbmFudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUgPSAncGFzc3dvcmRyZXNldHRva2VuJztcbiAgcHJpdmF0ZSByZWFkb25seSBOT19QSE9ORV9IRUFERVJfTkFNRSA9ICdOb1Bob25lSGVhZGVyJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOiBMb2dpblNlcnZpY2UsXG4gICAgcHVibGljIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHVibGljIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2U6IENyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyBvYXV0aE9wdGlvbnMsIGxvZ2luTW9kZSB9ID0gdGhpcy5sb2dpblNlcnZpY2U7XG4gICAgdGhpcy5tb2RlbC50ZW5hbnQgPSB0aGlzLmxvZ2luU2VydmljZS5nZXRUZW5hbnQoKTtcbiAgICB0aGlzLnNob3dMb2dpbkZvcm0gPVxuICAgICAgdHlwZW9mIGxvZ2luTW9kZS52aXNpYmxlT25Mb2dpblBhZ2UgPT09ICd1bmRlZmluZWQnIHx8IGxvZ2luTW9kZS52aXNpYmxlT25Mb2dpblBhZ2U7XG4gICAgdGhpcy5zaG93QmFzaWNBdXRoID0gbG9naW5Nb2RlLnR5cGUgPT09ICdCQVNJQyc7XG4gICAgdGhpcy5vYXV0aE9wdGlvbnMgPSBvYXV0aE9wdGlvbnM7XG4gICAgY29uc3QgY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXMgPVxuICAgICAgdGhpcy5jcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UuZ2V0Q3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubW9kZWwsIGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKTtcbiAgICB0aGlzLnNob3dUZW5hbnQgPSB0aGlzLmxvZ2luVmlld1BhcmFtcy5zaG93VGVuYW50IHx8IHRoaXMubG9naW5TZXJ2aWNlLnNob3dUZW5hbnQoKTtcbiAgfVxuXG4gIHJlZGlyZWN0VG9PYXV0aCgpIHtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5yZWRpcmVjdFRvT2F1dGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gbG9naW4gaW50byB0aGUgYXBwbGljYXRpb24gdXNpbmcgYmFzaWMgYXV0aC5cbiAgICogSWYgc3VjY2Vzc2Z1bCBsb2dnZWQgaW4gdGhlIGNsaWVudCBpcyBzZXQgaW4gc2hhcmVkL2N1bXVsb2NpdHkuc2VydmljZS50c1xuICAgKi9cbiAgYXN5bmMgbG9naW4oKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGJhc2ljQXV0aCA9IHRoaXMubG9naW5TZXJ2aWNlLnVzZUJhc2ljQXV0aCh0aGlzLm1vZGVsKTtcbiAgICAgIGF3YWl0IHRoaXMubG9naW5TZXJ2aWNlLmxvZ2luKGJhc2ljQXV0aCwgdGhpcy5tb2RlbCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUucmVzICYmIGUucmVzLmhlYWRlcnMgJiYgZS5yZXMuaGVhZGVycy5nZXQodGhpcy5QQVNTV09SRF9SRVNFVF9IRUFERVJfTkFNRSkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVQYXNzd29yZFJlc2V0KGUucmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDEgJiYgL3Bpbi9pLnRlc3QoZS5kYXRhLm1lc3NhZ2UpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlU21zQ2hhbGxlbmdlKGUuZGF0YS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDEgJiYgL1RPVFAvaS50ZXN0KGUuZGF0YS5tZXNzYWdlKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVRvdHBDaGFsbGVuZ2UoZS5kYXRhLm1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZS5yZXMgJiZcbiAgICAgICAgZS5yZXMuaGVhZGVycyAmJlxuICAgICAgICBlLnJlcy5oZWFkZXJzLmdldCh0aGlzLk5PX1BIT05FX0hFQURFUl9OQU1FKSAmJlxuICAgICAgICAhdGhpcy5sb2dpblNlcnZpY2UuaXNTdXBwb3J0VXNlcih0aGlzLm1vZGVsKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlTm9QaG9uZU51bWJlclByb3ZpZGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5nZW5lcmF0ZU9hdXRoVG9rZW4odGhpcy5tb2RlbCk7XG4gICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBhc3N3b3JkUmVzZXQoZTogYW55KSB7XG4gICAgdGhpcy5hbGVydC5yZW1vdmVMYXN0RGFuZ2VyKCk7XG4gICAgdGhpcy5tb2RlbC50b2tlbiA9IGUuaGVhZGVycy5nZXQodGhpcy5QQVNTV09SRF9SRVNFVF9IRUFERVJfTkFNRSk7XG4gICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuQ2hhbmdlUGFzc3dvcmQsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVUb3RwQ2hhbGxlbmdlKG1lc3NhZ2UpIHtcbiAgICBpZiAoL1RPVFAgc2V0dXAgcmVxdWlyZWQvaS50ZXN0KG1lc3NhZ2UpKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Ub3RwU2V0dXAsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Ub3RwQ2hhbGxlbmdlLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNtc0NoYWxsZW5nZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBpZiAoL3BpbiBoYXMgYWxyZWFkeSBiZWVuIGdlbmVyYXRlZC9pLnRlc3QobWVzc2FnZSkpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnVGhlIHZlcmlmaWNhdGlvbiBjb2RlIHdhcyBhbHJlYWR5IHNlbnQuIEZvciBhIG5ldyB2ZXJpZmljYXRpb24gY29kZSwgcGxlYXNlIGNsaWNrIG9uIHRoZSBsaW5rIGFib3ZlLidcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5hbGVydC5yZW1vdmVMYXN0RGFuZ2VyKCk7XG4gICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuU21zQ2hhbGxlbmdlLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTm9QaG9uZU51bWJlclByb3ZpZGVkKCkge1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLlByb3ZpZGVQaG9uZU51bWJlciwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gICAgdGhpcy5hbGVydC53YXJuaW5nKFxuICAgICAgZ2V0dGV4dChcbiAgICAgICAgJ1R3by1mYWN0b3IgYXV0aGVudGljYXRpb24gaGFzIGJlZW4gdHVybmVkIG9uIGZvciB0aGlzIGFjY291bnQuIFByb3ZpZGUgeW91ciBwaG9uZSBudW1iZXIgYWJvdmUgdG8gc2F2ZSBpdCBpbiB5b3VyIHVzZXIgcHJvZmlsZSBhbmQgc3RhcnQgcmVjZWl2aW5nIHZlcmlmaWNhdGlvbiBjb2RlcyB2aWEgU01TLidcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwib2F1dGhcIlxuICAqbmdJZj1cIm9hdXRoT3B0aW9ucy5pbml0UmVxdWVzdCAmJiBvYXV0aE9wdGlvbnMudmlzaWJsZU9uTG9naW5QYWdlXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tbGcgZm9ybS1ncm91cFwiXG4gICAgdGl0bGU9XCJ7eyBvYXV0aE9wdGlvbnMuYnV0dG9uTmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInJlZGlyZWN0VG9PYXV0aCgpXCJcbiAgPlxuICAgIDxpXG4gICAgICBjbGFzcz1cInB1bGwtbGVmdFwiXG4gICAgICBbYzh5SWNvbl09XCInc2lnbi1pbidcIlxuICAgID48L2k+XG4gICAge3sgb2F1dGhPcHRpb25zLmJ1dHRvbk5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGZvcm1cbiAgY2xhc3M9XCJsb2dpbkZvcm1cIlxuICAobmdTdWJtaXQpPVwibG9naW4oKVwiXG4gICNsb2dpbkZvcm09XCJuZ0Zvcm1cIlxuICAqbmdJZj1cInNob3dMb2dpbkZvcm1cIlxuICBub3ZhbGlkYXRlXG4+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJsZWdlbmQgZm9ybS1ibG9jayBjZW50ZXJcIlxuICAgICpuZ0lmPVwiIShvYXV0aE9wdGlvbnMuaW5pdFJlcXVlc3QgJiYgb2F1dGhPcHRpb25zLnZpc2libGVPbkxvZ2luUGFnZSk7IGVsc2Ugb3JMZWdlbmRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgTG9naW5cbiAgPC9zcGFuPlxuXG4gIDxuZy10ZW1wbGF0ZSAjb3JMZWdlbmQ+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJsZWdlbmQgZm9ybS1ibG9jayBjZW50ZXJcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgb3JcbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICBjbGFzcz1cInRlbmFudEZpZWxkXCJcbiAgICBpZD1cInRlbmFudEZpZWxkXCJcbiAgICAqbmdJZj1cInNob3dUZW5hbnRcIlxuICA+XG4gICAgPGxhYmVsXG4gICAgICBmb3I9XCJ0ZW5hbnRcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgVGVuYW50IElEXG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGlkPVwidGVuYW50XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4nIHwgdHJhbnNsYXRlIH19IHQxMjM0NVwiXG4gICAgICBuYW1lPVwidGVuYW50XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnRlbmFudFwiXG4gICAgICAjdGVuYW50PVwibmdNb2RlbFwiXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICBwbGFjZWhvbGRlci1uby1yZXF1aXJlZC1oaW50XG4gICAgICBbcmVhZG9ubHldPVwibG9naW5WaWV3UGFyYW1zLmRpc2FibGVUZW5hbnRcIlxuICAgIC8+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxjOHktZm9ybS1ncm91cD5cbiAgICA8bGFiZWxcbiAgICAgIGZvcj1cInVzZXJcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgVXNlcm5hbWVcbiAgICA8L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgaWQ9XCJ1c2VyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4gam9lIG9yIGpvZS5kb2VAZXhhbXBsZS5jb21gTE9DQUxJWkVgJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBuYW1lPVwidXNlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByZXF1aXJlZFxuICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC51c2VyXCJcbiAgICAgICN1c2VyPVwibmdNb2RlbFwiXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICBwbGFjZWhvbGRlci1uby1yZXF1aXJlZC1oaW50XG4gICAgLz5cbiAgPC9jOHktZm9ybS1ncm91cD5cbiAgPGM4eS1mb3JtLWdyb3VwPlxuICAgIDxsYWJlbCBmb3I9XCJwYXNzd29yZFwiIHRyYW5zbGF0ZT5QYXNzd29yZDwvbGFiZWw+XG4gICAgPGM4eS1wYXNzd29yZC1pbnB1dFxuICAgICAgW2lkXT1cIidwYXNzd29yZCdcIlxuICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnBhc3N3b3JkXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgID48L2M4eS1wYXNzd29yZC1pbnB1dD5cbiAgPC9jOHktZm9ybS1ncm91cD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgKm5nSWY9XCJzaG93QmFzaWNBdXRoXCJcbiAgPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJjOHktY2hlY2tib3hcIlxuICAgICAgdGl0bGU9XCJ7eyAnUmVtZW1iZXIgbWUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbmFtZT1cInJlbWVtYmVyXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJsb2dpblNlcnZpY2UucmVtZW1iZXJNZVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ1JlbWVtYmVyIG1lJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1sZyBidG4tYmxvY2sgZm9ybS1ncm91cFwiXG4gICAgdGl0bGU9XCJ7eyAnTG9nIGluJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgW2Rpc2FibGVkXT1cIiFsb2dpbkZvcm0uZm9ybS52YWxpZCB8fCBpc0xvYWRpbmdcIlxuICA+XG4gICAge3sgJ0xvZyBpbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLXQtOFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbVwiXG4gICAgICB0aXRsZT1cInt7ICdGb3Jnb3QgcGFzc3dvcmQ/JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExPR0lOX1ZJRVdTLlJlY292ZXJQYXNzd29yZCB9KVwiXG4gICAgPlxuICAgICAge3sgJ0ZvcmdvdCBwYXNzd29yZD8nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLXQtOFwiXG4gICAgKm5nSWY9XCIhISh1aS5zdGF0ZSQgfCBhc3luYykubG9naW5FeHRyYUxpbmtcIlxuICA+XG4gICAgPGFcbiAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgdGl0bGU9XCJ7eyAodWkuc3RhdGUkIHwgYXN5bmMpLmxvZ2luRXh0cmFMaW5rLmxhYmVsIH19XCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgW2hyZWZdPVwiKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGluay51cmxcIlxuICAgID5cbiAgICAgIHt7ICh1aS5zdGF0ZSQgfCBhc3luYykubG9naW5FeHRyYUxpbmsubGFiZWwgfX1cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9jcmVkZW50aWFscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVE1RixNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixZQUNTLFlBQTBCLEVBQzFCLEtBQW1CLEVBQ2xCLGlDQUFvRTtRQUZyRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ2xCLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBbUM7UUFyQnBFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxvQkFBZSxHQUErQjtZQUNyRCxhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDO1FBRUYsZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFDekIsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixpQkFB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QyxLQUFLLENBQUMsT0FBTyxDQUNoQixPQUFPLENBQ0wsc0dBQXNHLENBQ3ZHLENBQ0YsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDaEIsT0FBTyxDQUNMLGdMQUFnTCxDQUNqTCxDQUNGLENBQUM7SUFDSixDQUFDOztpSEE1R1Usb0JBQW9CO3FHQUFwQixvQkFBb0Isa0pDZGpDLGtyR0E0SUE7MkZEOUhhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7OEtBS2pCLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUUsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBJQ3JlZGVudGlhbHMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgTG9naW5WaWV3cyB9IGZyb20gJy4vbG9naW4ubW9kZWwnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlIH0gZnJvbSAnLi9jcmVkZW50aWFscy1mcm9tLXF1ZXJ5LXBhcmFtcy5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRlbnRpYWxzQ29tcG9uZW50UGFyYW1zIH0gZnJvbSAnLi9jcmVkZW50aWFscy1jb21wb25lbnQtcGFyYW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWNyZWRlbnRpYWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVkZW50aWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZVZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgbG9naW5WaWV3UGFyYW1zOiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyA9IHtcbiAgICBkaXNhYmxlVGVuYW50OiBmYWxzZSxcbiAgICBzaG93VGVuYW50OiBmYWxzZVxuICB9O1xuXG4gIExPR0lOX1ZJRVdTID0gTG9naW5WaWV3cztcbiAgbW9kZWw6IElDcmVkZW50aWFscyA9IHt9O1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgc2hvd0xvZ2luRm9ybSA9IGZhbHNlO1xuICBzaG93QmFzaWNBdXRoID0gZmFsc2U7XG4gIG9hdXRoT3B0aW9uczogYW55ID0ge307XG4gIHNob3dUZW5hbnQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBU1NXT1JEX1JFU0VUX0hFQURFUl9OQU1FID0gJ3Bhc3N3b3JkcmVzZXR0b2tlbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgTk9fUEhPTkVfSEVBREVSX05BTUUgPSAnTm9QaG9uZUhlYWRlcic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxvZ2luU2VydmljZTogTG9naW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlOiBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgb2F1dGhPcHRpb25zLCBsb2dpbk1vZGUgfSA9IHRoaXMubG9naW5TZXJ2aWNlO1xuICAgIHRoaXMubW9kZWwudGVuYW50ID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VGVuYW50KCk7XG4gICAgdGhpcy5zaG93TG9naW5Gb3JtID1cbiAgICAgIHR5cGVvZiBsb2dpbk1vZGUudmlzaWJsZU9uTG9naW5QYWdlID09PSAndW5kZWZpbmVkJyB8fCBsb2dpbk1vZGUudmlzaWJsZU9uTG9naW5QYWdlO1xuICAgIHRoaXMuc2hvd0Jhc2ljQXV0aCA9IGxvZ2luTW9kZS50eXBlID09PSAnQkFTSUMnO1xuICAgIHRoaXMub2F1dGhPcHRpb25zID0gb2F1dGhPcHRpb25zO1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zID1cbiAgICAgIHRoaXMuY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlLmdldENyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKCk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBjcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtcyk7XG4gICAgdGhpcy5zaG93VGVuYW50ID0gdGhpcy5sb2dpblZpZXdQYXJhbXMuc2hvd1RlbmFudCB8fCB0aGlzLmxvZ2luU2VydmljZS5zaG93VGVuYW50KCk7XG4gIH1cblxuICByZWRpcmVjdFRvT2F1dGgoKSB7XG4gICAgdGhpcy5sb2dpblNlcnZpY2UucmVkaXJlY3RUb09hdXRoKCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRvIGxvZ2luIGludG8gdGhlIGFwcGxpY2F0aW9uIHVzaW5nIGJhc2ljIGF1dGguXG4gICAqIElmIHN1Y2Nlc3NmdWwgbG9nZ2VkIGluIHRoZSBjbGllbnQgaXMgc2V0IGluIHNoYXJlZC9jdW11bG9jaXR5LnNlcnZpY2UudHNcbiAgICovXG4gIGFzeW5jIGxvZ2luKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICBjb25zdCBiYXNpY0F1dGggPSB0aGlzLmxvZ2luU2VydmljZS51c2VCYXNpY0F1dGgodGhpcy5tb2RlbCk7XG4gICAgICBhd2FpdCB0aGlzLmxvZ2luU2VydmljZS5sb2dpbihiYXNpY0F1dGgsIHRoaXMubW9kZWwpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLnJlcyAmJiBlLnJlcy5oZWFkZXJzICYmIGUucmVzLmhlYWRlcnMuZ2V0KHRoaXMuUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUGFzc3dvcmRSZXNldChlLnJlcyk7XG4gICAgICB9IGVsc2UgaWYgKGUucmVzICYmIGUucmVzLnN0YXR1cyA9PT0gNDAxICYmIC9waW4vaS50ZXN0KGUuZGF0YS5tZXNzYWdlKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVNtc0NoYWxsZW5nZShlLmRhdGEubWVzc2FnZSk7XG4gICAgICB9IGVsc2UgaWYgKGUucmVzICYmIGUucmVzLnN0YXR1cyA9PT0gNDAxICYmIC9UT1RQL2kudGVzdChlLmRhdGEubWVzc2FnZSkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVUb3RwQ2hhbGxlbmdlKGUuZGF0YS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGUucmVzICYmXG4gICAgICAgIGUucmVzLmhlYWRlcnMgJiZcbiAgICAgICAgZS5yZXMuaGVhZGVycy5nZXQodGhpcy5OT19QSE9ORV9IRUFERVJfTkFNRSkgJiZcbiAgICAgICAgIXRoaXMubG9naW5TZXJ2aWNlLmlzU3VwcG9ydFVzZXIodGhpcy5tb2RlbClcbiAgICAgICkge1xuICAgICAgICB0aGlzLmhhbmRsZU5vUGhvbmVOdW1iZXJQcm92aWRlZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UuZ2VuZXJhdGVPYXV0aFRva2VuKHRoaXMubW9kZWwpO1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYXNzd29yZFJlc2V0KGU6IGFueSkge1xuICAgIHRoaXMuYWxlcnQucmVtb3ZlTGFzdERhbmdlcigpO1xuICAgIHRoaXMubW9kZWwudG9rZW4gPSBlLmhlYWRlcnMuZ2V0KHRoaXMuUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUpO1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLkNoYW5nZVBhc3N3b3JkLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVG90cENoYWxsZW5nZShtZXNzYWdlKSB7XG4gICAgaWYgKC9UT1RQIHNldHVwIHJlcXVpcmVkL2kudGVzdChtZXNzYWdlKSkge1xuICAgICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuVG90cFNldHVwLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuVG90cENoYWxsZW5nZSwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTbXNDaGFsbGVuZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKC9waW4gaGFzIGFscmVhZHkgYmVlbiBnZW5lcmF0ZWQvaS50ZXN0KG1lc3NhZ2UpKSB7XG4gICAgICB0aGlzLmFsZXJ0Lndhcm5pbmcoXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ1RoZSB2ZXJpZmljYXRpb24gY29kZSB3YXMgYWxyZWFkeSBzZW50LiBGb3IgYSBuZXcgdmVyaWZpY2F0aW9uIGNvZGUsIHBsZWFzZSBjbGljayBvbiB0aGUgbGluayBhYm92ZS4nXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYWxlcnQucmVtb3ZlTGFzdERhbmdlcigpO1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLlNtc0NoYWxsZW5nZSwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vUGhvbmVOdW1iZXJQcm92aWRlZCgpIHtcbiAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Qcm92aWRlUGhvbmVOdW1iZXIsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICAgIHRoaXMuYWxlcnQud2FybmluZyhcbiAgICAgIGdldHRleHQoXG4gICAgICAgICdUd28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGhhcyBiZWVuIHR1cm5lZCBvbiBmb3IgdGhpcyBhY2NvdW50LiBQcm92aWRlIHlvdXIgcGhvbmUgbnVtYmVyIGFib3ZlIHRvIHNhdmUgaXQgaW4geW91ciB1c2VyIHByb2ZpbGUgYW5kIHN0YXJ0IHJlY2VpdmluZyB2ZXJpZmljYXRpb24gY29kZXMgdmlhIFNNUy4nXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cIm9hdXRoXCJcbiAgKm5nSWY9XCJvYXV0aE9wdGlvbnMuaW5pdFJlcXVlc3QgJiYgb2F1dGhPcHRpb25zLnZpc2libGVPbkxvZ2luUGFnZVwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tYmxvY2sgYnRuLWxnIGZvcm0tZ3JvdXBcIlxuICAgIHRpdGxlPVwie3sgb2F1dGhPcHRpb25zLmJ1dHRvbk5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJyZWRpcmVjdFRvT2F1dGgoKVwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJwdWxsLWxlZnRcIlxuICAgICAgW2M4eUljb25dPVwiJ3NpZ24taW4nXCJcbiAgICA+PC9pPlxuICAgIHt7IG9hdXRoT3B0aW9ucy5idXR0b25OYW1lIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxmb3JtXG4gIGNsYXNzPVwibG9naW5Gb3JtXCJcbiAgKG5nU3VibWl0KT1cImxvZ2luKClcIlxuICAjbG9naW5Gb3JtPVwibmdGb3JtXCJcbiAgKm5nSWY9XCJzaG93TG9naW5Gb3JtXCJcbiAgbm92YWxpZGF0ZVxuPlxuICA8c3BhblxuICAgIGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2sgY2VudGVyXCJcbiAgICAqbmdJZj1cIiEob2F1dGhPcHRpb25zLmluaXRSZXF1ZXN0ICYmIG9hdXRoT3B0aW9ucy52aXNpYmxlT25Mb2dpblBhZ2UpOyBlbHNlIG9yTGVnZW5kXCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIExvZ2luXG4gIDwvc3Bhbj5cblxuICA8bmctdGVtcGxhdGUgI29yTGVnZW5kPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2sgY2VudGVyXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIG9yXG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGM4eS1mb3JtLWdyb3VwXG4gICAgY2xhc3M9XCJ0ZW5hbnRGaWVsZFwiXG4gICAgaWQ9XCJ0ZW5hbnRGaWVsZFwiXG4gICAgKm5nSWY9XCJzaG93VGVuYW50XCJcbiAgPlxuICAgIDxsYWJlbFxuICAgICAgZm9yPVwidGVuYW50XCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFRlbmFudCBJRFxuICAgIDwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBpZD1cInRlbmFudFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuJyB8IHRyYW5zbGF0ZSB9fSB0MTIzNDVcIlxuICAgICAgbmFtZT1cInRlbmFudFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByZXF1aXJlZFxuICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC50ZW5hbnRcIlxuICAgICAgI3RlbmFudD1cIm5nTW9kZWxcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgcGxhY2Vob2xkZXItbm8tcmVxdWlyZWQtaGludFxuICAgICAgW3JlYWRvbmx5XT1cImxvZ2luVmlld1BhcmFtcy5kaXNhYmxlVGVuYW50XCJcbiAgICAvPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgPGxhYmVsXG4gICAgICBmb3I9XCJ1c2VyXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFVzZXJuYW1lXG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGlkPVwidXNlclwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuIGpvZSBvciBqb2UuZG9lQGV4YW1wbGUuY29tYExPQ0FMSVpFYCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgbmFtZT1cInVzZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcmVxdWlyZWRcbiAgICAgIFsobmdNb2RlbCldPVwibW9kZWwudXNlclwiXG4gICAgICAjdXNlcj1cIm5nTW9kZWxcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgcGxhY2Vob2xkZXItbm8tcmVxdWlyZWQtaGludFxuICAgIC8+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxjOHktZm9ybS1ncm91cD5cbiAgICA8bGFiZWxcbiAgICAgIGZvcj1cInBhc3N3b3JkXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFBhc3N3b3JkXG4gICAgPC9sYWJlbD5cbiAgICA8Yzh5LXBhc3N3b3JkLWlucHV0XG4gICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgcmVxdWlyZWRcbiAgICAgIFtpZF09XCIncGFzc3dvcmQnXCJcbiAgICAgIFsobmdNb2RlbCldPVwibW9kZWwucGFzc3dvcmRcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgPjwvYzh5LXBhc3N3b3JkLWlucHV0PlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICAqbmdJZj1cInNob3dCYXNpY0F1dGhcIlxuICA+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImM4eS1jaGVja2JveFwiXG4gICAgICB0aXRsZT1cInt7ICdSZW1lbWJlciBtZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBuYW1lPVwicmVtZW1iZXJcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImxvZ2luU2VydmljZS5yZW1lbWJlck1lXCJcbiAgICAgIC8+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3Bhbj57eyAnUmVtZW1iZXIgbWUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWxnIGJ0bi1ibG9jayBmb3JtLWdyb3VwXCJcbiAgICB0aXRsZT1cInt7ICdMb2cgaW4nIHwgdHJhbnNsYXRlIH19XCJcbiAgICB0eXBlPVwic3VibWl0XCJcbiAgICBbZGlzYWJsZWRdPVwiIWxvZ2luRm9ybS5mb3JtLnZhbGlkIHx8IGlzTG9hZGluZ1wiXG4gID5cbiAgICB7eyAnTG9nIGluJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tdC04XCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCJcbiAgICAgIHRpdGxlPVwie3sgJ0ZvcmdvdCBwYXNzd29yZD8nIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTE9HSU5fVklFV1MuUmVjb3ZlclBhc3N3b3JkIH0pXCJcbiAgICA+XG4gICAgICB7eyAnRm9yZ290IHBhc3N3b3JkPycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|