@alfresco/adf-process-services 6.10.0-9909936171 → 7.0.0-alpha.1
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/esm2020/lib/app-list/apps-list.component.mjs +14 -3
- package/esm2020/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +14 -4
- package/esm2020/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +17 -5
- package/esm2020/lib/form/form-list/form-list.component.mjs +4 -5
- package/esm2020/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +6 -7
- package/esm2020/lib/form/widgets/content-widget/attach-file-widget.component.mjs +21 -10
- package/esm2020/lib/form/widgets/dropdown/dropdown.widget.mjs +20 -5
- package/esm2020/lib/form/widgets/file-viewer/file-viewer.widget.mjs +4 -5
- package/esm2020/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +14 -2
- package/esm2020/lib/people/components/people/people.component.mjs +13 -5
- package/esm2020/lib/people/components/people-list/people-list.component.mjs +4 -5
- package/esm2020/lib/people/components/people-search-field/people-search-field.component.mjs +12 -4
- package/esm2020/lib/process-comments/process-comments.component.mjs +5 -6
- package/esm2020/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +4 -4
- package/esm2020/lib/process-list/components/process-list/process-list.component.mjs +12 -4
- package/esm2020/lib/task-comments/task-comments.component.mjs +4 -5
- package/esm2020/lib/task-list/components/task-details/task-details.component.mjs +10 -7
- package/esm2020/lib/task-list/components/task-header/task-header.component.mjs +4 -4
- package/esm2020/lib/task-list/components/task-list/task-list.component.mjs +12 -4
- package/esm2020/lib/task-list/components/task-standalone/task-standalone.component.mjs +3 -3
- package/fesm2015/adf-process-services.mjs +208 -100
- package/fesm2015/adf-process-services.mjs.map +1 -1
- package/fesm2020/adf-process-services.mjs +202 -98
- package/fesm2020/adf-process-services.mjs.map +1 -1
- package/lib/form/widgets/content-widget/attach-file-widget.component.scss +6 -52
- package/lib/form/widgets/dropdown/dropdown.widget.d.ts +5 -0
- package/lib/form/widgets/radio-buttons/radio-buttons.widget.d.ts +4 -0
- package/lib/task-list/components/task-standalone/task-standalone.component.scss +2 -1
- package/package.json +4 -4
- package/bundles/assets/images/alfresco-flower.svg +0 -1
|
@@ -26,6 +26,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
26
26
|
import { MatCardModule } from '@angular/material/card';
|
|
27
27
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
28
28
|
import { TranslateModule } from '@ngx-translate/core';
|
|
29
|
+
import { MatLineModule } from '@angular/material/core';
|
|
29
30
|
import * as i0 from "@angular/core";
|
|
30
31
|
import * as i1 from "../services/apps-process.service";
|
|
31
32
|
import * as i2 from "@angular/common";
|
|
@@ -34,6 +35,7 @@ import * as i4 from "@angular/material/icon";
|
|
|
34
35
|
import * as i5 from "@angular/material/card";
|
|
35
36
|
import * as i6 from "@angular/material/progress-spinner";
|
|
36
37
|
import * as i7 from "@ngx-translate/core";
|
|
38
|
+
import * as i8 from "@angular/material/core";
|
|
37
39
|
const DEFAULT_TASKS_APP_NAME = 'ADF_TASK_LIST.APPS.TASK_APP_NAME';
|
|
38
40
|
const DEFAULT_TASKS_APP_THEME = 'theme-2';
|
|
39
41
|
const DEFAULT_TASKS_APP_ICON = 'glyphicon-asterisk';
|
|
@@ -170,10 +172,19 @@ export class AppsListComponent {
|
|
|
170
172
|
}
|
|
171
173
|
}
|
|
172
174
|
AppsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppsListComponent, deps: [{ token: i1.AppsProcessService }], target: i0.ɵɵFactoryTarget.Component });
|
|
173
|
-
AppsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppsListComponent, isStandalone: true, selector: "adf-apps", inputs: { layoutType: "layoutType", defaultAppId: "defaultAppId", filtersAppId: "filtersAppId" }, outputs: { appClick: "appClick", error: "error" }, host: { classAttribute: "adf-apps" }, queries: [{ propertyName: "emptyCustomContent", first: true, predicate: CustomEmptyContentTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"menu-container\" *ngIf=\"!isEmpty()\">\n <mat-list *ngIf=\"isList()\" class=\"adf-app-list\">\n <mat-list-item class=\"adf-app-list-item\" (click)=\"selectApp(app)\" (keyup.enter)=\"selectApp(app)\" *ngFor=\"let app of appList\" tabindex=\"0\" role=\"button\" title=\"{{app.name}}\">\n <mat-icon
|
|
175
|
+
AppsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppsListComponent, isStandalone: true, selector: "adf-apps", inputs: { layoutType: "layoutType", defaultAppId: "defaultAppId", filtersAppId: "filtersAppId" }, outputs: { appClick: "appClick", error: "error" }, host: { classAttribute: "adf-apps" }, queries: [{ propertyName: "emptyCustomContent", first: true, predicate: CustomEmptyContentTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"menu-container\" *ngIf=\"!isEmpty()\">\n <mat-list *ngIf=\"isList()\" class=\"adf-app-list\">\n <mat-list-item class=\"adf-app-list-item\" (click)=\"selectApp(app)\" (keyup.enter)=\"selectApp(app)\" *ngFor=\"let app of appList\" tabindex=\"0\" role=\"button\" title=\"{{app.name}}\">\n <mat-icon matListItemIcon>touch_app</mat-icon>\n <span matLine>{{getAppName(app) | translate}}</span>\n </mat-list-item>\n </mat-list>\n <div *ngIf=\"isGrid()\" class=\"adf-app-listgrid\">\n <div *ngFor=\"let app of appList\"\n class=\"adf-app-listgrid-item\">\n <mat-card appearance=\"outlined\" tabindex=\"0\"\n role=\"button\"\n class=\"adf-app-listgrid-item-card\"\n title=\"{{getAppName(app) | translate}}\"\n [ngClass]=\"[getTheme(app)]\"\n (click)=\"selectApp(app)\"\n (keyup.enter)=\"selectApp(app)\">\n <div class=\"adf-app-listgrid-item-card-logo\">\n <mat-icon class=\"adf-app-listgrid-item-card-logo-icon\">{{getBackgroundIcon(app)}}</mat-icon>\n </div>\n <div mat-card-title class=\"adf-app-listgrid-item-card-title\">\n <h1>{{getAppName(app) | translate}}</h1>\n </div>\n <mat-card-subtitle class=\"adf-app-listgrid-item-card-subtitle\">\n <div class=\"adf-line-clamp\">{{app.description}}</div>\n </mat-card-subtitle>\n\n <mat-card-actions class=\"adf-app-listgrid-item-card-actions\">\n <mat-icon class=\"adf-app-listgrid-item-card-actions-icon\" *ngIf=\"isSelected(app.id)\">done</mat-icon>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"isLoading(); else empty\">\n <div class=\"adf-app-list-spinner\">\n <mat-progress-spinner mode=\"indeterminate\"></mat-progress-spinner>\n </div>\n</ng-container>\n\n<ng-template #empty>\n <div class=\"adf-app-list-empty\" *ngIf=\"isEmpty()\">\n <ng-content select=\"adf-custom-empty-content-template\"\n *ngIf=\"hasEmptyCustomContentTemplate; else defaultEmptyTemplate\"\n class=\"adf-custom-empty-template\">\n </ng-content>\n\n <ng-template #defaultEmptyTemplate>\n <adf-empty-content\n icon=\"apps\"\n [title]=\"'ADF_TASK_LIST.APPS.TITLE' | translate\"\n [subtitle]=\"'ADF_TASK_LIST.APPS.SUBTITLE' | translate\">\n </adf-empty-content>\n </ng-template>\n </div>\n</ng-template>\n", styles: [".adf-app-list-item{cursor:pointer}.adf-app-list-spinner,.adf-app-list-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:85vh}.adf-app-list-spinner .mat-mdc-progress-spinner,.adf-app-list-empty .mat-mdc-progress-spinner{margin:0 auto}.adf-apps{width:100%}.adf-apps .adf-app-listgrid{padding:8px;flex-flow:row wrap;display:flex}.adf-apps .adf-app-listgrid-item{outline:none;padding:8px;box-sizing:border-box;flex:1 1 33.3333%;max-width:33.3333%}@media (max-width: 959.9px){.adf-apps .adf-app-listgrid-item{flex:1 1 50%;max-width:50%}}@media (max-width: 599.9px){.adf-apps .adf-app-listgrid-item{flex:1 1 100%;max-width:100%}}.adf-apps .adf-app-listgrid-item-card{outline:none;flex-direction:column;display:flex;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);min-height:200px;padding:0}.adf-apps .adf-app-listgrid-item-card.theme-1{background-color:#269abc}.adf-apps .adf-app-listgrid-item-card.theme-1 .adf-app-listgrid-item-card-logo-icon{color:#168aac}.adf-apps .adf-app-listgrid-item-card.theme-2{background-color:#7da9b0}.adf-apps .adf-app-listgrid-item-card.theme-2 .adf-app-listgrid-item-card-logo-icon{color:#6d99a0}.adf-apps .adf-app-listgrid-item-card.theme-3{background-color:#7689ab}.adf-apps .adf-app-listgrid-item-card.theme-3 .adf-app-listgrid-item-card-logo-icon{color:#66799b}.adf-apps .adf-app-listgrid-item-card.theme-4{background-color:#c74e3e}.adf-apps .adf-app-listgrid-item-card.theme-4 .adf-app-listgrid-item-card-logo-icon{color:#b73e2e}.adf-apps .adf-app-listgrid-item-card.theme-5{background-color:#fab96c}.adf-apps .adf-app-listgrid-item-card.theme-5 .adf-app-listgrid-item-card-logo-icon{color:#eaa95c}.adf-apps .adf-app-listgrid-item-card.theme-6{background-color:#759d4c}.adf-apps .adf-app-listgrid-item-card.theme-6 .adf-app-listgrid-item-card-logo-icon{color:#658d3c}.adf-apps .adf-app-listgrid-item-card.theme-7{background-color:#b1b489}.adf-apps .adf-app-listgrid-item-card.theme-7 .adf-app-listgrid-item-card-logo-icon{color:#a1a479}.adf-apps .adf-app-listgrid-item-card.theme-8{background-color:#a17299}.adf-apps .adf-app-listgrid-item-card.theme-8 .adf-app-listgrid-item-card-logo-icon{color:#916289}.adf-apps .adf-app-listgrid-item-card.theme-9{background-color:#696c67}.adf-apps .adf-app-listgrid-item-card.theme-9 .adf-app-listgrid-item-card-logo-icon{color:#595c57}.adf-apps .adf-app-listgrid-item-card.theme-10{background-color:#cabb33}.adf-apps .adf-app-listgrid-item-card.theme-10 .adf-app-listgrid-item-card-logo-icon{color:#baab23}.adf-apps .adf-app-listgrid-item-card:hover{box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003;cursor:pointer;transform:scale(1.015)}.adf-apps .adf-app-listgrid-item-card-logo{position:absolute;right:20px;top:20px;padding:16px;z-index:9}.adf-apps .adf-app-listgrid-item-card-logo-icon{font-size:70px;width:1em;height:1em}.adf-apps .adf-app-listgrid-item-card-title{padding:16px;margin-bottom:0;z-index:9999}.adf-apps .adf-app-listgrid-item-card-title h1{color:#fff;width:80%;font-size:var(--theme-headline-font-size);margin:0;line-height:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.adf-apps .adf-app-listgrid-item-card-subtitle{color:#fff;z-index:9999;padding:16px;flex:1 0 auto}.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{position:relative;line-height:1.25;padding:0;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 1){.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:3.7125em}}@supports not (-webkit-line-clamp: 1){.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{white-space:nowrap;width:100%}}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon){padding:0 16px 16px;border-top:1px solid rgba(0,0,0,.1);min-height:48px;box-sizing:border-box;margin-left:0;margin-right:0}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon):last-child{margin-bottom:0}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon) .adf-app-listgrid-item-card-actions-icon{color:#e9f1f3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatLineModule }, { kind: "directive", type: i8.MatLine, selector: "[mat-line], [matLine]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
174
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppsListComponent, decorators: [{
|
|
175
177
|
type: Component,
|
|
176
|
-
args: [{ selector: 'adf-apps', standalone: true, imports: [
|
|
178
|
+
args: [{ selector: 'adf-apps', standalone: true, imports: [
|
|
179
|
+
CommonModule,
|
|
180
|
+
MatListModule,
|
|
181
|
+
MatIconModule,
|
|
182
|
+
MatCardModule,
|
|
183
|
+
MatProgressSpinnerModule,
|
|
184
|
+
TranslateModule,
|
|
185
|
+
EmptyContentComponent,
|
|
186
|
+
MatLineModule
|
|
187
|
+
], encapsulation: ViewEncapsulation.None, host: { class: 'adf-apps' }, template: "<div class=\"menu-container\" *ngIf=\"!isEmpty()\">\n <mat-list *ngIf=\"isList()\" class=\"adf-app-list\">\n <mat-list-item class=\"adf-app-list-item\" (click)=\"selectApp(app)\" (keyup.enter)=\"selectApp(app)\" *ngFor=\"let app of appList\" tabindex=\"0\" role=\"button\" title=\"{{app.name}}\">\n <mat-icon matListItemIcon>touch_app</mat-icon>\n <span matLine>{{getAppName(app) | translate}}</span>\n </mat-list-item>\n </mat-list>\n <div *ngIf=\"isGrid()\" class=\"adf-app-listgrid\">\n <div *ngFor=\"let app of appList\"\n class=\"adf-app-listgrid-item\">\n <mat-card appearance=\"outlined\" tabindex=\"0\"\n role=\"button\"\n class=\"adf-app-listgrid-item-card\"\n title=\"{{getAppName(app) | translate}}\"\n [ngClass]=\"[getTheme(app)]\"\n (click)=\"selectApp(app)\"\n (keyup.enter)=\"selectApp(app)\">\n <div class=\"adf-app-listgrid-item-card-logo\">\n <mat-icon class=\"adf-app-listgrid-item-card-logo-icon\">{{getBackgroundIcon(app)}}</mat-icon>\n </div>\n <div mat-card-title class=\"adf-app-listgrid-item-card-title\">\n <h1>{{getAppName(app) | translate}}</h1>\n </div>\n <mat-card-subtitle class=\"adf-app-listgrid-item-card-subtitle\">\n <div class=\"adf-line-clamp\">{{app.description}}</div>\n </mat-card-subtitle>\n\n <mat-card-actions class=\"adf-app-listgrid-item-card-actions\">\n <mat-icon class=\"adf-app-listgrid-item-card-actions-icon\" *ngIf=\"isSelected(app.id)\">done</mat-icon>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"isLoading(); else empty\">\n <div class=\"adf-app-list-spinner\">\n <mat-progress-spinner mode=\"indeterminate\"></mat-progress-spinner>\n </div>\n</ng-container>\n\n<ng-template #empty>\n <div class=\"adf-app-list-empty\" *ngIf=\"isEmpty()\">\n <ng-content select=\"adf-custom-empty-content-template\"\n *ngIf=\"hasEmptyCustomContentTemplate; else defaultEmptyTemplate\"\n class=\"adf-custom-empty-template\">\n </ng-content>\n\n <ng-template #defaultEmptyTemplate>\n <adf-empty-content\n icon=\"apps\"\n [title]=\"'ADF_TASK_LIST.APPS.TITLE' | translate\"\n [subtitle]=\"'ADF_TASK_LIST.APPS.SUBTITLE' | translate\">\n </adf-empty-content>\n </ng-template>\n </div>\n</ng-template>\n", styles: [".adf-app-list-item{cursor:pointer}.adf-app-list-spinner,.adf-app-list-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:85vh}.adf-app-list-spinner .mat-mdc-progress-spinner,.adf-app-list-empty .mat-mdc-progress-spinner{margin:0 auto}.adf-apps{width:100%}.adf-apps .adf-app-listgrid{padding:8px;flex-flow:row wrap;display:flex}.adf-apps .adf-app-listgrid-item{outline:none;padding:8px;box-sizing:border-box;flex:1 1 33.3333%;max-width:33.3333%}@media (max-width: 959.9px){.adf-apps .adf-app-listgrid-item{flex:1 1 50%;max-width:50%}}@media (max-width: 599.9px){.adf-apps .adf-app-listgrid-item{flex:1 1 100%;max-width:100%}}.adf-apps .adf-app-listgrid-item-card{outline:none;flex-direction:column;display:flex;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);min-height:200px;padding:0}.adf-apps .adf-app-listgrid-item-card.theme-1{background-color:#269abc}.adf-apps .adf-app-listgrid-item-card.theme-1 .adf-app-listgrid-item-card-logo-icon{color:#168aac}.adf-apps .adf-app-listgrid-item-card.theme-2{background-color:#7da9b0}.adf-apps .adf-app-listgrid-item-card.theme-2 .adf-app-listgrid-item-card-logo-icon{color:#6d99a0}.adf-apps .adf-app-listgrid-item-card.theme-3{background-color:#7689ab}.adf-apps .adf-app-listgrid-item-card.theme-3 .adf-app-listgrid-item-card-logo-icon{color:#66799b}.adf-apps .adf-app-listgrid-item-card.theme-4{background-color:#c74e3e}.adf-apps .adf-app-listgrid-item-card.theme-4 .adf-app-listgrid-item-card-logo-icon{color:#b73e2e}.adf-apps .adf-app-listgrid-item-card.theme-5{background-color:#fab96c}.adf-apps .adf-app-listgrid-item-card.theme-5 .adf-app-listgrid-item-card-logo-icon{color:#eaa95c}.adf-apps .adf-app-listgrid-item-card.theme-6{background-color:#759d4c}.adf-apps .adf-app-listgrid-item-card.theme-6 .adf-app-listgrid-item-card-logo-icon{color:#658d3c}.adf-apps .adf-app-listgrid-item-card.theme-7{background-color:#b1b489}.adf-apps .adf-app-listgrid-item-card.theme-7 .adf-app-listgrid-item-card-logo-icon{color:#a1a479}.adf-apps .adf-app-listgrid-item-card.theme-8{background-color:#a17299}.adf-apps .adf-app-listgrid-item-card.theme-8 .adf-app-listgrid-item-card-logo-icon{color:#916289}.adf-apps .adf-app-listgrid-item-card.theme-9{background-color:#696c67}.adf-apps .adf-app-listgrid-item-card.theme-9 .adf-app-listgrid-item-card-logo-icon{color:#595c57}.adf-apps .adf-app-listgrid-item-card.theme-10{background-color:#cabb33}.adf-apps .adf-app-listgrid-item-card.theme-10 .adf-app-listgrid-item-card-logo-icon{color:#baab23}.adf-apps .adf-app-listgrid-item-card:hover{box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003;cursor:pointer;transform:scale(1.015)}.adf-apps .adf-app-listgrid-item-card-logo{position:absolute;right:20px;top:20px;padding:16px;z-index:9}.adf-apps .adf-app-listgrid-item-card-logo-icon{font-size:70px;width:1em;height:1em}.adf-apps .adf-app-listgrid-item-card-title{padding:16px;margin-bottom:0;z-index:9999}.adf-apps .adf-app-listgrid-item-card-title h1{color:#fff;width:80%;font-size:var(--theme-headline-font-size);margin:0;line-height:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.adf-apps .adf-app-listgrid-item-card-subtitle{color:#fff;z-index:9999;padding:16px;flex:1 0 auto}.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{position:relative;line-height:1.25;padding:0;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 1){.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:3.7125em}}@supports not (-webkit-line-clamp: 1){.adf-apps .adf-app-listgrid-item-card-subtitle .adf-line-clamp{white-space:nowrap;width:100%}}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon){padding:0 16px 16px;border-top:1px solid rgba(0,0,0,.1);min-height:48px;box-sizing:border-box;margin-left:0;margin-right:0}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon):last-child{margin-bottom:0}.adf-apps .adf-app-listgrid-item-card-actions:has(.adf-app-listgrid-item-card-actions-icon) .adf-app-listgrid-item-card-actions-icon{color:#e9f1f3}\n"] }]
|
|
177
188
|
}], ctorParameters: function () { return [{ type: i1.AppsProcessService }]; }, propDecorators: { emptyCustomContent: [{
|
|
178
189
|
type: ContentChild,
|
|
179
190
|
args: [CustomEmptyContentTemplateDirective]
|
|
@@ -188,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
188
199
|
}], error: [{
|
|
189
200
|
type: Output
|
|
190
201
|
}] } });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXBwLWxpc3QvYXBwcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXBwLWxpc3QvYXBwcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFFdEQsTUFBTSxzQkFBc0Is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O0lBQ2YsQ0FBQzs7K0dBaExRLGlCQUFpQjttR0FBakIsaUJBQWlCLCtTQUNaLG1DQUFtQyxnRENoRHJELG94RkF5REEsb3NJRGhCYyxZQUFZLDZWQUFFLGFBQWEsdVJBQUUsYUFBYSxtTEFBRSxhQUFhLCtlQUFFLHdCQUF3QixrT0FBRSxlQUFlLDRGQUFFLHFCQUFxQjs0RkFNNUgsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNJLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixDQUFDLGlCQUd2SCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTt5R0FJM0Isa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLG1DQUFtQztnQkFRakQsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ3VzdG9tRW1wdHlDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIEVtcHR5Q29udGVudENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBcHBzUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHBzLXByb2Nlc3Muc2VydmljZSc7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBDb250ZW50Q2hpbGQsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljb25Nb2RlbCB9IGZyb20gJy4vaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuY29uc3QgREVGQVVMVF9UQVNLU19BUFBfTkFNRTogc3RyaW5nID0gJ0FERl9UQVNLX0xJU1QuQVBQUy5UQVNLX0FQUF9OQU1FJztcbmNvbnN0IERFRkFVTFRfVEFTS1NfQVBQX1RIRU1FOiBzdHJpbmcgPSAndGhlbWUtMic7XG5jb25zdCBERUZBVUxUX1RBU0tTX0FQUF9JQ09OOiBzdHJpbmcgPSAnZ2x5cGhpY29uLWFzdGVyaXNrJztcblxuZXhwb3J0IGNvbnN0IEFQUF9MSVNUX0xBWU9VVF9MSVNUOiBzdHJpbmcgPSAnTElTVCc7XG5leHBvcnQgY29uc3QgQVBQX0xJU1RfTEFZT1VUX0dSSUQ6IHN0cmluZyA9ICdHUklEJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtYXBwcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRDYXJkTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgRW1wdHlDb250ZW50Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcHBzLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtYXBwcycgfVxufSlcbmV4cG9ydCBjbGFzcyBBcHBzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkKEN1c3RvbUVtcHR5Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIGVtcHR5Q3VzdG9tQ29udGVudDogQ3VzdG9tRW1wdHlDb250ZW50VGVtcGxhdGVEaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBsYXlvdXQgb2YgdGhlIGFwcHMuIFRoZXJlIGFyZSB0d28gcG9zc2libGVcbiAgICAgKiB2YWx1ZXMsIFwiR1JJRFwiIGFuZCBcIkxJU1RcIi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGxheW91dFR5cGU6IHN0cmluZyA9IEFQUF9MSVNUX0xBWU9VVF9HUklEO1xuXG4gICAgLyoqIFRoZSBkZWZhdWx0IGFwcCB0byBzaG93IHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuICovXG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0QXBwSWQgPSAndGFza3MnO1xuXG4gICAgLyoqIFByb3ZpZGVzIGEgd2F5IHRvIGZpbHRlciB0aGUgYXBwcyB0byBzaG93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyc0FwcElkOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb25bXTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gYXBwIGVudHJ5IGlzIGNsaWNrZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgYXBwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gZXJyb3Igb2NjdXJzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjdXJyZW50QXBwOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb247XG4gICAgYXBwTGlzdDogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgaGFzRW1wdHlDdXN0b21Db250ZW50VGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaWNvbnNNREw6IEljb25Nb2RlbDtcbiAgICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBzUHJvY2Vzc1NlcnZpY2U6IEFwcHNQcm9jZXNzU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZFR5cGUoKSkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0TGF5b3V0VHlwZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pY29uc01ETCA9IG5ldyBJY29uTW9kZWwoKTtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVtcHR5Q3VzdG9tQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5oYXNFbXB0eUN1c3RvbUNvbnRlbnRUZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGVmYXVsdEFwcChhcHA6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYXBwLmRlZmF1bHRBcHBJZCA9PT0gdGhpcy5kZWZhdWx0QXBwSWQ7XG4gICAgfVxuXG4gICAgZ2V0QXBwTmFtZShhcHA6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRGVmYXVsdEFwcChhcHApID8gREVGQVVMVF9UQVNLU19BUFBfTkFNRSA6IGFwcC5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3MgdGhlIHNlbGVjdGVkIGFwcCBhcyBuZXh0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwIGFwcGxpY2F0aW9uIG1vZGVsXG4gICAgICovXG4gICAgc2VsZWN0QXBwKGFwcDogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEFwcCA9IGFwcDtcbiAgICAgICAgdGhpcy5hcHBDbGljay5lbWl0KGFwcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRydWUgaWYgdGhlIGFwcElkIGlzIHRoZSBjdXJyZW50IGFwcFxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIGFwcGxpY2F0aW9uIGlkXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGFwcGxpY2F0aW9uIGlzIHNlbGVjdGVkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzU2VsZWN0ZWQoYXBwSWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50QXBwICE9PSB1bmRlZmluZWQgJiYgYXBwSWQgPT09IHRoaXMuY3VycmVudEFwcC5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgdmFsdWUgb2YgdGhlIGxheW91dFR5cGUgcHJvcGVydHkgaXMgYW4gYWxsb3dlZCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGxheW91dCB0eXBlIGlzIHZhbGlkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzVmFsaWRUeXBlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUeXBlICYmICh0aGlzLmxheW91dFR5cGUgPT09IEFQUF9MSVNUX0xBWU9VVF9MSVNUIHx8IHRoaXMubGF5b3V0VHlwZSA9PT0gQVBQX0xJU1RfTEFZT1VUX0dSSUQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbiB0aGUgZGVmYXVsdCB2YWx1ZSB0byBMYXlvdXRUeXBlXG4gICAgICovXG4gICAgc2V0RGVmYXVsdExheW91dFR5cGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0VHlwZSA9IEFQUF9MSVNUX0xBWU9VVF9HUklEO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBsYXlvdXQgdHlwZSBpcyBMSVNUXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgY3VycmVudCBsYXlvdXQgaXMgaW4gdGhlIGxpc3QgbW9kZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0xpc3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dFR5cGUgPT09IEFQUF9MSVNUX0xBWU9VVF9MSVNUO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBsYXlvdXQgdHlwZSBpcyBHUklEXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgY3VycmVudCBsYXlvdXQgaXMgaW4gdGhlIGdyaWQgbW9kZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0dyaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dFR5cGUgPT09IEFQUF9MSVNUX0xBWU9VVF9HUklEO1xuICAgIH1cblxuICAgIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcExpc3QubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZztcbiAgICB9XG5cbiAgICBnZXRUaGVtZShhcHA6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBhcHAudGhlbWUgPyBhcHAudGhlbWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXRCYWNrZ3JvdW5kSWNvbihhcHA6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25zTURMLm1hcEdseXBoaWNvblRvTWF0ZXJpYWxEZXNpZ25JY29ucyhhcHAuaWNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkKCkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFwcHNQcm9jZXNzU2VydmljZVxuICAgICAgICAgICAgLmdldERlcGxveWVkQXBwbGljYXRpb25zKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoYXBwcykgPT4gYXBwcy5maWx0ZXIoKGFwcCkgPT4gYXBwLmRlcGxveW1lbnRJZCAhPT0gdW5kZWZpbmVkIHx8IGFwcC5kZWZhdWx0QXBwSWQgPT09IHRoaXMuZGVmYXVsdEFwcElkKSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBzID0gdGhpcy5maWx0ZXJBcHBzKHJlcywgdGhpcy5maWx0ZXJzQXBwSWQpLm1hcCgoYXBwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0RlZmF1bHRBcHAoYXBwKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcC50aGVtZSA9IERFRkFVTFRfVEFTS1NfQVBQX1RIRU1FO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcC5pY29uID0gREVGQVVMVF9UQVNLU19BUFBfSUNPTjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwcDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBMaXN0ID0gWy4uLmFwcHNdO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGZpbHRlckFwcHMoYXBwczogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uW10sIGZpbHRlcjogUGFydGlhbDxBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24+W10pOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb25bXSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXIgJiYgZmlsdGVyLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gYXBwcy5maWx0ZXIoKGFwcCkgPT5cbiAgICAgICAgICAgICAgICAgIGZpbHRlci5zb21lKFxuICAgICAgICAgICAgICAgICAgICAgIChmKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZi5kZWZhdWx0QXBwSWQgJiYgYXBwLmRlZmF1bHRBcHBJZCA9PT0gZi5kZWZhdWx0QXBwSWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIChmLmRlcGxveW1lbnRJZCAmJiBhcHAuZGVwbG95bWVudElkID09PSBmLmRlcGxveW1lbnRJZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGYubmFtZSAmJiBhcHAubmFtZSA9PT0gZi5uYW1lKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZi5pZCAhPT0gdW5kZWZpbmVkICYmIGFwcC5pZCA9PT0gZi5pZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGYubW9kZWxJZCAhPT0gdW5kZWZpbmVkICYmIGFwcC5tb2RlbElkID09PSBmLm1vZGVsSWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIChmLnRlbmFudElkICE9PSB1bmRlZmluZWQgJiYgYXBwLnRlbmFudElkID09PSBmLnRlbmFudElkKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGFwcHM7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCIgKm5nSWY9XCIhaXNFbXB0eSgpXCI+XG4gICAgPG1hdC1saXN0ICpuZ0lmPVwiaXNMaXN0KClcIiBjbGFzcz1cImFkZi1hcHAtbGlzdFwiPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbSBjbGFzcz1cImFkZi1hcHAtbGlzdC1pdGVtXCIgKGNsaWNrKT1cInNlbGVjdEFwcChhcHApXCIgKGtleXVwLmVudGVyKT1cInNlbGVjdEFwcChhcHApXCIgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiIHRpdGxlPVwie3thcHAubmFtZX19XCI+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+dG91Y2hfYXBwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIG1hdExpbmU+e3tnZXRBcHBOYW1lKGFwcCkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDwvbWF0LWxpc3Q+XG4gICAgPGRpdiAqbmdJZj1cImlzR3JpZCgpXCIgY2xhc3M9XCJhZGYtYXBwLWxpc3RncmlkXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWQtaXRlbS1jYXJkXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7e2dldEFwcE5hbWUoYXBwKSB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2dldFRoZW1lKGFwcCldXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFwcChhcHApXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbGVjdEFwcChhcHApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmQtbG9nb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWQtaXRlbS1jYXJkLWxvZ28taWNvblwiPnt7Z2V0QmFja2dyb3VuZEljb24oYXBwKX19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXQtY2FyZC10aXRsZSBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWQtaXRlbS1jYXJkLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPnt7Z2V0QXBwTmFtZShhcHApIHwgdHJhbnNsYXRlfX08L2gxPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJhZGYtYXBwLWxpc3RncmlkLWl0ZW0tY2FyZC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbGluZS1jbGFtcFwiPnt7YXBwLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWQtaXRlbS1jYXJkLWFjdGlvbnMtaWNvblwiICpuZ0lmPVwiaXNTZWxlY3RlZChhcHAuaWQpXCI+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZygpOyBlbHNlIGVtcHR5XCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1hcHAtbGlzdC1zcGlubmVyXCI+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWFwcC1saXN0LWVtcHR5XCIgKm5nSWY9XCJpc0VtcHR5KClcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNFbXB0eUN1c3RvbUNvbnRlbnRUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0RW1wdHlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWN1c3RvbS1lbXB0eS10ZW1wbGF0ZVwiPlxuICAgICAgICA8L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudFxuICAgICAgICAgICAgICAgIGljb249XCJhcHBzXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FERl9UQVNLX0xJU1QuQVBQUy5USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCInQURGX1RBU0tfTElTVC5BUFBTLlNVQlRJVExFJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPC9hZGYtZW1wdHktY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXBwLWxpc3QvYXBwcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXBwLWxpc3QvYXBwcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUs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UUFBUSxDQUFDLENBQ2hFLENBQ0o7WUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQzs7K0dBaExRLGlCQUFpQjttR0FBakIsaUJBQWlCLCtTQUNaLG1DQUFtQyxnREMxRHJELHd4RkF5REEsb3NJRGRRLFlBQVksNlZBQ1osYUFBYSx1V0FDYixhQUFhLG1MQUNiLGFBQWEsK2VBQ2Isd0JBQXdCLGtPQUN4QixlQUFlLDRGQUNmLHFCQUFxQixvR0FDckIsYUFBYTs0RkFPUixpQkFBaUI7a0JBbEI3QixTQUFTOytCQUNJLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixhQUFhO3FCQUNoQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTt5R0FJM0Isa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLG1DQUFtQztnQkFRakQsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ3VzdG9tRW1wdHlDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIEVtcHR5Q29udGVudENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBcHBzUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHBzLXByb2Nlc3Muc2VydmljZSc7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBDb250ZW50Q2hpbGQsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljb25Nb2RlbCB9IGZyb20gJy4vaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdExpbmVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuY29uc3QgREVGQVVMVF9UQVNLU19BUFBfTkFNRTogc3RyaW5nID0gJ0FERl9UQVNLX0xJU1QuQVBQUy5UQVNLX0FQUF9OQU1FJztcbmNvbnN0IERFRkFVTFRfVEFTS1NfQVBQX1RIRU1FOiBzdHJpbmcgPSAndGhlbWUtMic7XG5jb25zdCBERUZBVUxUX1RBU0tTX0FQUF9JQ09OOiBzdHJpbmcgPSAnZ2x5cGhpY29uLWFzdGVyaXNrJztcblxuZXhwb3J0IGNvbnN0IEFQUF9MSVNUX0xBWU9VVF9MSVNUOiBzdHJpbmcgPSAnTElTVCc7XG5leHBvcnQgY29uc3QgQVBQX0xJU1RfTEFZT1VUX0dSSUQ6IHN0cmluZyA9ICdHUklEJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtYXBwcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEVtcHR5Q29udGVudENvbXBvbmVudCxcbiAgICAgICAgTWF0TGluZU1vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXBwcy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLWFwcHMnIH1cbn0pXG5leHBvcnQgY2xhc3MgQXBwc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZChDdXN0b21FbXB0eUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSlcbiAgICBlbXB0eUN1c3RvbUNvbnRlbnQ6IEN1c3RvbUVtcHR5Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgbGF5b3V0IG9mIHRoZSBhcHBzLiBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlXG4gICAgICogdmFsdWVzLCBcIkdSSURcIiBhbmQgXCJMSVNUXCIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYXlvdXRUeXBlOiBzdHJpbmcgPSBBUFBfTElTVF9MQVlPVVRfR1JJRDtcblxuICAgIC8qKiBUaGUgZGVmYXVsdCBhcHAgdG8gc2hvdyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGVmYXVsdEFwcElkID0gJ3Rhc2tzJztcblxuICAgIC8qKiBQcm92aWRlcyBhIHdheSB0byBmaWx0ZXIgdGhlIGFwcHMgdG8gc2hvdy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlcnNBcHBJZDogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uW107XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGFwcCBlbnRyeSBpcyBjbGlja2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGFwcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgY3VycmVudEFwcDogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uO1xuICAgIGFwcExpc3Q6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbltdID0gW107XG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGhhc0VtcHR5Q3VzdG9tQ29udGVudFRlbXBsYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGljb25zTURMOiBJY29uTW9kZWw7XG4gICAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwc1Byb2Nlc3NTZXJ2aWNlOiBBcHBzUHJvY2Vzc1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWRUeXBlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdExheW91dFR5cGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaWNvbnNNREwgPSBuZXcgSWNvbk1vZGVsKCk7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5lbXB0eUN1c3RvbUNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzRW1wdHlDdXN0b21Db250ZW50VGVtcGxhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0RlZmF1bHRBcHAoYXBwOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGFwcC5kZWZhdWx0QXBwSWQgPT09IHRoaXMuZGVmYXVsdEFwcElkO1xuICAgIH1cblxuICAgIGdldEFwcE5hbWUoYXBwOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0RlZmF1bHRBcHAoYXBwKSA/IERFRkFVTFRfVEFTS1NfQVBQX05BTUUgOiBhcHAubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIHRoZSBzZWxlY3RlZCBhcHAgYXMgbmV4dFxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcCBhcHBsaWNhdGlvbiBtb2RlbFxuICAgICAqL1xuICAgIHNlbGVjdEFwcChhcHA6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRBcHAgPSBhcHA7XG4gICAgICAgIHRoaXMuYXBwQ2xpY2suZW1pdChhcHApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiB0cnVlIGlmIHRoZSBhcHBJZCBpcyB0aGUgY3VycmVudCBhcHBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBJZCBhcHBsaWNhdGlvbiBpZFxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhcHBsaWNhdGlvbiBpcyBzZWxlY3RlZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1NlbGVjdGVkKGFwcElkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEFwcCAhPT0gdW5kZWZpbmVkICYmIGFwcElkID09PSB0aGlzLmN1cnJlbnRBcHAuaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIHZhbHVlIG9mIHRoZSBsYXlvdXRUeXBlIHByb3BlcnR5IGlzIGFuIGFsbG93ZWQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBsYXlvdXQgdHlwZSBpcyB2YWxpZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1ZhbGlkVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0VHlwZSAmJiAodGhpcy5sYXlvdXRUeXBlID09PSBBUFBfTElTVF9MQVlPVVRfTElTVCB8fCB0aGlzLmxheW91dFR5cGUgPT09IEFQUF9MSVNUX0xBWU9VVF9HUklEKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ24gdGhlIGRlZmF1bHQgdmFsdWUgdG8gTGF5b3V0VHlwZVxuICAgICAqL1xuICAgIHNldERlZmF1bHRMYXlvdXRUeXBlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFR5cGUgPSBBUFBfTElTVF9MQVlPVVRfR1JJRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgbGF5b3V0IHR5cGUgaXMgTElTVFxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGN1cnJlbnQgbGF5b3V0IGlzIGluIHRoZSBsaXN0IG1vZGUsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNMaXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUeXBlID09PSBBUFBfTElTVF9MQVlPVVRfTElTVDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgbGF5b3V0IHR5cGUgaXMgR1JJRFxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGN1cnJlbnQgbGF5b3V0IGlzIGluIHRoZSBncmlkIG1vZGUsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNHcmlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUeXBlID09PSBBUFBfTElTVF9MQVlPVVRfR1JJRDtcbiAgICB9XG5cbiAgICBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBMaXN0Lmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmc7XG4gICAgfVxuXG4gICAgZ2V0VGhlbWUoYXBwOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYXBwLnRoZW1lID8gYXBwLnRoZW1lIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0QmFja2dyb3VuZEljb24oYXBwOiBBcHBEZWZpbml0aW9uUmVwcmVzZW50YXRpb24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uc01ETC5tYXBHbHlwaGljb25Ub01hdGVyaWFsRGVzaWduSWNvbnMoYXBwLmljb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZCgpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hcHBzUHJvY2Vzc1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXREZXBsb3llZEFwcGxpY2F0aW9ucygpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGFwcHMpID0+IGFwcHMuZmlsdGVyKChhcHApID0+IGFwcC5kZXBsb3ltZW50SWQgIT09IHVuZGVmaW5lZCB8fCBhcHAuZGVmYXVsdEFwcElkID09PSB0aGlzLmRlZmF1bHRBcHBJZCkpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXBwcyA9IHRoaXMuZmlsdGVyQXBwcyhyZXMsIHRoaXMuZmlsdGVyc0FwcElkKS5tYXAoKGFwcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEZWZhdWx0QXBwKGFwcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHAudGhlbWUgPSBERUZBVUxUX1RBU0tTX0FQUF9USEVNRTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHAuaWNvbiA9IERFRkFVTFRfVEFTS1NfQVBQX0lDT047XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcHA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFsuLi5hcHBzXTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJBcHBzKGFwcHM6IEFwcERlZmluaXRpb25SZXByZXNlbnRhdGlvbltdLCBmaWx0ZXI6IFBhcnRpYWw8QXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uPltdKTogQXBwRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uW10ge1xuICAgICAgICByZXR1cm4gZmlsdGVyICYmIGZpbHRlci5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGFwcHMuZmlsdGVyKChhcHApID0+XG4gICAgICAgICAgICAgICAgICBmaWx0ZXIuc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAoZikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGYuZGVmYXVsdEFwcElkICYmIGFwcC5kZWZhdWx0QXBwSWQgPT09IGYuZGVmYXVsdEFwcElkKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZi5kZXBsb3ltZW50SWQgJiYgYXBwLmRlcGxveW1lbnRJZCA9PT0gZi5kZXBsb3ltZW50SWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIChmLm5hbWUgJiYgYXBwLm5hbWUgPT09IGYubmFtZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGYuaWQgIT09IHVuZGVmaW5lZCAmJiBhcHAuaWQgPT09IGYuaWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIChmLm1vZGVsSWQgIT09IHVuZGVmaW5lZCAmJiBhcHAubW9kZWxJZCA9PT0gZi5tb2RlbElkKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoZi50ZW5hbnRJZCAhPT0gdW5kZWZpbmVkICYmIGFwcC50ZW5hbnRJZCA9PT0gZi50ZW5hbnRJZClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBhcHBzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiICpuZ0lmPVwiIWlzRW1wdHkoKVwiPlxuICAgIDxtYXQtbGlzdCAqbmdJZj1cImlzTGlzdCgpXCIgY2xhc3M9XCJhZGYtYXBwLWxpc3RcIj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJhZGYtYXBwLWxpc3QtaXRlbVwiIChjbGljayk9XCJzZWxlY3RBcHAoYXBwKVwiIChrZXl1cC5lbnRlcik9XCJzZWxlY3RBcHAoYXBwKVwiICpuZ0Zvcj1cImxldCBhcHAgb2YgYXBwTGlzdFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiB0aXRsZT1cInt7YXBwLm5hbWV9fVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj50b3VjaF9hcHA8L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gbWF0TGluZT57e2dldEFwcE5hbWUoYXBwKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgPC9tYXQtbGlzdD5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNHcmlkKClcIiBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWRcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYXBwIG9mIGFwcExpc3RcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtYXBwLWxpc3RncmlkLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmRcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7Z2V0QXBwTmFtZShhcHApIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbZ2V0VGhlbWUoYXBwKV1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QXBwKGFwcClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2VsZWN0QXBwKGFwcClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtYXBwLWxpc3RncmlkLWl0ZW0tY2FyZC1sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmQtbG9nby1pY29uXCI+e3tnZXRCYWNrZ3JvdW5kSWNvbihhcHApfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+e3tnZXRBcHBOYW1lKGFwcCkgfCB0cmFuc2xhdGV9fTwvaDE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZSBjbGFzcz1cImFkZi1hcHAtbGlzdGdyaWQtaXRlbS1jYXJkLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1saW5lLWNsYW1wXCI+e3thcHAuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJhZGYtYXBwLWxpc3RncmlkLWl0ZW0tY2FyZC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWFwcC1saXN0Z3JpZC1pdGVtLWNhcmQtYWN0aW9ucy1pY29uXCIgKm5nSWY9XCJpc1NlbGVjdGVkKGFwcC5pZClcIj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nKCk7IGVsc2UgZW1wdHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWFwcC1saXN0LXNwaW5uZXJcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtYXBwLWxpc3QtZW1wdHlcIiAqbmdJZj1cImlzRW1wdHkoKVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0VtcHR5Q3VzdG9tQ29udGVudFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRFbXB0eVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY3VzdG9tLWVtcHR5LXRlbXBsYXRlXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVRlbXBsYXRlPlxuICAgICAgICAgICAgPGFkZi1lbXB0eS1jb250ZW50XG4gICAgICAgICAgICAgICAgaWNvbj1cImFwcHNcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQURGX1RBU0tfTElTVC5BUFBTLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cIidBREZfVEFTS19MSVNULkFQUFMuU1VCVElUTEUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8L2FkZi1lbXB0eS1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/esm2020/lib/attachment/process-attachment-list/process-attachment-list.component.mjs
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { DataColumnComponent, DataColumnListComponent, DataTableComponent, DownloadService, EmptyListComponent, LoadingContentTemplateDirective, NoContentTemplateDirective, ThumbnailService } from '@alfresco/adf-core';
|
|
18
18
|
import { ContentChild, Component, EventEmitter, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';
|
|
19
19
|
import { ProcessContentService } from '../../form/services/process-content.service';
|
|
20
20
|
import { CommonModule } from '@angular/common';
|
|
@@ -166,10 +166,20 @@ export class ProcessAttachmentListComponent {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
ProcessAttachmentListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessAttachmentListComponent, deps: [{ token: i1.ProcessContentService }, { token: i2.DownloadService }, { token: i2.ThumbnailService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
-
ProcessAttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ProcessAttachmentListComponent, isStandalone: true, selector: "adf-process-attachment-list", inputs: { processInstanceId: "processInstanceId", disabled: "disabled" }, outputs: { attachmentClick: "attachmentClick", success: "success", error: "error" }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EmptyListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_PROCESS_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.NAME' | translate}}\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.CREATED' | translate}}\"></data-column>\n </data-columns>\n\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:16px;line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type:
|
|
169
|
+
ProcessAttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ProcessAttachmentListComponent, isStandalone: true, selector: "adf-process-attachment-list", inputs: { processInstanceId: "processInstanceId", disabled: "disabled" }, outputs: { attachmentClick: "attachmentClick", success: "success", error: "error" }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EmptyListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_PROCESS_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.NAME' | translate}}\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.CREATED' | translate}}\"></data-column>\n </data-columns>\n\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:16px;line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged"] }, { kind: "directive", type: NoContentTemplateDirective, selector: "adf-no-content-template, no-content-template" }, { kind: "component", type: EmptyListComponent, selector: "adf-empty-list" }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: LoadingContentTemplateDirective, selector: "adf-loading-content-template, loading-content-template" }], encapsulation: i0.ViewEncapsulation.None });
|
|
170
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessAttachmentListComponent, decorators: [{
|
|
171
171
|
type: Component,
|
|
172
|
-
args: [{ selector: 'adf-process-attachment-list', standalone: true, imports: [
|
|
172
|
+
args: [{ selector: 'adf-process-attachment-list', standalone: true, imports: [
|
|
173
|
+
CommonModule,
|
|
174
|
+
TranslateModule,
|
|
175
|
+
MatProgressSpinnerModule,
|
|
176
|
+
DataTableComponent,
|
|
177
|
+
NoContentTemplateDirective,
|
|
178
|
+
EmptyListComponent,
|
|
179
|
+
DataColumnListComponent,
|
|
180
|
+
DataColumnComponent,
|
|
181
|
+
LoadingContentTemplateDirective
|
|
182
|
+
], encapsulation: ViewEncapsulation.None, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_PROCESS_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.NAME' | translate}}\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"{{'ADF_PROCESS_LIST.PROPERTIES.CREATED' | translate}}\"></data-column>\n </data-columns>\n\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:16px;line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"] }]
|
|
173
183
|
}], ctorParameters: function () { return [{ type: i1.ProcessContentService }, { type: i2.DownloadService }, { type: i2.ThumbnailService }, { type: i0.NgZone }]; }, propDecorators: { emptyTemplate: [{
|
|
174
184
|
type: ContentChild,
|
|
175
185
|
args: [EmptyListComponent]
|
|
@@ -184,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
184
194
|
}], error: [{
|
|
185
195
|
type: Output
|
|
186
196
|
}] } });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hdHRhY2htZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9hdHRhY2htZW50L3Byb2Nlc3MtYXR0YWNobWVudC1saXN0L3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXR0YWNobWVudC9wcm9jZXNzLWF0dGFjaG1lbnQtbGlzdC9wcm9jZXNzLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVHLE9BQU8sRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQVU5RSxNQUFNLE9BQU8sOEJBQThCO0lBd0N2QyxZQUNZLHFCQUE0QyxFQUM1QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsTUFBYztRQUhkLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXBDMUIseURBQXlEO1FBRXpELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUI7Ozs7O1dBS0c7UUFFSCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckM7OztXQUdHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0I7OztXQUdHO1FBRUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFPeEIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFlBQVksRUFBRTtZQUM1QyxJQUFJLENBQUMsa0NBQWtDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDdEY7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxHQUFHLENBQUMsT0FBWTtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDbEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNkLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUTtnQkFDekUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUNoRSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzNCLE1BQU0sVUFBVSxHQUFHO1lBQ2YsS0FBSyxFQUFFLDRDQUE0QztZQUNuRCxJQUFJLEVBQUUsTUFBTTtTQUNmLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRztZQUNqQixLQUFLLEVBQUUsOENBQThDO1lBQ3JELElBQUksRUFBRSxRQUFRO1NBQ2pCLENBQUM7UUFFRixNQUFNLGNBQWMsR0FBRztZQUNuQixLQUFLLEVBQUUsZ0RBQWdEO1lBQ3ZELElBQUksRUFBRSxVQUFVO1NBQ25CLENBQUM7UUFFRixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNsQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQVk7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQzlELENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUM5RCxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDckUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVPLGtDQUFrQyxDQUFDLGlCQUF5QjtRQUNoRSxJQUFJLGlCQUFpQixFQUFFO1lBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ2xHLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTt3QkFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7d0JBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTzt3QkFDeEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVE7d0JBQ3pFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7cUJBQ2hFLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQ0osQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFNBQWlCO1FBQzFDLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FDaEUsR0FBRyxFQUFFO2dCQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDdEYsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUNKLENBQUM7U0FDTDtJQUNMLENBQUM7OzRIQXBMUSw4QkFBOEI7Z0hBQTlCLDhCQUE4QixpU0FDekIsa0JBQWtCLHFFQzVDcEMseTREQW1DQSx5eEJER2MsWUFBWSxrSUFBRSxlQUFlLDI5Q0FBRSxlQUFlLDJGQUFFLHdCQUF3Qjs0RkFLekUsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQyxpQkFHcEUsaUJBQWlCLENBQUMsSUFBSTs4TEFJckMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGtCQUFrQjtnQkFLaEMsaUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFVTixlQUFlO3NCQURkLE1BQU07Z0JBUVAsT0FBTztzQkFETixNQUFNO2dCQVFQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRGF0YVRhYmxlTW9kdWxlLCBEb3dubG9hZFNlcnZpY2UsIEVtcHR5TGlzdENvbXBvbmVudCwgVGh1bWJuYWlsU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2Nlc3NDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2Zvcm0vc2VydmljZXMvcHJvY2Vzcy1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXByb2Nlc3MtYXR0YWNobWVudC1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERhdGFUYWJsZU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NBdHRhY2htZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZChFbXB0eUxpc3RDb21wb25lbnQpXG4gICAgZW1wdHlUZW1wbGF0ZTogRW1wdHlMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqICgqKnJlcXVpcmVkKiopIFRoZSBJRCBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSB0byBkaXNwbGF5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZztcblxuICAgIC8qKiBEaXNhYmxlL0VuYWJsZSByZWFkLW9ubHkgbW9kZSBmb3IgYXR0YWNobWVudCBsaXN0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgYXR0YWNobWVudCBpcyBkb3VibGUtY2xpY2tlZCBvciB0aGVcbiAgICAgKiB2aWV3IG9wdGlvbiBpcyBzZWxlY3RlZCBmcm9tIHRoZSBjb250ZXh0IG1lbnUgYnkgdGhlIHVzZXIgZnJvbVxuICAgICAqIHdpdGhpbiB0aGUgY29tcG9uZW50LiBSZXR1cm5zIGEgQmxvYiByZXByZXNlbnRpbmcgdGhlIG9iamVjdFxuICAgICAqIHRoYXQgd2FzIGNsaWNrZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgYXR0YWNobWVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGxpc3QgaGFzIGZldGNoZWQgYWxsIHRoZSBhdHRhY2htZW50cy5cbiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhdHRhY2htZW50cy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGxpc3QgaXMgbm90IGFibGUgdG8gZmV0Y2ggdGhlIGF0dGFjaG1lbnRzXG4gICAgICogKGVnLCBmb2xsb3dpbmcgYSBuZXR3b3JrIGVycm9yKS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgaGFzQ3VzdG9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGF0dGFjaG1lbnRzOiBhbnlbXSA9IFtdO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0NvbnRlbnRTZXJ2aWNlOiBQcm9jZXNzQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZG93bmxvYWRTZXJ2aWNlOiBEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3Byb2Nlc3NJbnN0YW5jZUlkJ10/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkQXR0YWNobWVudHNCeVByb2Nlc3NJbnN0YW5jZUlkKGNoYW5nZXNbJ3Byb2Nlc3NJbnN0YW5jZUlkJ10uY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZW1wdHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21UZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50cyA9IFtdO1xuICAgIH1cblxuICAgIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZEF0dGFjaG1lbnRzQnlQcm9jZXNzSW5zdGFuY2VJZCh0aGlzLnByb2Nlc3NJbnN0YW5jZUlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkKGNvbnRlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogY29udGVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjb250ZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZDogY29udGVudC5jcmVhdGVkLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRCeTogY29udGVudC5jcmVhdGVkQnkuZmlyc3ROYW1lICsgJyAnICsgY29udGVudC5jcmVhdGVkQnkubGFzdE5hbWUsXG4gICAgICAgICAgICAgICAgaWNvbjogdGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldE1pbWVUeXBlSWNvbihjb250ZW50Lm1pbWVUeXBlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2hvd1Jvd0FjdGlvbnNNZW51KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgdmlld0FjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuVklFV19DT05URU5UJyxcbiAgICAgICAgICAgIG5hbWU6ICd2aWV3J1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlbW92ZUFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuUkVNT1ZFX0NPTlRFTlQnLFxuICAgICAgICAgICAgbmFtZTogJ3JlbW92ZSdcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb3dubG9hZEFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuRE9XTkxPQURfQ09OVEVOVCcsXG4gICAgICAgICAgICBuYW1lOiAnZG93bmxvYWQnXG4gICAgICAgIH07XG5cbiAgICAgICAgZXZlbnQudmFsdWUuYWN0aW9ucyA9IFt2aWV3QWN0aW9uLCBkb3dubG9hZEFjdGlvbl07XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC52YWx1ZS5hY3Rpb25zLnNwbGljZSgxLCAwLCByZW1vdmVBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeGVjdXRlUm93QWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgYXJncyA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBhcmdzLmFjdGlvbjtcbiAgICAgICAgaWYgKGFjdGlvbi5uYW1lID09PSAndmlldycpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdERvY3VtZW50Q29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAncmVtb3ZlJykge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVBdHRhY2htZW50QnlJZChhcmdzLnJvdy5vYmouaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAnZG93bmxvYWQnKSB7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkQ29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkNvbnRlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZXZlbnQudmFsdWUub2JqO1xuICAgICAgICB0aGlzLmVtaXREb2N1bWVudENvbnRlbnQoY29udGVudCk7XG4gICAgfVxuXG4gICAgZW1pdERvY3VtZW50Q29udGVudChjb250ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzQ29udGVudFNlcnZpY2UuZ2V0Q29udGVudFByZXZpZXcoY29udGVudC5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGJsb2I6IEJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICBjb250ZW50LmNvbnRlbnRCbG9iID0gYmxvYjtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRDbGljay5lbWl0KGNvbnRlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkb3dubG9hZENvbnRlbnQoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLmdldEZpbGVSYXdDb250ZW50KGNvbnRlbnQuaWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChibG9iOiBCbG9iKSA9PiB0aGlzLmRvd25sb2FkU2VydmljZS5kb3dubG9hZEJsb2IoYmxvYiwgY29udGVudC5uYW1lKSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRBdHRhY2htZW50c0J5UHJvY2Vzc0luc3RhbmNlSWQocHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZykge1xuICAgICAgICBpZiAocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlzUmVsYXRlZENvbnRlbnQgPSAndHJ1ZSc7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDb250ZW50U2VydmljZS5nZXRQcm9jZXNzUmVsYXRlZENvbnRlbnQocHJvY2Vzc0luc3RhbmNlSWQsIHsgaXNSZWxhdGVkQ29udGVudCB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5mb3JFYWNoKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjb250ZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRlbnQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkOiBjb250ZW50LmNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEJ5OiBjb250ZW50LmNyZWF0ZWRCeS5maXJzdE5hbWUgKyAnICcgKyBjb250ZW50LmNyZWF0ZWRCeS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGNvbnRlbnQubWltZVR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYXR0YWNobWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVBdHRhY2htZW50QnlJZChjb250ZW50SWQ6IG51bWJlcikge1xuICAgICAgICBpZiAoY29udGVudElkKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDb250ZW50U2VydmljZS5kZWxldGVSZWxhdGVkQ29udGVudChjb250ZW50SWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMgPSB0aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoY29udGVudCkgPT4gY29udGVudC5pZCAhPT0gY29udGVudElkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhZGYtZGF0YXRhYmxlICBbcm93c109XCJhdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgW2FjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAocm93RGJsQ2xpY2spPVwib3BlbkNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgPGFkZi1uby1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cImhhc0N1c3RvbVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRFbXB0eUxpc3RcIiBjbGFzcz1cImFkZi1jdXN0b20tZW1wdHktdGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eUxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1lbXB0eS1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGFkZi1lbXB0eS1saXN0LWhlYWRlciBjbGFzcz1cImFkZi1lbXB0eS1saXN0LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snQURGX1BST0NFU1NfTElTVC5QUk9DRVNTLUFUVEFDSE1FTlQuRU1QVFkuSEVBREVSJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWVtcHR5LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvYWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG5cbiAgICA8ZGF0YS1jb2x1bW5zPlxuICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiaWNvblwiIHR5cGU9XCJpbWFnZVwiIFtzci10aXRsZV09XCInQURGX1BST0NFU1NfTElTVC5QUk9QRVJUSUVTLlRIVU1CTkFJTCdcIiBbc29ydGFibGVdPVwiZmFsc2VcIj48L2RhdGEtY29sdW1uPlxuICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwibmFtZVwiIHR5cGU9XCJ0ZXh0XCIgdGl0bGU9XCJ7eydBREZfUFJPQ0VTU19MSVNULlBST1BFUlRJRVMuTkFNRScgfCB0cmFuc2xhdGV9fVwiIGNsYXNzPVwiYWRmLWZ1bGwtd2lkdGggYWRmLWVsbGlwc2lzLWNlbGxcIiBbc29ydGFibGVdPVwidHJ1ZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJjcmVhdGVkXCIgdHlwZT1cImRhdGVcIiBmb3JtYXQ9XCJzaG9ydERhdGVcIiB0aXRsZT1cInt7J0FERl9QUk9DRVNTX0xJU1QuUFJPUEVSVElFUy5DUkVBVEVEJyB8IHRyYW5zbGF0ZX19XCI+PC9kYXRhLWNvbHVtbj5cbiAgICA8L2RhdGEtY29sdW1ucz5cblxuICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8IS0tQWRkIHlvdXIgY3VzdG9tIGxvYWRpbmcgdGVtcGxhdGUgaGVyZS0tPlxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIGNsYXNzPVwiYWRmLWF0dGFjaG1lbnQtbGlzdC1sb2FkaW5nLW1hcmdpblwiIFtjb2xvcl09XCIncHJpbWFyeSdcIiBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIj5cbiAgICAgICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuXG48L2FkZi1kYXRhdGFibGU+XG4iXX0=
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hdHRhY2htZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9hdHRhY2htZW50L3Byb2Nlc3MtYXR0YWNobWVudC1saXN0L3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXR0YWNobWVudC9wcm9jZXNzLWF0dGFjaG1lbnQtbGlzdC9wcm9jZXNzLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQW9COUUsTUFBTSxPQUFPLDhCQUE4QjtJQXdDdkMsWUFDWSxxQkFBNEMsRUFDNUMsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLE1BQWM7UUFIZCwwQkFBcUIsR0FBckIs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QUFZO3VCQUFDLGtCQUFrQjtnQkFLaEMsaUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFVTixlQUFlO3NCQURkLE1BQU07Z0JBUVAsT0FBTztzQkFETixNQUFNO2dCQVFQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBEYXRhQ29sdW1uQ29tcG9uZW50LFxuICAgIERhdGFDb2x1bW5MaXN0Q29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBEb3dubG9hZFNlcnZpY2UsXG4gICAgRW1wdHlMaXN0Q29tcG9uZW50LFxuICAgIExvYWRpbmdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgTm9Db250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgVGh1bWJuYWlsU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZXNzQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb3JtL3NlcnZpY2VzL3Byb2Nlc3MtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1wcm9jZXNzLWF0dGFjaG1lbnQtbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgTm9Db250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEVtcHR5TGlzdENvbXBvbmVudCxcbiAgICAgICAgRGF0YUNvbHVtbkxpc3RDb21wb25lbnQsXG4gICAgICAgIERhdGFDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIExvYWRpbmdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NBdHRhY2htZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZChFbXB0eUxpc3RDb21wb25lbnQpXG4gICAgZW1wdHlUZW1wbGF0ZTogRW1wdHlMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqICgqKnJlcXVpcmVkKiopIFRoZSBJRCBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSB0byBkaXNwbGF5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZztcblxuICAgIC8qKiBEaXNhYmxlL0VuYWJsZSByZWFkLW9ubHkgbW9kZSBmb3IgYXR0YWNobWVudCBsaXN0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgYXR0YWNobWVudCBpcyBkb3VibGUtY2xpY2tlZCBvciB0aGVcbiAgICAgKiB2aWV3IG9wdGlvbiBpcyBzZWxlY3RlZCBmcm9tIHRoZSBjb250ZXh0IG1lbnUgYnkgdGhlIHVzZXIgZnJvbVxuICAgICAqIHdpdGhpbiB0aGUgY29tcG9uZW50LiBSZXR1cm5zIGEgQmxvYiByZXByZXNlbnRpbmcgdGhlIG9iamVjdFxuICAgICAqIHRoYXQgd2FzIGNsaWNrZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgYXR0YWNobWVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGxpc3QgaGFzIGZldGNoZWQgYWxsIHRoZSBhdHRhY2htZW50cy5cbiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhdHRhY2htZW50cy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGxpc3QgaXMgbm90IGFibGUgdG8gZmV0Y2ggdGhlIGF0dGFjaG1lbnRzXG4gICAgICogKGVnLCBmb2xsb3dpbmcgYSBuZXR3b3JrIGVycm9yKS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgaGFzQ3VzdG9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGF0dGFjaG1lbnRzOiBhbnlbXSA9IFtdO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0NvbnRlbnRTZXJ2aWNlOiBQcm9jZXNzQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZG93bmxvYWRTZXJ2aWNlOiBEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3Byb2Nlc3NJbnN0YW5jZUlkJ10/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkQXR0YWNobWVudHNCeVByb2Nlc3NJbnN0YW5jZUlkKGNoYW5nZXNbJ3Byb2Nlc3NJbnN0YW5jZUlkJ10uY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZW1wdHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21UZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50cyA9IFtdO1xuICAgIH1cblxuICAgIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZEF0dGFjaG1lbnRzQnlQcm9jZXNzSW5zdGFuY2VJZCh0aGlzLnByb2Nlc3NJbnN0YW5jZUlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkKGNvbnRlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogY29udGVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjb250ZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZDogY29udGVudC5jcmVhdGVkLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRCeTogY29udGVudC5jcmVhdGVkQnkuZmlyc3ROYW1lICsgJyAnICsgY29udGVudC5jcmVhdGVkQnkubGFzdE5hbWUsXG4gICAgICAgICAgICAgICAgaWNvbjogdGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldE1pbWVUeXBlSWNvbihjb250ZW50Lm1pbWVUeXBlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2hvd1Jvd0FjdGlvbnNNZW51KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgdmlld0FjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuVklFV19DT05URU5UJyxcbiAgICAgICAgICAgIG5hbWU6ICd2aWV3J1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlbW92ZUFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuUkVNT1ZFX0NPTlRFTlQnLFxuICAgICAgICAgICAgbmFtZTogJ3JlbW92ZSdcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb3dubG9hZEFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1BST0NFU1NfTElTVC5NRU5VX0FDVElPTlMuRE9XTkxPQURfQ09OVEVOVCcsXG4gICAgICAgICAgICBuYW1lOiAnZG93bmxvYWQnXG4gICAgICAgIH07XG5cbiAgICAgICAgZXZlbnQudmFsdWUuYWN0aW9ucyA9IFt2aWV3QWN0aW9uLCBkb3dubG9hZEFjdGlvbl07XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC52YWx1ZS5hY3Rpb25zLnNwbGljZSgxLCAwLCByZW1vdmVBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeGVjdXRlUm93QWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgYXJncyA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBhcmdzLmFjdGlvbjtcbiAgICAgICAgaWYgKGFjdGlvbi5uYW1lID09PSAndmlldycpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdERvY3VtZW50Q29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAncmVtb3ZlJykge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVBdHRhY2htZW50QnlJZChhcmdzLnJvdy5vYmouaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAnZG93bmxvYWQnKSB7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkQ29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkNvbnRlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZXZlbnQudmFsdWUub2JqO1xuICAgICAgICB0aGlzLmVtaXREb2N1bWVudENvbnRlbnQoY29udGVudCk7XG4gICAgfVxuXG4gICAgZW1pdERvY3VtZW50Q29udGVudChjb250ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzQ29udGVudFNlcnZpY2UuZ2V0Q29udGVudFByZXZpZXcoY29udGVudC5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGJsb2I6IEJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICBjb250ZW50LmNvbnRlbnRCbG9iID0gYmxvYjtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRDbGljay5lbWl0KGNvbnRlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkb3dubG9hZENvbnRlbnQoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLmdldEZpbGVSYXdDb250ZW50KGNvbnRlbnQuaWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChibG9iOiBCbG9iKSA9PiB0aGlzLmRvd25sb2FkU2VydmljZS5kb3dubG9hZEJsb2IoYmxvYiwgY29udGVudC5uYW1lKSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRBdHRhY2htZW50c0J5UHJvY2Vzc0luc3RhbmNlSWQocHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZykge1xuICAgICAgICBpZiAocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlzUmVsYXRlZENvbnRlbnQgPSAndHJ1ZSc7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDb250ZW50U2VydmljZS5nZXRQcm9jZXNzUmVsYXRlZENvbnRlbnQocHJvY2Vzc0luc3RhbmNlSWQsIHsgaXNSZWxhdGVkQ29udGVudCB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5mb3JFYWNoKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjb250ZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRlbnQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkOiBjb250ZW50LmNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEJ5OiBjb250ZW50LmNyZWF0ZWRCeS5maXJzdE5hbWUgKyAnICcgKyBjb250ZW50LmNyZWF0ZWRCeS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGNvbnRlbnQubWltZVR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYXR0YWNobWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVBdHRhY2htZW50QnlJZChjb250ZW50SWQ6IG51bWJlcikge1xuICAgICAgICBpZiAoY29udGVudElkKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDb250ZW50U2VydmljZS5kZWxldGVSZWxhdGVkQ29udGVudChjb250ZW50SWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMgPSB0aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoY29udGVudCkgPT4gY29udGVudC5pZCAhPT0gY29udGVudElkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhZGYtZGF0YXRhYmxlICBbcm93c109XCJhdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgW2FjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAocm93RGJsQ2xpY2spPVwib3BlbkNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgPGFkZi1uby1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cImhhc0N1c3RvbVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRFbXB0eUxpc3RcIiBjbGFzcz1cImFkZi1jdXN0b20tZW1wdHktdGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eUxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1lbXB0eS1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGFkZi1lbXB0eS1saXN0LWhlYWRlciBjbGFzcz1cImFkZi1lbXB0eS1saXN0LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snQURGX1BST0NFU1NfTElTVC5QUk9DRVNTLUFUVEFDSE1FTlQuRU1QVFkuSEVBREVSJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWVtcHR5LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvYWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG5cbiAgICA8ZGF0YS1jb2x1bW5zPlxuICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiaWNvblwiIHR5cGU9XCJpbWFnZVwiIFtzci10aXRsZV09XCInQURGX1BST0NFU1NfTElTVC5QUk9QRVJUSUVTLlRIVU1CTkFJTCdcIiBbc29ydGFibGVdPVwiZmFsc2VcIj48L2RhdGEtY29sdW1uPlxuICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwibmFtZVwiIHR5cGU9XCJ0ZXh0XCIgdGl0bGU9XCJ7eydBREZfUFJPQ0VTU19MSVNULlBST1BFUlRJRVMuTkFNRScgfCB0cmFuc2xhdGV9fVwiIGNsYXNzPVwiYWRmLWZ1bGwtd2lkdGggYWRmLWVsbGlwc2lzLWNlbGxcIiBbc29ydGFibGVdPVwidHJ1ZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJjcmVhdGVkXCIgdHlwZT1cImRhdGVcIiBmb3JtYXQ9XCJzaG9ydERhdGVcIiB0aXRsZT1cInt7J0FERl9QUk9DRVNTX0xJU1QuUFJPUEVSVElFUy5DUkVBVEVEJyB8IHRyYW5zbGF0ZX19XCI+PC9kYXRhLWNvbHVtbj5cbiAgICA8L2RhdGEtY29sdW1ucz5cblxuICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8IS0tQWRkIHlvdXIgY3VzdG9tIGxvYWRpbmcgdGVtcGxhdGUgaGVyZS0tPlxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIGNsYXNzPVwiYWRmLWF0dGFjaG1lbnQtbGlzdC1sb2FkaW5nLW1hcmdpblwiIFtjb2xvcl09XCIncHJpbWFyeSdcIiBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIj5cbiAgICAgICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuXG48L2FkZi1kYXRhdGFibGU+XG4iXX0=
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { ThumbnailService, EmptyListComponent, DownloadService,
|
|
17
|
+
import { ThumbnailService, EmptyListComponent, DownloadService, DataTableComponent, EmptyListHeaderDirective, DataColumnListComponent, DataColumnComponent, LoadingContentTemplateDirective, NoContentTemplateDirective } from '@alfresco/adf-core';
|
|
18
18
|
import { ContentChild, Component, EventEmitter, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';
|
|
19
19
|
import { ProcessContentService } from '../../form/services/process-content.service';
|
|
20
20
|
import { CommonModule } from '@angular/common';
|
|
21
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
22
21
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
22
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
23
23
|
import * as i0 from "@angular/core";
|
|
24
24
|
import * as i1 from "../../form/services/process-content.service";
|
|
25
25
|
import * as i2 from "@alfresco/adf-core";
|
|
@@ -164,10 +164,22 @@ export class TaskAttachmentListComponent {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
TaskAttachmentListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaskAttachmentListComponent, deps: [{ token: i1.ProcessContentService }, { token: i2.DownloadService }, { token: i2.ThumbnailService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
-
TaskAttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TaskAttachmentListComponent, isStandalone: true, selector: "adf-task-attachment-list", inputs: { taskId: "taskId", disabled: "disabled" }, outputs: { attachmentClick: "attachmentClick", success: "success", error: "error" }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EmptyListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_TASK_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"ADF_TASK_LIST.PROPERTIES.NAME\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"ADF_TASK_LIST.PROPERTIES.CREATED\"></data-column>\n </data-columns>\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}@media (max-width: 599.9px){.adf-empty-list-drag_drop{font-size:40px}}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:var(--theme-subheading-2-font-size);line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;max-width:100%;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type:
|
|
167
|
+
TaskAttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TaskAttachmentListComponent, isStandalone: true, selector: "adf-task-attachment-list", inputs: { taskId: "taskId", disabled: "disabled" }, outputs: { attachmentClick: "attachmentClick", success: "success", error: "error" }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EmptyListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_TASK_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"ADF_TASK_LIST.PROPERTIES.NAME\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"ADF_TASK_LIST.PROPERTIES.CREATED\"></data-column>\n </data-columns>\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}@media (max-width: 599.9px){.adf-empty-list-drag_drop{font-size:40px}}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:var(--theme-subheading-2-font-size);line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;max-width:100%;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged"] }, { kind: "directive", type: EmptyListHeaderDirective, selector: "[adf-empty-list-header]" }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: LoadingContentTemplateDirective, selector: "adf-loading-content-template, loading-content-template" }, { kind: "component", type: EmptyListComponent, selector: "adf-empty-list" }, { kind: "directive", type: NoContentTemplateDirective, selector: "adf-no-content-template, no-content-template" }], encapsulation: i0.ViewEncapsulation.None });
|
|
168
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaskAttachmentListComponent, decorators: [{
|
|
169
169
|
type: Component,
|
|
170
|
-
args: [{ selector: 'adf-task-attachment-list', standalone: true, imports: [
|
|
170
|
+
args: [{ selector: 'adf-task-attachment-list', standalone: true, imports: [
|
|
171
|
+
CommonModule,
|
|
172
|
+
TranslateModule,
|
|
173
|
+
MatProgressSpinnerModule,
|
|
174
|
+
DataTableComponent,
|
|
175
|
+
EmptyListHeaderDirective,
|
|
176
|
+
TranslateModule,
|
|
177
|
+
DataColumnListComponent,
|
|
178
|
+
DataColumnComponent,
|
|
179
|
+
LoadingContentTemplateDirective,
|
|
180
|
+
EmptyListComponent,
|
|
181
|
+
NoContentTemplateDirective
|
|
182
|
+
], encapsulation: ViewEncapsulation.None, template: "<adf-datatable [rows]=\"attachments\"\n [actions]=\"true\"\n [loading]=\"isLoading\"\n (rowDblClick)=\"openContent($event)\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\">\n <adf-no-content-template>\n <ng-template>\n <ng-content *ngIf=\"hasCustomTemplate; else defaultEmptyList\" class=\"adf-custom-empty-template\"></ng-content>\n <ng-template #defaultEmptyList>\n <adf-empty-list>\n <div adf-empty-list-header class=\"adf-empty-list-header\">\n {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}}\n </div>\n </adf-empty-list>\n </ng-template>\n </ng-template>\n </adf-no-content-template>\n\n <data-columns>\n <data-column key=\"icon\" type=\"image\" [sr-title]=\"'ADF_TASK_LIST.PROPERTIES.THUMBNAIL'\" [sortable]=\"false\"></data-column>\n <data-column key=\"name\" type=\"text\" title=\"ADF_TASK_LIST.PROPERTIES.NAME\" class=\"adf-full-width adf-ellipsis-cell\" [sortable]=\"true\"></data-column>\n <data-column key=\"created\" type=\"date\" format=\"shortDate\" title=\"ADF_TASK_LIST.PROPERTIES.CREATED\"></data-column>\n </data-columns>\n <adf-loading-content-template>\n <ng-template>\n <!--Add your custom loading template here-->\n <mat-progress-spinner class=\"adf-attachment-list-loading-margin\" [color]=\"'primary'\" [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n </ng-template>\n </adf-loading-content-template>\n</adf-datatable>\n", styles: [".adf-attachment-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}.adf-empty-list-header{height:32px;opacity:.26;font-size:var(--theme-headline-font-size);line-height:1.33;letter-spacing:-1px}.adf-empty-list-drag_drop{min-height:56px;opacity:.54;font-size:56px;line-height:1;letter-spacing:-2px;margin-top:40px;word-break:break-all;white-space:pre-line}@media (max-width: 599.9px){.adf-empty-list-drag_drop{font-size:40px}}.adf-empty-list__any-files-here-to-add{min-height:24px;opacity:.54;font-size:var(--theme-subheading-2-font-size);line-height:1.5;letter-spacing:-.4px;margin-top:17px;word-break:break-all;white-space:pre-line}.adf-empty-list__empty_doc_lib{width:565px;max-width:100%;height:161px;object-fit:contain;margin-top:17px}@media (max-width: 599.9px){.adf-empty-list__empty_doc_lib{width:250px}}\n"] }]
|
|
171
183
|
}], ctorParameters: function () { return [{ type: i1.ProcessContentService }, { type: i2.DownloadService }, { type: i2.ThumbnailService }, { type: i0.NgZone }]; }, propDecorators: { emptyTemplate: [{
|
|
172
184
|
type: ContentChild,
|
|
173
185
|
args: [EmptyListComponent]
|
|
@@ -182,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
182
194
|
}], error: [{
|
|
183
195
|
type: Output
|
|
184
196
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hdHRhY2htZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9hdHRhY2htZW50L3Rhc2stYXR0YWNobWVudC1saXN0L3Rhc2stYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXR0YWNobWVudC90YXNrLWF0dGFjaG1lbnQtbGlzdC90YXNrLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVHLE9BQU8sRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQVU5RSxNQUFNLE9BQU8sMkJBQTJCO0lBb0NwQyxZQUNZLHNCQUE2QyxFQUM3QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsTUFBYztRQUhkLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFDN0Msb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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qSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVGh1bWJuYWlsU2VydmljZSwgRW1wdHlMaXN0Q29tcG9uZW50LCBEb3dubG9hZFNlcnZpY2UsIERhdGFUYWJsZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2Nlc3NDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2Zvcm0vc2VydmljZXMvcHJvY2Vzcy1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXRhc2stYXR0YWNobWVudC1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERhdGFUYWJsZU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tBdHRhY2htZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZChFbXB0eUxpc3RDb21wb25lbnQpXG4gICAgZW1wdHlUZW1wbGF0ZTogRW1wdHlMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqICgqKnJlcXVpcmVkKiopIFRoZSBJRCBvZiB0aGUgdGFzayB0byBkaXNwbGF5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFza0lkOiBzdHJpbmc7XG5cbiAgICAvKiogRGlzYWJsZS9FbmFibGUgcmVhZCBvbmx5IG1vZGUgZm9yIGF0dGFjaG1lbnQgbGlzdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIGF0dGFjaG1lbnQgaXMgZG91YmxlLWNsaWNrZWQgb3IgYSB2aWV3XG4gICAgICogb3B0aW9uIGlzIHNlbGVjdGVkIGZyb20gdGhlIGNvbnRleHQgbWVudSBieSB0aGUgdXNlciBmcm9tIHdpdGhpbiB0aGUgY29tcG9uZW50LlxuICAgICAqIFJldHVybnMgYSBCbG9iIHJlcHJlc2VudGluZyB0aGUgY2xpY2tlZCBvYmplY3QuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgYXR0YWNobWVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGxpc3QgaGFzIGZldGNoZWQgYWxsIHRoZSBhdHRhY2htZW50cy5cbiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhdHRhY2htZW50cy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgZmV0Y2hpbmcgdGhlIGF0dGFjaG1lbnRzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBoYXNDdXN0b21UZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgYXR0YWNobWVudHM6IGFueVtdID0gW107XG4gICAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhY3Rpdml0aUNvbnRlbnRTZXJ2aWNlOiBQcm9jZXNzQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZG93bmxvYWRTZXJ2aWNlOiBEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3Rhc2tJZCddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEF0dGFjaG1lbnRzQnlUYXNrSWQoY2hhbmdlc1sndGFza0lkJ10uY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZW1wdHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21UZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50cyA9IFtdO1xuICAgIH1cblxuICAgIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZEF0dGFjaG1lbnRzQnlUYXNrSWQodGhpcy50YXNrSWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGQoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb250ZW50LmlkLFxuICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBjcmVhdGVkOiBjb250ZW50LmNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEJ5OiBjb250ZW50LmNyZWF0ZWRCeS5maXJzdE5hbWUgKyAnICcgKyBjb250ZW50LmNyZWF0ZWRCeS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICBpY29uOiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGNvbnRlbnQubWltZVR5cGUpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQXR0YWNobWVudEJ5SWQoY29udGVudElkOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGNvbnRlbnRJZCkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpdml0aUNvbnRlbnRTZXJ2aWNlLmRlbGV0ZVJlbGF0ZWRDb250ZW50KGNvbnRlbnRJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuYXR0YWNobWVudHMuZmlsdGVyKChjb250ZW50KSA9PiBjb250ZW50LmlkICE9PSBjb250ZW50SWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TaG93Um93QWN0aW9uc01lbnUoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCB2aWV3QWN0aW9uID0ge1xuICAgICAgICAgICAgdGl0bGU6ICdBREZfVEFTS19MSVNULk1FTlVfQUNUSU9OUy5WSUVXX0NPTlRFTlQnLFxuICAgICAgICAgICAgbmFtZTogJ3ZpZXcnXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcmVtb3ZlQWN0aW9uID0ge1xuICAgICAgICAgICAgdGl0bGU6ICdBREZfVEFTS19MSVNULk1FTlVfQUNUSU9OUy5SRU1PVkVfQ09OVEVOVCcsXG4gICAgICAgICAgICBuYW1lOiAncmVtb3ZlJ1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRvd25sb2FkQWN0aW9uID0ge1xuICAgICAgICAgICAgdGl0bGU6ICdBREZfVEFTS19MSVNULk1FTlVfQUNUSU9OUy5ET1dOTE9BRF9DT05URU5UJyxcbiAgICAgICAgICAgIG5hbWU6ICdkb3dubG9hZCdcbiAgICAgICAgfTtcblxuICAgICAgICBldmVudC52YWx1ZS5hY3Rpb25zID0gW3ZpZXdBY3Rpb24sIGRvd25sb2FkQWN0aW9uXTtcblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnZhbHVlLmFjdGlvbnMuc3BsaWNlKDEsIDAsIHJlbW92ZUFjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkV4ZWN1dGVSb3dBY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBhcmdzID0gZXZlbnQudmFsdWU7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGFyZ3MuYWN0aW9uO1xuICAgICAgICBpZiAoYWN0aW9uLm5hbWUgPT09ICd2aWV3Jykge1xuICAgICAgICAgICAgdGhpcy5lbWl0RG9jdW1lbnRDb250ZW50KGFyZ3Mucm93Lm9iaik7XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLm5hbWUgPT09ICdyZW1vdmUnKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUF0dGFjaG1lbnRCeUlkKGFyZ3Mucm93Lm9iai5pZCk7XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLm5hbWUgPT09ICdkb3dubG9hZCcpIHtcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRDb250ZW50KGFyZ3Mucm93Lm9iaik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuQ29udGVudChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBldmVudC52YWx1ZS5vYmo7XG4gICAgICAgIHRoaXMuZW1pdERvY3VtZW50Q29udGVudChjb250ZW50KTtcbiAgICB9XG5cbiAgICBlbWl0RG9jdW1lbnRDb250ZW50KGNvbnRlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmFjdGl2aXRpQ29udGVudFNlcnZpY2UuZ2V0Q29udGVudFByZXZpZXcoY29udGVudC5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGJsb2I6IEJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICBjb250ZW50LmNvbnRlbnRCbG9iID0gYmxvYjtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRDbGljay5lbWl0KGNvbnRlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkb3dubG9hZENvbnRlbnQoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZpdGlDb250ZW50U2VydmljZS5nZXRGaWxlUmF3Q29udGVudChjb250ZW50LmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYmxvYjogQmxvYikgPT4gdGhpcy5kb3dubG9hZFNlcnZpY2UuZG93bmxvYWRCbG9iKGJsb2IsIGNvbnRlbnQubmFtZSksXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkQXR0YWNobWVudHNCeVRhc2tJZCh0YXNrSWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGFza0lkKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBpc1JlbGF0ZWRDb250ZW50ID0gJ3RydWUnO1xuICAgICAgICAgICAgdGhpcy5hY3Rpdml0aUNvbnRlbnRTZXJ2aWNlLmdldFRhc2tSZWxhdGVkQ29udGVudCh0YXNrSWQsIHsgaXNSZWxhdGVkQ29udGVudCB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdHRhY2hMaXN0ID0gW107XG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmZvckVhY2goKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaExpc3QucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGNvbnRlbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY29udGVudC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQ6IGNvbnRlbnQuY3JlYXRlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQnk6IGNvbnRlbnQuY3JlYXRlZEJ5LmZpcnN0TmFtZSArICcgJyArIGNvbnRlbnQuY3JlYXRlZEJ5Lmxhc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246IHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24oY29udGVudC5taW1lVHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50cyA9IGF0dGFjaExpc3Q7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYXR0YWNobWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGFkZi1kYXRhdGFibGUgW3Jvd3NdPVwiYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgW2FjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgKHJvd0RibENsaWNrKT1cIm9wZW5Db250ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChleGVjdXRlUm93QWN0aW9uKT1cIm9uRXhlY3V0ZVJvd0FjdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICA8YWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cImhhc0N1c3RvbVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRFbXB0eUxpc3RcIiBjbGFzcz1cImFkZi1jdXN0b20tZW1wdHktdGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5TGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZW1wdHktbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGFkZi1lbXB0eS1saXN0LWhlYWRlciBjbGFzcz1cImFkZi1lbXB0eS1saXN0LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfVEFTS19MSVNULkFUVEFDSE1FTlQuRU1QVFkuSEVBREVSJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FkZi1lbXB0eS1saXN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2FkZi1uby1jb250ZW50LXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8ZGF0YS1jb2x1bW5zPlxuICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJpY29uXCIgdHlwZT1cImltYWdlXCIgW3NyLXRpdGxlXT1cIidBREZfVEFTS19MSVNULlBST1BFUlRJRVMuVEhVTUJOQUlMJ1wiIFtzb3J0YWJsZV09XCJmYWxzZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cIm5hbWVcIiB0eXBlPVwidGV4dFwiIHRpdGxlPVwiQURGX1RBU0tfTElTVC5QUk9QRVJUSUVTLk5BTUVcIiBjbGFzcz1cImFkZi1mdWxsLXdpZHRoIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cInRydWVcIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJjcmVhdGVkXCIgdHlwZT1cImRhdGVcIiBmb3JtYXQ9XCJzaG9ydERhdGVcIiB0aXRsZT1cIkFERl9UQVNLX0xJU1QuUFJPUEVSVElFUy5DUkVBVEVEXCI+PC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgIDwvZGF0YS1jb2x1bW5zPlxuICAgICAgICAgICAgPGFkZi1sb2FkaW5nLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwhLS1BZGQgeW91ciBjdXN0b20gbG9hZGluZyB0ZW1wbGF0ZSBoZXJlLS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjbGFzcz1cImFkZi1hdHRhY2htZW50LWxpc3QtbG9hZGluZy1tYXJnaW5cIiBbY29sb3JdPVwiJ3ByaW1hcnknXCIgW21vZGVdPVwiJ2luZGV0ZXJtaW5hdGUnXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLWxvYWRpbmctY29udGVudC10ZW1wbGF0ZT5cbjwvYWRmLWRhdGF0YWJsZT5cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hdHRhY2htZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9hdHRhY2htZW50L3Rhc2stYXR0YWNobWVudC1saXN0L3Rhc2stYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvYXR0YWNobWVudC90YXNrLWF0dGFjaG1lbnQtbGlzdC90YXNrLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQiwwQkFBMEIsRUFDN0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBRUgsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBRU4saUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFzQnRELE1BQU0sT0FBTywyQkFBMkI7SUFvQ3BDLFlBQ1ksc0JBQTZDLEVBQzdDLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxNQUFjO1FBSGQsMkJBQXNCLEdBQXRCLHNC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QkFBK0I7d0JBQy9CLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3FCQUM3QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJOzhMQUlyQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUtoQyxNQUFNO3NCQURMLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQVNOLGVBQWU7c0JBRGQsTUFBTTtnQkFRUCxPQUFPO3NCQUROLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIFRodW1ibmFpbFNlcnZpY2UsXG4gICAgRW1wdHlMaXN0Q29tcG9uZW50LFxuICAgIERvd25sb2FkU2VydmljZSxcbiAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgRW1wdHlMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICAgIERhdGFDb2x1bW5MaXN0Q29tcG9uZW50LFxuICAgIERhdGFDb2x1bW5Db21wb25lbnQsXG4gICAgTG9hZGluZ0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBOb0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZXNzQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb3JtL3NlcnZpY2VzL3Byb2Nlc3MtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi10YXNrLWF0dGFjaG1lbnQtbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgRW1wdHlMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIERhdGFDb2x1bW5MaXN0Q29tcG9uZW50LFxuICAgICAgICBEYXRhQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBMb2FkaW5nQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBFbXB0eUxpc3RDb21wb25lbnQsXG4gICAgICAgIE5vQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlXG4gICAgXSxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWF0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrQXR0YWNobWVudExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGQoRW1wdHlMaXN0Q29tcG9uZW50KVxuICAgIGVtcHR5VGVtcGxhdGU6IEVtcHR5TGlzdENvbXBvbmVudDtcblxuICAgIC8qKiAoKipyZXF1aXJlZCoqKSBUaGUgSUQgb2YgdGhlIHRhc2sgdG8gZGlzcGxheS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRhc2tJZDogc3RyaW5nO1xuXG4gICAgLyoqIERpc2FibGUvRW5hYmxlIHJlYWQgb25seSBtb2RlIGZvciBhdHRhY2htZW50IGxpc3QuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBhdHRhY2htZW50IGlzIGRvdWJsZS1jbGlja2VkIG9yIGEgdmlld1xuICAgICAqIG9wdGlvbiBpcyBzZWxlY3RlZCBmcm9tIHRoZSBjb250ZXh0IG1lbnUgYnkgdGhlIHVzZXIgZnJvbSB3aXRoaW4gdGhlIGNvbXBvbmVudC5cbiAgICAgKiBSZXR1cm5zIGEgQmxvYiByZXByZXNlbnRpbmcgdGhlIGNsaWNrZWQgb2JqZWN0LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGF0dGFjaG1lbnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgYXR0YWNobWVudCBsaXN0IGhhcyBmZXRjaGVkIGFsbCB0aGUgYXR0YWNobWVudHMuXG4gICAgICogUmV0dXJucyBhIGxpc3Qgb2YgYXR0YWNobWVudHMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gZXJyb3Igb2NjdXJzIHdoaWxlIGZldGNoaW5nIHRoZSBhdHRhY2htZW50cy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgaGFzQ3VzdG9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGF0dGFjaG1lbnRzOiBhbnlbXSA9IFtdO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWN0aXZpdGlDb250ZW50U2VydmljZTogUHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRvd25sb2FkU2VydmljZTogRG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRodW1ibmFpbFNlcnZpY2U6IFRodW1ibmFpbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0YXNrSWQnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRBdHRhY2htZW50c0J5VGFza0lkKGNoYW5nZXNbJ3Rhc2tJZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVtcHR5VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzQ3VzdG9tVGVtcGxhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudHMgPSBbXTtcbiAgICB9XG5cbiAgICByZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRBdHRhY2htZW50c0J5VGFza0lkKHRoaXMudGFza0lkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkKGNvbnRlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogY29udGVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjb250ZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZDogY29udGVudC5jcmVhdGVkLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRCeTogY29udGVudC5jcmVhdGVkQnkuZmlyc3ROYW1lICsgJyAnICsgY29udGVudC5jcmVhdGVkQnkubGFzdE5hbWUsXG4gICAgICAgICAgICAgICAgaWNvbjogdGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldE1pbWVUeXBlSWNvbihjb250ZW50Lm1pbWVUeXBlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZUF0dGFjaG1lbnRCeUlkKGNvbnRlbnRJZDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChjb250ZW50SWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdGlDb250ZW50U2VydmljZS5kZWxldGVSZWxhdGVkQ29udGVudChjb250ZW50SWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMgPSB0aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoY29udGVudCkgPT4gY29udGVudC5pZCAhPT0gY29udGVudElkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2hvd1Jvd0FjdGlvbnNNZW51KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgdmlld0FjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1RBU0tfTElTVC5NRU5VX0FDVElPTlMuVklFV19DT05URU5UJyxcbiAgICAgICAgICAgIG5hbWU6ICd2aWV3J1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlbW92ZUFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1RBU0tfTElTVC5NRU5VX0FDVElPTlMuUkVNT1ZFX0NPTlRFTlQnLFxuICAgICAgICAgICAgbmFtZTogJ3JlbW92ZSdcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb3dubG9hZEFjdGlvbiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX1RBU0tfTElTVC5NRU5VX0FDVElPTlMuRE9XTkxPQURfQ09OVEVOVCcsXG4gICAgICAgICAgICBuYW1lOiAnZG93bmxvYWQnXG4gICAgICAgIH07XG5cbiAgICAgICAgZXZlbnQudmFsdWUuYWN0aW9ucyA9IFt2aWV3QWN0aW9uLCBkb3dubG9hZEFjdGlvbl07XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC52YWx1ZS5hY3Rpb25zLnNwbGljZSgxLCAwLCByZW1vdmVBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeGVjdXRlUm93QWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgYXJncyA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBhcmdzLmFjdGlvbjtcbiAgICAgICAgaWYgKGFjdGlvbi5uYW1lID09PSAndmlldycpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdERvY3VtZW50Q29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAncmVtb3ZlJykge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVBdHRhY2htZW50QnlJZChhcmdzLnJvdy5vYmouaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi5uYW1lID09PSAnZG93bmxvYWQnKSB7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkQ29udGVudChhcmdzLnJvdy5vYmopO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkNvbnRlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZXZlbnQudmFsdWUub2JqO1xuICAgICAgICB0aGlzLmVtaXREb2N1bWVudENvbnRlbnQoY29udGVudCk7XG4gICAgfVxuXG4gICAgZW1pdERvY3VtZW50Q29udGVudChjb250ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5hY3Rpdml0aUNvbnRlbnRTZXJ2aWNlLmdldENvbnRlbnRQcmV2aWV3KGNvbnRlbnQuaWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChibG9iOiBCbG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgY29udGVudC5jb250ZW50QmxvYiA9IGJsb2I7XG4gICAgICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50Q2xpY2suZW1pdChjb250ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZG93bmxvYWRDb250ZW50KGNvbnRlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2aXRpQ29udGVudFNlcnZpY2UuZ2V0RmlsZVJhd0NvbnRlbnQoY29udGVudC5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGJsb2I6IEJsb2IpID0+IHRoaXMuZG93bmxvYWRTZXJ2aWNlLmRvd25sb2FkQmxvYihibG9iLCBjb250ZW50Lm5hbWUpLFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEF0dGFjaG1lbnRzQnlUYXNrSWQodGFza0lkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRhc2tJZCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgY29uc3QgaXNSZWxhdGVkQ29udGVudCA9ICd0cnVlJztcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdGlDb250ZW50U2VydmljZS5nZXRUYXNrUmVsYXRlZENvbnRlbnQodGFza0lkLCB7IGlzUmVsYXRlZENvbnRlbnQgfSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXR0YWNoTGlzdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5mb3JFYWNoKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2hMaXN0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjb250ZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRlbnQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkOiBjb250ZW50LmNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEJ5OiBjb250ZW50LmNyZWF0ZWRCeS5maXJzdE5hbWUgKyAnICcgKyBjb250ZW50LmNyZWF0ZWRCeS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGNvbnRlbnQubWltZVR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMgPSBhdHRhY2hMaXN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmF0dGFjaG1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhZGYtZGF0YXRhYmxlIFtyb3dzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgIFthY3Rpb25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgIChyb3dEYmxDbGljayk9XCJvcGVuQ29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChzaG93Um93QWN0aW9uc01lbnUpPVwib25TaG93Um93QWN0aW9uc01lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGFkZi1uby1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJoYXNDdXN0b21UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0RW1wdHlMaXN0XCIgY2xhc3M9XCJhZGYtY3VzdG9tLWVtcHR5LXRlbXBsYXRlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eUxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBhZGYtZW1wdHktbGlzdC1oZWFkZXIgY2xhc3M9XCJhZGYtZW1wdHktbGlzdC1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snQURGX1RBU0tfTElTVC5BVFRBQ0hNRU5ULkVNUFRZLkhFQURFUicgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGYtZW1wdHktbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiaWNvblwiIHR5cGU9XCJpbWFnZVwiIFtzci10aXRsZV09XCInQURGX1RBU0tfTElTVC5QUk9QRVJUSUVTLlRIVU1CTkFJTCdcIiBbc29ydGFibGVdPVwiZmFsc2VcIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJuYW1lXCIgdHlwZT1cInRleHRcIiB0aXRsZT1cIkFERl9UQVNLX0xJU1QuUFJPUEVSVElFUy5OQU1FXCIgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtZWxsaXBzaXMtY2VsbFwiIFtzb3J0YWJsZV09XCJ0cnVlXCI+PC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiY3JlYXRlZFwiIHR5cGU9XCJkYXRlXCIgZm9ybWF0PVwic2hvcnREYXRlXCIgdGl0bGU9XCJBREZfVEFTS19MSVNULlBST1BFUlRJRVMuQ1JFQVRFRFwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICA8L2RhdGEtY29sdW1ucz5cbiAgICAgICAgICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8IS0tQWRkIHlvdXIgY3VzdG9tIGxvYWRpbmcgdGVtcGxhdGUgaGVyZS0tPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY2xhc3M9XCJhZGYtYXR0YWNobWVudC1saXN0LWxvYWRpbmctbWFyZ2luXCIgW2NvbG9yXT1cIidwcmltYXJ5J1wiIFttb2RlXT1cIidpbmRldGVybWluYXRlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2FkZi1sb2FkaW5nLWNvbnRlbnQtdGVtcGxhdGU+XG48L2FkZi1kYXRhdGFibGU+XG4iXX0=
|