@messaia/cdk 13.3.2-rc02 → 13.3.2-rc05
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/base/components/generic-list.component.mjs +18 -5
- package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +4 -2
- package/fesm2015/messaia-cdk.mjs +20 -8
- package/fesm2015/messaia-cdk.mjs.map +1 -1
- package/fesm2020/messaia-cdk.mjs +19 -5
- package/fesm2020/messaia-cdk.mjs.map +1 -1
- package/lib/base/components/generic-list.component.d.ts +12 -1
- package/package.json +1 -1
|
@@ -382,8 +382,7 @@ export class GenericListComponent extends BaseComponent {
|
|
|
382
382
|
icon: 'delete_forever',
|
|
383
383
|
iconClass: 'tc-orange-800',
|
|
384
384
|
event: () => this.deleteItems(),
|
|
385
|
-
disable: () => !this.
|
|
386
|
-
!this.dataSource?.selectionModel?.selected?.every(x => this.canDeleteItem(x))
|
|
385
|
+
disable: () => !this.canExecuteMultipleOperations((x) => this.canDeleteItem(x))
|
|
387
386
|
});
|
|
388
387
|
}
|
|
389
388
|
}
|
|
@@ -397,7 +396,7 @@ export class GenericListComponent extends BaseComponent {
|
|
|
397
396
|
name: 'select',
|
|
398
397
|
type: TableColumnType.Checkbox,
|
|
399
398
|
disable: (row) => !this.canSelectItem(row),
|
|
400
|
-
cellNgClass: (row) => this.
|
|
399
|
+
cellNgClass: (row) => this.selectRowNgClass(row)
|
|
401
400
|
});
|
|
402
401
|
}
|
|
403
402
|
/* Add duplicate menu */
|
|
@@ -462,7 +461,21 @@ export class GenericListComponent extends BaseComponent {
|
|
|
462
461
|
/**
|
|
463
462
|
* Returns NgClass object for select column
|
|
464
463
|
*/
|
|
465
|
-
|
|
464
|
+
selectRowNgClass(_) { }
|
|
465
|
+
/**
|
|
466
|
+
* Check if the there any selected row
|
|
467
|
+
* @returns
|
|
468
|
+
*/
|
|
469
|
+
hasSelectedRows() { return this.dataSource?.selectionModel?.hasValue(); }
|
|
470
|
+
;
|
|
471
|
+
/**
|
|
472
|
+
* Checks if the user can perform multiple operations (Like 'delete selected').
|
|
473
|
+
* @param action
|
|
474
|
+
* @returns
|
|
475
|
+
*/
|
|
476
|
+
canExecuteMultipleOperations(action = null) {
|
|
477
|
+
return this.hasSelectedRows() && (action ? this.dataSource?.selectionModel?.selected?.every(x => action(x)) : true);
|
|
478
|
+
}
|
|
466
479
|
/**
|
|
467
480
|
* Responds to user-initiated events
|
|
468
481
|
* @param event
|
|
@@ -517,4 +530,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
517
530
|
type: HostListener,
|
|
518
531
|
args: ['document:keydown', ['$event']]
|
|
519
532
|
}] } });
|
|
520
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Jhc2UvY29tcG9uZW50cy9nZW5lcmljLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpEOztHQUVHO0FBQ0gsV0FBVztBQUVYLE1BQU0sT0FBZ0Isb0JBQThGLFNBQVEsYUFBYTtJQWlJeEk7OztPQUdHO0lBQ0gsWUFDUSxPQUFp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QUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzFDO0lBQ0YsQ0FBQzs7dUpBeGxCb0Isb0JBQW9COzJJQUFwQixvQkFBb0IsaUpBUzlCLFlBQVkscUZBTVosT0FBTyw2RkE4Q1AsdUJBQXVCOzJGQTdEYixvQkFBb0I7a0JBRHpDLFNBQVM7K0tBV0YsU0FBUztzQkFEZixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2xDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQStDN0IsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMmZwRCxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGdldEVuZHBvaW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Z1bmN0aW9ucy9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHMnO1xyXG5pbXBvcnQgeyBBcHBTdG9yYWdlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2hlbHBlcnMvYXBwLXN0b3JhZ2UnO1xyXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9lbnRpdHknO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvc2VydmljZXMvZ2VuZXJpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmREeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi90YWJsZS9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuLi8uLi90YWJsZS9lbnVtcy90YWJsZS1jb2x1bW4tdHlwZSc7XHJcbmltcG9ydCB7IGdldFRhYmxlRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3RhYmxlL2Z1bmN0aW9ucy9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL3RhYmxlL21vZGVscy90YWJsZS1jb2x1bW4nO1xyXG5pbXBvcnQgeyBUYWJsZU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vdGFibGUvbW9kZWxzL3RhYmxlLW1lbnUtaXRlbSc7XHJcbmltcG9ydCB7IFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL3RhYmxlL3RhYmxlLmRhdGEtc291cmNlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEEgYmFzZSBsaXN0IGNvbXBvbmVudCBmb3IgY29tcG9uZW50cyB3aXRoIHBhZ2luYXRpb24gc3VwcG9ydFxyXG4gKi9cclxuLy8gQGR5bmFtaWNcclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHZW5lcmljTGlzdENvbXBvbmVudDxURW50aXR5IGV4dGVuZHMgSUVudGl0eSB8IGFueSwgVFNlcnZpY2UgZXh0ZW5kcyBHZW5lcmljU2VydmljZTxURW50aXR5Pj4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiBMaXN0IHRpdGxlXHJcblx0ICovXHJcblx0cHVibGljIHN1YnRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogQSByZWZlcmVuY2UgdG8gTWRQYWdpbmF0b3IgZWxlbWVudFxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHB1YmxpYyBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcblx0LyoqXHJcblx0ICogQSByZWZlcmVuY2UgdG8gTWRTb3J0IGF0dHJpYnV0ZVxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgc29ydDogTWF0U29ydDtcclxuXHJcblx0LyoqXHJcblx0ICogUGFnZSBzaXplIG9wdGlvbnNcclxuXHQgKi9cclxuXHRwdWJsaWMgcGFnZVNpemVPcHRpb25zOiBBcnJheTxudW1iZXI+ID0gWzUsIDEwLCAxNSwgMjAsIDMwLCA1MCwgMTAwLCAyMDBdO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmF2aWdhdGlvbnMgdG8gaW5jbHVkZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgaW5jbHVkZXM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcblx0LyoqXHJcblx0ICogR2V0IHBhcmFtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBxdWVyeTogYW55ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIERhdGEtdGFibGUgZGF0YXNvdXJjZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBkYXRhU291cmNlOiBUYWJsZURhdGFTb3VyY2U8VEVudGl0eSwgVFNlcnZpY2U+IHwgbnVsbDtcclxuXHJcblx0LyoqXHJcblx0ICogQ3VycmVudCBzb3J0IGNvbHVtblxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzb3J0QWN0aXZlOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEN1cnJlbnQgc29ydCBkaXJlY3Rpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgc29ydERpcmVjdGlvbjogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBBbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3MgdG8gY3JlYXRlIHRoZSB0YWJsZSBmb3JcclxuXHQgKi9cclxuXHRwdWJsaWMgY2xhc3NJbnN0YW5jZTogYW55O1xyXG5cclxuXHQvKipcclxuXHQgKiBjb2x1bW5zOiBUYWJsZUNvbHVtbltdIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjb2x1bW5zOiAoVGFibGVDb2x1bW4gfCBzdHJpbmcpW10gPSBbXTtcclxuXHJcblx0LyoqXHJcblx0ICogQSByZWZlcmVuY2UgdG8gTWRTb3J0IGF0dHJpYnV0ZVxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoVmREeW5hbWljVGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcblx0cHVibGljIGR5bmFtaWNUYWJsZTogVmREeW5hbWljVGFibGVDb21wb25lbnQ7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSB0eXBlIG9mIHRoZSBkaWFsb2cgZm9yIGNyZWF0aW9uXHJcblx0ICovXHJcblx0cHVibGljIGFkZERpYWxvZ1R5cGU6IGFueSA9IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNob3dzIHRoZSBjb2x1bW4gJ0NoZWNrYm94J1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZWxlY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgc2hvdyB0aGUgYnV0dG9uICdBZGQnXHJcblx0ICovXHJcblx0cHVibGljIGFkZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBJZiB0cnVlLCBzaG93IHRoZSBtZW51ICdFZGl0J1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBlZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIElmIHRydWUsIHNob3cgdGhlIG1lbnUgJ0RlbGV0ZSdcclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgc2hvdyB0aGUgbWVudSAnRG93bmxvYWQnXHJcblx0ICovXHJcblx0cHVibGljIGRvd25sb2FkYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBJZiB0cnVlLCBzaG93IHRoZSBtZW51ICdEdXBsaWNhdGUnXHJcblx0ICovXHJcblx0cHVibGljIGR1cGxpY2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogcm93TmdDbGFzczogRnVuY3Rpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgcm93TmdDbGFzczogRnVuY3Rpb24gPSBudWxsO1xyXG5cclxuXHQvKipcclxuXHQgKiByb3dDbGljazogRnVuY3Rpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgcm93Q2xpY2s6IEZ1bmN0aW9uID0gbnVsbDtcclxuXHJcblx0LyoqXHJcblx0ICogZGV0YWlsc1RlbXBsYXRlOiBGdW5jdGlvblxyXG5cdCAqL1xyXG5cdHB1YmxpYyBkZXRhaWxzVGVtcGxhdGU6IHN0cmluZyA9IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRvb2xiYXIgbWVudSBpdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b29sYmFyTWVudXM6IFRhYmxlTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBUYWJsZSByb3cgbWVudSBpdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhY3Rpb25NZW51czogVGFibGVNZW51SXRlbVtdID0gW107XHJcblxyXG5cdC8qKlxyXG5cdCAqIERhdGFMb2FkZWQgZXZlbnQgc3Vic2NyaXB0aW9uXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGRhdGFMb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gc2VydmljZSBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBzZXJ2aWNlOiBUU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcblx0XHRwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cdFx0cHVibGljIGNsYXNzVHlwZT86IHsgbmV3KCk6IFRFbnRpdHkgfVxyXG5cdCkge1xyXG5cdFx0c3VwZXIocm91dGUsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBcclxuXHQgKiBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuXHRcdC8qIFJlYWQgc29tZSBwYXJhbXMgZnJvbSByb3V0aW5nIGRhdGEgKi9cclxuXHRcdHRoaXMucm91dGUuZGF0YS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG5cdFx0XHRPYmplY3QuYXNzaWduKHRoaXMucXVlcnksIGRhdGEucXVlcnkgfHwge30pO1xyXG5cdFx0XHR0aGlzLmNsYXNzVHlwZSB8fD0gZGF0YS5jbGFzc1R5cGU7XHJcblxyXG5cdFx0XHRpZiAoZGF0YS5jb2x1bW5zKSB7XHJcblx0XHRcdFx0dGhpcy5jb2x1bW5zID0gWy4uLihkYXRhLmNvbHVtbnMgfHwgW10pXTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKGRhdGEuZW5kcG9pbnQpIHtcclxuXHRcdFx0XHR0aGlzLnNlcnZpY2UuZW5kcG9pbnQgPSBkYXRhLmVuZHBvaW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoZGF0YS5pbmNsdWRlcykge1xyXG5cdFx0XHRcdHRoaXMuaW5jbHVkZXMgPSBkYXRhLmluY2x1ZGVzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmhhc093blByb3BlcnR5KHgpICYmIHggIT0gJ2NvbHVtbnMnKSB7XHJcblx0XHRcdFx0XHR0aGlzW3hdID0gZGF0YVt4XTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0LyogR2V0IGNvbHVtbnMgZnJvbSBjbGFzcyAqL1xyXG5cdFx0aWYgKHRoaXMuY2xhc3NUeXBlKSB7XHJcblx0XHRcdHRoaXMuY2xhc3NJbnN0YW5jZSA9IG5ldyB0aGlzLmNsYXNzVHlwZSgpO1xyXG5cclxuXHRcdFx0LyogR2V0IHRhYmxlIGRlZmluaXRpb24gKi9cclxuXHRcdFx0dmFyIHRhYmxlRGVmaW5pdGlvbiA9IGdldFRhYmxlRGVmaW5pdGlvbih0aGlzLmNsYXNzSW5zdGFuY2UpO1xyXG5cclxuXHRcdFx0T2JqZWN0LmtleXModGFibGVEZWZpbml0aW9uIHx8IHt9KS5mb3JFYWNoKHggPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmhhc093blByb3BlcnR5KHgpKSB7XHJcblx0XHRcdFx0XHR0aGlzW3hdID0gdGFibGVEZWZpbml0aW9uW3hdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHQvKiBHZXQgZW5kcG9pbnQgKi9cclxuXHRcdFx0Y29uc3QgZW5kcG9pbnQgPSAoZ2V0RW5kcG9pbnQodGhpcy5jbGFzc0luc3RhbmNlKSB8fCB0YWJsZURlZmluaXRpb24/LmVuZHBvaW50KTtcclxuXHRcdFx0aWYgKGVuZHBvaW50KSB7XHJcblx0XHRcdFx0dGhpcy5zZXJ2aWNlLmVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8qIFNvcnQgdGhlIGNvbHVtbnMgYnkgaW5kZXggKi9cclxuXHRcdFx0VXRpbHMuc29ydEFycmF5KHRhYmxlRGVmaW5pdGlvbi5jb2x1bW5zLCAnaW5kZXgnKTtcclxuXHJcblx0XHRcdC8qIFNvcnQgdGhlIGNvbHVtbnMgYnkgaW5kZXggKi9cclxuXHRcdFx0dGhpcy5jb2x1bW5zID0gWy4uLnRhYmxlRGVmaW5pdGlvbi5jb2x1bW5zXTtcclxuXHJcblx0XHRcdC8qIEhhbmRsZSBldmVudHMgKi9cclxuXHRcdFx0dGhpcy5jb2x1bW5zPy5mb3JFYWNoKCh4OiBUYWJsZUNvbHVtbikgPT4ge1xyXG5cdFx0XHRcdGlmICh0eXBlb2YgeC5ldmVudCA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0XHRcdGxldCBldmVudE5hbWU6IHN0cmluZyA9ICgoeC5ldmVudCkgYXMgc3RyaW5nKTtcclxuXHRcdFx0XHRcdHguZXZlbnQgPSAocm93OiBhbnkpID0+ICh4LmV2ZW50QXJncyA/IHRoaXNbZXZlbnROYW1lXShyb3csIHguZXZlbnRBcmdzKSA6IHRoaXNbZXZlbnROYW1lXShyb3cpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0LyogSGlkZSBjb2x1bW5zIHVzaW5nIHJvdXRlIGRhdGEgKi9cclxuXHRcdFx0dGhpcy5yb3V0ZS5kYXRhLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5jb2x1bW5zID0gdGhpcy5jb2x1bW5zPy5maWx0ZXIoKHg6IFRhYmxlQ29sdW1uKSA9PiAheC5oaWRlIHx8ICF4LmhpZGUoZGF0YSkpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBBZGQgbGlzdCBtbmV1IGl0ZW1zICovXHJcblx0XHR0aGlzLmFkZFRvb2xiYXJNZW51SXRlbXMoKTtcclxuXHJcblx0XHRpZiAodGhpcy5keW5hbWljVGFibGUpIHtcclxuXHRcdFx0LyogQWRkIG1lbnUgaXRlbXMgZm9yIGVhY2ggcm93ICovXHJcblx0XHRcdHRoaXMuYWRkUm93TWVudUl0ZW1zKCk7XHJcblxyXG5cdFx0XHQvKiBDaGVjayBpZiB0aGUgYWN0aW9uIGNvbHVtbiBhbHJlYWR5IGV4aXN0cyAqL1xyXG5cdFx0XHR2YXIgYWN0aW9uQ29sbXVuID0gKHRoaXMuY29sdW1ucyBhcyBUYWJsZUNvbHVtbltdKT8uZmluZCh4ID0+IHgubmFtZSA9PSAnYWN0aW9uJyk7XHJcblxyXG5cdFx0XHQvKiBJZiBzbywganVzdCBhZGQgdGhlIG1lbnUgaXRlbXMgdG8gaXQgKi9cclxuXHRcdFx0aWYgKGFjdGlvbkNvbG11biAhPSBudWxsKSB7XHJcblx0XHRcdFx0YWN0aW9uQ29sbXVuLmFjdGlvbk1lbnVzID0gYWN0aW9uQ29sbXVuLmFjdGlvbk1lbnVzIHx8IFtdO1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uTWVudXMuZm9yRWFjaCh5ID0+IGFjdGlvbkNvbG11bi5hY3Rpb25NZW51cy51bnNoaWZ0KHkpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LyogT3RoZXJ3aXNlIGFkZCBhIG5ldyBvbmUgKi9cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5jb2x1bW5zLnB1c2gobmV3IFRhYmxlQ29sdW1uKHtcclxuXHRcdFx0XHRcdGluZGV4OiAyMDAwLFxyXG5cdFx0XHRcdFx0bmFtZTogJ2FjdGlvbicsXHJcblx0XHRcdFx0XHR0eXBlOiBUYWJsZUNvbHVtblR5cGUuQWN0aW9uLFxyXG5cdFx0XHRcdFx0ZGlzYWJsZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRhY3Rpb25NZW51czogdGhpcy5hY3Rpb25NZW51c1xyXG5cdFx0XHRcdH0pKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFNldCBxdWVyeSBwYXJhbXMgaW50byBxdWVyeSBvYmplY3QgKi9cclxuXHRcdHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHggPT4gT2JqZWN0LmFzc2lnbih0aGlzLnF1ZXJ5LCB4IHx8IHt9LCB7IHJldHVyblVybDogbnVsbCB9KSk7XHJcblxyXG5cdFx0LyogSW5pdGlsaWFsaXplIHRoZSBkYXRhIHNvdXJjZSB3aXRoIHRoZSBjdXJyZW50IHNlcnZpY2UsIHBhZ2luYXRvciBhbmQgc29ydCAqL1xyXG5cdFx0dGhpcy5zb3J0ID0gdGhpcy5keW5hbWljVGFibGU/Lm1hdFNvcnQgfHwgKHRoaXMuc29ydCA/IHRoaXMuc29ydCA6IG5ldyBNYXRTb3J0KCkpO1xyXG5cdFx0dGhpcy5kYXRhU291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZTxURW50aXR5LCBUU2VydmljZT4odGhpcy5zZXJ2aWNlISwgdGhpcy5wYWdpbmF0b3IsIHRoaXMuc29ydCk7XHJcblxyXG5cdFx0LyogU2V0IGluY2x1ZGVzICovXHJcblx0XHR0aGlzLmRhdGFTb3VyY2UuaW5jbHVkZXMgPSB0aGlzLmluY2x1ZGVzO1xyXG5cclxuXHRcdC8qIExvYWQgcXVlcnkgZnJvbSBicm93c2VyIHN0b3JhZ2UgKi9cclxuXHRcdHZhciBzdG9ycmVkUXVlcnkgPSBBcHBTdG9yYWdlLmdldE9iamVjdChgJHt0aGlzLmFwcFNldHRpbmcucHJvamVjdE5hbWV9LiR7dGhpcy5yb3V0ZXIudXJsfWApO1xyXG5cdFx0aWYgKHN0b3JyZWRRdWVyeSkge1xyXG5cdFx0XHR0aGlzLmRhdGFTb3VyY2UuZmllbGRGaWx0ZXJzID0gdGhpcy5jbGVhbihzdG9ycmVkUXVlcnkuZmllbGRGaWx0ZXJzKSB8fCB7fTtcclxuXHRcdFx0dGhpcy5zb3J0QWN0aXZlID0gc3RvcnJlZFF1ZXJ5LnNvcnRCeTtcclxuXHRcdFx0dGhpcy5zb3J0RGlyZWN0aW9uID0gc3RvcnJlZFF1ZXJ5LnNvcnREaXJlY3Rpb247XHJcblx0XHRcdHRoaXMuZGF0YVNvdXJjZS5wYWdlU2l6ZSA9IHN0b3JyZWRRdWVyeS5wYWdlU2l6ZTtcclxuXHRcdFx0dGhpcy5kYXRhU291cmNlLnBhZ2VJbmRleCA9IHN0b3JyZWRRdWVyeS5wYWdlSW5kZXg7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIHNvbWUgZmlsdGVyIGZyb20gcm91dGVyICovXHJcblx0XHRpZiAodGhpcy5xdWVyeSkge1xyXG5cdFx0XHR0aGlzLmRhdGFTb3VyY2Uuc3RhdGljRmllbGRGaWx0ZXJzID0gdGhpcy5xdWVyeTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBSZW1lbWJlciB0aGUgZmlsdGVycyAqL1xyXG5cdFx0dGhpcy5kYXRhTG9hZGVkU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhU291cmNlLm9uRGF0YUxvYWRlZC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRpZiAocmVzdWx0KSB7XHJcblx0XHRcdFx0QXBwU3RvcmFnZS5zZXRPYmplY3QoYCR7dGhpcy5hcHBTZXR0aW5nLnByb2plY3ROYW1lfS4ke3RoaXMucm91dGVyLnVybH1gLCB7XHJcblx0XHRcdFx0XHRmaWVsZEZpbHRlcnM6IHRoaXMuZGF0YVNvdXJjZS5maWVsZEZpbHRlcnMsXHJcblx0XHRcdFx0XHRzb3J0Qnk6IHRoaXMuc29ydC5hY3RpdmUsXHJcblx0XHRcdFx0XHRzb3J0RGlyZWN0aW9uOiB0aGlzLnNvcnQuZGlyZWN0aW9uLFxyXG5cdFx0XHRcdFx0cGFnZVNpemU6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG5cdFx0XHRcdFx0cGFnZUluZGV4OiB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVsb2FkcyBpdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBsb2FkTGlzdChyZXNldFNlbGVjdGlvbjogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGF0YVNvdXJjZS5yZWxvYWQocmVzZXRTZWxlY3Rpb24pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2VhcmNoXHJcblx0ICogQHBhcmFtIGZpbHRlciBcclxuXHQgKi9cclxuXHRwdWJsaWMgc2VhcmNoKGZpbHRlcjogc3RyaW5nKTogdm9pZCB7XHJcblx0XHR0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTmF2aWdhdGVzIHRvIHRoZSBhZGQgcGFnZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuYWRkRGlhbG9nVHlwZSkge1xyXG5cdFx0XHR0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLmFkZERpYWxvZ1R5cGUsIHsgd2lkdGg6ICc2NTBweCcsIGRhdGE6IHRoaXMuY2xhc3NJbnN0YW5jZSB9KVxyXG5cdFx0XHRcdC5hZnRlckNsb3NlZCgpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmxvYWRMaXN0KGZhbHNlKSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5yb3V0ZXIudXJsfS9hZGRgXSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBOYXZpZ2F0ZXMgdG8gdGhlIGVkaXQgcGFnZS5cclxuXHQgKiBAcGFyYW0gaXRlbSBUaGUgaWQgb2YgdGhlIGl0ZW1cclxuXHQgKi9cclxuXHRwdWJsaWMgZWRpdChpdGVtOiBURW50aXR5KTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuaXNUZXh0U2VsZWN0ZWQoKSkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5yb3V0ZXIudXJsfS9lZGl0LyR7KGl0ZW0gYXMgSUVudGl0eSkuaWR9YF0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGF0Y2hlcyB0aGUgZW50aXR5XHJcblx0ICogUGF0Y2hlcyB0aGUgZW50aXR5XHJcblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50aXR5XHJcblx0ICogQHBhcmFtIGZpZWxkcyBUaGUgZmllbGRzIHRvIHBhdGNoXHJcblx0ICogQHBhcmFtIHZhbHVlIFRoZSAob3B0aW9uYWwpIHZhbHVlIHRvIGNoYW5nZVxyXG5cdCAqIEBwYXJhbSBpbmNsdWRlcyBJbmNsdWRlcyBzb21lIG5hdmlnYXRpb25zXHJcblx0ICovXHJcblx0cHVibGljIHBhdGNoKGlkOiBudW1iZXIsIGZpZWxkczogQXJyYXk8c3RyaW5nPiwgdmFsdWU6IGFueSwgaW5jbHVkZXM6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5fcGF0Y2goaWQsIGZpZWxkcywgdmFsdWUsIGluY2x1ZGVzLCBfID0+IHRoaXMubG9hZExpc3QoKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQYXRjaGVzIHRoZSBlbnRpdHlcclxuXHQgKiBAcGFyYW0gaWQgVGhlIElEIG9mIHRoZSBlbnRpdHlcclxuXHQgKiBAcGFyYW0gZmllbGRzIFRoZSBmaWVsZHMgdG8gcGF0Y2hcclxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIChvcHRpb25hbCkgdmFsdWUgdG8gY2hhbmdlXHJcblx0ICogQHBhcmFtIGluY2x1ZGVzIEluY2x1ZGVzIHNvbWUgbmF2aWdhdGlvbnNcclxuXHQgKiBAcGFyYW0gc3VjY2Vzc0NhbGxiYWNrIEEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZSBjYWxsZWQgb24gc3VjY2Vzc1xyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfcGF0Y2goaWQ6IG51bWJlciwgZmllbGRzOiBBcnJheTxzdHJpbmc+LCB2YWx1ZTogYW55LCBpbmNsdWRlczogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IEZ1bmN0aW9uID0gbnVsbCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pc1NhdmluZyA9IHRydWU7XHJcblxyXG5cdFx0LyogR2V0IGVudGl0eSBieSBJRCAqL1xyXG5cdFx0bGV0IGVudGl0eSA9IHRoaXMuZGF0YVNvdXJjZS5pdGVtcz8uZmlsdGVyKHggPT4gKDxhbnk+eCkuaWQgPT09IGlkKVswXTtcclxuXHRcdGlmIChlbnRpdHkpIHtcclxuXHRcdFx0LyogQnVpbGQgcGF0Y2ggbWV0aG9kcyAqL1xyXG5cdFx0XHRsZXQgcGF0Y2hlcyA9IGZpZWxkcy5tYXAoeCA9PiB7IHJldHVybiB7IG9wOiAncmVwbGFjZScsIHBhdGg6IGAvJHt4fWAsIHZhbHVlOiB2YWx1ZSAhPSB1bmRlZmluZWQgPyB2YWx1ZSA6IGVudGl0eVt4XSB9OyB9KTtcclxuXHJcblx0XHRcdC8qIFNlbmQgcmVxdWVzdCAqL1xyXG5cdFx0XHR0aGlzLnNlcnZpY2VcclxuXHRcdFx0XHQucGF0Y2goaWQsIHBhdGNoZXMsIG51bGwsIHsgaGVhZGVyczogeyAnU2hvdy1NZXNzYWdlJzogJ1llcycgfSwgcGFyYW1zOiBpbmNsdWRlcyA/IFV0aWxzLnRvSHR0cFBhcmFtcyh7IGluY2x1ZGVzOiBpbmNsdWRlcyB9KSA6IG51bGwgfSlcclxuXHRcdFx0XHQuc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1NhdmluZyA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdC8qIEludm9rZSBjYWxsYmFjayBmdW5jdGlvbiwgaWYgYW55ICovXHJcblx0XHRcdFx0XHRpZiAoc3VjY2Vzc0NhbGxiYWNrKSB7XHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3NDYWxsYmFjayh4KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fSwgXyA9PiB0aGlzLmlzU2F2aW5nID0gZmFsc2UpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGVsZXRlcyBhbiBpdGVtIGZyb20gdGhlIGRhdGFiYXNlLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBkZWxldGVJdGVtKGl0ZW06IFRFbnRpdHkpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvd0RlbGV0ZUl0ZW1EaWFsb2coKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChhY2NlcHQ6IGJvb2xlYW4pID0+IHtcclxuXHRcdFx0XHRpZiAoYWNjZXB0KSB7XHJcblx0XHRcdFx0XHR0aGlzLnNlcnZpY2UuZGVsZXRlKChpdGVtIGFzIElFbnRpdHkpLmlkKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdFx0XHRuZXh0OiAoXykgPT4gdGhpcy5sb2FkTGlzdCh0cnVlKSxcclxuXHRcdFx0XHRcdFx0ZXJyb3I6IChlcnJvcikgPT4gdGhpcy5sb2coZXJyb3IpXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGVsZXRlcyBhbiBpdGVtIGZyb20gdGhlIGRhdGFiYXNlLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBkZWxldGVJdGVtcygpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmRhdGFTb3VyY2Uuc2VsZWN0aW9uTW9kZWwuaGFzVmFsdWUoKSkge1xyXG5cdFx0XHR0aGlzLnNob3dEZWxldGVJdGVtc0RpYWxvZygpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgoYWNjZXB0OiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoYWNjZXB0KSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2VydmljZS5kZWxldGVMaXN0KHRoaXMuZGF0YVNvdXJjZS5nZXRTZWxlY3RlZElkcygpKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdFx0XHRcdG5leHQ6IChfKSA9PiB0aGlzLmxvYWRMaXN0KHRydWUpLFxyXG5cdFx0XHRcdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHRoaXMubG9nKGVycm9yKVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRvZ2dsZXMgYSBwcm9wZXJ0eVxyXG5cdCAqIEBwYXJhbSBpdGVtIFxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0b2dnbGUoaXRlbTogVEVudGl0eSwgcHJvcGVydHk6IHN0cmluZyA9ICdlbmFibGVkJyk6IHZvaWQge1xyXG5cdFx0dGhpcy5zZXJ2aWNlXHJcblx0XHRcdC5wYXRjaCgoPGFueT5pdGVtKS5pZCwgW3sgb3A6ICdyZXBsYWNlJywgcGF0aDogYC8ke3Byb3BlcnR5fWAsIHZhbHVlOiBpdGVtW3Byb3BlcnR5XSB9XSlcclxuXHRcdFx0LnN1YnNjcmliZSh4ID0+IHRoaXMubG9hZExpc3QoKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVcGxvYWRzIHRhcm5zZmVycyBjc3YgZmlsZXNcclxuXHQgKiBAcGFyYW0gZmlsZSBUaGUgZmlsZSB0byB1cGxvYWRcclxuXHQgKiBAcGFyYW0gcmVsb2FkIElmIHRydWUsIHJlbG9hZCBpdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyB1cGxvYWQoZmlsZTogRmlsZSwgcmVsb2FkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG5cdFx0dGhpcy5zZXJ2aWNlLnVwbG9hZChmaWxlKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuXHRcdFx0XHRyZXNwb25zZSA9IHJlc3BvbnNlLmpzb24oKTtcclxuXHJcblx0XHRcdFx0LyogUmVsb2FkIGxpc3QgKi9cclxuXHRcdFx0XHRpZiAocmVsb2FkKSB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRMaXN0KCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LCBlcnJvcjogKGVycm9yKSA9PiB0aGlzLmxvZyhlcnJvcilcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRG93bmxvYWRzIGEgZG9jdW1lbnRcclxuXHQgKiBAcGFyYW0gaXRlbSBcclxuXHQgKi9cclxuXHRwdWJsaWMgZG93bmxvYWQoaXRlbTogVEVudGl0eSwgcGF0aDogc3RyaW5nID0gJ2Rvd25sb2FkJyk6IHZvaWQge1xyXG5cdFx0dGhpcy5zZXJ2aWNlLmRvd25sb2FkKGAke3BhdGh9LyR7KGl0ZW0gYXMgSUVudGl0eSkuaWR9YCkuc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRzYXZlQXMobmV3IEJsb2IoW3guZGF0YV0sIHt9KSwgeC5maWxlbmFtZSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIER1cGxpY2F0ZXMgYSByZWNvcmRcclxuXHQgKiBAcGFyYW0gaXRlbSBcclxuXHQgKi9cclxuXHRwdWJsaWMgZHVwbGljYXRlKGl0ZW06IFRFbnRpdHkpIHtcclxuXHRcdHRoaXMuc2VydmljZS5kdXBsaWNhdGUoKGl0ZW0gYXMgSUVudGl0eSkuaWQpLnN1YnNjcmliZShfID0+IHRoaXMubG9hZExpc3QoKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIGluZm9ybXMgdGhlIHRhYmxlIGhvdyB0byB1bmlxdWVseSBpZGVudGlmeSByb3dzIHRvIFxyXG5cdCAqIHRyYWNrIGhvdyB0aGUgZGF0YSBjaGFuZ2VzIHdpdGggZWFjaCB1cGRhdGUuXHJcblx0ICogQHBhcmFtIGluZGV4IFxyXG5cdCAqIEBwYXJhbSBpdGVtIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0cmFja0J5SWQoXzogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuXHRcdHJldHVybiBpdGVtLmlkO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSW5jbHVkZXMgc29tZSBuYXZpZ2F0aW9uc1xyXG5cdCAqIEBwYXJhbSBpbmMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGluY2x1ZGUoLi4uaW5jOiBzdHJpbmdbXSkge1xyXG5cdFx0aW5jPy5mb3JFYWNoKHggPT4gdGhpcy5pbmNsdWRlcy5wdXNoKHgpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFkZCB0b29sYmFyIG1lbnUgaXRlbXNcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgYWRkVG9vbGJhck1lbnVJdGVtcygpOiB2b2lkIHtcclxuXHRcdC8qIEFkZCAnRGVsZXRlIHNlbGVjdGVkJyBtZW51IGl0ZW0gKi9cclxuXHRcdGlmICh0aGlzLmRlbGV0YWJsZSkge1xyXG5cdFx0XHR0aGlzLnRvb2xiYXJNZW51cy5wdXNoKHtcclxuXHRcdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGRlbGV0ZVNlbGVjdGVkOkRlbGV0ZSBzZWxlY3RlZGAsXHJcblx0XHRcdFx0aWNvbjogJ2RlbGV0ZV9mb3JldmVyJyxcclxuXHRcdFx0XHRpY29uQ2xhc3M6ICd0Yy1vcmFuZ2UtODAwJyxcclxuXHRcdFx0XHRldmVudDogKCkgPT4gdGhpcy5kZWxldGVJdGVtcygpLFxyXG5cdFx0XHRcdGRpc2FibGU6ICgpID0+XHJcblx0XHRcdFx0XHQhdGhpcy5kYXRhU291cmNlPy5zZWxlY3Rpb25Nb2RlbD8uaGFzVmFsdWUoKSB8fFxyXG5cdFx0XHRcdFx0IXRoaXMuZGF0YVNvdXJjZT8uc2VsZWN0aW9uTW9kZWw/LnNlbGVjdGVkPy5ldmVyeSh4ID0+IHRoaXMuY2FuRGVsZXRlSXRlbSh4KSlcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBBZGQgcm93IG1lbnUgaXRlbXNcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgYWRkUm93TWVudUl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0LyogQWRkIGNoZWNrYm94IGNvbHVtbiAqL1xyXG5cdFx0aWYgKHRoaXMuc2VsZWN0YWJsZSkge1xyXG5cdFx0XHR0aGlzLmNvbHVtbnMudW5zaGlmdCh7XHJcblx0XHRcdFx0bmFtZTogJ3NlbGVjdCcsXHJcblx0XHRcdFx0dHlwZTogVGFibGVDb2x1bW5UeXBlLkNoZWNrYm94LFxyXG5cdFx0XHRcdGRpc2FibGU6IChyb3c6IFRFbnRpdHkpID0+ICF0aGlzLmNhblNlbGVjdEl0ZW0ocm93KSxcclxuXHRcdFx0XHRjZWxsTmdDbGFzczogKHJvdzogVEVudGl0eSkgPT4gdGhpcy5zZWxlY3RDb2x1bW5OZ0NsYXNzKHJvdylcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIGR1cGxpY2F0ZSBtZW51ICovXHJcblx0XHRpZiAodGhpcy5kdXBsaWNhYmxlKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uTWVudXMudW5zaGlmdCh7XHJcblx0XHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBkdXBsaWNhdGU6RHVwbGljYXRlYCxcclxuXHRcdFx0XHRpY29uOiAnZmlsZV9jb3B5JyxcclxuXHRcdFx0XHRldmVudDogKHJvdzogYW55KSA9PiB0aGlzLmR1cGxpY2F0ZShyb3cpLFxyXG5cdFx0XHRcdGhpZGU6IChyb3c6IFRFbnRpdHkpID0+ICF0aGlzLmNhbkR1cGxpY2F0ZUl0ZW0ocm93KVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBBZGQgZG93bmxvYWQgbWVudSAqL1xyXG5cdFx0aWYgKHRoaXMuZG93bmxvYWRhYmxlKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uTWVudXMudW5zaGlmdCh7XHJcblx0XHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBkb3dubG9hZDpEb3dubG9hZGAsXHJcblx0XHRcdFx0aWNvbjogJ2ZpbGVfZG93bmxvYWQnLFxyXG5cdFx0XHRcdGV2ZW50OiAocm93OiBhbnkpID0+IHRoaXMuZG93bmxvYWQocm93KSxcclxuXHRcdFx0XHRoaWRlOiAocm93OiBURW50aXR5KSA9PiAhdGhpcy5jYW5Eb3dubG9hZEl0ZW0ocm93KVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBBZGQgZGVsZXRlIG1lbnUgKi9cclxuXHRcdGlmICh0aGlzLmRlbGV0YWJsZSkge1xyXG5cdFx0XHR0aGlzLmFjdGlvbk1lbnVzLnVuc2hpZnQoe1xyXG5cdFx0XHRcdHRpdGxlOiAkbG9jYWxpemVgOkBAZGVsZXRlOkRlbGV0ZWAsXHJcblx0XHRcdFx0aWNvbjogJ2RlbGV0ZV9mb3JldmVyJyxcclxuXHRcdFx0XHRpY29uQ2xhc3M6ICd0Yy1vcmFuZ2UtODAwJyxcclxuXHRcdFx0XHRldmVudDogKHJvdzogYW55KSA9PiB0aGlzLmRlbGV0ZUl0ZW0ocm93KSxcclxuXHRcdFx0XHRoaWRlOiAocm93OiBURW50aXR5KSA9PiAhdGhpcy5jYW5EZWxldGVJdGVtKHJvdylcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIGVkaXQgbWVudSAqL1xyXG5cdFx0aWYgKHRoaXMuZWRpdGFibGUpIHtcclxuXHRcdFx0dGhpcy5hY3Rpb25NZW51cy51bnNoaWZ0KHtcclxuXHRcdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGVkaXQ6RWRpdGAsXHJcblx0XHRcdFx0aWNvbjogJ2VkaXRfbm90ZScsXHJcblx0XHRcdFx0aWNvbkNsYXNzOiAndGMtYmx1ZS00MDAnLFxyXG5cdFx0XHRcdGV2ZW50OiAocm93OiBhbnkpID0+IHRoaXMuZWRpdChyb3cpLFxyXG5cdFx0XHRcdGhpZGU6IChyb3c6IFRFbnRpdHkpID0+ICF0aGlzLmNhbkVkaXRJdGVtKHJvdylcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiB0aGUgaXRlbSBpcyBzZWxlY3RhYmxlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGNhblNlbGVjdEl0ZW0oZW50aXR5OiBURW50aXR5KTogYm9vbGVhbiB7IHJldHVybiAhZW50aXR5Py5oYXNPd25Qcm9wZXJ0eSgnc2VsZWN0YWJsZScpIHx8IGVudGl0eVsnc2VsZWN0YWJsZSddOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIHRoZSBpdGVtIGlzIGRlbGV0YWJsZVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBjYW5EZWxldGVJdGVtKGVudGl0eTogVEVudGl0eSk6IGJvb2xlYW4geyByZXR1cm4gIWVudGl0eT8uaGFzT3duUHJvcGVydHkoJ2RlbGV0YWJsZScpIHx8IGVudGl0eVsnZGVsZXRhYmxlJ107IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2sgaWYgdGhlIGl0ZW0gaXMgZWRpdGFibGVcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgY2FuRWRpdEl0ZW0oZW50aXR5OiBURW50aXR5KTogYm9vbGVhbiB7IHJldHVybiAhZW50aXR5Py5oYXNPd25Qcm9wZXJ0eSgnZWRpdGFibGUnKSB8fCBlbnRpdHlbJ2VkaXRhYmxlJ107IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2sgaWYgdGhlIGl0ZW0gaXMgZG93bmxvYWRhYmxlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGNhbkRvd25sb2FkSXRlbShlbnRpdHk6IFRFbnRpdHkpOiBib29sZWFuIHsgcmV0dXJuICFlbnRpdHk/Lmhhc093blByb3BlcnR5KCdkb3dubG9hZGFibGUnKSB8fCBlbnRpdHlbJ2Rvd25sb2FkYWJsZSddOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIHRoZSBpdGVtIGlzIGR1cGxpY2FibGVcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgY2FuRHVwbGljYXRlSXRlbShlbnRpdHk6IFRFbnRpdHkpOiBib29sZWFuIHsgcmV0dXJuICFlbnRpdHk/Lmhhc093blByb3BlcnR5KCdkdXBsaWNhYmxlJykgfHwgZW50aXR5WydkdXBsaWNhYmxlJ107IH1cclxuXHJcblx0LyoqXHJcblx0ICogUmV0dXJucyBOZ0NsYXNzIG9iamVjdCBmb3Igc2VsZWN0IGNvbHVtblxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBzZWxlY3RDb2x1bW5OZ0NsYXNzKF86IFRFbnRpdHkpOiBhbnkgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlc3BvbmRzIHRvIHVzZXItaW5pdGlhdGVkIGV2ZW50c1xyXG5cdCAqIEBwYXJhbSBldmVudCBcclxuXHQgKi9cclxuXHRASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuXHRoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcblx0XHRpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7XHJcblx0XHRcdHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcblx0XHRcdFx0LyogTmF2aWdhdGUgdG8gYWRkIHBhZ2UgKi9cclxuXHRcdFx0XHRjYXNlICdhJzpcclxuXHRcdFx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0XHR0aGlzLmFkZCgpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcblx0XHRcdFx0LyogTmF2aWdhdGUgdG8gcHJldmlvdXMgcGFnZSAqL1xyXG5cdFx0XHRcdGNhc2UgJ1BhZ2VVcCc6XHJcblx0XHRcdFx0XHR0aGlzLnBhZ2luYXRvci5wcmV2aW91c1BhZ2UoKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0XHQvKiBOYXZpZ2F0ZSB0byBuZXh0IHBhZ2UgKi9cclxuXHRcdFx0XHRjYXNlICdQYWdlRG93bic6XHJcblx0XHRcdFx0XHR0aGlzLnBhZ2luYXRvci5uZXh0UGFnZSgpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgY2FsbGJhY2sgdXNlZCBmb3IgYW55IGN1c3RvbSBjbGVhbnVwIHRoYXQgbmVlZHMgdG8gb2NjdXIgXHJcblx0ICogd2hlbiB0aGUgaW5zdGFuY2UgaXMgZGVzdHJveWVkLlxyXG5cdCAqL1xyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuZGF0YUxvYWRlZFN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHR0aGlzLmRhdGFMb2FkZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iXX0=
|
|
533
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Jhc2UvY29tcG9uZW50cy9nZW5lcmljLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpEOztHQUVHO0FBQ0gsV0FBVztBQUVYLE1BQU0sT0FBZ0Isb0JBQThGLFNBQVEsYUFBYTtJQWlJeEk7OztPQUdHO0lBQ0gsWUFDUSxPQUFp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b0JBQ1gsTUFBTTthQUNQO1NBQ0Q7YUFBTTtZQUNOLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDbEIsK0JBQStCO2dCQUMvQixLQUFLLFFBQVE7b0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDOUIsTUFBTTtnQkFFUCwyQkFBMkI7Z0JBQzNCLEtBQUssVUFBVTtvQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUMxQixNQUFNO2FBQ1A7U0FDRDtJQUNGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzFDO0lBQ0YsQ0FBQzs7dUpBcm1Cb0Isb0JBQW9COzJJQUFwQixvQkFBb0IsaUpBUzlCLFlBQVkscUZBTVosT0FBTyw2RkE4Q1AsdUJBQXVCOzJGQTdEYixvQkFBb0I7a0JBRHpDLFNBQVM7K0tBV0YsU0FBUztzQkFEZixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2xDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQStDN0IsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBd2dCcEQsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBnZXRFbmRwb2ludCB9IGZyb20gJy4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi9jb21tb24vZnVuY3Rpb25zL3V0aWxzJztcclxuaW1wb3J0IHsgQXBwU3RvcmFnZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9oZWxwZXJzL2FwcC1zdG9yYWdlJztcclxuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZW50aXR5JztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL3NlcnZpY2VzL2dlbmVyaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFZkRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGFibGUvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vdGFibGUvZW51bXMvdGFibGUtY29sdW1uLXR5cGUnO1xyXG5pbXBvcnQgeyBnZXRUYWJsZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi90YWJsZS9mdW5jdGlvbnMvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi90YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uJztcclxuaW1wb3J0IHsgVGFibGVNZW51SXRlbSB9IGZyb20gJy4uLy4uL3RhYmxlL21vZGVscy90YWJsZS1tZW51LWl0ZW0nO1xyXG5pbXBvcnQgeyBUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi90YWJsZS90YWJsZS5kYXRhLXNvdXJjZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBBIGJhc2UgbGlzdCBjb21wb25lbnQgZm9yIGNvbXBvbmVudHMgd2l0aCBwYWdpbmF0aW9uIHN1cHBvcnRcclxuICovXHJcbi8vIEBkeW5hbWljXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2VuZXJpY0xpc3RDb21wb25lbnQ8VEVudGl0eSBleHRlbmRzIElFbnRpdHkgfCBhbnksIFRTZXJ2aWNlIGV4dGVuZHMgR2VuZXJpY1NlcnZpY2U8VEVudGl0eT4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblx0LyoqXHJcblx0ICogTGlzdCB0aXRsZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzdWJ0aXRsZTogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgcmVmZXJlbmNlIHRvIE1kUGFnaW5hdG9yIGVsZW1lbnRcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgcmVmZXJlbmNlIHRvIE1kU29ydCBhdHRyaWJ1dGVcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcblx0cHVibGljIHNvcnQ6IE1hdFNvcnQ7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBhZ2Ugc2l6ZSBvcHRpb25zXHJcblx0ICovXHJcblx0cHVibGljIHBhZ2VTaXplT3B0aW9uczogQXJyYXk8bnVtYmVyPiA9IFs1LCAxMCwgMTUsIDIwLCAzMCwgNTAsIDEwMCwgMjAwXTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIG5hdmlnYXRpb25zIHRvIGluY2x1ZGVzXHJcblx0ICovXHJcblx0cHVibGljIGluY2x1ZGVzOiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldCBwYXJhbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgcXVlcnk6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBEYXRhLXRhYmxlIGRhdGFzb3VyY2VcclxuXHQgKi9cclxuXHRwdWJsaWMgZGF0YVNvdXJjZTogVGFibGVEYXRhU291cmNlPFRFbnRpdHksIFRTZXJ2aWNlPiB8IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEN1cnJlbnQgc29ydCBjb2x1bW5cclxuXHQgKi9cclxuXHRwdWJsaWMgc29ydEFjdGl2ZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBDdXJyZW50IHNvcnQgZGlyZWN0aW9uXHJcblx0ICovXHJcblx0cHVibGljIHNvcnREaXJlY3Rpb246IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogQW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIHRvIGNyZWF0ZSB0aGUgdGFibGUgZm9yXHJcblx0ICovXHJcblx0cHVibGljIGNsYXNzSW5zdGFuY2U6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogY29sdW1uczogVGFibGVDb2x1bW5bXSBcclxuXHQgKi9cclxuXHRwdWJsaWMgY29sdW1uczogKFRhYmxlQ29sdW1uIHwgc3RyaW5nKVtdID0gW107XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgcmVmZXJlbmNlIHRvIE1kU29ydCBhdHRyaWJ1dGVcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKFZkRHluYW1pY1RhYmxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHB1YmxpYyBkeW5hbWljVGFibGU6IFZkRHluYW1pY1RhYmxlQ29tcG9uZW50O1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgdHlwZSBvZiB0aGUgZGlhbG9nIGZvciBjcmVhdGlvblxyXG5cdCAqL1xyXG5cdHB1YmxpYyBhZGREaWFsb2dUeXBlOiBhbnkgPSBudWxsO1xyXG5cclxuXHQvKipcclxuXHQgKiBTaG93cyB0aGUgY29sdW1uICdDaGVja2JveCdcclxuXHQgKi9cclxuXHRwdWJsaWMgc2VsZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIElmIHRydWUsIHNob3cgdGhlIGJ1dHRvbiAnQWRkJ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhZGRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgc2hvdyB0aGUgbWVudSAnRWRpdCdcclxuXHQgKi9cclxuXHRwdWJsaWMgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBJZiB0cnVlLCBzaG93IHRoZSBtZW51ICdEZWxldGUnXHJcblx0ICovXHJcblx0cHVibGljIGRlbGV0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIElmIHRydWUsIHNob3cgdGhlIG1lbnUgJ0Rvd25sb2FkJ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBkb3dubG9hZGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgc2hvdyB0aGUgbWVudSAnRHVwbGljYXRlJ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBkdXBsaWNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHJvd05nQ2xhc3M6IEZ1bmN0aW9uXHJcblx0ICovXHJcblx0cHVibGljIHJvd05nQ2xhc3M6IEZ1bmN0aW9uID0gbnVsbDtcclxuXHJcblx0LyoqXHJcblx0ICogcm93Q2xpY2s6IEZ1bmN0aW9uXHJcblx0ICovXHJcblx0cHVibGljIHJvd0NsaWNrOiBGdW5jdGlvbiA9IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGRldGFpbHNUZW1wbGF0ZTogRnVuY3Rpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgZGV0YWlsc1RlbXBsYXRlOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuXHQvKipcclxuXHQgKiBUb29sYmFyIG1lbnUgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgdG9vbGJhck1lbnVzOiBUYWJsZU1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0LyoqXHJcblx0ICogVGFibGUgcm93IG1lbnUgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgYWN0aW9uTWVudXM6IFRhYmxlTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBEYXRhTG9hZGVkIGV2ZW50IHN1YnNjcmlwdGlvblxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBkYXRhTG9hZGVkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICogQHBhcmFtIHNlcnZpY2UgXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgc2VydmljZTogVFNlcnZpY2UsXHJcblx0XHRwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG5cdFx0cHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHB1YmxpYyBjbGFzc1R5cGU/OiB7IG5ldygpOiBURW50aXR5IH1cclxuXHQpIHtcclxuXHRcdHN1cGVyKHJvdXRlLCBjaGFuZ2VEZXRlY3RvclJlZik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBkYXRhLWJvdW5kIHByb3BlcnRpZXMgXHJcblx0ICogb2YgYSBkaXJlY3RpdmUgYXJlIGluaXRpYWxpemVkLlxyXG5cdCAqL1xyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0c3VwZXIubmdPbkluaXQoKTtcclxuXHJcblx0XHQvKiBSZWFkIHNvbWUgcGFyYW1zIGZyb20gcm91dGluZyBkYXRhICovXHJcblx0XHR0aGlzLnJvdXRlLmRhdGEuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuXHRcdFx0T2JqZWN0LmFzc2lnbih0aGlzLnF1ZXJ5LCBkYXRhLnF1ZXJ5IHx8IHt9KTtcclxuXHRcdFx0dGhpcy5jbGFzc1R5cGUgfHw9IGRhdGEuY2xhc3NUeXBlO1xyXG5cclxuXHRcdFx0aWYgKGRhdGEuY29sdW1ucykge1xyXG5cdFx0XHRcdHRoaXMuY29sdW1ucyA9IFsuLi4oZGF0YS5jb2x1bW5zIHx8IFtdKV07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChkYXRhLmVuZHBvaW50KSB7XHJcblx0XHRcdFx0dGhpcy5zZXJ2aWNlLmVuZHBvaW50ID0gZGF0YS5lbmRwb2ludDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKGRhdGEuaW5jbHVkZXMpIHtcclxuXHRcdFx0XHR0aGlzLmluY2x1ZGVzID0gZGF0YS5pbmNsdWRlcztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0T2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCh4ID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eSh4KSAmJiB4ICE9ICdjb2x1bW5zJykge1xyXG5cdFx0XHRcdFx0dGhpc1t4XSA9IGRhdGFbeF07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdC8qIEdldCBjb2x1bW5zIGZyb20gY2xhc3MgKi9cclxuXHRcdGlmICh0aGlzLmNsYXNzVHlwZSkge1xyXG5cdFx0XHR0aGlzLmNsYXNzSW5zdGFuY2UgPSBuZXcgdGhpcy5jbGFzc1R5cGUoKTtcclxuXHJcblx0XHRcdC8qIEdldCB0YWJsZSBkZWZpbml0aW9uICovXHJcblx0XHRcdHZhciB0YWJsZURlZmluaXRpb24gPSBnZXRUYWJsZURlZmluaXRpb24odGhpcy5jbGFzc0luc3RhbmNlKTtcclxuXHJcblx0XHRcdE9iamVjdC5rZXlzKHRhYmxlRGVmaW5pdGlvbiB8fCB7fSkuZm9yRWFjaCh4ID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eSh4KSkge1xyXG5cdFx0XHRcdFx0dGhpc1t4XSA9IHRhYmxlRGVmaW5pdGlvblt4XTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0LyogR2V0IGVuZHBvaW50ICovXHJcblx0XHRcdGNvbnN0IGVuZHBvaW50ID0gKGdldEVuZHBvaW50KHRoaXMuY2xhc3NJbnN0YW5jZSkgfHwgdGFibGVEZWZpbml0aW9uPy5lbmRwb2ludCk7XHJcblx0XHRcdGlmIChlbmRwb2ludCkge1xyXG5cdFx0XHRcdHRoaXMuc2VydmljZS5lbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiBTb3J0IHRoZSBjb2x1bW5zIGJ5IGluZGV4ICovXHJcblx0XHRcdFV0aWxzLnNvcnRBcnJheSh0YWJsZURlZmluaXRpb24uY29sdW1ucywgJ2luZGV4Jyk7XHJcblxyXG5cdFx0XHQvKiBTb3J0IHRoZSBjb2x1bW5zIGJ5IGluZGV4ICovXHJcblx0XHRcdHRoaXMuY29sdW1ucyA9IFsuLi50YWJsZURlZmluaXRpb24uY29sdW1uc107XHJcblxyXG5cdFx0XHQvKiBIYW5kbGUgZXZlbnRzICovXHJcblx0XHRcdHRoaXMuY29sdW1ucz8uZm9yRWFjaCgoeDogVGFibGVDb2x1bW4pID0+IHtcclxuXHRcdFx0XHRpZiAodHlwZW9mIHguZXZlbnQgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0XHRsZXQgZXZlbnROYW1lOiBzdHJpbmcgPSAoKHguZXZlbnQpIGFzIHN0cmluZyk7XHJcblx0XHRcdFx0XHR4LmV2ZW50ID0gKHJvdzogYW55KSA9PiAoeC5ldmVudEFyZ3MgPyB0aGlzW2V2ZW50TmFtZV0ocm93LCB4LmV2ZW50QXJncykgOiB0aGlzW2V2ZW50TmFtZV0ocm93KSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdC8qIEhpZGUgY29sdW1ucyB1c2luZyByb3V0ZSBkYXRhICovXHJcblx0XHRcdHRoaXMucm91dGUuZGF0YS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuY29sdW1ucyA9IHRoaXMuY29sdW1ucz8uZmlsdGVyKCh4OiBUYWJsZUNvbHVtbikgPT4gIXguaGlkZSB8fCAheC5oaWRlKGRhdGEpKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIGxpc3QgbW5ldSBpdGVtcyAqL1xyXG5cdFx0dGhpcy5hZGRUb29sYmFyTWVudUl0ZW1zKCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuZHluYW1pY1RhYmxlKSB7XHJcblx0XHRcdC8qIEFkZCBtZW51IGl0ZW1zIGZvciBlYWNoIHJvdyAqL1xyXG5cdFx0XHR0aGlzLmFkZFJvd01lbnVJdGVtcygpO1xyXG5cclxuXHRcdFx0LyogQ2hlY2sgaWYgdGhlIGFjdGlvbiBjb2x1bW4gYWxyZWFkeSBleGlzdHMgKi9cclxuXHRcdFx0dmFyIGFjdGlvbkNvbG11biA9ICh0aGlzLmNvbHVtbnMgYXMgVGFibGVDb2x1bW5bXSk/LmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2FjdGlvbicpO1xyXG5cclxuXHRcdFx0LyogSWYgc28sIGp1c3QgYWRkIHRoZSBtZW51IGl0ZW1zIHRvIGl0ICovXHJcblx0XHRcdGlmIChhY3Rpb25Db2xtdW4gIT0gbnVsbCkge1xyXG5cdFx0XHRcdGFjdGlvbkNvbG11bi5hY3Rpb25NZW51cyA9IGFjdGlvbkNvbG11bi5hY3Rpb25NZW51cyB8fCBbXTtcclxuXHRcdFx0XHR0aGlzLmFjdGlvbk1lbnVzLmZvckVhY2goeSA9PiBhY3Rpb25Db2xtdW4uYWN0aW9uTWVudXMudW5zaGlmdCh5KSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8qIE90aGVyd2lzZSBhZGQgYSBuZXcgb25lICovXHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuY29sdW1ucy5wdXNoKG5ldyBUYWJsZUNvbHVtbih7XHJcblx0XHRcdFx0XHRpbmRleDogMjAwMCxcclxuXHRcdFx0XHRcdG5hbWU6ICdhY3Rpb24nLFxyXG5cdFx0XHRcdFx0dHlwZTogVGFibGVDb2x1bW5UeXBlLkFjdGlvbixcclxuXHRcdFx0XHRcdGRpc2FibGVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0YWN0aW9uTWVudXM6IHRoaXMuYWN0aW9uTWVudXNcclxuXHRcdFx0XHR9KSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvKiBTZXQgcXVlcnkgcGFyYW1zIGludG8gcXVlcnkgb2JqZWN0ICovXHJcblx0XHR0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSh4ID0+IE9iamVjdC5hc3NpZ24odGhpcy5xdWVyeSwgeCB8fCB7fSwgeyByZXR1cm5Vcmw6IG51bGwgfSkpO1xyXG5cclxuXHRcdC8qIEluaXRpbGlhbGl6ZSB0aGUgZGF0YSBzb3VyY2Ugd2l0aCB0aGUgY3VycmVudCBzZXJ2aWNlLCBwYWdpbmF0b3IgYW5kIHNvcnQgKi9cclxuXHRcdHRoaXMuc29ydCA9IHRoaXMuZHluYW1pY1RhYmxlPy5tYXRTb3J0IHx8ICh0aGlzLnNvcnQgPyB0aGlzLnNvcnQgOiBuZXcgTWF0U29ydCgpKTtcclxuXHRcdHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBUYWJsZURhdGFTb3VyY2U8VEVudGl0eSwgVFNlcnZpY2U+KHRoaXMuc2VydmljZSEsIHRoaXMucGFnaW5hdG9yLCB0aGlzLnNvcnQpO1xyXG5cclxuXHRcdC8qIFNldCBpbmNsdWRlcyAqL1xyXG5cdFx0dGhpcy5kYXRhU291cmNlLmluY2x1ZGVzID0gdGhpcy5pbmNsdWRlcztcclxuXHJcblx0XHQvKiBMb2FkIHF1ZXJ5IGZyb20gYnJvd3NlciBzdG9yYWdlICovXHJcblx0XHR2YXIgc3RvcnJlZFF1ZXJ5ID0gQXBwU3RvcmFnZS5nZXRPYmplY3QoYCR7dGhpcy5hcHBTZXR0aW5nLnByb2plY3ROYW1lfS4ke3RoaXMucm91dGVyLnVybH1gKTtcclxuXHRcdGlmIChzdG9ycmVkUXVlcnkpIHtcclxuXHRcdFx0dGhpcy5kYXRhU291cmNlLmZpZWxkRmlsdGVycyA9IHRoaXMuY2xlYW4oc3RvcnJlZFF1ZXJ5LmZpZWxkRmlsdGVycykgfHwge307XHJcblx0XHRcdHRoaXMuc29ydEFjdGl2ZSA9IHN0b3JyZWRRdWVyeS5zb3J0Qnk7XHJcblx0XHRcdHRoaXMuc29ydERpcmVjdGlvbiA9IHN0b3JyZWRRdWVyeS5zb3J0RGlyZWN0aW9uO1xyXG5cdFx0XHR0aGlzLmRhdGFTb3VyY2UucGFnZVNpemUgPSBzdG9ycmVkUXVlcnkucGFnZVNpemU7XHJcblx0XHRcdHRoaXMuZGF0YVNvdXJjZS5wYWdlSW5kZXggPSBzdG9ycmVkUXVlcnkucGFnZUluZGV4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIEFkZCBzb21lIGZpbHRlciBmcm9tIHJvdXRlciAqL1xyXG5cdFx0aWYgKHRoaXMucXVlcnkpIHtcclxuXHRcdFx0dGhpcy5kYXRhU291cmNlLnN0YXRpY0ZpZWxkRmlsdGVycyA9IHRoaXMucXVlcnk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogUmVtZW1iZXIgdGhlIGZpbHRlcnMgKi9cclxuXHRcdHRoaXMuZGF0YUxvYWRlZFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFMb2FkZWQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHRcdFx0aWYgKHJlc3VsdCkge1xyXG5cdFx0XHRcdEFwcFN0b3JhZ2Uuc2V0T2JqZWN0KGAke3RoaXMuYXBwU2V0dGluZy5wcm9qZWN0TmFtZX0uJHt0aGlzLnJvdXRlci51cmx9YCwge1xyXG5cdFx0XHRcdFx0ZmllbGRGaWx0ZXJzOiB0aGlzLmRhdGFTb3VyY2UuZmllbGRGaWx0ZXJzLFxyXG5cdFx0XHRcdFx0c29ydEJ5OiB0aGlzLnNvcnQuYWN0aXZlLFxyXG5cdFx0XHRcdFx0c29ydERpcmVjdGlvbjogdGhpcy5zb3J0LmRpcmVjdGlvbixcclxuXHRcdFx0XHRcdHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcclxuXHRcdFx0XHRcdHBhZ2VJbmRleDogdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlbG9hZHMgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgbG9hZExpc3QocmVzZXRTZWxlY3Rpb246IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcblx0XHR0aGlzLmRhdGFTb3VyY2UucmVsb2FkKHJlc2V0U2VsZWN0aW9uKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNlYXJjaFxyXG5cdCAqIEBwYXJhbSBmaWx0ZXIgXHJcblx0ICovXHJcblx0cHVibGljIHNlYXJjaChmaWx0ZXI6IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0dGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZpbHRlcjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE5hdmlnYXRlcyB0byB0aGUgYWRkIHBhZ2UuXHJcblx0ICovXHJcblx0cHVibGljIGFkZCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmFkZERpYWxvZ1R5cGUpIHtcclxuXHRcdFx0dGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5hZGREaWFsb2dUeXBlLCB7IHdpZHRoOiAnNjUwcHgnLCBkYXRhOiB0aGlzLmNsYXNzSW5zdGFuY2UgfSlcclxuXHRcdFx0XHQuYWZ0ZXJDbG9zZWQoKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2FkTGlzdChmYWxzZSkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMucm91dGVyLnVybH0vYWRkYF0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTmF2aWdhdGVzIHRvIHRoZSBlZGl0IHBhZ2UuXHJcblx0ICogQHBhcmFtIGl0ZW0gVGhlIGlkIG9mIHRoZSBpdGVtXHJcblx0ICovXHJcblx0cHVibGljIGVkaXQoaXRlbTogVEVudGl0eSk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLmlzVGV4dFNlbGVjdGVkKCkpIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMucm91dGVyLnVybH0vZWRpdC8keyhpdGVtIGFzIElFbnRpdHkpLmlkfWBdKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBhdGNoZXMgdGhlIGVudGl0eVxyXG5cdCAqIFBhdGNoZXMgdGhlIGVudGl0eVxyXG5cdCAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIGVudGl0eVxyXG5cdCAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBwYXRjaFxyXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgKG9wdGlvbmFsKSB2YWx1ZSB0byBjaGFuZ2VcclxuXHQgKiBAcGFyYW0gaW5jbHVkZXMgSW5jbHVkZXMgc29tZSBuYXZpZ2F0aW9uc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBwYXRjaChpZDogbnVtYmVyLCBmaWVsZHM6IEFycmF5PHN0cmluZz4sIHZhbHVlOiBhbnksIGluY2x1ZGVzOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3BhdGNoKGlkLCBmaWVsZHMsIHZhbHVlLCBpbmNsdWRlcywgXyA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGF0Y2hlcyB0aGUgZW50aXR5XHJcblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50aXR5XHJcblx0ICogQHBhcmFtIGZpZWxkcyBUaGUgZmllbGRzIHRvIHBhdGNoXHJcblx0ICogQHBhcmFtIHZhbHVlIFRoZSAob3B0aW9uYWwpIHZhbHVlIHRvIGNoYW5nZVxyXG5cdCAqIEBwYXJhbSBpbmNsdWRlcyBJbmNsdWRlcyBzb21lIG5hdmlnYXRpb25zXHJcblx0ICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGUgY2FsbGVkIG9uIHN1Y2Nlc3NcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3BhdGNoKGlkOiBudW1iZXIsIGZpZWxkczogQXJyYXk8c3RyaW5nPiwgdmFsdWU6IGFueSwgaW5jbHVkZXM6IGFueSwgc3VjY2Vzc0NhbGxiYWNrOiBGdW5jdGlvbiA9IG51bGwpOiB2b2lkIHtcclxuXHRcdHRoaXMuaXNTYXZpbmcgPSB0cnVlO1xyXG5cclxuXHRcdC8qIEdldCBlbnRpdHkgYnkgSUQgKi9cclxuXHRcdGxldCBlbnRpdHkgPSB0aGlzLmRhdGFTb3VyY2UuaXRlbXM/LmZpbHRlcih4ID0+ICg8YW55PngpLmlkID09PSBpZClbMF07XHJcblx0XHRpZiAoZW50aXR5KSB7XHJcblx0XHRcdC8qIEJ1aWxkIHBhdGNoIG1ldGhvZHMgKi9cclxuXHRcdFx0bGV0IHBhdGNoZXMgPSBmaWVsZHMubWFwKHggPT4geyByZXR1cm4geyBvcDogJ3JlcGxhY2UnLCBwYXRoOiBgLyR7eH1gLCB2YWx1ZTogdmFsdWUgIT0gdW5kZWZpbmVkID8gdmFsdWUgOiBlbnRpdHlbeF0gfTsgfSk7XHJcblxyXG5cdFx0XHQvKiBTZW5kIHJlcXVlc3QgKi9cclxuXHRcdFx0dGhpcy5zZXJ2aWNlXHJcblx0XHRcdFx0LnBhdGNoKGlkLCBwYXRjaGVzLCBudWxsLCB7IGhlYWRlcnM6IHsgJ1Nob3ctTWVzc2FnZSc6ICdZZXMnIH0sIHBhcmFtczogaW5jbHVkZXMgPyBVdGlscy50b0h0dHBQYXJhbXMoeyBpbmNsdWRlczogaW5jbHVkZXMgfSkgOiBudWxsIH0pXHJcblx0XHRcdFx0LnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHQvKiBJbnZva2UgY2FsbGJhY2sgZnVuY3Rpb24sIGlmIGFueSAqL1xyXG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3NDYWxsYmFjaykge1xyXG5cdFx0XHRcdFx0XHRzdWNjZXNzQ2FsbGJhY2soeCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH0sIF8gPT4gdGhpcy5pc1NhdmluZyA9IGZhbHNlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERlbGV0ZXMgYW4gaXRlbSBmcm9tIHRoZSBkYXRhYmFzZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRlSXRlbShpdGVtOiBURW50aXR5KTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3dEZWxldGVJdGVtRGlhbG9nKClcclxuXHRcdFx0LnN1YnNjcmliZSgoYWNjZXB0OiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0aWYgKGFjY2VwdCkge1xyXG5cdFx0XHRcdFx0dGhpcy5zZXJ2aWNlLmRlbGV0ZSgoaXRlbSBhcyBJRW50aXR5KS5pZCkuc3Vic2NyaWJlKHtcclxuXHRcdFx0XHRcdFx0bmV4dDogKF8pID0+IHRoaXMubG9hZExpc3QodHJ1ZSksXHJcblx0XHRcdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHRoaXMubG9nKGVycm9yKVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERlbGV0ZXMgYW4gaXRlbSBmcm9tIHRoZSBkYXRhYmFzZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRlSXRlbXMoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5kYXRhU291cmNlLnNlbGVjdGlvbk1vZGVsLmhhc1ZhbHVlKCkpIHtcclxuXHRcdFx0dGhpcy5zaG93RGVsZXRlSXRlbXNEaWFsb2coKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKGFjY2VwdDogYm9vbGVhbikgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGFjY2VwdCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNlcnZpY2UuZGVsZXRlTGlzdCh0aGlzLmRhdGFTb3VyY2UuZ2V0U2VsZWN0ZWRJZHMoKSkuc3Vic2NyaWJlKHtcclxuXHRcdFx0XHRcdFx0XHRuZXh0OiAoXykgPT4gdGhpcy5sb2FkTGlzdCh0cnVlKSxcclxuXHRcdFx0XHRcdFx0XHRlcnJvcjogKGVycm9yKSA9PiB0aGlzLmxvZyhlcnJvcilcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUb2dnbGVzIGEgcHJvcGVydHlcclxuXHQgKiBAcGFyYW0gaXRlbSBcclxuXHQgKiBAcGFyYW0gcHJvcGVydHlcclxuXHQgKi9cclxuXHRwdWJsaWMgdG9nZ2xlKGl0ZW06IFRFbnRpdHksIHByb3BlcnR5OiBzdHJpbmcgPSAnZW5hYmxlZCcpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VydmljZVxyXG5cdFx0XHQucGF0Y2goKDxhbnk+aXRlbSkuaWQsIFt7IG9wOiAncmVwbGFjZScsIHBhdGg6IGAvJHtwcm9wZXJ0eX1gLCB2YWx1ZTogaXRlbVtwcm9wZXJ0eV0gfV0pXHJcblx0XHRcdC5zdWJzY3JpYmUoeCA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVXBsb2FkcyB0YXJuc2ZlcnMgY3N2IGZpbGVzXHJcblx0ICogQHBhcmFtIGZpbGUgVGhlIGZpbGUgdG8gdXBsb2FkXHJcblx0ICogQHBhcmFtIHJlbG9hZCBJZiB0cnVlLCByZWxvYWQgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgdXBsb2FkKGZpbGU6IEZpbGUsIHJlbG9hZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VydmljZS51cGxvYWQoZmlsZSkuc3Vic2NyaWJlKHtcclxuXHRcdFx0bmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcblx0XHRcdFx0cmVzcG9uc2UgPSByZXNwb25zZS5qc29uKCk7XHJcblxyXG5cdFx0XHRcdC8qIFJlbG9hZCBsaXN0ICovXHJcblx0XHRcdFx0aWYgKHJlbG9hZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2FkTGlzdCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSwgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5sb2coZXJyb3IpXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERvd25sb2FkcyBhIGRvY3VtZW50XHJcblx0ICogQHBhcmFtIGl0ZW0gXHJcblx0ICovXHJcblx0cHVibGljIGRvd25sb2FkKGl0ZW06IFRFbnRpdHksIHBhdGg6IHN0cmluZyA9ICdkb3dubG9hZCcpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VydmljZS5kb3dubG9hZChgJHtwYXRofS8keyhpdGVtIGFzIElFbnRpdHkpLmlkfWApLnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0c2F2ZUFzKG5ldyBCbG9iKFt4LmRhdGFdLCB7fSksIHguZmlsZW5hbWUpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEdXBsaWNhdGVzIGEgcmVjb3JkXHJcblx0ICogQHBhcmFtIGl0ZW0gXHJcblx0ICovXHJcblx0cHVibGljIGR1cGxpY2F0ZShpdGVtOiBURW50aXR5KSB7XHJcblx0XHR0aGlzLnNlcnZpY2UuZHVwbGljYXRlKChpdGVtIGFzIElFbnRpdHkpLmlkKS5zdWJzY3JpYmUoXyA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhpcyBpbmZvcm1zIHRoZSB0YWJsZSBob3cgdG8gdW5pcXVlbHkgaWRlbnRpZnkgcm93cyB0byBcclxuXHQgKiB0cmFjayBob3cgdGhlIGRhdGEgY2hhbmdlcyB3aXRoIGVhY2ggdXBkYXRlLlxyXG5cdCAqIEBwYXJhbSBpbmRleCBcclxuXHQgKiBAcGFyYW0gaXRlbSBcclxuXHQgKi9cclxuXHRwdWJsaWMgdHJhY2tCeUlkKF86IG51bWJlciwgaXRlbTogYW55KSB7XHJcblx0XHRyZXR1cm4gaXRlbS5pZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEluY2x1ZGVzIHNvbWUgbmF2aWdhdGlvbnNcclxuXHQgKiBAcGFyYW0gaW5jIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBpbmNsdWRlKC4uLmluYzogc3RyaW5nW10pIHtcclxuXHRcdGluYz8uZm9yRWFjaCh4ID0+IHRoaXMuaW5jbHVkZXMucHVzaCh4KSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBBZGQgdG9vbGJhciBtZW51IGl0ZW1zXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGFkZFRvb2xiYXJNZW51SXRlbXMoKTogdm9pZCB7XHJcblx0XHQvKiBBZGQgJ0RlbGV0ZSBzZWxlY3RlZCcgbWVudSBpdGVtICovXHJcblx0XHRpZiAodGhpcy5kZWxldGFibGUpIHtcclxuXHRcdFx0dGhpcy50b29sYmFyTWVudXMucHVzaCh7XHJcblx0XHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBkZWxldGVTZWxlY3RlZDpEZWxldGUgc2VsZWN0ZWRgLFxyXG5cdFx0XHRcdGljb246ICdkZWxldGVfZm9yZXZlcicsXHJcblx0XHRcdFx0aWNvbkNsYXNzOiAndGMtb3JhbmdlLTgwMCcsXHJcblx0XHRcdFx0ZXZlbnQ6ICgpID0+IHRoaXMuZGVsZXRlSXRlbXMoKSxcclxuXHRcdFx0XHRkaXNhYmxlOiAoKSA9PiAhdGhpcy5jYW5FeGVjdXRlTXVsdGlwbGVPcGVyYXRpb25zKCh4OiBURW50aXR5KSA9PiB0aGlzLmNhbkRlbGV0ZUl0ZW0oeCkpXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQWRkIHJvdyBtZW51IGl0ZW1zXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGFkZFJvd01lbnVJdGVtcygpOiB2b2lkIHtcclxuXHRcdC8qIEFkZCBjaGVja2JveCBjb2x1bW4gKi9cclxuXHRcdGlmICh0aGlzLnNlbGVjdGFibGUpIHtcclxuXHRcdFx0dGhpcy5jb2x1bW5zLnVuc2hpZnQoe1xyXG5cdFx0XHRcdG5hbWU6ICdzZWxlY3QnLFxyXG5cdFx0XHRcdHR5cGU6IFRhYmxlQ29sdW1uVHlwZS5DaGVja2JveCxcclxuXHRcdFx0XHRkaXNhYmxlOiAocm93OiBURW50aXR5KSA9PiAhdGhpcy5jYW5TZWxlY3RJdGVtKHJvdyksXHJcblx0XHRcdFx0Y2VsbE5nQ2xhc3M6IChyb3c6IFRFbnRpdHkpID0+IHRoaXMuc2VsZWN0Um93TmdDbGFzcyhyb3cpXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIEFkZCBkdXBsaWNhdGUgbWVudSAqL1xyXG5cdFx0aWYgKHRoaXMuZHVwbGljYWJsZSkge1xyXG5cdFx0XHR0aGlzLmFjdGlvbk1lbnVzLnVuc2hpZnQoe1xyXG5cdFx0XHRcdHRpdGxlOiAkbG9jYWxpemVgOkBAZHVwbGljYXRlOkR1cGxpY2F0ZWAsXHJcblx0XHRcdFx0aWNvbjogJ2ZpbGVfY29weScsXHJcblx0XHRcdFx0ZXZlbnQ6IChyb3c6IGFueSkgPT4gdGhpcy5kdXBsaWNhdGUocm93KSxcclxuXHRcdFx0XHRoaWRlOiAocm93OiBURW50aXR5KSA9PiAhdGhpcy5jYW5EdXBsaWNhdGVJdGVtKHJvdylcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIGRvd25sb2FkIG1lbnUgKi9cclxuXHRcdGlmICh0aGlzLmRvd25sb2FkYWJsZSkge1xyXG5cdFx0XHR0aGlzLmFjdGlvbk1lbnVzLnVuc2hpZnQoe1xyXG5cdFx0XHRcdHRpdGxlOiAkbG9jYWxpemVgOkBAZG93bmxvYWQ6RG93bmxvYWRgLFxyXG5cdFx0XHRcdGljb246ICdmaWxlX2Rvd25sb2FkJyxcclxuXHRcdFx0XHRldmVudDogKHJvdzogYW55KSA9PiB0aGlzLmRvd25sb2FkKHJvdyksXHJcblx0XHRcdFx0aGlkZTogKHJvdzogVEVudGl0eSkgPT4gIXRoaXMuY2FuRG93bmxvYWRJdGVtKHJvdylcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogQWRkIGRlbGV0ZSBtZW51ICovXHJcblx0XHRpZiAodGhpcy5kZWxldGFibGUpIHtcclxuXHRcdFx0dGhpcy5hY3Rpb25NZW51cy51bnNoaWZ0KHtcclxuXHRcdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGRlbGV0ZTpEZWxldGVgLFxyXG5cdFx0XHRcdGljb246ICdkZWxldGVfZm9yZXZlcicsXHJcblx0XHRcdFx0aWNvbkNsYXNzOiAndGMtb3JhbmdlLTgwMCcsXHJcblx0XHRcdFx0ZXZlbnQ6IChyb3c6IGFueSkgPT4gdGhpcy5kZWxldGVJdGVtKHJvdyksXHJcblx0XHRcdFx0aGlkZTogKHJvdzogVEVudGl0eSkgPT4gIXRoaXMuY2FuRGVsZXRlSXRlbShyb3cpXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIEFkZCBlZGl0IG1lbnUgKi9cclxuXHRcdGlmICh0aGlzLmVkaXRhYmxlKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uTWVudXMudW5zaGlmdCh7XHJcblx0XHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBlZGl0OkVkaXRgLFxyXG5cdFx0XHRcdGljb246ICdlZGl0X25vdGUnLFxyXG5cdFx0XHRcdGljb25DbGFzczogJ3RjLWJsdWUtNDAwJyxcclxuXHRcdFx0XHRldmVudDogKHJvdzogYW55KSA9PiB0aGlzLmVkaXQocm93KSxcclxuXHRcdFx0XHRoaWRlOiAocm93OiBURW50aXR5KSA9PiAhdGhpcy5jYW5FZGl0SXRlbShyb3cpXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2sgaWYgdGhlIGl0ZW0gaXMgc2VsZWN0YWJsZVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBjYW5TZWxlY3RJdGVtKGVudGl0eTogVEVudGl0eSk6IGJvb2xlYW4geyByZXR1cm4gIWVudGl0eT8uaGFzT3duUHJvcGVydHkoJ3NlbGVjdGFibGUnKSB8fCBlbnRpdHlbJ3NlbGVjdGFibGUnXTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiB0aGUgaXRlbSBpcyBkZWxldGFibGVcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgY2FuRGVsZXRlSXRlbShlbnRpdHk6IFRFbnRpdHkpOiBib29sZWFuIHsgcmV0dXJuICFlbnRpdHk/Lmhhc093blByb3BlcnR5KCdkZWxldGFibGUnKSB8fCBlbnRpdHlbJ2RlbGV0YWJsZSddOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIHRoZSBpdGVtIGlzIGVkaXRhYmxlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGNhbkVkaXRJdGVtKGVudGl0eTogVEVudGl0eSk6IGJvb2xlYW4geyByZXR1cm4gIWVudGl0eT8uaGFzT3duUHJvcGVydHkoJ2VkaXRhYmxlJykgfHwgZW50aXR5WydlZGl0YWJsZSddOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIHRoZSBpdGVtIGlzIGRvd25sb2FkYWJsZVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBjYW5Eb3dubG9hZEl0ZW0oZW50aXR5OiBURW50aXR5KTogYm9vbGVhbiB7IHJldHVybiAhZW50aXR5Py5oYXNPd25Qcm9wZXJ0eSgnZG93bmxvYWRhYmxlJykgfHwgZW50aXR5Wydkb3dubG9hZGFibGUnXTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiB0aGUgaXRlbSBpcyBkdXBsaWNhYmxlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGNhbkR1cGxpY2F0ZUl0ZW0oZW50aXR5OiBURW50aXR5KTogYm9vbGVhbiB7IHJldHVybiAhZW50aXR5Py5oYXNPd25Qcm9wZXJ0eSgnZHVwbGljYWJsZScpIHx8IGVudGl0eVsnZHVwbGljYWJsZSddOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldHVybnMgTmdDbGFzcyBvYmplY3QgZm9yIHNlbGVjdCBjb2x1bW5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2VsZWN0Um93TmdDbGFzcyhfOiBURW50aXR5KTogYW55IHsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiB0aGUgdGhlcmUgYW55IHNlbGVjdGVkIHJvd1xyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBoYXNTZWxlY3RlZFJvd3MoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmRhdGFTb3VyY2U/LnNlbGVjdGlvbk1vZGVsPy5oYXNWYWx1ZSgpIH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiB0aGUgdXNlciBjYW4gcGVyZm9ybSBtdWx0aXBsZSBvcGVyYXRpb25zIChMaWtlICdkZWxldGUgc2VsZWN0ZWQnKS5cclxuXHQgKiBAcGFyYW0gYWN0aW9uIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBjYW5FeGVjdXRlTXVsdGlwbGVPcGVyYXRpb25zKGFjdGlvbjogRnVuY3Rpb24gPSBudWxsKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5oYXNTZWxlY3RlZFJvd3MoKSAmJiAoYWN0aW9uID8gdGhpcy5kYXRhU291cmNlPy5zZWxlY3Rpb25Nb2RlbD8uc2VsZWN0ZWQ/LmV2ZXJ5KHggPT4gYWN0aW9uKHgpKSA6IHRydWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVzcG9uZHMgdG8gdXNlci1pbml0aWF0ZWQgZXZlbnRzXHJcblx0ICogQHBhcmFtIGV2ZW50IFxyXG5cdCAqL1xyXG5cdEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG5cdGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuXHRcdGlmIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHtcclxuXHRcdFx0c3dpdGNoIChldmVudC5rZXkpIHtcclxuXHRcdFx0XHQvKiBOYXZpZ2F0ZSB0byBhZGQgcGFnZSAqL1xyXG5cdFx0XHRcdGNhc2UgJ2EnOlxyXG5cdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0XHRcdHRoaXMuYWRkKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0c3dpdGNoIChldmVudC5rZXkpIHtcclxuXHRcdFx0XHQvKiBOYXZpZ2F0ZSB0byBwcmV2aW91cyBwYWdlICovXHJcblx0XHRcdFx0Y2FzZSAnUGFnZVVwJzpcclxuXHRcdFx0XHRcdHRoaXMucGFnaW5hdG9yLnByZXZpb3VzUGFnZSgpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0XHRcdC8qIE5hdmlnYXRlIHRvIG5leHQgcGFnZSAqL1xyXG5cdFx0XHRcdGNhc2UgJ1BhZ2VEb3duJzpcclxuXHRcdFx0XHRcdHRoaXMucGFnaW5hdG9yLm5leHRQYWdlKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQSBjYWxsYmFjayB1c2VkIGZvciBhbnkgY3VzdG9tIGNsZWFudXAgdGhhdCBuZWVkcyB0byBvY2N1ciBcclxuXHQgKiB3aGVuIHRoZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXHJcblx0ICovXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5kYXRhTG9hZGVkU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuZGF0YUxvYWRlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxufSJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, Input, Optional } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
+
import { Utils } from '../../common/functions/utils';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/router";
|
|
5
6
|
import * as i2 from "@angular/material/toolbar";
|
|
@@ -37,7 +38,8 @@ export class VdLayoutNavComponent {
|
|
|
37
38
|
*/
|
|
38
39
|
handleBackNavigationClick() {
|
|
39
40
|
if (this.backNavigationRouteEnabled) {
|
|
40
|
-
|
|
41
|
+
var urlParts = Utils.getUrlParts(this.backNavigationRoute);
|
|
42
|
+
this.router.navigate([urlParts.url], { queryParams: urlParts.params, fragment: urlParts.hash, relativeTo: this.route });
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
/**
|
|
@@ -73,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
73
75
|
}], navigationRoute: [{
|
|
74
76
|
type: Input
|
|
75
77
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9sYXlvdXQvbGF5b3V0LW5hdi9sYXlvdXQtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtbmF2L2xheW91dC1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLG9CQUFvQjtJQW9FaEM7OztPQUdHO0lBQ0gsWUFBZ0MsTUFBYyxFQUF3QixLQUFxQjtRQUEzRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQXdCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBN0MzRjs7Ozs7V0FLRztRQUVJLFVBQUssR0FBVyxTQUFTLENBQUM7SUFzQzhELENBQUM7SUF0QmhHOztPQUVHO0lBQ0gsSUFBSSwwQkFBMEIsS0FBYyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBVWpHOztPQUVHO0lBQ0gsSUFBSSxhQUFhLEtBQWMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFRaEY7O09BRUc7SUFDSSx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDcEMsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN4SDtJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0YsQ0FBQzs7dUpBM0ZXLG9CQUFvQjsySUFBcEIsb0JBQW9CLHFQQ1RqQyxnbURBd0NNOzJGRC9CTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0MsZUFBZTs7MEJBNEVaLFFBQVE7OzBCQUE0QixRQUFROzRDQWhFbEQsWUFBWTtzQkFEbEIsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsSUFBSTtzQkFEVixLQUFLO2dCQVVDLEtBQUs7c0JBRFgsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQU9DLG1CQUFtQjtzQkFEekIsS0FBSztnQkFjQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Z1bmN0aW9ucy91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3ZkLWxheW91dC1uYXYnLFxyXG5cdHN0eWxlVXJsczogWycuL2xheW91dC1uYXYuY29tcG9uZW50LnNjc3MnXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LW5hdi5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZExheW91dE5hdkNvbXBvbmVudCB7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHRvb2xiYXJUaXRsZT86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogVGl0bGUgc2V0IGluIHRvb2xiYXIuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgdG9vbGJhclRpdGxlOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGljb24/OiBzdHJpbmdcclxuXHQgKlxyXG5cdCAqIGljb24gbmFtZSB0byBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB0aXRsZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGljb246IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogbG9nbz86IHN0cmluZ1xyXG5cdCAqXHJcblx0ICogbG9nbyBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGUuXHJcblx0ICogSWYgW2ljb25dIGlzIHNldCwgdGhlbiB0aGlzIHdpbGwgbm90IGJlIHNob3duLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGxvZ286IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogY29sb3I/OiBzdHJpbmdcclxuXHQgKlxyXG5cdCAqIHRvb2xiYXIgY29sb3Igb3B0aW9uOiBwcmltYXJ5IHwgYWNjZW50IHwgd2Fybi5cclxuXHQgKiBJZiBbY29sb3JdIGlzIG5vdCBzZXQsIHByaW1hcnkgaXMgdXNlZC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xyXG5cclxuXHQvKipcclxuXHQgKiBzaG93VG9nZ2xlPzogYm9vbGVhblxyXG5cdCAqXHJcblx0ICogU2hvd3MgdG9nZ2xlIGJ1dHRvblxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHNob3dUb2dnbGU6IGJvb2xlYW47XHJcblxyXG5cdC8qKlxyXG5cdCAqIGJhY2tOYXZpZ2F0aW9uUm91dGU/OiBzdHJpbmdcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBiYWNrTmF2aWdhdGlvblJvdXRlOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiByb3V0ZXIgd2FzIGluamVjdGVkLlxyXG5cdCAqL1xyXG5cdGdldCBiYWNrTmF2aWdhdGlvblJvdXRlRW5hYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuICEhdGhpcy5yb3V0ZXIgJiYgISF0aGlzLmJhY2tOYXZpZ2F0aW9uUm91dGU7IH1cclxuXHJcblx0LyoqXHJcblx0ICogbmF2aWdhdGlvblJvdXRlPzogc3RyaW5nXHJcblx0ICpcclxuXHQgKiBvcHRpb24gdG8gc2V0IHRoZSBjb21iaW5lZCByb3V0ZSBmb3IgdGhlIGljb24sIGxvZ28sIGFuZCB0b29sYmFyVGl0bGUuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbmF2aWdhdGlvblJvdXRlOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrcyBpZiByb3V0ZXIgd2FzIGluamVjdGVkLlxyXG5cdCAqL1xyXG5cdGdldCByb3V0ZXJFbmFibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gISF0aGlzLnJvdXRlciAmJiAhIXRoaXMubmF2aWdhdGlvblJvdXRlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICogQHBhcmFtIHJvdXRlciBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGxlcyBjbGljayBldmVudCBvbiBiYWNrIG5hdmlnYXRpb24gdGl0bGVcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFuZGxlQmFja05hdmlnYXRpb25DbGljaygpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmJhY2tOYXZpZ2F0aW9uUm91dGVFbmFibGVkKSB7XHJcblx0XHRcdHZhciB1cmxQYXJ0cyA9IFV0aWxzLmdldFVybFBhcnRzKHRoaXMuYmFja05hdmlnYXRpb25Sb3V0ZSk7XHJcblx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmxQYXJ0cy51cmxdLCB7IHF1ZXJ5UGFyYW1zOiB1cmxQYXJ0cy5wYXJhbXMsIGZyYWdtZW50OiB1cmxQYXJ0cy5oYXNoLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGxlcyBjbGljayBldmVudCBvbiBuYXZpZ2F0aW9uIHRpdGxlXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZU5hdmlnYXRpb25DbGljaygpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnJvdXRlckVuYWJsZWQpIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25Sb3V0ZSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiPGRpdiBjbGFzcz1cInZkLWxheW91dC1uYXYtd3JhcHBlclwiPlxyXG5cdDxtYXQtdG9vbGJhciBbY29sb3JdPVwiY29sb3JcIj5cclxuXHRcdDwhLS0gI3JlZ2lvbiBUb2dnbGUgYnV0b24gLS0+XHJcblx0XHQ8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB2ZC1tZW51LWJ1dHRvbiB2ZExheW91dFRvZ2dsZSAqbmdJZj1cInNob3dUb2dnbGVcIj5cclxuXHRcdFx0PG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIEJhY2sgYnV0dG9uIC0tPlxyXG5cdFx0PGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdmQtbWVudS1idXR0b24gKm5nSWY9XCJiYWNrTmF2aWdhdGlvblJvdXRlRW5hYmxlZFwiIChjbGljayk9XCJoYW5kbGVCYWNrTmF2aWdhdGlvbkNsaWNrKClcIj5cclxuXHRcdFx0PG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0PCEtLSAjcmVnaW9uIEN1c3RvbSBidXR0b25zIC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3ZkLW1lbnUtYnV0dG9uXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcblx0XHQ8IS0tICNyZWdpb24gTG9nbyB3aXRoIGhvbWUgbGluayAtLT5cclxuXHRcdDxzcGFuICpuZ0lmPVwiaWNvbiB8fCBsb2dvIHx8IHRvb2xiYXJUaXRsZVwiIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJyb3V0ZXJFbmFibGVkXCIgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygpXCIgY2xhc3M9XCJ2ZC1sYXlvdXQtbmF2LXRvb2xiYXItY29udGVudFwiPlxyXG5cdFx0XHQ8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+e3tpY29ufX08L21hdC1pY29uPlxyXG5cdFx0XHQ8bWF0LWljb24gKm5nSWY9XCJsb2dvICYmICFpY29uXCIgY2xhc3M9XCJtYXQtaWNvbi1sb2dvXCIgW3N2Z0ljb25dPVwibG9nb1wiPjwvbWF0LWljb24+XHJcblx0XHRcdDxzcGFuICpuZ0lmPVwidG9vbGJhclRpdGxlXCI+e3t0b29sYmFyVGl0bGV9fTwvc3Bhbj5cclxuXHRcdDwvc3Bhbj5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcblx0XHQ8IS0tICNyZWdpb24gQ3VzdG9tIGNvbnRlbnQgLS0+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtdG9vbGJhci1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcblx0XHQ8c3BhbiBmbGV4Pjwvc3Bhbj5cclxuXHJcblx0XHQ8IS0tICNyZWdpb24gQ3VzdG9tIHJpZ2h0IGNvbnRlbnQgLS0+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtdG9vbGJhci1jb250ZW50LXJpZ2h0XVwiPjwvbmctY29udGVudD5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHQ8L21hdC10b29sYmFyPlxyXG5cdDxkaXYgY2xhc3M9XCJ2ZC1sYXlvdXQtbmF2LWNvbnRlbnRcIiBjZGtTY3JvbGxhYmxlPlxyXG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cdDwvZGl2PlxyXG5cdDxuZy1jb250ZW50IHNlbGVjdD1cInZkLWxheW91dC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==
|
package/fesm2015/messaia-cdk.mjs
CHANGED
|
@@ -4725,11 +4725,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4725
4725
|
icon: 'delete_forever',
|
|
4726
4726
|
iconClass: 'tc-orange-800',
|
|
4727
4727
|
event: () => this.deleteItems(),
|
|
4728
|
-
disable: () =>
|
|
4729
|
-
var _a, _b, _c, _d, _e;
|
|
4730
|
-
return !((_b = (_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.selectionModel) === null || _b === void 0 ? void 0 : _b.hasValue()) ||
|
|
4731
|
-
!((_e = (_d = (_c = this.dataSource) === null || _c === void 0 ? void 0 : _c.selectionModel) === null || _d === void 0 ? void 0 : _d.selected) === null || _e === void 0 ? void 0 : _e.every(x => this.canDeleteItem(x)));
|
|
4732
|
-
}
|
|
4728
|
+
disable: () => !this.canExecuteMultipleOperations((x) => this.canDeleteItem(x))
|
|
4733
4729
|
});
|
|
4734
4730
|
}
|
|
4735
4731
|
}
|
|
@@ -4743,7 +4739,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4743
4739
|
name: 'select',
|
|
4744
4740
|
type: TableColumnType.Checkbox,
|
|
4745
4741
|
disable: (row) => !this.canSelectItem(row),
|
|
4746
|
-
cellNgClass: (row) => this.
|
|
4742
|
+
cellNgClass: (row) => this.selectRowNgClass(row)
|
|
4747
4743
|
});
|
|
4748
4744
|
}
|
|
4749
4745
|
/* Add duplicate menu */
|
|
@@ -4808,7 +4804,22 @@ class GenericListComponent extends BaseComponent {
|
|
|
4808
4804
|
/**
|
|
4809
4805
|
* Returns NgClass object for select column
|
|
4810
4806
|
*/
|
|
4811
|
-
|
|
4807
|
+
selectRowNgClass(_) { }
|
|
4808
|
+
/**
|
|
4809
|
+
* Check if the there any selected row
|
|
4810
|
+
* @returns
|
|
4811
|
+
*/
|
|
4812
|
+
hasSelectedRows() { var _a, _b; return (_b = (_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.selectionModel) === null || _b === void 0 ? void 0 : _b.hasValue(); }
|
|
4813
|
+
;
|
|
4814
|
+
/**
|
|
4815
|
+
* Checks if the user can perform multiple operations (Like 'delete selected').
|
|
4816
|
+
* @param action
|
|
4817
|
+
* @returns
|
|
4818
|
+
*/
|
|
4819
|
+
canExecuteMultipleOperations(action = null) {
|
|
4820
|
+
var _a, _b, _c;
|
|
4821
|
+
return this.hasSelectedRows() && (action ? (_c = (_b = (_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.selectionModel) === null || _b === void 0 ? void 0 : _b.selected) === null || _c === void 0 ? void 0 : _c.every(x => action(x)) : true);
|
|
4822
|
+
}
|
|
4812
4823
|
/**
|
|
4813
4824
|
* Responds to user-initiated events
|
|
4814
4825
|
* @param event
|
|
@@ -15037,7 +15048,8 @@ class VdLayoutNavComponent {
|
|
|
15037
15048
|
*/
|
|
15038
15049
|
handleBackNavigationClick() {
|
|
15039
15050
|
if (this.backNavigationRouteEnabled) {
|
|
15040
|
-
|
|
15051
|
+
var urlParts = Utils.getUrlParts(this.backNavigationRoute);
|
|
15052
|
+
this.router.navigate([urlParts.url], { queryParams: urlParts.params, fragment: urlParts.hash, relativeTo: this.route });
|
|
15041
15053
|
}
|
|
15042
15054
|
}
|
|
15043
15055
|
/**
|