@indice/ng-components 0.2.160 → 0.2.161
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/controls/list-view/list-view.component.mjs +57 -48
- package/esm2020/lib/types.mjs +7 -1
- package/fesm2015/indice-ng-components.mjs +62 -47
- package/fesm2015/indice-ng-components.mjs.map +1 -1
- package/fesm2020/indice-ng-components.mjs +62 -47
- package/fesm2020/indice-ng-components.mjs.map +1 -1
- package/lib/controls/list-view/list-view.component.d.ts +17 -16
- package/lib/types.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ListViewType } from '../../types';
|
|
2
|
+
import { ListViewType, PagerPosition } from '../../types';
|
|
3
3
|
import { ListTileComponent } from './list-tile.component';
|
|
4
4
|
import { ListColumnComponent } from './list-column.component';
|
|
5
5
|
import { ListDetailsSectionComponent } from './list-details-section.component';
|
|
@@ -13,51 +13,56 @@ export class ListViewComponent {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
// BUSY STATE
|
|
15
15
|
this.busy = false;
|
|
16
|
-
this.expandIcon = Icons.Expand;
|
|
17
|
-
this.collapseIcon = Icons.Collapse;
|
|
18
|
-
// tslint:disable-next-line:no-input-rename
|
|
19
|
-
this.showPager = true;
|
|
20
16
|
// PAGING - pass through for pager component
|
|
21
17
|
this.count = null;
|
|
22
18
|
this.page = 1;
|
|
19
|
+
this.view = ListViewType.Table;
|
|
20
|
+
this.sort = null;
|
|
23
21
|
// tslint:disable-next-line:no-input-rename
|
|
24
22
|
this.pageSize = 20;
|
|
25
23
|
// tslint:disable-next-line:no-input-rename
|
|
26
24
|
this.pageSizeOptions = [];
|
|
25
|
+
// SORTING - pass through for pager component
|
|
26
|
+
// tslint:disable-next-line:no-input-rename
|
|
27
|
+
this.sortOptions = [];
|
|
28
|
+
// tslint:disable-next-line:no-input-rename
|
|
29
|
+
this.sortdir = '-';
|
|
30
|
+
// tslint:disable-next-line:no-input-rename
|
|
31
|
+
this.tilesCount = 4;
|
|
32
|
+
// tslint:disable-next-line:no-input-rename
|
|
33
|
+
this.showPager = true;
|
|
34
|
+
// tslint:disable-next-line:no-input-rename
|
|
35
|
+
this.pagerPosition = PagerPosition.Top;
|
|
36
|
+
// DETAILS SECTION
|
|
37
|
+
// Check if details section and button should be displayed according to the count of the value given
|
|
38
|
+
// tslint:disable-next-line:no-input-rename
|
|
39
|
+
this.detailsSectionPropertyCount = null;
|
|
27
40
|
this.pageChanged = new EventEmitter();
|
|
28
41
|
this.pageSizeChanged = new EventEmitter();
|
|
29
42
|
this.detailsOpened = new EventEmitter();
|
|
30
|
-
this.
|
|
43
|
+
this.sortChanged = new EventEmitter();
|
|
44
|
+
this.sortdirChanged = new EventEmitter();
|
|
31
45
|
this.multipleFullWidth = false;
|
|
46
|
+
this.expandIcon = Icons.Expand;
|
|
47
|
+
this.collapseIcon = Icons.Collapse;
|
|
48
|
+
this.tableViewSupported = false;
|
|
32
49
|
this.fullWidthTHClass = 'list-view-th-full';
|
|
33
50
|
this.fullWidthTDClass = 'list-view-td-full';
|
|
34
51
|
this.tilesViewSupported = false;
|
|
35
52
|
this.detailsSectionSupported = false;
|
|
36
53
|
this.loaderItems = [];
|
|
37
|
-
// DETAILS SECTION
|
|
38
|
-
// Check if details section and button should be displayed according to the count of the value given
|
|
39
|
-
// tslint:disable-next-line:no-input-rename
|
|
40
|
-
this.detailsSectionPropertyCount = null;
|
|
41
|
-
// SORTING - pass through for pager component
|
|
42
|
-
// tslint:disable-next-line:no-input-rename
|
|
43
|
-
this.sortOptions = [];
|
|
44
|
-
this.sort = null;
|
|
45
|
-
// tslint:disable-next-line:no-input-rename
|
|
46
|
-
this.sortdir = '-';
|
|
47
|
-
this.sortChanged = new EventEmitter();
|
|
48
|
-
this.sortdirChanged = new EventEmitter();
|
|
49
|
-
this.view = ListViewType.Table;
|
|
50
|
-
// COLUMNS
|
|
51
54
|
this.columns = [];
|
|
52
55
|
this.tilesDeckClass = 'cards-deck-4';
|
|
53
|
-
// tslint:disable-next-line:no-input-rename
|
|
54
|
-
this.tilesCount = 4;
|
|
55
56
|
this.tileTemplate = null;
|
|
56
57
|
this.detailsTemplate = null;
|
|
57
58
|
for (let i = 0; i < 5; i++) {
|
|
58
59
|
this.loaderItems.push({});
|
|
59
60
|
}
|
|
61
|
+
if (this.pagerPosition) {
|
|
62
|
+
this.pagerPosition = this.pagerPosition;
|
|
63
|
+
}
|
|
60
64
|
}
|
|
65
|
+
// COLUMNS
|
|
61
66
|
set cols(refs) {
|
|
62
67
|
this.columns = refs?.toArray();
|
|
63
68
|
if (this.columns && this.columns.length > 0) {
|
|
@@ -67,6 +72,7 @@ export class ListViewComponent {
|
|
|
67
72
|
this.fullWidthTHClass = this.multipleFullWidth ? 'list-view-th-half' : 'list-view-th-full';
|
|
68
73
|
this.fullWidthTDClass = this.multipleFullWidth ? 'list-view-td-half' : 'list-view-td-full';
|
|
69
74
|
}
|
|
75
|
+
// tslint:disable-next-line:no-input-rename
|
|
70
76
|
set tiles(ref) {
|
|
71
77
|
this.tileTemplate = ref;
|
|
72
78
|
if (this.tileTemplate) {
|
|
@@ -123,61 +129,64 @@ export class ListViewComponent {
|
|
|
123
129
|
}
|
|
124
130
|
}
|
|
125
131
|
ListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
-
ListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ListViewComponent, selector: "lib-list-view", inputs: { busy: "busy", items: "items",
|
|
132
|
+
ListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ListViewComponent, selector: "lib-list-view", inputs: { busy: "busy", items: "items", count: "count", page: "page", view: "view", sort: "sort", pageSize: ["page-size", "pageSize"], pageSizeOptions: ["page-size-options", "pageSizeOptions"], sortOptions: ["sort-options", "sortOptions"], sortdir: ["sort-dir", "sortdir"], tilesCount: ["tiles-count", "tilesCount"], showPager: ["show-pager", "showPager"], pagerPosition: ["pager-position", "pagerPosition"], detailsSectionPropertyCount: ["details-section-property-count", "detailsSectionPropertyCount"] }, outputs: { pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", detailsOpened: "detailsOpened", sortChanged: "sortChanged", sortdirChanged: "sortdirChanged" }, queries: [{ propertyName: "tiles", first: true, predicate: ListTileComponent, descendants: true, read: ListTileComponent }, { propertyName: "details", first: true, predicate: ListDetailsSectionComponent, descendants: true, read: ListDetailsSectionComponent }, { propertyName: "cols", predicate: ListColumnComponent, read: ListColumnComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"px-2\">\n\n <lib-pager *ngIf=\"showPager && (pagerPosition == 'top' || pagerPosition == 'both')\"\n [page]=\"page\"\n [page-size]=\"pageSize\"\n [count]=\"count\"\n [sort-options]=\"sortOptions\"\n [sort]=\"sort\"\n [sort-dir]=\"sortdir\"\n [busy]=\"busy\"\n (pageChanged)=\"emitPageChanged($event)\"\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\n (sortChanged)=\"emitSortChanged($event)\"\n (sortdirChanged)=\"emitSortdirChanged($event)\">\n </lib-pager>\n</div>\n\n<ng-container [ngSwitch]=\"view\">\n\n <ng-container *ngSwitchCase=\"'tiles'\">\n <div [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n\n </div>\n </ng-container>\n\n\n <!-- *ngSwitchCase=\"'gallery'\" -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <ul role=\"list\" [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"!busy && items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n </ul>\n </ng-container>\n\n <!-- *ngSwitchCase=\"'table'\" -->\n <ng-container *ngSwitchDefault>\n\n <div class=\"list-view-container\">\n <div class=\"list-view-container-inner\">\n <table class=\"list-view-table\">\n <thead class=\"list-view-thead\">\n <tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <th class=\"list-view-th-details\"></th>\n </ng-container>\n <ng-container *ngFor=\"let col of columns\">\n <th scope=\"col\"\n [class]=\"col.fullWidth ? fullWidthTHClass : 'list-view-th'\">\n {{col.title}}\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody class=\"list-view-tbody\" *ngIf=\"busy\">\n <ng-container *ngFor=\"let item of loaderItems;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button disabled\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <div class=\"w-full animate-pulse h-8 bg-gray-200 rounded\"></div>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n <tbody class=\"list-view-tbody\" *ngIf=\"!busy\">\n <ng-container *ngFor=\"let item of items;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button (click)=\"toggleDetails(item)\"\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <ng-template [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!busy && items && items.length === 0\">\n <div class=\"cards-deck-1\">\n <lib-list-view-empty-state></lib-list-view-empty-state>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-content></ng-content>\n\n<div class=\"pt-2 px-2\">\n\n <lib-pager *ngIf=\"items && items.length !== 0 && showPager && (pagerPosition == 'bottom' || pagerPosition == 'both')\"\n [page]=\"page\"\n [page-size]=\"pageSize\"\n [count]=\"count\"\n [sort-options]=\"sortOptions\"\n [sort]=\"sort\"\n [sort-dir]=\"sortdir\"\n [busy]=\"busy\"\n (pageChanged)=\"emitPageChanged($event)\"\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\n (sortChanged)=\"emitSortChanged($event)\"\n (sortdirChanged)=\"emitSortdirChanged($event)\">\n </lib-pager>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.PagerComponent, selector: "lib-pager", inputs: ["busy", "count", "page", "page-size", "page-size-options", "sort-options", "sort", "sort-dir"], outputs: ["pageChanged", "pageSizeChanged", "sortChanged", "sortdirChanged"] }, { kind: "component", type: i3.ListViewEmptyStateComponent, selector: "lib-list-view-empty-state", inputs: ["title", "sub-title", "new-item-label"] }, { kind: "component", type: i4.SkeletonLoaderComponent, selector: "lib-skeleton-loader", inputs: ["count", "type"] }] });
|
|
127
133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListViewComponent, decorators: [{
|
|
128
134
|
type: Component,
|
|
129
|
-
args: [{ selector: 'lib-list-view', template: "<div class=\"px-2\">\n\n <lib-pager *ngIf=\"showPager\"\n [page]=\"page\"\n [page-size]=\"pageSize\"\n [count]=\"count\"\n [sort-options]=\"sortOptions\"\n [sort]=\"sort\"\n [sort-dir]=\"sortdir\"\n [busy]=\"busy\"\n (pageChanged)=\"emitPageChanged($event)\"\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\n (sortChanged)=\"emitSortChanged($event)\"\n (sortdirChanged)=\"emitSortdirChanged($event)\">\n </lib-pager>\n</div>\n\n<ng-container [ngSwitch]=\"view\">\n\n <ng-container *ngSwitchCase=\"'tiles'\">\n <div [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n\n </div>\n </ng-container>\n\n\n <!-- *ngSwitchCase=\"'gallery'\" -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <ul role=\"list\" [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"!busy && items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n </ul>\n </ng-container>\n\n <!-- *ngSwitchCase=\"'table'\" -->\n <ng-container *ngSwitchDefault>\n\n <div class=\"list-view-container\">\n <div class=\"list-view-container-inner\">\n <table class=\"list-view-table\">\n <thead class=\"list-view-thead\">\n <tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <th class=\"list-view-th-details\"></th>\n </ng-container>\n <ng-container *ngFor=\"let col of columns\">\n <th scope=\"col\"\n [class]=\"col.fullWidth ? fullWidthTHClass : 'list-view-th'\">\n {{col.title}}\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody class=\"list-view-tbody\" *ngIf=\"busy\">\n <ng-container *ngFor=\"let item of loaderItems;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button disabled\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <div class=\"w-full animate-pulse h-8 bg-gray-200 rounded\"></div>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n <tbody class=\"list-view-tbody\" *ngIf=\"!busy\">\n <ng-container *ngFor=\"let item of items;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button (click)=\"toggleDetails(item)\"\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <ng-template [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!busy && items && items.length === 0\">\n <div class=\"cards-deck-1\">\n <lib-list-view-empty-state></lib-list-view-empty-state>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-content></ng-content>\n" }]
|
|
135
|
+
args: [{ selector: 'lib-list-view', template: "<div class=\"px-2\">\n\n <lib-pager *ngIf=\"showPager && (pagerPosition == 'top' || pagerPosition == 'both')\"\n [page]=\"page\"\n [page-size]=\"pageSize\"\n [count]=\"count\"\n [sort-options]=\"sortOptions\"\n [sort]=\"sort\"\n [sort-dir]=\"sortdir\"\n [busy]=\"busy\"\n (pageChanged)=\"emitPageChanged($event)\"\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\n (sortChanged)=\"emitSortChanged($event)\"\n (sortdirChanged)=\"emitSortdirChanged($event)\">\n </lib-pager>\n</div>\n\n<ng-container [ngSwitch]=\"view\">\n\n <ng-container *ngSwitchCase=\"'tiles'\">\n <div [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n\n </div>\n </ng-container>\n\n\n <!-- *ngSwitchCase=\"'gallery'\" -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <ul role=\"list\" [class]=\"tilesDeckClass\">\n\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\n\n <ng-container *ngIf=\"!busy && items && items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </ng-container>\n </ul>\n </ng-container>\n\n <!-- *ngSwitchCase=\"'table'\" -->\n <ng-container *ngSwitchDefault>\n\n <div class=\"list-view-container\">\n <div class=\"list-view-container-inner\">\n <table class=\"list-view-table\">\n <thead class=\"list-view-thead\">\n <tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <th class=\"list-view-th-details\"></th>\n </ng-container>\n <ng-container *ngFor=\"let col of columns\">\n <th scope=\"col\"\n [class]=\"col.fullWidth ? fullWidthTHClass : 'list-view-th'\">\n {{col.title}}\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody class=\"list-view-tbody\" *ngIf=\"busy\">\n <ng-container *ngFor=\"let item of loaderItems;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button disabled\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <div class=\"w-full animate-pulse h-8 bg-gray-200 rounded\"></div>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n <tbody class=\"list-view-tbody\" *ngIf=\"!busy\">\n <ng-container *ngFor=\"let item of items;let i=index\">\n <tr class=\"list-view-tr\">\n <ng-container *ngIf=\"detailsSectionSupported\">\n <td class=\"list-view-td-details\"\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\n <button (click)=\"toggleDetails(item)\"\n type=\"button\"\n class=\"expand-collapse-button\">\n <!-- Heroicon name: solid/plus -->\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\n </button>\n </td>\n <ng-template #hiddenDetailsButton>\n <td class=\"list-view-td-details\"></td>\n </ng-template>\n </ng-container>\n <td *ngFor=\"let col of columns\"\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\n <ng-template [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n <ng-container *ngIf=\"detailsSectionSupported\">\n <tr *ngIf=\"item.detailsExpanded\">\n <td [colSpan]=\"columns.length + 1\"\n class=\"list-view-td bg-gray-100\">\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!busy && items && items.length === 0\">\n <div class=\"cards-deck-1\">\n <lib-list-view-empty-state></lib-list-view-empty-state>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-content></ng-content>\n\n<div class=\"pt-2 px-2\">\n\n <lib-pager *ngIf=\"items && items.length !== 0 && showPager && (pagerPosition == 'bottom' || pagerPosition == 'both')\"\n [page]=\"page\"\n [page-size]=\"pageSize\"\n [count]=\"count\"\n [sort-options]=\"sortOptions\"\n [sort]=\"sort\"\n [sort-dir]=\"sortdir\"\n [busy]=\"busy\"\n (pageChanged)=\"emitPageChanged($event)\"\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\n (sortChanged)=\"emitSortChanged($event)\"\n (sortdirChanged)=\"emitSortdirChanged($event)\">\n </lib-pager>\n</div>\n" }]
|
|
130
136
|
}], ctorParameters: function () { return []; }, propDecorators: { busy: [{
|
|
131
137
|
type: Input
|
|
132
138
|
}], items: [{
|
|
133
139
|
type: Input
|
|
134
|
-
}], showPager: [{
|
|
135
|
-
type: Input,
|
|
136
|
-
args: ['show-pager']
|
|
137
140
|
}], count: [{
|
|
138
141
|
type: Input
|
|
139
142
|
}], page: [{
|
|
140
143
|
type: Input
|
|
144
|
+
}], view: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], sort: [{
|
|
147
|
+
type: Input
|
|
141
148
|
}], pageSize: [{
|
|
142
149
|
type: Input,
|
|
143
150
|
args: ['page-size']
|
|
144
151
|
}], pageSizeOptions: [{
|
|
145
152
|
type: Input,
|
|
146
153
|
args: ['page-size-options']
|
|
147
|
-
}], pageChanged: [{
|
|
148
|
-
type: Output
|
|
149
|
-
}], pageSizeChanged: [{
|
|
150
|
-
type: Output
|
|
151
|
-
}], detailsOpened: [{
|
|
152
|
-
type: Output
|
|
153
|
-
}], detailsSectionPropertyCount: [{
|
|
154
|
-
type: Input,
|
|
155
|
-
args: ['details-section-property-count']
|
|
156
154
|
}], sortOptions: [{
|
|
157
155
|
type: Input,
|
|
158
156
|
args: ['sort-options']
|
|
159
|
-
}], sort: [{
|
|
160
|
-
type: Input
|
|
161
157
|
}], sortdir: [{
|
|
162
158
|
type: Input,
|
|
163
159
|
args: ['sort-dir']
|
|
164
|
-
}], sortChanged: [{
|
|
165
|
-
type: Output
|
|
166
|
-
}], sortdirChanged: [{
|
|
167
|
-
type: Output
|
|
168
|
-
}], view: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], cols: [{
|
|
171
|
-
type: ContentChildren,
|
|
172
|
-
args: [ListColumnComponent, { read: ListColumnComponent }]
|
|
173
160
|
}], tilesCount: [{
|
|
174
161
|
type: Input,
|
|
175
162
|
args: ['tiles-count']
|
|
163
|
+
}], showPager: [{
|
|
164
|
+
type: Input,
|
|
165
|
+
args: ['show-pager']
|
|
166
|
+
}], pagerPosition: [{
|
|
167
|
+
type: Input,
|
|
168
|
+
args: ['pager-position']
|
|
169
|
+
}], detailsSectionPropertyCount: [{
|
|
170
|
+
type: Input,
|
|
171
|
+
args: ['details-section-property-count']
|
|
172
|
+
}], cols: [{
|
|
173
|
+
type: ContentChildren,
|
|
174
|
+
args: [ListColumnComponent, { read: ListColumnComponent }]
|
|
176
175
|
}], tiles: [{
|
|
177
176
|
type: ContentChild,
|
|
178
177
|
args: [ListTileComponent, { read: ListTileComponent }]
|
|
179
178
|
}], details: [{
|
|
180
179
|
type: ContentChild,
|
|
181
180
|
args: [ListDetailsSectionComponent, { read: ListDetailsSectionComponent }]
|
|
181
|
+
}], pageChanged: [{
|
|
182
|
+
type: Output
|
|
183
|
+
}], pageSizeChanged: [{
|
|
184
|
+
type: Output
|
|
185
|
+
}], detailsOpened: [{
|
|
186
|
+
type: Output
|
|
187
|
+
}], sortChanged: [{
|
|
188
|
+
type: Output
|
|
189
|
+
}], sortdirChanged: [{
|
|
190
|
+
type: Output
|
|
182
191
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9saXN0LXZpZXcvbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9saXN0LXZpZXcvbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFNcEMsTUFBTSxPQUFPLGlCQUFpQjtJQWlGNUI7UUFoRkEsYUFBYTtRQUNKLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFHckMsMkNBQTJDO1FBQ3RCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEMsNENBQTRDO1FBQ25DLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDbEIsMkNBQTJDO1FBQ3ZCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEMsMkNBQTJDO1FBQ2Ysb0JB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S0FBSztnQkFLRixJQUFJO3NCQURQLGVBQWU7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBYTdDLFVBQVU7c0JBQS9CLEtBQUs7dUJBQUMsYUFBYTtnQkFJaEIsS0FBSztzQkFEUixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO2dCQVV4RCxPQUFPO3NCQURWLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51T3B0aW9uLCBMaXN0Vmlld1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaXN0VGlsZUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC10aWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9pY29ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXN0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8vIEJVU1kgU1RBVEVcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xuICBwdWJsaWMgZXhwYW5kSWNvbiA9IEljb25zLkV4cGFuZDtcbiAgcHVibGljIGNvbGxhcHNlSWNvbiA9IEljb25zLkNvbGxhcHNlO1xuICAvLyBEQVRBIFNPVVJDRSFcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3Nob3ctcGFnZXInKSBzaG93UGFnZXIgPSB0cnVlO1xuXG4gIC8vIFBBR0lORyAtIHBhc3MgdGhyb3VnaCBmb3IgcGFnZXIgY29tcG9uZW50XG4gIEBJbnB1dCgpIGNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcGFnZSA9IDE7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwYWdlLXNpemUnKSBwYWdlU2l6ZSA9IDIwO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgncGFnZS1zaXplLW9wdGlvbnMnKSBwYWdlU2l6ZU9wdGlvbnM6IE1lbnVPcHRpb25bXSA9IFtdO1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBkZXRhaWxzT3BlbmVkOiBFdmVudEVtaXR0ZXI8eyBpdGVtOiBhbnksIG9wZW46IGJvb2xlYW4gfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogYW55LCBvcGVuOiBib29sZWFuIH0+KCk7XG5cbiAgcHVibGljIHRhYmxlVmlld1N1cHBvcnRlZCA9IGZhbHNlO1xuICBwcml2YXRlIG11bHRpcGxlRnVsbFdpZHRoID0gZmFsc2U7XG4gIHB1YmxpYyBmdWxsV2lkdGhUSENsYXNzID0gJ2xpc3Qtdmlldy10aC1mdWxsJztcbiAgcHVibGljIGZ1bGxXaWR0aFREQ2xhc3MgPSAnbGlzdC12aWV3LXRkLWZ1bGwnO1xuICBwdWJsaWMgdGlsZXNWaWV3U3VwcG9ydGVkID0gZmFsc2U7XG4gIHB1YmxpYyBkZXRhaWxzU2VjdGlvblN1cHBvcnRlZCA9IGZhbHNlO1xuICBwdWJsaWMgbG9hZGVySXRlbXM6IGFueVtdID0gW107XG5cbiAgLy8gREVUQUlMUyBTRUNUSU9OXG4gIC8vIENoZWNrIGlmIGRldGFpbHMgc2VjdGlvbiBhbmQgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgYWNjb3JkaW5nIHRvIHRoZSBjb3VudCBvZiB0aGUgdmFsdWUgZ2l2ZW5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2RldGFpbHMtc2VjdGlvbi1wcm9wZXJ0eS1jb3VudCcpIGRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblxuICAvLyBTT1JUSU5HIC0gcGFzcyB0aHJvdWdoIGZvciBwYWdlciBjb21wb25lbnRcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NvcnQtb3B0aW9ucycpIHNvcnRPcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcbiAgICBASW5wdXQoKSBzb3J0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NvcnQtZGlyJykgc29ydGRpcjogc3RyaW5nIHwgbnVsbCA9ICctJztcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgc29ydGRpckNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KCkgdmlldyA9IExpc3RWaWV3VHlwZS5UYWJsZTtcblxuICAvLyBDT0xVTU5TXG4gIHB1YmxpYyBjb2x1bW5zOiBhbnlbXSA9IFtdO1xuICBAQ29udGVudENoaWxkcmVuKExpc3RDb2x1bW5Db21wb25lbnQsIHsgcmVhZDogTGlzdENvbHVtbkNvbXBvbmVudCB9KVxuICBzZXQgY29scyhyZWZzOiBRdWVyeUxpc3Q8TGlzdENvbHVtbkNvbXBvbmVudD4pIHtcbiAgICB0aGlzLmNvbHVtbnMgPSByZWZzPy50b0FycmF5KCk7XG4gICAgaWYgKHRoaXMuY29sdW1ucyAmJiB0aGlzLmNvbHVtbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50YWJsZVZpZXdTdXBwb3J0ZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm11bHRpcGxlRnVsbFdpZHRoID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+IGMuZnVsbFdpZHRoKS5sZW5ndGggPiAxO1xuICAgIHRoaXMuZnVsbFdpZHRoVEhDbGFzcyA9IHRoaXMubXVsdGlwbGVGdWxsV2lkdGggPyAnbGlzdC12aWV3LXRoLWhhbGYnIDogJ2xpc3Qtdmlldy10aC1mdWxsJztcbiAgICB0aGlzLmZ1bGxXaWR0aFREQ2xhc3MgPSB0aGlzLm11bHRpcGxlRnVsbFdpZHRoID8gJ2xpc3Qtdmlldy10ZC1oYWxmJyA6ICdsaXN0LXZpZXctdGQtZnVsbCc7XG4gIH1cblxuICBwdWJsaWMgdGlsZXNEZWNrQ2xhc3MgPSAnY2FyZHMtZGVjay00JztcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3RpbGVzLWNvdW50JykgdGlsZXNDb3VudCA9IDQ7XG5cbiAgcHVibGljIHRpbGVUZW1wbGF0ZTogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoTGlzdFRpbGVDb21wb25lbnQsIHsgcmVhZDogTGlzdFRpbGVDb21wb25lbnQgfSlcbiAgc2V0IHRpbGVzKHJlZjogTGlzdFRpbGVDb21wb25lbnQpIHtcbiAgICB0aGlzLnRpbGVUZW1wbGF0ZSA9IHJlZjtcbiAgICBpZiAodGhpcy50aWxlVGVtcGxhdGUpIHtcbiAgICAgIHRoaXMudGlsZXNWaWV3U3VwcG9ydGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGV0YWlsc1RlbXBsYXRlOiBhbnkgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChMaXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnQsIHsgcmVhZDogTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50IH0pXG4gIHNldCBkZXRhaWxzKHJlZjogTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50KSB7XG4gICAgdGhpcy5kZXRhaWxzVGVtcGxhdGUgPSByZWY7XG4gICAgaWYgKHRoaXMuZGV0YWlsc1RlbXBsYXRlKSB7XG4gICAgICB0aGlzLmRldGFpbHNTZWN0aW9uU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgdGhpcy5sb2FkZXJJdGVtcy5wdXNoKHt9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZXNDb3VudENoYW5nZSA9IGNoYW5nZXNbJ3RpbGVzLWNvdW50J10gfHwgY2hhbmdlcy50aWxlc0NvdW50O1xuICAgIGlmICh0aWxlc0NvdW50Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNldFRpbGVzRGVja0NsYXNzKHRpbGVzQ291bnRDaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBldmVudHNcbiAgcHVibGljIGVtaXRQYWdlQ2hhbmdlZCgkZXZlbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGVtaXRQYWdlU2l6ZUNoYW5nZWQoJGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VTaXplQ2hhbmdlZC5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFNvcnRDaGFuZ2VkKCRldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0Q2hhbmdlZC5lbWl0KCRldmVudCk7XG4gIH1cbiAgcHVibGljIGVtaXRTb3J0ZGlyQ2hhbmdlZCgkZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc29ydGRpckNoYW5nZWQuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURldGFpbHMoaXRlbTogYW55KTogdm9pZCB7XG4gICAgaXRlbS5kZXRhaWxzRXhwYW5kZWQgPSAhaXRlbS5kZXRhaWxzRXhwYW5kZWQ7XG4gICAgdGhpcy5kZXRhaWxzT3BlbmVkLmVtaXQoeyBpdGVtLCBvcGVuOiBpdGVtLmRldGFpbHNFeHBhbmRlZCB9KTtcbiAgfVxuXG4gIC8vIGhlbHBlcnNcbiAgcHJpdmF0ZSBzZXRUaWxlc0RlY2tDbGFzcyh0aWxlczogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRpbGVzID49IDEgJiYgdGlsZXMgPD0gNCkge1xuICAgICAgdGhpcy50aWxlc0RlY2tDbGFzcyA9XG4gICAgICAgIHRoaXMudmlldyAhPT0gTGlzdFZpZXdUeXBlLkdhbGxlcnlcbiAgICAgICAgPyBgY2FyZHMtZGVjay0ke3RpbGVzfWBcbiAgICAgICAgOiB0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gYGdhbGxlcnktZGVjay0ke3RpbGVzfWBcbiAgICAgICAgICA6ICdnYWxsZXJ5LWRlY2snO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRpbGVzRGVja0NsYXNzID1cbiAgICAgICAgdGhpcy52aWV3ICE9PSBMaXN0Vmlld1R5cGUuR2FsbGVyeVxuICAgICAgICA/ICdjYXJkcy1kZWNrLTMnXG4gICAgICAgIDogdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdnYWxsZXJ5LWRlY2stMydcbiAgICAgICAgICA6ICdnYWxsZXJ5LWRlY2snO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwicHgtMlwiPlxuXG4gIDxsaWItcGFnZXIgKm5nSWY9XCJzaG93UGFnZXJcIlxuICAgICAgICAgICAgIFtwYWdlXT1cInBhZ2VcIlxuICAgICAgICAgICAgIFtwYWdlLXNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgIFtjb3VudF09XCJjb3VudFwiXG4gICAgICAgICAgICAgW3NvcnQtb3B0aW9uc109XCJzb3J0T3B0aW9uc1wiXG4gICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgW3NvcnQtZGlyXT1cInNvcnRkaXJcIlxuICAgICAgICAgICAgIFtidXN5XT1cImJ1c3lcIlxuICAgICAgICAgICAgIChwYWdlQ2hhbmdlZCk9XCJlbWl0UGFnZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlZCk9XCJlbWl0UGFnZVNpemVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgIChzb3J0Q2hhbmdlZCk9XCJlbWl0U29ydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKHNvcnRkaXJDaGFuZ2VkKT1cImVtaXRTb3J0ZGlyQ2hhbmdlZCgkZXZlbnQpXCI+XG4gIDwvbGliLXBhZ2VyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInZpZXdcIj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGlsZXMnXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwidGlsZXNEZWNrQ2xhc3NcIj5cblxuICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJidXN5XCIgW2NvdW50XT1cIjVcIiBbdHlwZV09XCIndGlsZXMnXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGlsZVRlbXBsYXRlIHx8ICF0aWxlVGVtcGxhdGUudGVtcGxhdGVcIj50ZW1wbGF0ZSBtaXNzaW5nLi48L3NwYW4+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpbGVUZW1wbGF0ZS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuXG4gIDwhLS0gKm5nU3dpdGNoQ2FzZT1cIidnYWxsZXJ5J1wiIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZ2FsbGVyeSdcIj5cbiAgICA8dWwgcm9sZT1cImxpc3RcIiBbY2xhc3NdPVwidGlsZXNEZWNrQ2xhc3NcIj5cblxuICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJidXN5XCIgW2NvdW50XT1cIjVcIiBbdHlwZV09XCIndGlsZXMnXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJ1c3kgJiYgaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGlsZVRlbXBsYXRlIHx8ICF0aWxlVGVtcGxhdGUudGVtcGxhdGVcIj50ZW1wbGF0ZSBtaXNzaW5nLi48L3NwYW4+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpbGVUZW1wbGF0ZS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCIgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cblxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LXZpZXctY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC12aWV3LWNvbnRhaW5lci1pbm5lclwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJsaXN0LXZpZXctdGFibGVcIj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJsaXN0LXZpZXctdGhlYWRcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNTZWN0aW9uU3VwcG9ydGVkXCI+XG4gICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGlzdC12aWV3LXRoLWRldGFpbHNcIj48L3RoPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sLmZ1bGxXaWR0aCA/IGZ1bGxXaWR0aFRIQ2xhc3MgOiAnbGlzdC12aWV3LXRoJ1wiPlxuICAgICAgICAgICAgICAgICAge3tjb2wudGl0bGV9fVxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImxpc3Qtdmlldy10Ym9keVwiICpuZ0lmPVwiYnVzeVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2FkZXJJdGVtcztsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJsaXN0LXZpZXctdHJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV0YWlsc1NlY3Rpb25TdXBwb3J0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxpc3Qtdmlldy10ZC1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudCAhPT0gbnVsbCA/IGl0ZW1bZGV0YWlsc1NlY3Rpb25Qcm9wZXJ0eUNvdW50XSAhPT0gMCA6IHRydWU7IGVsc2UgaGlkZGVuRGV0YWlsc0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbmQtY29sbGFwc2UtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBIZXJvaWNvbiBuYW1lOiBzb2xpZC9wbHVzIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpdGVtLmRldGFpbHNFeHBhbmRlZCA/IGNvbGxhcHNlSWNvbiA6IGV4cGFuZEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGlkZGVuRGV0YWlsc0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGlzdC12aWV3LXRkLWRldGFpbHNcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImNvbC5mdWxsV2lkdGggPyBmdWxsV2lkdGhURENsYXNzIDogJ2xpc3Qtdmlldy10ZCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBhbmltYXRlLXB1bHNlIGgtOCBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNTZWN0aW9uU3VwcG9ydGVkXCI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiaXRlbS5kZXRhaWxzRXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC12aWV3LXRkIGJnLWdyYXktMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxzVGVtcGxhdGUudGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwibGlzdC12aWV3LXRib2R5XCIgKm5nSWY9XCIhYnVzeVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcztsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJsaXN0LXZpZXctdHJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV0YWlsc1NlY3Rpb25TdXBwb3J0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxpc3Qtdmlldy10ZC1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudCAhPT0gbnVsbCA/IGl0ZW1bZGV0YWlsc1NlY3Rpb25Qcm9wZXJ0eUNvdW50XSAhPT0gMCA6IHRydWU7IGVsc2UgaGlkZGVuRGV0YWlsc0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVEZXRhaWxzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1jb2xsYXBzZS1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhlcm9pY29uIG5hbWU6IHNvbGlkL3BsdXMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIml0ZW0uZGV0YWlsc0V4cGFuZGVkID8gY29sbGFwc2VJY29uIDogZXhwYW5kSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoaWRkZW5EZXRhaWxzQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJsaXN0LXZpZXctdGQtZGV0YWlsc1wiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sLmZ1bGxXaWR0aCA/IGZ1bGxXaWR0aFREQ2xhc3MgOiAnbGlzdC12aWV3LXRkJ1wiPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzU2VjdGlvblN1cHBvcnRlZFwiPlxuICAgICAgICAgICAgICAgIDx0ciAqbmdJZj1cIml0ZW0uZGV0YWlsc0V4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtdmlldy10ZCBiZy1ncmF5LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGV0YWlsc1RlbXBsYXRlLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYnVzeSAmJiBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPT09IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZHMtZGVjay0xXCI+XG4gICAgICA8bGliLWxpc3Qtdmlldy1lbXB0eS1zdGF0ZT48L2xpYi1saXN0LXZpZXctZW1wdHktc3RhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9saXN0LXZpZXcvbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9saXN0LXZpZXcvbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFjLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBTXBDLE1BQU0sT0FBTyxpQkFBaUI7SUE2RTVCO1FBNUVBLGFBQWE7UUFDSixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBR3RCLDRDQUE0QztRQUNuQyxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsU0FBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDcEMsMkNBQTJDO1FBQ3ZCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEMsMkNBQTJDO1FBQ2Ysb0JBQWUsR0FBaUIsRUFBRSxDQUFDO1FBQy9ELDZDQUE2QztRQUM3Qywy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QUMsYUFBYTtnQkFFQyxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBRU0sYUFBYTtzQkFBckMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWtCLDJCQUEyQjtzQkFBbkUsS0FBSzt1QkFBQyxnQ0FBZ0M7Z0JBR25DLElBQUk7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTtnQkFZL0QsS0FBSztzQkFEUixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO2dCQVN4RCxPQUFPO3NCQURWLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUU7Z0JBUXRFLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVPcHRpb24sIExpc3RWaWV3VHlwZSwgUGFnZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExpc3RUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWxpc3QtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpc3RWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLy8gQlVTWSBTVEFURVxuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XG4gIC8vIERBVEEgU09VUkNFIVxuICBASW5wdXQoKSBpdGVtczogYW55W10gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAvLyBQQUdJTkcgLSBwYXNzIHRocm91Z2ggZm9yIHBhZ2VyIGNvbXBvbmVudFxuICBASW5wdXQoKSBjb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHBhZ2UgPSAxO1xuICBASW5wdXQoKSB2aWV3ID0gTGlzdFZpZXdUeXBlLlRhYmxlO1xuICBASW5wdXQoKSBzb3J0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BhZ2Utc2l6ZScpIHBhZ2VTaXplID0gMjA7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwYWdlLXNpemUtb3B0aW9ucycpIHBhZ2VTaXplT3B0aW9uczogTWVudU9wdGlvbltdID0gW107XG4gIC8vIFNPUlRJTkcgLSBwYXNzIHRocm91Z2ggZm9yIHBhZ2VyIGNvbXBvbmVudFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc29ydC1vcHRpb25zJykgc29ydE9wdGlvbnM6IE1lbnVPcHRpb25bXSA9IFtdO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc29ydC1kaXInKSBzb3J0ZGlyOiBzdHJpbmcgfCBudWxsID0gJy0nO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgndGlsZXMtY291bnQnKSB0aWxlc0NvdW50ID0gNDtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3Nob3ctcGFnZXInKSBzaG93UGFnZXIgPSB0cnVlO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgncGFnZXItcG9zaXRpb24nKSBwYWdlclBvc2l0aW9uOiBhbnkgfCB1bmRlZmluZWQgPSBQYWdlclBvc2l0aW9uLlRvcDtcbiAgLy8gREVUQUlMUyBTRUNUSU9OXG4gIC8vIENoZWNrIGlmIGRldGFpbHMgc2VjdGlvbiBhbmQgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgYWNjb3JkaW5nIHRvIHRoZSBjb3VudCBvZiB0aGUgdmFsdWUgZ2l2ZW5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2RldGFpbHMtc2VjdGlvbi1wcm9wZXJ0eS1jb3VudCcpIGRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIC8vIENPTFVNTlNcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Q29sdW1uQ29tcG9uZW50LCB7IHJlYWQ6IExpc3RDb2x1bW5Db21wb25lbnQgfSlcbiAgc2V0IGNvbHMocmVmczogUXVlcnlMaXN0PExpc3RDb2x1bW5Db21wb25lbnQ+KSB7XG4gICAgdGhpcy5jb2x1bW5zID0gcmVmcz8udG9BcnJheSgpO1xuICAgIGlmICh0aGlzLmNvbHVtbnMgJiYgdGhpcy5jb2x1bW5zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFibGVWaWV3U3VwcG9ydGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5tdWx0aXBsZUZ1bGxXaWR0aCA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZ1bGxXaWR0aCkubGVuZ3RoID4gMTtcbiAgICB0aGlzLmZ1bGxXaWR0aFRIQ2xhc3MgPSB0aGlzLm11bHRpcGxlRnVsbFdpZHRoID8gJ2xpc3Qtdmlldy10aC1oYWxmJyA6ICdsaXN0LXZpZXctdGgtZnVsbCc7XG4gICAgdGhpcy5mdWxsV2lkdGhURENsYXNzID0gdGhpcy5tdWx0aXBsZUZ1bGxXaWR0aCA/ICdsaXN0LXZpZXctdGQtaGFsZicgOiAnbGlzdC12aWV3LXRkLWZ1bGwnO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQENvbnRlbnRDaGlsZChMaXN0VGlsZUNvbXBvbmVudCwgeyByZWFkOiBMaXN0VGlsZUNvbXBvbmVudCB9KVxuICBzZXQgdGlsZXMocmVmOiBMaXN0VGlsZUNvbXBvbmVudCkge1xuICAgIHRoaXMudGlsZVRlbXBsYXRlID0gcmVmO1xuICAgIGlmICh0aGlzLnRpbGVUZW1wbGF0ZSkge1xuICAgICAgdGhpcy50aWxlc1ZpZXdTdXBwb3J0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50LCB7IHJlYWQ6IExpc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCB9KVxuICBzZXQgZGV0YWlscyhyZWY6IExpc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCkge1xuICAgIHRoaXMuZGV0YWlsc1RlbXBsYXRlID0gcmVmO1xuICAgIGlmICh0aGlzLmRldGFpbHNUZW1wbGF0ZSkge1xuICAgICAgdGhpcy5kZXRhaWxzU2VjdGlvblN1cHBvcnRlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcGFnZVNpemVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgZGV0YWlsc09wZW5lZDogRXZlbnRFbWl0dGVyPHsgaXRlbTogYW55LCBvcGVuOiBib29sZWFuIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IGFueSwgb3BlbjogYm9vbGVhbiB9PigpO1xuICBAT3V0cHV0KCkgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBzb3J0ZGlyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIG11bHRpcGxlRnVsbFdpZHRoID0gZmFsc2U7XG4gIHB1YmxpYyBleHBhbmRJY29uID0gSWNvbnMuRXhwYW5kO1xuICBwdWJsaWMgY29sbGFwc2VJY29uID0gSWNvbnMuQ29sbGFwc2U7XG4gIHB1YmxpYyB0YWJsZVZpZXdTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZ1bGxXaWR0aFRIQ2xhc3MgPSAnbGlzdC12aWV3LXRoLWZ1bGwnO1xuICBwdWJsaWMgZnVsbFdpZHRoVERDbGFzcyA9ICdsaXN0LXZpZXctdGQtZnVsbCc7XG4gIHB1YmxpYyB0aWxlc1ZpZXdTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGRldGFpbHNTZWN0aW9uU3VwcG9ydGVkID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkZXJJdGVtczogYW55W10gPSBbXTtcbiAgcHVibGljIGNvbHVtbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyB0aWxlc0RlY2tDbGFzcyA9ICdjYXJkcy1kZWNrLTQnO1xuICBwdWJsaWMgdGlsZVRlbXBsYXRlOiBhbnkgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgcHVibGljIGRldGFpbHNUZW1wbGF0ZTogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgIHRoaXMubG9hZGVySXRlbXMucHVzaCh7fSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBhZ2VyUG9zaXRpb24pe1xuICAgICAgdGhpcy5wYWdlclBvc2l0aW9uID0gdGhpcy5wYWdlclBvc2l0aW9uIGFzIFBhZ2VyUG9zaXRpb247XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHRpbGVzQ291bnRDaGFuZ2UgPSBjaGFuZ2VzWyd0aWxlcy1jb3VudCddIHx8IGNoYW5nZXMudGlsZXNDb3VudDtcbiAgICBpZiAodGlsZXNDb3VudENoYW5nZSkge1xuICAgICAgdGhpcy5zZXRUaWxlc0RlY2tDbGFzcyh0aWxlc0NvdW50Q2hhbmdlLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXZlbnRzXG4gIHB1YmxpYyBlbWl0UGFnZUNoYW5nZWQoJGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0UGFnZVNpemVDaGFuZ2VkKCRldmVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTb3J0Q2hhbmdlZCgkZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdCgkZXZlbnQpO1xuICB9XG4gIHB1YmxpYyBlbWl0U29ydGRpckNoYW5nZWQoJGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRkaXJDaGFuZ2VkLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVEZXRhaWxzKGl0ZW06IGFueSk6IHZvaWQge1xuICAgIGl0ZW0uZGV0YWlsc0V4cGFuZGVkID0gIWl0ZW0uZGV0YWlsc0V4cGFuZGVkO1xuICAgIHRoaXMuZGV0YWlsc09wZW5lZC5lbWl0KHsgaXRlbSwgb3BlbjogaXRlbS5kZXRhaWxzRXhwYW5kZWQgfSk7XG4gIH1cblxuICAvLyBoZWxwZXJzXG4gIHByaXZhdGUgc2V0VGlsZXNEZWNrQ2xhc3ModGlsZXM6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aWxlcyA+PSAxICYmIHRpbGVzIDw9IDQpIHtcbiAgICAgIHRoaXMudGlsZXNEZWNrQ2xhc3MgPVxuICAgICAgICB0aGlzLnZpZXcgIT09IExpc3RWaWV3VHlwZS5HYWxsZXJ5XG4gICAgICAgICAgPyBgY2FyZHMtZGVjay0ke3RpbGVzfWBcbiAgICAgICAgICA6IHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGBnYWxsZXJ5LWRlY2stJHt0aWxlc31gXG4gICAgICAgICAgICA6ICdnYWxsZXJ5LWRlY2snO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRpbGVzRGVja0NsYXNzID1cbiAgICAgICAgdGhpcy52aWV3ICE9PSBMaXN0Vmlld1R5cGUuR2FsbGVyeVxuICAgICAgICAgID8gJ2NhcmRzLWRlY2stMydcbiAgICAgICAgICA6IHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/ICdnYWxsZXJ5LWRlY2stMydcbiAgICAgICAgICAgIDogJ2dhbGxlcnktZGVjayc7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJweC0yXCI+XG5cbiAgPGxpYi1wYWdlciAqbmdJZj1cInNob3dQYWdlciAmJiAocGFnZXJQb3NpdGlvbiA9PSAndG9wJyB8fCBwYWdlclBvc2l0aW9uID09ICdib3RoJylcIlxuICAgICAgICAgICAgIFtwYWdlXT1cInBhZ2VcIlxuICAgICAgICAgICAgIFtwYWdlLXNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgIFtjb3VudF09XCJjb3VudFwiXG4gICAgICAgICAgICAgW3NvcnQtb3B0aW9uc109XCJzb3J0T3B0aW9uc1wiXG4gICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgW3NvcnQtZGlyXT1cInNvcnRkaXJcIlxuICAgICAgICAgICAgIFtidXN5XT1cImJ1c3lcIlxuICAgICAgICAgICAgIChwYWdlQ2hhbmdlZCk9XCJlbWl0UGFnZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlZCk9XCJlbWl0UGFnZVNpemVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgIChzb3J0Q2hhbmdlZCk9XCJlbWl0U29ydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKHNvcnRkaXJDaGFuZ2VkKT1cImVtaXRTb3J0ZGlyQ2hhbmdlZCgkZXZlbnQpXCI+XG4gIDwvbGliLXBhZ2VyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInZpZXdcIj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGlsZXMnXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwidGlsZXNEZWNrQ2xhc3NcIj5cblxuICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJidXN5XCIgW2NvdW50XT1cIjVcIiBbdHlwZV09XCIndGlsZXMnXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGlsZVRlbXBsYXRlIHx8ICF0aWxlVGVtcGxhdGUudGVtcGxhdGVcIj50ZW1wbGF0ZSBtaXNzaW5nLi48L3NwYW4+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpbGVUZW1wbGF0ZS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuXG4gIDwhLS0gKm5nU3dpdGNoQ2FzZT1cIidnYWxsZXJ5J1wiIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZ2FsbGVyeSdcIj5cbiAgICA8dWwgcm9sZT1cImxpc3RcIiBbY2xhc3NdPVwidGlsZXNEZWNrQ2xhc3NcIj5cblxuICAgICAgPGxpYi1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJidXN5XCIgW2NvdW50XT1cIjVcIiBbdHlwZV09XCIndGlsZXMnXCI+PC9saWItc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJ1c3kgJiYgaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGlsZVRlbXBsYXRlIHx8ICF0aWxlVGVtcGxhdGUudGVtcGxhdGVcIj50ZW1wbGF0ZSBtaXNzaW5nLi48L3NwYW4+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpbGVUZW1wbGF0ZS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCIgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cblxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LXZpZXctY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC12aWV3LWNvbnRhaW5lci1pbm5lclwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJsaXN0LXZpZXctdGFibGVcIj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJsaXN0LXZpZXctdGhlYWRcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNTZWN0aW9uU3VwcG9ydGVkXCI+XG4gICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGlzdC12aWV3LXRoLWRldGFpbHNcIj48L3RoPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sLmZ1bGxXaWR0aCA/IGZ1bGxXaWR0aFRIQ2xhc3MgOiAnbGlzdC12aWV3LXRoJ1wiPlxuICAgICAgICAgICAgICAgICAge3tjb2wudGl0bGV9fVxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImxpc3Qtdmlldy10Ym9keVwiICpuZ0lmPVwiYnVzeVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2FkZXJJdGVtcztsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJsaXN0LXZpZXctdHJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV0YWlsc1NlY3Rpb25TdXBwb3J0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxpc3Qtdmlldy10ZC1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudCAhPT0gbnVsbCA/IGl0ZW1bZGV0YWlsc1NlY3Rpb25Qcm9wZXJ0eUNvdW50XSAhPT0gMCA6IHRydWU7IGVsc2UgaGlkZGVuRGV0YWlsc0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbmQtY29sbGFwc2UtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBIZXJvaWNvbiBuYW1lOiBzb2xpZC9wbHVzIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpdGVtLmRldGFpbHNFeHBhbmRlZCA/IGNvbGxhcHNlSWNvbiA6IGV4cGFuZEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGlkZGVuRGV0YWlsc0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGlzdC12aWV3LXRkLWRldGFpbHNcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImNvbC5mdWxsV2lkdGggPyBmdWxsV2lkdGhURENsYXNzIDogJ2xpc3Qtdmlldy10ZCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBhbmltYXRlLXB1bHNlIGgtOCBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNTZWN0aW9uU3VwcG9ydGVkXCI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiaXRlbS5kZXRhaWxzRXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC12aWV3LXRkIGJnLWdyYXktMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxzVGVtcGxhdGUudGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwibGlzdC12aWV3LXRib2R5XCIgKm5nSWY9XCIhYnVzeVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcztsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJsaXN0LXZpZXctdHJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV0YWlsc1NlY3Rpb25TdXBwb3J0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxpc3Qtdmlldy10ZC1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldGFpbHNTZWN0aW9uUHJvcGVydHlDb3VudCAhPT0gbnVsbCA/IGl0ZW1bZGV0YWlsc1NlY3Rpb25Qcm9wZXJ0eUNvdW50XSAhPT0gMCA6IHRydWU7IGVsc2UgaGlkZGVuRGV0YWlsc0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVEZXRhaWxzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1jb2xsYXBzZS1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhlcm9pY29uIG5hbWU6IHNvbGlkL3BsdXMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIml0ZW0uZGV0YWlsc0V4cGFuZGVkID8gY29sbGFwc2VJY29uIDogZXhwYW5kSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoaWRkZW5EZXRhaWxzQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJsaXN0LXZpZXctdGQtZGV0YWlsc1wiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sLmZ1bGxXaWR0aCA/IGZ1bGxXaWR0aFREQ2xhc3MgOiAnbGlzdC12aWV3LXRkJ1wiPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzU2VjdGlvblN1cHBvcnRlZFwiPlxuICAgICAgICAgICAgICAgIDx0ciAqbmdJZj1cIml0ZW0uZGV0YWlsc0V4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtdmlldy10ZCBiZy1ncmF5LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGV0YWlsc1RlbXBsYXRlLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYnVzeSAmJiBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPT09IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZHMtZGVjay0xXCI+XG4gICAgICA8bGliLWxpc3Qtdmlldy1lbXB0eS1zdGF0ZT48L2xpYi1saXN0LXZpZXctZW1wdHktc3RhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPGRpdiBjbGFzcz1cInB0LTIgcHgtMlwiPlxuXG4gIDxsaWItcGFnZXIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggIT09IDAgJiYgc2hvd1BhZ2VyICYmIChwYWdlclBvc2l0aW9uID09ICdib3R0b20nIHx8IHBhZ2VyUG9zaXRpb24gPT0gJ2JvdGgnKVwiXG4gICAgICAgICAgICAgW3BhZ2VdPVwicGFnZVwiXG4gICAgICAgICAgICAgW3BhZ2Utc2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgICAgW2NvdW50XT1cImNvdW50XCJcbiAgICAgICAgICAgICBbc29ydC1vcHRpb25zXT1cInNvcnRPcHRpb25zXCJcbiAgICAgICAgICAgICBbc29ydF09XCJzb3J0XCJcbiAgICAgICAgICAgICBbc29ydC1kaXJdPVwic29ydGRpclwiXG4gICAgICAgICAgICAgW2J1c3ldPVwiYnVzeVwiXG4gICAgICAgICAgICAgKHBhZ2VDaGFuZ2VkKT1cImVtaXRQYWdlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2VkKT1cImVtaXRQYWdlU2l6ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKHNvcnRDaGFuZ2VkKT1cImVtaXRTb3J0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoc29ydGRpckNoYW5nZWQpPVwiZW1pdFNvcnRkaXJDaGFuZ2VkKCRldmVudClcIj5cbiAgPC9saWItcGFnZXI+XG48L2Rpdj5cbiJdfQ==
|
package/esm2020/lib/types.mjs
CHANGED
|
@@ -73,6 +73,12 @@ export class MenuOption {
|
|
|
73
73
|
this.icon = icon;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
export var PagerPosition;
|
|
77
|
+
(function (PagerPosition) {
|
|
78
|
+
PagerPosition["Top"] = "top";
|
|
79
|
+
PagerPosition["Bottom"] = "bottom";
|
|
80
|
+
PagerPosition["Both"] = "both";
|
|
81
|
+
})(PagerPosition || (PagerPosition = {}));
|
|
76
82
|
export var ShellLayoutType;
|
|
77
83
|
(function (ShellLayoutType) {
|
|
78
84
|
ShellLayoutType["Stacked"] = "Stacked";
|
|
@@ -120,4 +126,4 @@ export var SidePaneOverlayType;
|
|
|
120
126
|
SidePaneOverlayType["Light"] = "";
|
|
121
127
|
SidePaneOverlayType["Dark"] = "-opacity-50";
|
|
122
128
|
})(SidePaneOverlayType || (SidePaneOverlayType = {}));
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLE1BQU0sT0FBTyxPQUFPO0lBQ2xCLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxRQUFpQixLQUFLLEVBQUUsV0FBb0IsS0FBSyxFQUFFLElBQWEsRUFBRSxJQUFVO1FBYTdHLFNBQUksR0FBRyxRQUFRLENBQUM7UUFackIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQVFGO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsT0FBTztJQUMxQyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsWUFBc0IsRUFBRSxJQUFhO1FBQzNFLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsU0FBSSxHQUFHLFVBQVUsQ0FBQztJQUR6QixDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBQzFDLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxJQUFhO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztJQUR6QixDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsT0FBTztJQUM5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QUFDO0NBQUE7QUFFRCxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLHlDQUFFLENBQUE7SUFDRix5Q0FBRSxDQUFBO0lBQ0YseUNBQUUsQ0FBQTtJQUNGLHlDQUFFLENBQUE7SUFDRix5Q0FBRSxDQUFBO0FBQ0osQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBUUQsTUFBTSxDQUFOLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQiwwQkFBYSxDQUFBO0lBQ2IsZ0NBQW1CLENBQUE7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRyxnQkFBZ0IsRUFBVyxDQUFDO0FBU2hFLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDckIsNEJBQVksQ0FBQTtJQUNaLCtCQUFlLENBQUE7SUFDZixnQ0FBZ0IsQ0FBQTtJQUNoQiwrQkFBZSxDQUFBO0FBQ2xCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsbUNBQVksQ0FBQTtJQUNaLDBDQUFtQixDQUFBO0lBQ25CLGlDQUFVLENBQUE7SUFDViwyQ0FBb0IsQ0FBQTtBQUN0QixDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIElBcHBOb3RpZmljYXRpb25zIHtcbiAgbWVzc2FnZXM6IE9ic2VydmFibGU8SVJlc3VsdFNldDxOYXZMaW5rPj47XG4gIGdldE1lc3NhZ2U/OiAocHJlZGljYXRlOiAodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlciwgb2JqOiBhbnlbXSkgPT4gYW55KSA9PiBhbnkgfCB1bmRlZmluZWQ7XG4gIG1hcmtNZXNzYWdlUmVhZD86IChwcmVkaWNhdGU6ICh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyLCBvYmo6IGFueVtdKSA9PiBhbnkpID0+IGFueSB8IHVuZGVmaW5lZDtcbiAgcmVmcmVzaD86ICgpID0+IHZvaWQgfCB1bmRlZmluZWQ7XG4gIGluYm94QWN0aW9uPzogKCkgPT4gdm9pZCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwTGFuZ3VhZ2VzU2VydmljZSB7XG4gIG9wdGlvbnM6IE9ic2VydmFibGU8TWVudU9wdGlvbltdPiB8IHVuZGVmaW5lZDtcbiAgc2VsZWN0ZWQ/OiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG4gIHNldFNlbGVjdGVkPzogKGxhbmc6IHN0cmluZykgPT4gdm9pZCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwTGlua3Mge1xuICBwdWJsaWM6IE9ic2VydmFibGU8TmF2TGlua1tdPjtcbiAgbWFpbjogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xuICBwcm9maWxlOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XG4gIHByb2ZpbGVBY3Rpb25zOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XG4gIGxlZ2FsOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XG4gIGJyYW5kOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XG4gIG5vdGlmaWNhdGlvbnM/OiBPYnNlcnZhYmxlPE5hdkxpbms+O1xufVxuXG5cbmV4cG9ydCBjbGFzcyBOYXZMaW5rIHtcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGV4YWN0OiBib29sZWFuID0gZmFsc2UsIGV4dGVybmFsOiBib29sZWFuID0gZmFsc2UsIGljb24/OiBzdHJpbmcsIGRhdGE/OiBhbnkpIHtcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5leGFjdCA9IGV4YWN0O1xuICAgIHRoaXMuZXh0ZXJuYWwgPSBleHRlcm5hbDtcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gIH1cbiAgcHVibGljIHRleHQ6IHN0cmluZztcbiAgcHVibGljIHBhdGg6IHN0cmluZztcbiAgcHVibGljIGV4YWN0OiBib29sZWFuO1xuICBwdWJsaWMgZXh0ZXJuYWw6IGJvb2xlYW47XG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0eXBlID0gJ3JvdXRlcic7XG4gIHB1YmxpYyBkYXRhOiBhbnkgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBFeHRlcm5hbE5hdkxpbmsgZXh0ZW5kcyBOYXZMaW5rIHtcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wZW5Jbk5ld1RhYj86IGJvb2xlYW4sIGljb24/OiBzdHJpbmcpIHtcbiAgICBzdXBlcih0ZXh0LCBwYXRoLCB0cnVlLCBvcGVuSW5OZXdUYWIsIGljb24pO1xuICB9XG4gIHB1YmxpYyB0eXBlID0gJ2V4dGVybmFsJztcbn1cblxuZXhwb3J0IGNsYXNzIEZyYWdtZW50TmF2TGluayBleHRlbmRzIE5hdkxpbmsge1xuICBjb25zdHJ1Y3Rvcih0ZXh0OiBzdHJpbmcsIHBhdGg6IHN0cmluZywgaWNvbj86IHN0cmluZykge1xuICAgIHN1cGVyKHRleHQsIHBhdGgsIHRydWUsIHRydWUsIGljb24pO1xuICB9XG4gIHB1YmxpYyB0eXBlID0gJ2ZyYWdtZW50Jztcbn1cblxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbk5hdkxpbmsgZXh0ZW5kcyBOYXZMaW5rIHtcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIHB1YmxpYyBpc1JlYWQ6IGJvb2xlYW4sIHB1YmxpYyBjcmVhdGlvbkRhdGU/OiBEYXRlKSB7XG4gICAgc3VwZXIodGV4dCwgcGF0aCwgdHJ1ZSwgZmFsc2UsIHVuZGVmaW5lZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZpZXdBY3Rpb24ge1xuICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuICBwdWJsaWMga2V5OiBzdHJpbmcgfCBudWxsO1xuICBwdWJsaWMgcGFyYW06IGFueTtcbiAgcHVibGljIGljb246IHN0cmluZztcbiAgcHVibGljIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZyB8IG51bGwsIHBhcmFtOiBhbnksIGljb246IHN0cmluZywgdG9vbHRpcDogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgdGhpcy5wYXJhbSA9IHBhcmFtO1xuICAgIHRoaXMuaWNvbiA9IGljb247XG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdFZpZXdUeXBlIHtcbiAgcHVibGljIHN0YXRpYyBUaWxlcyA9ICd0aWxlcyc7XG4gIHB1YmxpYyBzdGF0aWMgVGFibGUgPSAndGFibGUnO1xuICBwdWJsaWMgc3RhdGljIE1hcCA9ICdtYXAnO1xuICBwdWJsaWMgc3RhdGljIEdhbGxlcnkgPSAnZ2FsbGVyeSc7XG59XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXJWaWV3QWN0aW9uIGV4dGVuZHMgVmlld0FjdGlvbiB7XG4gIHB1YmxpYyBvdXRsZXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgbGluazogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGNvbnN0cnVjdG9yKGljb246IHN0cmluZywgbGluazogc3RyaW5nLCBvdXRsZXQ6IHN0cmluZyB8IG51bGwsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcbiAgICBzdXBlcigncm91dGVyLWxpbmsnLCBudWxsLCBudWxsLCBpY29uLCB0b29sdGlwKTtcbiAgICB0aGlzLm91dGxldCA9IG91dGxldDtcbiAgICB0aGlzLmxpbmsgPSBsaW5rO1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIFN3aXRjaFZpZXdBY3Rpb24gZXh0ZW5kcyBWaWV3QWN0aW9uIHtcbiAgY29uc3RydWN0b3Iodmlldzogc3RyaW5nLCBpY29uOiBzdHJpbmcsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcbiAgICBzdXBlcignc3dpdGNoLXZpZXcnLCBudWxsLCB2aWV3LCBpY29uLCB0b29sdGlwKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXN1bHRTZXQ8VD4ge1xuICBjb3VudDogbnVtYmVyO1xuICBpdGVtczogVFtdO1xufVxuXG5leHBvcnQgY2xhc3MgSGVhZGVyTWV0YUl0ZW0ge1xuICBwdWJsaWMga2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdGV4dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBNZW51T3B0aW9uIHtcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCB2YWx1ZTogYW55LCBkZXNjcmlwdGlvbj86IHN0cmluZywgZGF0YT86IGFueSwgaWNvbj86IHN0cmluZykge1xuICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIHRoaXMuaWNvbiA9IGljb247XG4gIH1cbiAgcHVibGljIHRleHQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlOiBhbnk7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZGF0YTogYW55IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZGRyZXNzIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHN0cmVldD86IHN0cmluZyB8IG51bGw7XG4gIHN0cmVldE51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gIGNpdHk/OiBzdHJpbmcgfCBudWxsO1xuICByZWdpb24/OiBzdHJpbmcgfCBudWxsO1xuICBwb3N0YWxDb2RlPzogc3RyaW5nIHwgbnVsbDtcbiAgY291bnRyeT86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNoZWxsQ29uZmlnIHtcbiAgbGF5b3V0PzogU2hlbGxMYXlvdXRUeXBlO1xuICBhcHBMb2dvOiBzdHJpbmc7XG4gIGFwcExvZ29BbHQ6IHN0cmluZztcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgc2hvd1VzZXJOYW1lT25IZWFkZXI/OiBib29sZWFuO1xuICBzaG93QWxlcnRzT25IZWFkZXI/OiBib29sZWFuO1xuICBjdXN0b21IZWFkZXJDb21wb25lbnQ/OiBhbnk7XG4gIHNob3dGb290ZXI6IGJvb2xlYW47XG4gIGN1c3RvbUZvb3RlckNvbXBvbmVudD86IGFueTtcbiAgZmx1aWQ6IGJvb2xlYW47XG4gIHNob3dMYW5nc09uSGVhZGVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gU2hlbGxMYXlvdXRUeXBlIHtcbiAgU3RhY2tlZCA9ICdTdGFja2VkJyxcbiAgU2lkZWJhciA9ICdTaWRlYmFyJ1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNoZWxsQ29uZmlnIGltcGxlbWVudHMgSVNoZWxsQ29uZmlnIHtcbiAgbGF5b3V0ID0gU2hlbGxMYXlvdXRUeXBlLlN0YWNrZWQ7XG4gIGFwcExvZ28gPSAnaHR0cHM6Ly90YWlsd2luZHVpLmNvbS9pbWcvbG9nb3Mvd29ya2Zsb3ctbWFyay5zdmc/Y29sb3I9d2hpdGUnO1xuICBhcHBMb2dvQWx0ID0gJ3lvdXIgYXBwIG5hbWUgaGVyZSc7XG4gIHNob3dIZWFkZXIgPSB0cnVlO1xuICBzaG93VXNlck5hbWVPbkhlYWRlciA9IGZhbHNlO1xuICBzaG93QWxlcnRzT25IZWFkZXIgPSBmYWxzZTtcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG4gIGZsdWlkID0gZmFsc2U7XG59XG5cbmV4cG9ydCBlbnVtIFNDUkVFTl9TSVpFIHtcbiAgWFMsXG4gIFNNLFxuICBNRCxcbiAgTEcsXG4gIFhMXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmVlblNpemUge1xuICBpZDogU0NSRUVOX1NJWkU7XG4gIG5hbWU6IHN0cmluZztcbiAgY3NzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFRvYXN0VHlwZSB7XG4gIEluZm8gPSAnaW5mbycsXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gIEVycm9yID0gJ2Vycm9yJyxcbiAgV2FybmluZyA9ICd3YXJuaW5nJ1xufVxuXG5leHBvcnQgY29uc3QgTlVMTF9UT0FTVCA9IHsgdGl0bGUgOiAnX19fX19OVUxMX19fX18nIH0gYXMgVG9hc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xuICB0eXBlOiBUb2FzdFR5cGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgZGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gU2lkZVBhbmVTaXplIHtcbiAgIERlZmF1bHQgPSAnJyxcbiAgIFNtYWxsMjUgPSAnMjUlJyxcbiAgIE1lZGl1bTUwID0gJzUwJScsXG4gICBMYXJnZTc1ID0gJzc1JSdcbn1cblxuZXhwb3J0IGVudW0gU2lkZVBhbmVPdmVybGF5VHlwZSB7XG4gIERlZmF1bHQgPSAnJyxcbiAgTm9uZSA9ICctb3BhY2l0eS0wJyxcbiAgTGlnaHQgPSAnJyxcbiAgRGFyayA9ICctb3BhY2l0eS01MCdcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElWYWxpZGF0aW9uUHJvYmxlbURldGFpbHMge1xuICB0eXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0aXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc3RhdHVzPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBkZXRhaWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGluc3RhbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBlcnJvcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdOyB9IHwgdW5kZWZpbmVkO1xufVxuIl19
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLE1BQU0sT0FBTyxPQUFPO0lBQ2xCLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxRQUFpQixLQUFLLEVBQUUsV0FBb0IsS0FBSyxFQUFFLElBQWEsRUFBRSxJQUFVO1FBYTdHLFNBQUksR0FBRyxRQUFRLENBQUM7UUFackIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQVFGO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsT0FBTztJQUMxQyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsWUFBc0IsRUFBRSxJQUFhO1FBQzNFLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsU0FBSSxHQUFHLFVBQVUsQ0FBQztJQUR6QixDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBQzFDLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxJQUFhO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztJQUR6QixDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsT0FBTztJQUM5QyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQVMsTUFBZSxFQUFTLFlBQW1CO1FBQ3hGLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFERyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQU87SUFFMUYsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFPckIsWUFBWSxJQUFZLEVBQUUsR0FBa0IsRUFBRSxLQUFVLEVBQUUsSUFBWSxFQUFFLE9BQXNCO1FBQzVGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFlBQVk7O0FBQ1Qsa0JBQUssR0FBRyxPQUFPLENBQUM7QUFDaEIsa0JBQUssR0FBRyxPQUFPLENBQUM7QUFDaEIsZ0JBQUcsR0FBRyxLQUFLLENBQUM7QUFDWixvQkFBTyxHQUFHLFNBQVMsQ0FBQztBQUdwQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQUc5QyxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsTUFBcUIsRUFBRSxPQUFzQjtRQUNuRixLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSDNDLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBR2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksSUFBWSxFQUFFLElBQVksRUFBRSxPQUFzQjtRQUM1RCxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQU9ELE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ1MsUUFBRyxHQUFrQixJQUFJLENBQUM7UUFDMUIsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDM0IsU0FBSSxHQUFrQixJQUFJLENBQUM7SUFDcEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBWSxJQUFZLEVBQUUsS0FBVSxFQUFFLFdBQW9CLEVBQUUsSUFBVSxFQUFFLElBQWE7UUFDbkYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQU1GO0FBRUQsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2Qiw0QkFBVyxDQUFBO0lBQ1gsa0NBQWlCLENBQUE7SUFDakIsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QjtBQTBCRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7SUFBL0I7UUFDRSxXQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxZQUFPLEdBQUcsZ0VBQWdFLENBQUM7UUFDM0UsZUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQ2xDLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxLQUFLLENBQUM7SUFDaEIsQ0FBQztDQUFBO0FBRUQsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQix5Q0FBRSxDQUFBO0lBQ0YseUNBQUUsQ0FBQTtJQUNGLHlDQUFFLENBQUE7SUFDRix5Q0FBRSxDQUFBO0lBQ0YseUNBQUUsQ0FBQTtBQUNKLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QjtBQVFELE1BQU0sQ0FBTixJQUFZLFNBS1g7QUFMRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0lBQ25CLDRCQUFlLENBQUE7SUFDZixnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUcsZ0JBQWdCLEVBQVcsQ0FBQztBQVNoRSxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3JCLDRCQUFZLENBQUE7SUFDWiwrQkFBZSxDQUFBO0lBQ2YsZ0NBQWdCLENBQUE7SUFDaEIsK0JBQWUsQ0FBQTtBQUNsQixDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBQzdCLG1DQUFZLENBQUE7SUFDWiwwQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBVSxDQUFBO0lBQ1YsMkNBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQUxXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFLOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwTm90aWZpY2F0aW9ucyB7XG4gIG1lc3NhZ2VzOiBPYnNlcnZhYmxlPElSZXN1bHRTZXQ8TmF2TGluaz4+O1xuICBnZXRNZXNzYWdlPzogKHByZWRpY2F0ZTogKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIsIG9iajogYW55W10pID0+IGFueSkgPT4gYW55IHwgdW5kZWZpbmVkO1xuICBtYXJrTWVzc2FnZVJlYWQ/OiAocHJlZGljYXRlOiAodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlciwgb2JqOiBhbnlbXSkgPT4gYW55KSA9PiBhbnkgfCB1bmRlZmluZWQ7XG4gIHJlZnJlc2g/OiAoKSA9PiB2b2lkIHwgdW5kZWZpbmVkO1xuICBpbmJveEFjdGlvbj86ICgpID0+IHZvaWQgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcExhbmd1YWdlc1NlcnZpY2Uge1xuICBvcHRpb25zOiBPYnNlcnZhYmxlPE1lbnVPcHRpb25bXT4gfCB1bmRlZmluZWQ7XG4gIHNlbGVjdGVkPzogc3RyaW5nO1xuICBkZWZhdWx0Pzogc3RyaW5nO1xuICBzZXRTZWxlY3RlZD86IChsYW5nOiBzdHJpbmcpID0+IHZvaWQgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcExpbmtzIHtcbiAgcHVibGljOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XG4gIG1haW46IE9ic2VydmFibGU8TmF2TGlua1tdPjtcbiAgcHJvZmlsZTogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xuICBwcm9maWxlQWN0aW9uczogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xuICBsZWdhbDogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xuICBicmFuZDogT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xuICBub3RpZmljYXRpb25zPzogT2JzZXJ2YWJsZTxOYXZMaW5rPjtcbn1cblxuXG5leHBvcnQgY2xhc3MgTmF2TGluayB7XG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBleGFjdDogYm9vbGVhbiA9IGZhbHNlLCBleHRlcm5hbDogYm9vbGVhbiA9IGZhbHNlLCBpY29uPzogc3RyaW5nLCBkYXRhPzogYW55KSB7XG4gICAgdGhpcy50ZXh0ID0gdGV4dDtcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMuZXhhY3QgPSBleGFjdDtcbiAgICB0aGlzLmV4dGVybmFsID0gZXh0ZXJuYWw7XG4gICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICB9XG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyBleGFjdDogYm9vbGVhbjtcbiAgcHVibGljIGV4dGVybmFsOiBib29sZWFuO1xuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgdHlwZSA9ICdyb3V0ZXInO1xuICBwdWJsaWMgZGF0YTogYW55IHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxOYXZMaW5rIGV4dGVuZHMgTmF2TGluayB7XG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcGVuSW5OZXdUYWI/OiBib29sZWFuLCBpY29uPzogc3RyaW5nKSB7XG4gICAgc3VwZXIodGV4dCwgcGF0aCwgdHJ1ZSwgb3BlbkluTmV3VGFiLCBpY29uKTtcbiAgfVxuICBwdWJsaWMgdHlwZSA9ICdleHRlcm5hbCc7XG59XG5cbmV4cG9ydCBjbGFzcyBGcmFnbWVudE5hdkxpbmsgZXh0ZW5kcyBOYXZMaW5rIHtcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGljb24/OiBzdHJpbmcpIHtcbiAgICBzdXBlcih0ZXh0LCBwYXRoLCB0cnVlLCB0cnVlLCBpY29uKTtcbiAgfVxuICBwdWJsaWMgdHlwZSA9ICdmcmFnbWVudCc7XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25OYXZMaW5rIGV4dGVuZHMgTmF2TGluayB7XG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBwdWJsaWMgaXNSZWFkOiBib29sZWFuLCBwdWJsaWMgY3JlYXRpb25EYXRlPzogRGF0ZSkge1xuICAgIHN1cGVyKHRleHQsIHBhdGgsIHRydWUsIGZhbHNlLCB1bmRlZmluZWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWaWV3QWN0aW9uIHtcbiAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgcHVibGljIGtleTogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIHBhcmFtOiBhbnk7XG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gIHB1YmxpYyB0b29sdGlwOiBzdHJpbmcgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcgfCBudWxsLCBwYXJhbTogYW55LCBpY29uOiBzdHJpbmcsIHRvb2x0aXA6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMucGFyYW0gPSBwYXJhbTtcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RWaWV3VHlwZSB7XG4gIHB1YmxpYyBzdGF0aWMgVGlsZXMgPSAndGlsZXMnO1xuICBwdWJsaWMgc3RhdGljIFRhYmxlID0gJ3RhYmxlJztcbiAgcHVibGljIHN0YXRpYyBNYXAgPSAnbWFwJztcbiAgcHVibGljIHN0YXRpYyBHYWxsZXJ5ID0gJ2dhbGxlcnknO1xufVxuXG5leHBvcnQgY2xhc3MgUm91dGVyVmlld0FjdGlvbiBleHRlbmRzIFZpZXdBY3Rpb24ge1xuICBwdWJsaWMgb3V0bGV0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGxpbms6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBjb25zdHJ1Y3RvcihpY29uOiBzdHJpbmcsIGxpbms6IHN0cmluZywgb3V0bGV0OiBzdHJpbmcgfCBudWxsLCB0b29sdGlwOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgc3VwZXIoJ3JvdXRlci1saW5rJywgbnVsbCwgbnVsbCwgaWNvbiwgdG9vbHRpcCk7XG4gICAgdGhpcy5vdXRsZXQgPSBvdXRsZXQ7XG4gICAgdGhpcy5saW5rID0gbGluaztcbiAgfVxufVxuXG5cbmV4cG9ydCBjbGFzcyBTd2l0Y2hWaWV3QWN0aW9uIGV4dGVuZHMgVmlld0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHZpZXc6IHN0cmluZywgaWNvbjogc3RyaW5nLCB0b29sdGlwOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgc3VwZXIoJ3N3aXRjaC12aWV3JywgbnVsbCwgdmlldywgaWNvbiwgdG9vbHRpcCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzdWx0U2V0PFQ+IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgaXRlbXM6IFRbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEhlYWRlck1ldGFJdGVtIHtcbiAgcHVibGljIGtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgTWVudU9wdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgdmFsdWU6IGFueSwgZGVzY3JpcHRpb24/OiBzdHJpbmcsIGRhdGE/OiBhbnksIGljb24/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICB9XG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyB2YWx1ZTogYW55O1xuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGRhdGE6IGFueSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGVudW0gUGFnZXJQb3NpdGlvbiB7XG4gIFRvcCA9ICd0b3AnLFxuICBCb3R0b20gPSAnYm90dG9tJyxcbiAgQm90aCA9ICdib3RoJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZGRyZXNzIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHN0cmVldD86IHN0cmluZyB8IG51bGw7XG4gIHN0cmVldE51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gIGNpdHk/OiBzdHJpbmcgfCBudWxsO1xuICByZWdpb24/OiBzdHJpbmcgfCBudWxsO1xuICBwb3N0YWxDb2RlPzogc3RyaW5nIHwgbnVsbDtcbiAgY291bnRyeT86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNoZWxsQ29uZmlnIHtcbiAgbGF5b3V0PzogU2hlbGxMYXlvdXRUeXBlO1xuICBhcHBMb2dvOiBzdHJpbmc7XG4gIGFwcExvZ29BbHQ6IHN0cmluZztcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgc2hvd1VzZXJOYW1lT25IZWFkZXI/OiBib29sZWFuO1xuICBzaG93QWxlcnRzT25IZWFkZXI/OiBib29sZWFuO1xuICBjdXN0b21IZWFkZXJDb21wb25lbnQ/OiBhbnk7XG4gIHNob3dGb290ZXI6IGJvb2xlYW47XG4gIGN1c3RvbUZvb3RlckNvbXBvbmVudD86IGFueTtcbiAgZmx1aWQ6IGJvb2xlYW47XG4gIHNob3dMYW5nc09uSGVhZGVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gU2hlbGxMYXlvdXRUeXBlIHtcbiAgU3RhY2tlZCA9ICdTdGFja2VkJyxcbiAgU2lkZWJhciA9ICdTaWRlYmFyJ1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNoZWxsQ29uZmlnIGltcGxlbWVudHMgSVNoZWxsQ29uZmlnIHtcbiAgbGF5b3V0ID0gU2hlbGxMYXlvdXRUeXBlLlN0YWNrZWQ7XG4gIGFwcExvZ28gPSAnaHR0cHM6Ly90YWlsd2luZHVpLmNvbS9pbWcvbG9nb3Mvd29ya2Zsb3ctbWFyay5zdmc/Y29sb3I9d2hpdGUnO1xuICBhcHBMb2dvQWx0ID0gJ3lvdXIgYXBwIG5hbWUgaGVyZSc7XG4gIHNob3dIZWFkZXIgPSB0cnVlO1xuICBzaG93VXNlck5hbWVPbkhlYWRlciA9IGZhbHNlO1xuICBzaG93QWxlcnRzT25IZWFkZXIgPSBmYWxzZTtcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG4gIGZsdWlkID0gZmFsc2U7XG59XG5cbmV4cG9ydCBlbnVtIFNDUkVFTl9TSVpFIHtcbiAgWFMsXG4gIFNNLFxuICBNRCxcbiAgTEcsXG4gIFhMXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmVlblNpemUge1xuICBpZDogU0NSRUVOX1NJWkU7XG4gIG5hbWU6IHN0cmluZztcbiAgY3NzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFRvYXN0VHlwZSB7XG4gIEluZm8gPSAnaW5mbycsXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gIEVycm9yID0gJ2Vycm9yJyxcbiAgV2FybmluZyA9ICd3YXJuaW5nJ1xufVxuXG5leHBvcnQgY29uc3QgTlVMTF9UT0FTVCA9IHsgdGl0bGUgOiAnX19fX19OVUxMX19fX18nIH0gYXMgVG9hc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xuICB0eXBlOiBUb2FzdFR5cGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgZGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gU2lkZVBhbmVTaXplIHtcbiAgIERlZmF1bHQgPSAnJyxcbiAgIFNtYWxsMjUgPSAnMjUlJyxcbiAgIE1lZGl1bTUwID0gJzUwJScsXG4gICBMYXJnZTc1ID0gJzc1JSdcbn1cblxuZXhwb3J0IGVudW0gU2lkZVBhbmVPdmVybGF5VHlwZSB7XG4gIERlZmF1bHQgPSAnJyxcbiAgTm9uZSA9ICctb3BhY2l0eS0wJyxcbiAgTGlnaHQgPSAnJyxcbiAgRGFyayA9ICctb3BhY2l0eS01MCdcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElWYWxpZGF0aW9uUHJvYmxlbURldGFpbHMge1xuICB0eXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0aXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc3RhdHVzPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBkZXRhaWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGluc3RhbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBlcnJvcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdOyB9IHwgdW5kZWZpbmVkO1xufVxuIl19
|