@eui/components 14.0.20 → 14.0.21-snapshot-1680602704229
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/docs/components/EuiSelectComponent.html +14 -1
- package/docs/components/EuiTableComponent.html +5 -17
- package/docs/directives/EuiNgSelectOptionDirective.html +14 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2020/eui-select/eui-select-option.directive.mjs +15 -3
- package/esm2020/eui-select/eui-select.component.mjs +19 -7
- package/esm2020/eui-table/eui-table.component.mjs +66 -8
- package/eui-select/eui-select-option.directive.d.ts +8 -5
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts +7 -3
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts +5 -4
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-select.mjs +32 -9
- package/fesm2015/eui-components-eui-select.mjs.map +1 -1
- package/fesm2015/eui-components-eui-table.mjs +65 -7
- package/fesm2015/eui-components-eui-table.mjs.map +1 -1
- package/fesm2020/eui-components-eui-select.mjs +32 -9
- package/fesm2020/eui-components-eui-select.mjs.map +1 -1
- package/fesm2020/eui-components-eui-table.mjs +65 -7
- package/fesm2020/eui-components-eui-table.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -11,13 +11,12 @@ import * as i1 from "./services/eui-table-sort.service";
|
|
|
11
11
|
import * as i2 from "./services/eui-table-selectable-row.service";
|
|
12
12
|
import * as i3 from "@angular/common";
|
|
13
13
|
export class EuiTableComponent extends BaseDirective {
|
|
14
|
-
constructor(euiTableSortService, cd,
|
|
14
|
+
constructor(euiTableSortService, cd, euiTableSelectableRowService, elementRef) {
|
|
15
15
|
super();
|
|
16
16
|
this.euiTableSortService = euiTableSortService;
|
|
17
17
|
this.cd = cd;
|
|
18
|
-
this.renderer = renderer;
|
|
19
|
-
this.viewContainerRef = viewContainerRef;
|
|
20
18
|
this.euiTableSelectableRowService = euiTableSelectableRowService;
|
|
19
|
+
this.elementRef = elementRef;
|
|
21
20
|
this.preselectedRows = [];
|
|
22
21
|
this.string = 'eui-table';
|
|
23
22
|
this.selectedRows = new EventEmitter();
|
|
@@ -42,6 +41,7 @@ export class EuiTableComponent extends BaseDirective {
|
|
|
42
41
|
this.destroy$ = new Subject();
|
|
43
42
|
this.tableFeaturesHandlerSubscription = new Subscription();
|
|
44
43
|
this.selectRowsFeatureHandlerSubscription = new Subscription();
|
|
44
|
+
this.stickyFeatureHandlerIndex = 0;
|
|
45
45
|
}
|
|
46
46
|
get hasLoading() { return this.loading; }
|
|
47
47
|
;
|
|
@@ -182,6 +182,63 @@ export class EuiTableComponent extends BaseDirective {
|
|
|
182
182
|
setSort(sort, order) {
|
|
183
183
|
this.euiTableSortService.setSort(sort, order);
|
|
184
184
|
}
|
|
185
|
+
stickyFeatureHandler() {
|
|
186
|
+
const timeout = this.stickyFeatureHandlerIndex === 0 ? 500 : 0;
|
|
187
|
+
setTimeout(() => {
|
|
188
|
+
const trItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));
|
|
189
|
+
const containerWidth = this.elementRef.nativeElement.parentElement.clientWidth;
|
|
190
|
+
if (this.theadRef) {
|
|
191
|
+
const thItems = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));
|
|
192
|
+
// Reset left & right position
|
|
193
|
+
thItems.forEach((th) => {
|
|
194
|
+
th.style.left = null;
|
|
195
|
+
th.style.right = null;
|
|
196
|
+
});
|
|
197
|
+
// Sticky First Cols & Last Cols
|
|
198
|
+
const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);
|
|
199
|
+
const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);
|
|
200
|
+
thItemsStickyFirstCol.forEach((th, i) => {
|
|
201
|
+
th.style.left = (i === 0 ? 0 : thItemsStickyFirstCol[i - 1].clientWidth) + 'px';
|
|
202
|
+
if (i + 1 === thItemsStickyFirstCol.length) {
|
|
203
|
+
th.classList.add('eui-table__col--sticky-shadowed-first');
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
thItemsStickyLastCol.reverse().forEach((th, i) => {
|
|
207
|
+
th.style.right = (i === 0 ? 0 : thItemsStickyLastCol[i - 1].clientWidth) + 'px';
|
|
208
|
+
if (i + 1 === thItemsStickyLastCol.length) {
|
|
209
|
+
th.classList.add('eui-table__col--sticky-shadowed-last');
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
trItems.forEach((tr) => {
|
|
214
|
+
const tdItems = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));
|
|
215
|
+
tdItems.forEach((td) => {
|
|
216
|
+
td.style.left = null;
|
|
217
|
+
td.style.right = null;
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
trItems.forEach((tr) => {
|
|
221
|
+
const tdItems = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));
|
|
222
|
+
// Sticky First Cols
|
|
223
|
+
const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);
|
|
224
|
+
tdItemsStickyFirstCol.forEach((td, i) => {
|
|
225
|
+
td.style.left = (i === 0 ? 0 : tdItemsStickyFirstCol[i - 1].clientWidth) + 'px';
|
|
226
|
+
if (i + 1 === tdItemsStickyFirstCol.length) {
|
|
227
|
+
td.classList.add('eui-table__col--sticky-shadowed-first');
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
// Sticky Last Cols
|
|
231
|
+
const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);
|
|
232
|
+
tdItemsStickyLastCol.reverse().forEach((td, i) => {
|
|
233
|
+
td.style.right = (i === 0 ? 0 : tdItemsStickyLastCol[i - 1].clientWidth) + 'px';
|
|
234
|
+
if (i + 1 === tdItemsStickyLastCol.length) {
|
|
235
|
+
td.classList.add('eui-table__col--sticky-shadowed-last');
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
}, timeout);
|
|
240
|
+
this.stickyFeatureHandlerIndex++;
|
|
241
|
+
}
|
|
185
242
|
tableFeaturesHandler() {
|
|
186
243
|
this.tableFeaturesHandlerSubscription = combineLatest([
|
|
187
244
|
this.euiTableSortService.sortingParams$,
|
|
@@ -196,6 +253,7 @@ export class EuiTableComponent extends BaseDirective {
|
|
|
196
253
|
r = this.paginateRows(pagination, r);
|
|
197
254
|
}
|
|
198
255
|
this.rowsRendered = r;
|
|
256
|
+
this.stickyFeatureHandler();
|
|
199
257
|
this.cd.detectChanges();
|
|
200
258
|
});
|
|
201
259
|
}
|
|
@@ -285,12 +343,12 @@ export class EuiTableComponent extends BaseDirective {
|
|
|
285
343
|
return prop ? prop.split('.').reduce((prev, curr) => prev ? prev[curr] : null, obj || self) : null;
|
|
286
344
|
}
|
|
287
345
|
}
|
|
288
|
-
/** @nocollapse */ EuiTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, deps: [{ token: i1.EuiTableSortService }, { token: i0.ChangeDetectorRef }, { token:
|
|
289
|
-
/** @nocollapse */ EuiTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns th:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns td:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
346
|
+
/** @nocollapse */ EuiTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, deps: [{ token: i1.EuiTableSortService }, { token: i0.ChangeDetectorRef }, { token: i2.EuiTableSelectableRowService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
347
|
+
/** @nocollapse */ EuiTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
290
348
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, decorators: [{
|
|
291
349
|
type: Component,
|
|
292
|
-
args: [{ selector: 'eui-table, table[euiTable]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [EuiTableSortService, EuiTableSelectableRowService], template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns th:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns td:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"] }]
|
|
293
|
-
}], ctorParameters: function () { return [{ type: i1.EuiTableSortService }, { type: i0.ChangeDetectorRef }, { type:
|
|
350
|
+
args: [{ selector: 'eui-table, table[euiTable]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [EuiTableSortService, EuiTableSelectableRowService], template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"] }]
|
|
351
|
+
}], ctorParameters: function () { return [{ type: i1.EuiTableSortService }, { type: i0.ChangeDetectorRef }, { type: i2.EuiTableSelectableRowService }, { type: i0.ElementRef }]; }, propDecorators: { rows: [{
|
|
294
352
|
type: Input
|
|
295
353
|
}], paginator: [{
|
|
296
354
|
type: Input
|
|
@@ -345,4 +403,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
345
403
|
type: HostBinding,
|
|
346
404
|
args: ['class']
|
|
347
405
|
}] } });
|
|
348
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS9ldWktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQ3JJLEtBQUssRUFBZ0MsTUFBTSxFQUFvRCxTQUFTLEVBQ3RILGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFhLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7O0FBVzNGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBNEdoRCxZQUFvQixtQkFBd0MsRUFDeEMsRUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLDRCQUEwRDtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQUxRLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FB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VTtzQkFBdEQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBRTdCLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFhZ0MsU0FBUztzQkFBL0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBRWQsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFHakIsT0FBTztzQkFEVixLQUFLO2dCQU1GLFVBQVU7c0JBRGIsS0FBSztnQkFNRixTQUFTO3NCQURaLEtBQUs7Z0JBTUYsa0JBQWtCO3NCQURyQixLQUFLO2dCQU1GLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFNRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsS0FBSztnQkFNRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBTUYsZUFBZTtzQkFEbEIsS0FBSztnQkFNRixlQUFlO3NCQURsQixLQUFLO2dCQU1GLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFXRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IEV1aVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9zaGFyZWQnO1xuXG5pbXBvcnQgeyBFdWlUYWJsZVNvcnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktdGFibGUtc29ydC5zZXJ2aWNlJztcbmltcG9ydCB7IEV1aVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IvZXVpLXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkV2ZW50IH0gZnJvbSAnLi9tb2RlbHMvcGFnaW5hdGlvbi1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBFdWlUYWJsZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V1aS10YWJsZS1zZWxlY3RhYmxlLXJvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnRFdmVudCB9IGZyb20gJy4vbW9kZWxzL3NvcnQtZXZlbnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10YWJsZSwgdGFibGVbZXVpVGFibGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0V1aVRhYmxlU29ydFNlcnZpY2UsIEV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUYWJsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIHJvd3M6IGFueVtdO1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvcjogRXVpVGFibGVQYWdpbmF0b3JDb21wb25lbnQ7XG4gICAgQElucHV0KCkgZmlsdGVyOiBFdWlUYWJsZUZpbHRlckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBwcmVzZWxlY3RlZFJvd3M6IGFueVtdID0gW107XG4gICAgLyoqIEBkZXByZWNhdGVkIFNpbmNlIGV1aS10YWJsZSB1c2VzIG5hdGl2ZSBDU1MgcG9zaXRpb24gc3RpY2t5LCBwYXNzaW5nIHRoZSByZWZlcmVuY2Ugb2YgY29udGFpbmVyIGlzIG5vIGxvbmdlciBuZWVkZWQuXG4gICAgICogSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBmdXR1cmUgdmVyc2lvbiBvZiBlVUlcbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpIHNjcm9sbGFibGVDb250YWluZXJSZWY6IEVsZW1lbnQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgc3RyaW5nID0gJ2V1aS10YWJsZSc7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ldWktdGFibGVfX2xvYWRpbmcnKSBnZXQgaGFzTG9hZGluZygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubG9hZGluZzsgfTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0RXZlbnQ+KCk7XG5cbiAgICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHVibGljIGJvZHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHVibGljIGVtcHR5TWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyByb3dzUmVuZGVyZWQ6IGFueVtdID0gW107XG5cbiAgICBwdWJsaWMgcGFnZTogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDA7XG4gICAgcHVibGljIHNob3dTdGlja3lIZWFkZXIgPSBmYWxzZTtcbiAgICBwdWJsaWMgZmlsdGVyZWRSb3dzID0gW107XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEV1aVRlbXBsYXRlRGlyZWN0aXZlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxFdWlUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICBAVmlld0NoaWxkKCd0aGVhZFJlZicpIHRoZWFkUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCd0Ym9keVJlZicpIHRib2R5UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9sb2FkaW5nOyB9XG4gICAgc2V0IGxvYWRpbmcodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9sb2FkaW5nID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFzeW5jVGFibGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hc3luY1RhYmxlOyB9XG4gICAgc2V0IGFzeW5jVGFibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9hc3luY1RhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2FzeW5jVGFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHBhZ2luYWJsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3BhZ2luYWJsZTsgfVxuICAgIHNldCBwYWdpbmFibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9wYWdpbmFibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfcGFnaW5hYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZVJlc3BvbnNpdmUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZVJlc3BvbnNpdmU7IH1cbiAgICBzZXQgZXVpVGFibGVSZXNwb25zaXZlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVSZXNwb25zaXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlUmVzcG9uc2l2ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVGaXhlZExheW91dCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlRml4ZWRMYXlvdXQ7IH1cbiAgICBzZXQgZXVpVGFibGVGaXhlZExheW91dCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlRml4ZWRMYXlvdXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVGaXhlZExheW91dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVEcmFnZ2FibGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZURyYWdnYWJsZTsgfVxuICAgIHNldCBldWlUYWJsZURyYWdnYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlRHJhZ2dhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlRHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZUNhcmRzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVDYXJkczsgfVxuICAgIHNldCBldWlUYWJsZUNhcmRzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVDYXJkcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUNhcmRzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZUJvcmRlcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVCb3JkZXJlZDsgfVxuICAgIHNldCBldWlUYWJsZUJvcmRlcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVCb3JkZXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUJvcmRlcmVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZUNvbXBhY3QoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZUNvbXBhY3Q7IH1cbiAgICBzZXQgZXVpVGFibGVDb21wYWN0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVDb21wYWN0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlQ29tcGFjdCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzU3RpY2t5SGVhZGVyKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU3RpY2t5SGVhZGVyOyB9XG4gICAgc2V0IGhhc1N0aWNreUhlYWRlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc1N0aWNreUhlYWRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTdGlja3lIZWFkZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc1N0aWNreUNvbHVtbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNTdGlja3lDb2x1bW5zOyB9XG4gICAgc2V0IGhhc1N0aWNreUNvbHVtbnModmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNTdGlja3lDb2x1bW5zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc1N0aWNreUNvbHVtbnMgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcm93c1NyYzogYW55ID0gbnVsbDtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVSZXNwb25zaXZlID8gYGV1aS10YWJsZS0tcmVzcG9uc2l2ZWAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVGaXhlZExheW91dCA/IGBldWktdGFibGUtLWZpeGVkLWxheW91dGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVCb3JkZXJlZCA/IGBldWktdGFibGUtLWJvcmRlcmVkYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZUNvbXBhY3QgPyBgZXVpLXRhYmxlLS1jb21wYWN0YCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZURyYWdnYWJsZSA/IGBldWktdGFibGUtLWRyYWdnYWJsZWAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVDYXJkcyA/IGBldWktdGFibGUtY2FyZHNgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/IGBldWktdGFibGUtLXN0aWNreS1oZWFkZXJgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHVtbnMgPyBgZXVpLXRhYmxlLS1zdGlja3ktY29sdW1uc2AgOiBgYCxcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2V1aS10YWJsZScpLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWlUYWJsZVNvcnRTZXJ2aWNlOiBFdWlUYWJsZVNvcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoYzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoYyAmJiBjLnJvd3MgJiYgYy5yb3dzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAvLyBHbyB0byBmaXJzdCBwYWdlIG9ubHkgaWYgbGVuZ3RoIG9mIGRhdGEgaGFzIGNoYW5nZWQuIFRvIGF2b2lkIHVzZXIgdG8gYmUgb24gYSBwYWdlIHRoYXQgbm8gbG9uZ2VyIGV4aXN0IGluIGNhc2Ugb2YgZmlsdGVyaW5nLlxuICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMucm93c1NyYy5sZW5ndGggIT09IGMucm93cy5jdXJyZW50VmFsdWUubGVuZ3RoO1xuXG4gICAgICAgICAgICB0aGlzLnJvd3NTcmMgPSBbLi4uYy5yb3dzLmN1cnJlbnRWYWx1ZV07XG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IgJiYgbGVuZ3RoQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXN5bmNUYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhjLnJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5hZGRSb3dzKGMucm93cy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGMgJiYgYy5wcmVzZWxlY3RlZFJvd3MgJiYgYy5wcmVzZWxlY3RlZFJvd3MuZmlyc3RDaGFuZ2UgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0Um93cyh0aGlzLnByZXNlbGVjdGVkUm93cyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYyAmJiBjLnBhZ2luYXRvcj8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5zZXRMZW5ndGgodGhpcy5yb3dzLmxlbmd0aCk7XG4gICAgICAgICAgICBpZiAoIWMucGFnaW5hdG9yPy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5nb0ZpcnN0UGFnZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdGhpcy5yb3dzIGNhbiBiZSBjaGFuZ2VkIGFueXRpbWUsIHRoZW4gdGhpcyBlbHNlIGNhbiBiZSBleGVjdXRlZCBhdCB0aGF0IHRpbWUsIHRlc3RpbmcgdGhpcy5wYWdpbmF0b3IgYWxsb3dzIHRvIG1ha2Ugc3VyZVxuICAgICAgICAgICAgLy8gdGhlIHVzZXIgd2hhbnRzIHRvIGRpc2FibGUgcGFnaW5hdGlvbiBvciBjaGFuZ2UgdGhlIGRhdGFzb3VyY2VcbiAgICAgICAgICAgIGlmICghdGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd3NSZW5kZXJlZCA9IHRoaXMucm93c1NyYyA/IHRoaXMucm93c1NyYyA6IFsuLi50aGlzLnJvd3NdO1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3dzU3JjID0gWy4uLnRoaXMucm93c107XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZTJlQXR0cikge1xuICAgICAgICAgICAgdGhpcy5lMmVBdHRyID0gJ2V1aS10YWJsZSc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnaGVhZGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnYm9keScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdmb290ZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdlbXB0eU1lc3NhZ2UnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbXB0eU1lc3NhZ2VUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFzeW5jVGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTb3J0U2VydmljZS5zb3J0aW5nUGFyYW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICApLnN1YnNjcmliZSgoc29ydGluZ1BhcmFtczogeyBzb3J0OiAoc3RyaW5nIHwgbnVsbCksIG9yZGVyOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoeyBzb3J0OiBzb3J0aW5nUGFyYW1zLnNvcnQsIG9yZGVyOiBzb3J0aW5nUGFyYW1zLm9yZGVyIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0Um93cyh0aGlzLnByZXNlbGVjdGVkUm93cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdEFsbFJvd3MoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zZWxlY3RBbGxSb3dzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFJvd3Mocm93czogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3Mocm93cyk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlclJvd3MoZmlsdGVyOiBzdHJpbmcsIHI6IGFueVtdKTogYW55W10ge1xuICAgICAgICBjb25zdCByb3dzID0gZmlsdGVyID8gci5maWx0ZXIoKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmcgPSB0aGlzLmdldFByb3BzKHJvdywgZmlsdGVyKS5maWx0ZXIocCA9PiBwLm1hdGNoID09PSB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaGluZz8ubGVuZ3RoID4gMDtcbiAgICAgICAgfSkgOiByO1xuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLmFkZFJvd3Mocm93cyk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZFJvd3MgPSByb3dzO1xuXG4gICAgICAgIHJldHVybiByb3dzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTb3J0KHNvcnQ6IChzdHJpbmcgfCBudWxsKSwgb3JkZXI6ICgnYXNjJyB8ICdkZXNjJyB8IG51bGwpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTb3J0U2VydmljZS5zZXRTb3J0KHNvcnQsIG9yZGVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlU29ydFNlcnZpY2Uuc29ydGluZ1BhcmFtcyQsXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRvciA/IHRoaXMucGFnaW5hdG9yLnBhZ2UkIDogbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSxcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyID8gdGhpcy5maWx0ZXIuZmlsdGVyJCA6IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCksXG4gICAgICAgIF0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKFtzb3J0aW5nUGFyYW1zLCBwYWdpbmF0aW9uLCBmaWx0ZXJdKSA9PiB7XG4gICAgICAgICAgICBsZXQgciA9IFsuLi50aGlzLnJvd3NTcmNdO1xuICAgICAgICAgICAgciA9IHRoaXMub3JkZXJSb3dzKHNvcnRpbmdQYXJhbXMuc29ydCwgc29ydGluZ1BhcmFtcy5vcmRlciwgcik7XG4gICAgICAgICAgICByID0gdGhpcy5maWx0ZXJSb3dzKGZpbHRlciwgcik7XG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5zZXRMZW5ndGgoci5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnBhZ2luYXRlUm93cyhwYWdpbmF0aW9uLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yb3dzUmVuZGVyZWQgPSByO1xuXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyU3Vic2NyaXB0aW9uID0gdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdGVkUm93cyQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgKS5zdWJzY3JpYmUoKHNlbGVjdGVkOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcHMob2JqOiBhbnlbXSwgZmlsdGVyOiBzdHJpbmcpOiB7IGtleTogc3RyaW5nLCBtYXRjaDogYm9vbGVhbiwgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9W10ge1xuICAgICAgICBjb25zdCBpc09iamVjdCA9ICh2YWw6IGFueSk6IGJvb2xlYW4gPT4gdmFsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnO1xuICAgICAgICBjb25zdCBhZGREZWxpbWl0ZXIgPSAoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBzdHJpbmcgPT4gYSAmJiBhICE9PSAnMCcgPyBgJHthfS4ke2J9YCA6IGI7XG4gICAgICAgIGNvbnN0IHByb3BzID0gW107XG4gICAgICAgIGNvbnN0IHBhdGhzID0gKHBhdGhPYmogPSB7fSwgaGVhZCA9ICcnKTogYW55W10gPT4gT2JqZWN0LmVudHJpZXMocGF0aE9iaikucmVkdWNlKChwcm9kdWN0LCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmdWxsUGF0aCA9IGFkZERlbGltaXRlcihoZWFkLCBrZXkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gKHY6IGFueSk6IGJvb2xlYW4gPT4gdHlwZW9mIHYgIT09ICdvYmplY3QnICYmIHY/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgcGF0aHMob2JqKTtcblxuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogUGFnaW5hdGlvbkV2ZW50LCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnaW5hdGlvbi5wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnaW5hdGlvbi5wYWdlU2l6ZTtcblxuICAgICAgICByZXR1cm4gci5zbGljZSh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplLCAodGhpcy5wYWdlICogdGhpcy5wYWdlU2l6ZSkgKyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9yZGVyUm93cyhwcm9wOiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcsIHI6IGFueVtdKTogYW55W10ge1xuICAgICAgICBsZXQgcm93czogYW55W10gPSBudWxsO1xuICAgICAgICBpZiAoIW9yZGVyKSB7XG4gICAgICAgICAgICByb3dzID0gcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChvcmRlciA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAgICAgcm93cyA9IHIuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhU29ydE9uID0gdHlwZW9mIHRoaXMuZ2V0T2JqUHJvcChhLCBwcm9wKSA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRPYmpQcm9wKGEsIHByb3ApLnRvTG93ZXJDYXNlKCkgOiB0aGlzLmdldE9ialByb3AoYSwgcHJvcCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJTb3J0T24gPSB0eXBlb2YgdGhpcy5nZXRPYmpQcm9wKGIsIHByb3ApID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE9ialByb3AoYiwgcHJvcCkudG9Mb3dlckNhc2UoKSA6IHRoaXMuZ2V0T2JqUHJvcChiLCBwcm9wKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWFTb3J0T24gJiYgYlNvcnRPbikgeyByZXR1cm4gMTsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYVNvcnRPbiAmJiAhYlNvcnRPbikgeyByZXR1cm4gLTE7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhU29ydE9uICYmICFiU29ydE9uKSB7IHJldHVybiAwOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChhU29ydE9uIDwgYlNvcnRPbikgeyByZXR1cm4gMTsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYVNvcnRPbiA+IGJTb3J0T24pIHsgcmV0dXJuIC0xOyB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByb3dzID0gci5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFTb3J0T24gPSB0eXBlb2YgdGhpcy5nZXRPYmpQcm9wKGEsIHByb3ApID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE9ialByb3AoYSwgcHJvcCkudG9Mb3dlckNhc2UoKSA6IHRoaXMuZ2V0T2JqUHJvcChhLCBwcm9wKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYlNvcnRPbiA9IHR5cGVvZiB0aGlzLmdldE9ialByb3AoYiwgcHJvcCkgPT09ICdzdHJpbmcnID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0T2JqUHJvcChiLCBwcm9wKS50b0xvd2VyQ2FzZSgpIDogdGhpcy5nZXRPYmpQcm9wKGIsIHByb3ApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghYVNvcnRPbiAmJiBiU29ydE9uKSB7IHJldHVybiAtMTsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYVNvcnRPbiAmJiAhYlNvcnRPbikgeyByZXR1cm4gMTsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWFTb3J0T24gJiYgIWJTb3J0T24pIHsgcmV0dXJuIDA7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFTb3J0T24gPiBiU29ydE9uKSB7IHJldHVybiAxOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChhU29ydE9uIDwgYlNvcnRPbikgeyByZXR1cm4gLTE7IH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm93cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9ialByb3Aob2JqOiBhbnksIHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9wID8gcHJvcC5zcGxpdCgnLicpLnJlZHVjZSgocHJldiwgY3VycikgPT4gcHJldiA/IHByZXZbY3Vycl0gOiBudWxsLCBvYmogfHwgc2VsZikgOiBudWxsO1xuICAgIH1cbn1cbiIsIjx0aGVhZCAjdGhlYWRSZWYgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3RoZWFkPlxuPHRib2R5ICN0Ym9keVJlZiAqbmdJZj1cImJvZHlUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzUmVuZGVyZWQ7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keVRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpICsgKHBhZ2UgKiBwYWdlU2l6ZSkgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtcHR5TWVzc2FnZVRlbXBsYXRlICYmIHJvd3NSZW5kZXJlZC5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5TWVzc2FnZVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGJvZHk+XG48dGZvb3QgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3Rmb290PlxuIl19
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS9ldWktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQ25KLEtBQUssRUFBZ0MsTUFBTSxFQUF5QyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUl4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFXM0YsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUE2R2hELFlBQW9CLG1CQUF3QyxFQUN4QyxFQUFxQixFQUNyQiw0QkFBMEQsRUFDMUQsVUFBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFKUSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTNHakMsb0JBQWUsR0FB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Vzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZyxcbiAgICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5pbXBvcnQgeyBFdWlUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuaW1wb3J0IHsgRXVpVGFibGVTb3J0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXNvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBFdWlUYWJsZVBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdG9yL2V1aS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3BhZ2luYXRpb24tZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgRXVpVGFibGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci9ldWktdGFibGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktdGFibGUtc2VsZWN0YWJsZS1yb3cuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0RXZlbnQgfSBmcm9tICcuL21vZGVscy9zb3J0LWV2ZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdGFibGUsIHRhYmxlW2V1aVRhYmxlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtFdWlUYWJsZVNvcnRTZXJ2aWNlLCBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSByb3dzOiBhbnlbXTtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIGZpbHRlcjogRXVpVGFibGVGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBTaW5jZSBldWktdGFibGUgdXNlcyBuYXRpdmUgQ1NTIHBvc2l0aW9uIHN0aWNreSwgcGFzc2luZyB0aGUgcmVmZXJlbmNlIG9mIGNvbnRhaW5lciBpcyBubyBsb25nZXIgbmVlZGVkLlxuICAgICAqIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlIHZlcnNpb24gb2YgZVVJXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBzY3JvbGxhYmxlQ29udGFpbmVyUmVmOiBFbGVtZW50O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHN0cmluZyA9ICdldWktdGFibGUnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZXVpLXRhYmxlX19sb2FkaW5nJykgZ2V0IGhhc0xvYWRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmxvYWRpbmc7IH07XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydEV2ZW50PigpO1xuXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBlbXB0eU1lc3NhZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgcm93c1JlbmRlcmVkOiBhbnlbXSA9IFtdO1xuXG4gICAgcHVibGljIHBhZ2U6IG51bWJlciA9IDA7XG4gICAgcHVibGljIHBhZ2VTaXplOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBzaG93U3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgcHVibGljIGZpbHRlcmVkUm93cyA9IFtdO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgndGhlYWRSZWYnKSB0aGVhZFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgndGJvZHlSZWYnKSB0Ym9keVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fbG9hZGluZzsgfVxuICAgIHNldCBsb2FkaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fbG9hZGluZyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9sb2FkaW5nID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBhc3luY1RhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fYXN5bmNUYWJsZTsgfVxuICAgIHNldCBhc3luY1RhYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fYXN5bmNUYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9hc3luY1RhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBwYWdpbmFibGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9wYWdpbmFibGU7IH1cbiAgICBzZXQgcGFnaW5hYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fcGFnaW5hYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX3BhZ2luYWJsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVSZXNwb25zaXZlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVSZXNwb25zaXZlOyB9XG4gICAgc2V0IGV1aVRhYmxlUmVzcG9uc2l2ZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlUmVzcG9uc2l2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZVJlc3BvbnNpdmUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlRml4ZWRMYXlvdXQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZUZpeGVkTGF5b3V0OyB9XG4gICAgc2V0IGV1aVRhYmxlRml4ZWRMYXlvdXQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9ldWlUYWJsZUZpeGVkTGF5b3V0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlRml4ZWRMYXlvdXQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlRHJhZ2dhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVEcmFnZ2FibGU7IH1cbiAgICBzZXQgZXVpVGFibGVEcmFnZ2FibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9ldWlUYWJsZURyYWdnYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZURyYWdnYWJsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVDYXJkcygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlQ2FyZHM7IH1cbiAgICBzZXQgZXVpVGFibGVDYXJkcyh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlQ2FyZHMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVDYXJkcyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVCb3JkZXJlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlQm9yZGVyZWQ7IH1cbiAgICBzZXQgZXVpVGFibGVCb3JkZXJlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlQm9yZGVyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVCb3JkZXJlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVDb21wYWN0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVDb21wYWN0OyB9XG4gICAgc2V0IGV1aVRhYmxlQ29tcGFjdCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlQ29tcGFjdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUNvbXBhY3QgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc1N0aWNreUhlYWRlcigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc1N0aWNreUhlYWRlcjsgfVxuICAgIHNldCBoYXNTdGlja3lIZWFkZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNTdGlja3lIZWFkZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzU3RpY2t5SGVhZGVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTdGlja3lDb2x1bW5zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU3RpY2t5Q29sdW1uczsgfVxuICAgIHNldCBoYXNTdGlja3lDb2x1bW5zKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzU3RpY2t5Q29sdW1ucyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTdGlja3lDb2x1bW5zID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJvd3NTcmM6IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSB0YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHN0aWNreUZlYXR1cmVIYW5kbGVySW5kZXggPSAwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVSZXNwb25zaXZlID8gYGV1aS10YWJsZS0tcmVzcG9uc2l2ZWAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVGaXhlZExheW91dCA/IGBldWktdGFibGUtLWZpeGVkLWxheW91dGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVCb3JkZXJlZCA/IGBldWktdGFibGUtLWJvcmRlcmVkYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZUNvbXBhY3QgPyBgZXVpLXRhYmxlLS1jb21wYWN0YCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZURyYWdnYWJsZSA/IGBldWktdGFibGUtLWRyYWdnYWJsZWAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVDYXJkcyA/IGBldWktdGFibGUtY2FyZHNgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/IGBldWktdGFibGUtLXN0aWNreS1oZWFkZXJgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHVtbnMgPyBgZXVpLXRhYmxlLS1zdGlja3ktY29sdW1uc2AgOiBgYCxcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2V1aS10YWJsZScpLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWlUYWJsZVNvcnRTZXJ2aWNlOiBFdWlUYWJsZVNvcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZTogRXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjICYmIGMucm93cyAmJiBjLnJvd3MuZmlyc3RDaGFuZ2UgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgIC8vIEdvIHRvIGZpcnN0IHBhZ2Ugb25seSBpZiBsZW5ndGggb2YgZGF0YSBoYXMgY2hhbmdlZC4gVG8gYXZvaWQgdXNlciB0byBiZSBvbiBhIHBhZ2UgdGhhdCBubyBsb25nZXIgZXhpc3QgaW4gY2FzZSBvZiBmaWx0ZXJpbmcuXG4gICAgICAgICAgICBjb25zdCBsZW5ndGhDaGFuZ2VkID0gdGhpcy5yb3dzU3JjLmxlbmd0aCAhPT0gYy5yb3dzLmN1cnJlbnRWYWx1ZS5sZW5ndGg7XG5cbiAgICAgICAgICAgIHRoaXMucm93c1NyYyA9IFsuLi5jLnJvd3MuY3VycmVudFZhbHVlXTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvciAmJiBsZW5ndGhDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IuZ29GaXJzdFBhZ2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5hc3luY1RhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlc2V0Um93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5hZGRSb3dzKGMucm93cy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLmFkZFJvd3MoYy5yb3dzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYyAmJiBjLnByZXNlbGVjdGVkUm93cyAmJiBjLnByZXNlbGVjdGVkUm93cy5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKHRoaXMucHJlc2VsZWN0ZWRSb3dzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucGFnaW5hdG9yPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLnNldExlbmd0aCh0aGlzLnJvd3MubGVuZ3RoKTtcbiAgICAgICAgICAgIGlmICghYy5wYWdpbmF0b3I/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB0aGlzLnJvd3MgY2FuIGJlIGNoYW5nZWQgYW55dGltZSwgdGhlbiB0aGlzIGVsc2UgY2FuIGJlIGV4ZWN1dGVkIGF0IHRoYXQgdGltZSwgdGVzdGluZyB0aGlzLnBhZ2luYXRvciBhbGxvd3MgdG8gbWFrZSBzdXJlXG4gICAgICAgICAgICAvLyB0aGUgdXNlciB3aGFudHMgdG8gZGlzYWJsZSBwYWdpbmF0aW9uIG9yIGNoYW5nZSB0aGUgZGF0YXNvdXJjZVxuICAgICAgICAgICAgaWYgKCF0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMucm93c1JlbmRlcmVkID0gdGhpcy5yb3dzU3JjID8gdGhpcy5yb3dzU3JjIDogWy4uLnRoaXMucm93c107XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd3NTcmMgPSBbLi4udGhpcy5yb3dzXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lMmVBdHRyKSB7XG4gICAgICAgICAgICB0aGlzLmUyZUF0dHIgPSAnZXVpLXRhYmxlJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdoZWFkZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYm9keVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2Zvb3RlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2VtcHR5TWVzc2FnZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVtcHR5TWVzc2FnZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYXN5bmNUYWJsZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLnNvcnRpbmdQYXJhbXMkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICkuc3Vic2NyaWJlKChzb3J0aW5nUGFyYW1zOiB7IHNvcnQ6IChzdHJpbmcgfCBudWxsKSwgb3JkZXI6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7IHNvcnQ6IHNvcnRpbmdQYXJhbXMuc29ydCwgb3JkZXI6IHNvcnRpbmdQYXJhbXMub3JkZXIgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXIoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKHRoaXMucHJlc2VsZWN0ZWRSb3dzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RBbGxSb3dzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS51bnNlbGVjdEFsbFJvd3MoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0Um93cyhyb3dzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0Um93cyhyb3dzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyUm93cyhmaWx0ZXI6IHN0cmluZywgcjogYW55W10pOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBmaWx0ZXIgPyByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcihwID0+IHAubWF0Y2ggPT09IHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoaW5nPy5sZW5ndGggPiAwO1xuICAgICAgICB9KSA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlc2V0Um93cygpO1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhyb3dzKTtcblxuICAgICAgICB0aGlzLmZpbHRlcmVkUm93cyA9IHJvd3M7XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNvcnQoc29ydDogKHN0cmluZyB8IG51bGwpLCBvcmRlcjogKCdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLnNldFNvcnQoc29ydCwgb3JkZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVySW5kZXggPT09IDAgPyA1MDAgOiAwO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJJdGVtcyA9IEFycmF5LmZyb20odGhpcy50Ym9keVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykpO1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aGVhZFJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcblxuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGxlZnQgJiByaWdodCBwb3NpdGlvblxuICAgICAgICAgICAgICAgIHRoSXRlbXMuZm9yRWFjaCgodGg6IEhUTUxUYWJsZUNlbGxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyBTdGlja3kgRmlyc3QgQ29scyAmIExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lGaXJzdENvbCA9IHRoSXRlbXMuZmlsdGVyKCh0aCkgPT4gdGgub2Zmc2V0TGVmdCArIHRoLmNsaWVudFdpZHRoIDwgY29udGFpbmVyV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lMYXN0Q29sID0gdGhJdGVtcy5maWx0ZXIoKHRoKSA9PiB0aC5vZmZzZXRMZWZ0ICsgdGguY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG5cbiAgICAgICAgICAgICAgICB0aEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGgsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGguc3R5bGUubGVmdCA9IChpID09PSAwID8gMCA6IHRoSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0uY2xpZW50V2lkdGgpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRoSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRoLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoLnN0eWxlLnJpZ2h0ID0gKGkgPT09IDAgPyAwIDogdGhJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdLmNsaWVudFdpZHRoKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0aEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRkLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdHJJdGVtcy5mb3JFYWNoKCh0cikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdGFibGVfX2NvbC0tc3RpY2t5JykpO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IEZpcnN0IENvbHNcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wgPSB0ZEl0ZW1zLmZpbHRlcigodGQpID0+IHRkLm9mZnNldExlZnQgKyB0ZC5jbGllbnRXaWR0aCA8IGNvbnRhaW5lcldpZHRoKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGQsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGQuc3R5bGUubGVmdCA9IChpID09PSAwID8gMCA6IHRkSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0uY2xpZW50V2lkdGgpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRkSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXNTdGlja3lMYXN0Q29sID0gdGRJdGVtcy5maWx0ZXIoKHRkKSA9PiB0ZC5vZmZzZXRMZWZ0ICsgdGQuY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG4gICAgICAgICAgICAgICAgdGRJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRkLnN0eWxlLnJpZ2h0ID0gKGkgPT09IDAgPyAwIDogdGRJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdLmNsaWVudFdpZHRoKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0ZEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dCk7XG5cbiAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlckluZGV4Kys7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZUZlYXR1cmVzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLnNvcnRpbmdQYXJhbXMkLFxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IgPyB0aGlzLnBhZ2luYXRvci5wYWdlJCA6IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCksXG4gICAgICAgICAgICB0aGlzLmZpbHRlciA/IHRoaXMuZmlsdGVyLmZpbHRlciQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICBdKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChbc29ydGluZ1BhcmFtcywgcGFnaW5hdGlvbiwgZmlsdGVyXSkgPT4ge1xuICAgICAgICAgICAgbGV0IHIgPSBbLi4udGhpcy5yb3dzU3JjXTtcbiAgICAgICAgICAgIHIgPSB0aGlzLm9yZGVyUm93cyhzb3J0aW5nUGFyYW1zLnNvcnQsIHNvcnRpbmdQYXJhbXMub3JkZXIsIHIpO1xuICAgICAgICAgICAgciA9IHRoaXMuZmlsdGVyUm93cyhmaWx0ZXIsIHIpO1xuICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICByID0gdGhpcy5wYWdpbmF0ZVJvd3MocGFnaW5hdGlvbiwgcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucm93c1JlbmRlcmVkID0gcjtcbiAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcblxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlclN1YnNjcmlwdGlvbiA9IHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RlZFJvd3MkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICkuc3Vic2NyaWJlKChzZWxlY3RlZDogYW55W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmVtaXQoc2VsZWN0ZWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BzKG9iajogYW55W10sIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZywgbWF0Y2g6IGJvb2xlYW4sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBhbnkpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IGEgJiYgYSAhPT0gJzAnID8gYCR7YX0uJHtifWAgOiBiO1xuICAgICAgICBjb25zdCBwcm9wcyA9IFtdO1xuICAgICAgICBjb25zdCBwYXRocyA9IChwYXRoT2JqID0ge30sIGhlYWQgPSAnJyk6IGFueVtdID0+IE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBhbnkpOiBib29sZWFuID0+IHR5cGVvZiB2ICE9PSAnb2JqZWN0JyAmJiB2Py50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXI/LnRyaW0oKS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSAnMCcgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBwcm9wcy5wdXNoKHsga2V5OiBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KSwgbWF0Y2g6IG1hdGNoKHZhbHVlKSwgdmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzT2JqZWN0KHZhbHVlKSA/IHByb2R1Y3QuY29uY2F0KHBhdGhzKHZhbHVlLCBmdWxsUGF0aCkpIDogcHJvZHVjdC5jb25jYXQoZnVsbFBhdGgpO1xuICAgICAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIHBhdGhzKG9iaik7XG5cbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnaW5hdGVSb3dzKHBhZ2luYXRpb246IFBhZ2luYXRpb25FdmVudCwgcjogYW55W10pOiBhbnlbXSB7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2luYXRpb24ucGFnZTtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2luYXRpb24ucGFnZVNpemU7XG5cbiAgICAgICAgcmV0dXJuIHIuc2xpY2UodGhpcy5wYWdlICogdGhpcy5wYWdlU2l6ZSwgKHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUpICsgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmRlclJvd3MocHJvcDogc3RyaW5nLCBvcmRlcjogc3RyaW5nLCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgbGV0IHJvd3M6IGFueVtdID0gbnVsbDtcbiAgICAgICAgaWYgKCFvcmRlcikge1xuICAgICAgICAgICAgcm93cyA9IHI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAob3JkZXIgPT09ICdkZXNjJykge1xuICAgICAgICAgICAgICAgIHJvd3MgPSByLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYVNvcnRPbiA9IHR5cGVvZiB0aGlzLmdldE9ialByb3AoYSwgcHJvcCkgPT09ICdzdHJpbmcnID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0T2JqUHJvcChhLCBwcm9wKS50b0xvd2VyQ2FzZSgpIDogdGhpcy5nZXRPYmpQcm9wKGEsIHByb3ApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiU29ydE9uID0gdHlwZW9mIHRoaXMuZ2V0T2JqUHJvcChiLCBwcm9wKSA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRPYmpQcm9wKGIsIHByb3ApLnRvTG93ZXJDYXNlKCkgOiB0aGlzLmdldE9ialByb3AoYiwgcHJvcCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhU29ydE9uICYmIGJTb3J0T24pIHsgcmV0dXJuIDE7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFTb3J0T24gJiYgIWJTb3J0T24pIHsgcmV0dXJuIC0xOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghYVNvcnRPbiAmJiAhYlNvcnRPbikgeyByZXR1cm4gMDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYVNvcnRPbiA8IGJTb3J0T24pIHsgcmV0dXJuIDE7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFTb3J0T24gPiBiU29ydE9uKSB7IHJldHVybiAtMTsgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcm93cyA9IHIuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhU29ydE9uID0gdHlwZW9mIHRoaXMuZ2V0T2JqUHJvcChhLCBwcm9wKSA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRPYmpQcm9wKGEsIHByb3ApLnRvTG93ZXJDYXNlKCkgOiB0aGlzLmdldE9ialByb3AoYSwgcHJvcCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJTb3J0T24gPSB0eXBlb2YgdGhpcy5nZXRPYmpQcm9wKGIsIHByb3ApID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE9ialByb3AoYiwgcHJvcCkudG9Mb3dlckNhc2UoKSA6IHRoaXMuZ2V0T2JqUHJvcChiLCBwcm9wKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWFTb3J0T24gJiYgYlNvcnRPbikgeyByZXR1cm4gLTE7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFTb3J0T24gJiYgIWJTb3J0T24pIHsgcmV0dXJuIDE7IH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhU29ydE9uICYmICFiU29ydE9uKSB7IHJldHVybiAwOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChhU29ydE9uID4gYlNvcnRPbikgeyByZXR1cm4gMTsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYVNvcnRPbiA8IGJTb3J0T24pIHsgcmV0dXJuIC0xOyB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPYmpQcm9wKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvcCA/IHByb3Auc3BsaXQoJy4nKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbCwgb2JqIHx8IHNlbGYpIDogbnVsbDtcbiAgICB9XG59XG4iLCI8dGhlYWQgI3RoZWFkUmVmICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuPC90aGVhZD5cbjx0Ym9keSAjdGJvZHlSZWYgKm5nSWY9XCJib2R5VGVtcGxhdGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93c1JlbmRlcmVkOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHlUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93LCBpbmRleDogaSArIChwYWdlICogcGFnZVNpemUpIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbXB0eU1lc3NhZ2VUZW1wbGF0ZSAmJiByb3dzUmVuZGVyZWQubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eU1lc3NhZ2VUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3Rib2R5PlxuPHRmb290ICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuPC90Zm9vdD5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
|
|
2
|
-
import { NgSelectOption } from '@angular/forms';
|
|
1
|
+
import { AfterViewInit, ElementRef, OnDestroy, Renderer2 } from '@angular/core';
|
|
2
|
+
import { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { EuiSelectControlValueAccessor } from './eui-select-control.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
@@ -12,9 +12,12 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
* @ngModule FormsModule
|
|
13
13
|
* @publicApi
|
|
14
14
|
*/
|
|
15
|
-
export declare class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy {
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
export declare class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, AfterViewInit {
|
|
16
|
+
private select;
|
|
17
|
+
private selectNative;
|
|
18
|
+
constructor(_element: ElementRef, _renderer: Renderer2, _select: EuiSelectControlValueAccessor, _selectNative: SelectControlValueAccessor);
|
|
19
|
+
ngAfterViewInit(): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EuiNgSelectOptionDirective, [null, null, { optional: true; host: true; }, { optional: true; host: true; }]>;
|
|
18
21
|
static ɵdir: i0.ɵɵDirectiveDeclaration<EuiNgSelectOptionDirective, "option, option[euiOption]", never, {}, {}, never, never, false>;
|
|
19
22
|
}
|
|
20
23
|
//# sourceMappingURL=eui-select-option.directive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-select-option.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-option.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAQ,SAAS,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"eui-select-option.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-option.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,UAAU,EAAQ,SAAS,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;;AAE/E;;;;;;;;;GASG;AAEH,qBACa,0BAA2B,SAAQ,cAAe,YAAW,SAAS,EAAE,aAAa;IAC9F,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,YAAY,CAA6B;gBAG7C,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,SAAS,EACA,OAAO,EAAE,6BAA6B,EACtC,aAAa,EAAE,0BAA0B;IAOjE,eAAe,IAAI,IAAI;yCAfd,0BAA0B;2CAA1B,0BAA0B;CAoBtC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ElementRef, OnChanges, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, ElementRef, Injector, OnChanges, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class EuiSelectComponent implements OnChanges {
|
|
4
|
+
export declare class EuiSelectComponent implements OnChanges, AfterViewInit {
|
|
5
5
|
private renderer;
|
|
6
|
+
private injector;
|
|
6
7
|
private elementRef;
|
|
7
8
|
private viewContainerRef;
|
|
8
9
|
placeholder: string;
|
|
@@ -10,16 +11,19 @@ export declare class EuiSelectComponent implements OnChanges {
|
|
|
10
11
|
set readonly(value: BooleanInput);
|
|
11
12
|
private _readonly;
|
|
12
13
|
private readonlyInput;
|
|
13
|
-
constructor(renderer: Renderer2, elementRef: ElementRef, viewContainerRef: ViewContainerRef);
|
|
14
|
+
constructor(renderer: Renderer2, injector: Injector, elementRef: ElementRef, viewContainerRef: ViewContainerRef);
|
|
14
15
|
ngOnChanges(changes: SimpleChanges): void;
|
|
16
|
+
ngAfterViewInit(): void;
|
|
15
17
|
/**
|
|
16
18
|
* set readonly value from selected options presented as comma separated string
|
|
19
|
+
*
|
|
17
20
|
* @param readonlyRef the input element to set the value
|
|
18
21
|
* @private
|
|
19
22
|
*/
|
|
20
23
|
private setReadonlyValue;
|
|
21
24
|
/**
|
|
22
25
|
* create readonly element
|
|
26
|
+
*
|
|
23
27
|
* @private
|
|
24
28
|
*/
|
|
25
29
|
private createReadonlyElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-select.component.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select.component.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"eui-select.component.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAGb,UAAU,EAEV,QAAQ,EAER,SAAS,EACT,SAAS,EACT,aAAa,EACb,gBAAgB,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;;AAK5E,qBAQa,kBAAmB,YAAW,SAAS,EAAE,aAAa;IAgB3D,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IAlBnB,WAAW,EAAE,MAAM,CAAC;IAE7B,IACW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,YAAY,EAEtC;IAED,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAsC;gBAG/C,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB;IAG9C,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBzC,eAAe,IAAI,IAAI;IAQvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;yCA1EpB,kBAAkB;2CAAlB,kBAAkB;CAgF9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList,
|
|
1
|
+
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
2
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
3
|
import { EuiTemplateDirective } from '@eui/components/directives';
|
|
4
4
|
import { BaseDirective } from '@eui/components/shared';
|
|
@@ -11,9 +11,8 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
export declare class EuiTableComponent extends BaseDirective implements AfterContentInit, OnInit, OnDestroy, AfterViewInit, OnChanges {
|
|
12
12
|
private euiTableSortService;
|
|
13
13
|
private cd;
|
|
14
|
-
private renderer;
|
|
15
|
-
private viewContainerRef;
|
|
16
14
|
private euiTableSelectableRowService;
|
|
15
|
+
private elementRef;
|
|
17
16
|
rows: any[];
|
|
18
17
|
paginator: EuiTablePaginatorComponent;
|
|
19
18
|
filter: EuiTableFilterComponent;
|
|
@@ -75,8 +74,9 @@ export declare class EuiTableComponent extends BaseDirective implements AfterCon
|
|
|
75
74
|
private destroy$;
|
|
76
75
|
private tableFeaturesHandlerSubscription;
|
|
77
76
|
private selectRowsFeatureHandlerSubscription;
|
|
77
|
+
private stickyFeatureHandlerIndex;
|
|
78
78
|
get cssClasses(): string;
|
|
79
|
-
constructor(euiTableSortService: EuiTableSortService, cd: ChangeDetectorRef,
|
|
79
|
+
constructor(euiTableSortService: EuiTableSortService, cd: ChangeDetectorRef, euiTableSelectableRowService: EuiTableSelectableRowService, elementRef: ElementRef);
|
|
80
80
|
ngOnChanges(c: SimpleChanges): void;
|
|
81
81
|
ngOnInit(): void;
|
|
82
82
|
ngAfterContentInit(): void;
|
|
@@ -88,6 +88,7 @@ export declare class EuiTableComponent extends BaseDirective implements AfterCon
|
|
|
88
88
|
selectRows(rows: any[]): void;
|
|
89
89
|
filterRows(filter: string, r: any[]): any[];
|
|
90
90
|
setSort(sort: (string | null), order: ('asc' | 'desc' | null)): void;
|
|
91
|
+
private stickyFeatureHandler;
|
|
91
92
|
private tableFeaturesHandler;
|
|
92
93
|
private selectRowsFeatureHandler;
|
|
93
94
|
private getProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-table.component.d.ts","sourceRoot":"","sources":["../../eui-table/eui-table.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA2B,iBAAiB,EAA8B,UAAU,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"eui-table.component.d.ts","sourceRoot":"","sources":["../../eui-table/eui-table.component.ts"],"names":[],"mappings":"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"}
|