@datorama/core 22.7.0 → 22.8.1-rc.2
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/bundles/datorama-core.umd.js +82 -49
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +14 -14
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.d.ts +1 -0
- package/datorama-core.metadata.json +1 -1
- package/esm2015/datorama-core.js +2 -1
- package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +4 -2
- package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +5 -2
- package/esm2015/lib/grid-v2/grid-settings.js +2 -2
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +10 -6
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +7 -1
- package/esm2015/lib/rich-text/rich-text.directive.js +15 -33
- package/esm2015/lib/rich-text/rich-text.service.js +50 -0
- package/esm2015/lib/select/select.component.js +5 -10
- package/esm2015/lib/version.js +2 -2
- package/esm5/datorama-core.js +2 -1
- package/esm5/lib/breadcrumbs/breadcrumbs.component.js +4 -2
- package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +5 -2
- package/esm5/lib/grid-v2/grid-settings.js +2 -2
- package/esm5/lib/grid-v2/grid-store/grid.service.js +10 -6
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +13 -1
- package/esm5/lib/rich-text/rich-text.directive.js +16 -34
- package/esm5/lib/rich-text/rich-text.service.js +51 -0
- package/esm5/lib/select/select.component.js +5 -10
- package/esm5/lib/version.js +2 -2
- package/fesm2015/datorama-core.js +74 -49
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +82 -50
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -0
- package/lib/grid-v2/grid-settings.d.ts +2 -2
- package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +2 -0
- package/lib/rich-text/rich-text.directive.d.ts +4 -6
- package/lib/rich-text/rich-text.service.d.ts +10 -0
- package/package.json +1 -1
package/esm2015/datorama-core.js
CHANGED
|
@@ -14,5 +14,6 @@ export { DatoGridV2ToolbarMoreMenuComponent as ɵm } from './lib/grid-v2/grid-to
|
|
|
14
14
|
export { DatoGridHelper as ɵc } from './lib/grid/grid-helper';
|
|
15
15
|
export { DatoListSelectAllComponent as ɵj } from './lib/list-v2/list-select-all.component';
|
|
16
16
|
export { ListStore as ɵi } from './lib/list-v2/list-v2-state';
|
|
17
|
+
export { RichTextService as ɵo } from './lib/rich-text/rich-text.service';
|
|
17
18
|
export { Popper as ɵd } from './lib/services/popper';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0b3JhbWEtY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsiZGF0b3JhbWEtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBa0IsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0saUdBQWlHLENBQUM7QUFDdEosT0FBTyxFQUFDLHdDQUF3QyxJQUFJLEVBQUUsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQzVKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxNQUFNLElBQUksRUFBRSxFQUFDLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7Q29yZUNvbmZpZyBhcyDJtWEsREFUT19DT1JFX0NPTkZJRyBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQge0RhdG9EYXRlUmFuZ2VzRmlsdGVyUGlwZSBhcyDJtWh9IGZyb20gJy4vbGliL2RhdGUtcGlja2VyL3Jhbmdlcy1maWx0ZXIucGlwZSc7XG5leHBvcnQge0RhdG9HcmlkSXRlbXNDb3VudENlbGxDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2xpYi9ncmlkLXYyL2dyaWQtY29sdW1uLWNlbGwtY29tcG9uZW50cy9ncmlkLWl0ZW1zLWNvdW50LWNlbGwvZ3JpZC1pdGVtcy1jb3VudC1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdG9HcmlkTXVsdGlTZWxlY3RDb2x1bW5IZWFkZXJDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9ncmlkLXYyL2dyaWQtY29sdW1uLWhlYWRlci9ncmlkLW11bHRpLXNlbGVjdC1oZWFkZXIvZ3JpZC1tdWx0aS1zZWxlY3QtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdG9HcmlkU2VhcmNoQmFyQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLXNlYXJjaC1iYXIvZ3JpZC1zZWFyY2gtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge0dyaWRRdWVyeSBhcyDJtWV9IGZyb20gJy4vbGliL2dyaWQtdjIvZ3JpZC1zdG9yZS9ncmlkLnF1ZXJ5JztcbmV4cG9ydCB7R3JpZFNlcnZpY2UgYXMgybVnfSBmcm9tICcuL2xpYi9ncmlkLXYyL2dyaWQtc3RvcmUvZ3JpZC5zZXJ2aWNlJztcbmV4cG9ydCB7R3JpZFN0b3JlIGFzIMm1Zn0gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUnO1xuZXhwb3J0IHtEYXRvR3JpZFYyVG9vbGJhck1vcmVNZW51Q29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9saWIvZ3JpZC12Mi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLW1vcmUtbWVudS9ncmlkLXRvb2xiYXItbW9yZS1tZW51JztcbmV4cG9ydCB7RGF0b0dyaWRIZWxwZXIgYXMgybVjfSBmcm9tICcuL2xpYi9ncmlkL2dyaWQtaGVscGVyJztcbmV4cG9ydCB7RGF0b0xpc3RTZWxlY3RBbGxDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2xpYi9saXN0LXYyL2xpc3Qtc2VsZWN0LWFsbC5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0U3RvcmUgYXMgybVpfSBmcm9tICcuL2xpYi9saXN0LXYyL2xpc3QtdjItc3RhdGUnO1xuZXhwb3J0IHtSaWNoVGV4dFNlcnZpY2UgYXMgybVvfSBmcm9tICcuL2xpYi9yaWNoLXRleHQvcmljaC10ZXh0LnNlcnZpY2UnO1xuZXhwb3J0IHtQb3BwZXIgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wb3BwZXInOyJdfQ==
|
|
@@ -71,7 +71,9 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
|
|
|
71
71
|
this._breadcrumbs = [...start, ...dots, ...end];
|
|
72
72
|
}
|
|
73
73
|
initEditableHeader() {
|
|
74
|
-
this.headerControl.valueChanges
|
|
74
|
+
this.headerControl.valueChanges
|
|
75
|
+
.pipe(debounceTime(300), untilDestroyed(this))
|
|
76
|
+
.subscribe((res) => {
|
|
75
77
|
this.updateEditableText.emit(res);
|
|
76
78
|
this.cdr.detectChanges();
|
|
77
79
|
});
|
|
@@ -146,4 +148,4 @@ DatoBreadcrumbsComponent = __decorate([
|
|
|
146
148
|
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
147
149
|
], DatoBreadcrumbsComponent);
|
|
148
150
|
export { DatoBreadcrumbsComponent };
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVN4RCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQXFDbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNoQyw4QkFBeUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUlqQyxrQ0FBNkIsR0FBRyxDQUFDLENBQUM7UUFDM0MsNkJBQXdCLEdBQUcsSUFBSSxD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QUFPLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO2FBQU07WUFDTCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztDQUNGLENBQUE7O1lBekQwQixpQkFBaUI7O0FBbkMxQztJQURDLEtBQUssRUFBRTs7O3VFQU1QO0FBR0Q7SUFEQyxLQUFLLEVBQUU7OzsyREFPUDtBQUtRO0lBQVIsS0FBSyxFQUFFOzhCQUFnQixXQUFXOytEQUFDO0FBQzNCO0lBQVIsS0FBSyxFQUFFOztpRUFBeUI7QUFDeEI7SUFBUixLQUFLLEVBQUU7O2dFQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTs7a0VBQXlCO0FBQ3hCO0lBQVIsS0FBSyxFQUFFOztrRUFBd0M7QUFDdkM7SUFBUixLQUFLLEVBQUU7O3lFQUFpQztBQUNoQztJQUFSLEtBQUssRUFBRTs7MkVBQThDO0FBRTVDO0lBQVQsTUFBTSxFQUFFOztpRUFBc0M7QUFDckM7SUFBVCxNQUFNLEVBQUU7O29FQUF5QztBQTlCdkMsd0JBQXdCO0lBUHBDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsdzFDQUEyQztRQUUzQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDaEQsQ0FBQztxQ0FzQ3lCLGlCQUFpQjtHQXJDL0Isd0JBQXdCLENBOEZwQztTQTlGWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1icy50eXBlcyc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uL3V0aWxzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWJyZWFkY3J1bWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGF0b0JyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMobWF4OiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmlsKHRoaXMub3JpZ2luYWxCcmVhZGNydW1icykpIHtcbiAgICAgIHRoaXMuc2V0TWF4RGlzcGxheWVkQnJlYWRjcnVtYnMobWF4KTtcbiAgICAgIHRoaXMuaW5pdEJyZWFkY3J1bWJzKHRoaXMub3JpZ2luYWxCcmVhZGNydW1icyk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10pIHtcbiAgICB0aGlzLm9yaWdpbmFsQnJlYWRjcnVtYnMgPSBicmVhZGNydW1icztcbiAgICBpZiAodGhpcy5fbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMgPiAwKSB7XG4gICAgICB0aGlzLnNldE1heERpc3BsYXllZEJyZWFkY3J1bWJzKHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzKTtcbiAgICAgIHRoaXMuaW5pdEJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYnJlYWRjcnVtYnMoKTogQnJlYWRjcnVtYltdIHtcbiAgICByZXR1cm4gdGhpcy5fYnJlYWRjcnVtYnM7XG4gIH1cbiAgQElucHV0KCkgaGVhZGVyQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIHNob3dBcnJvd0luTGFzdCA9IGZhbHNlO1xuICBASW5wdXQoKSBsYXN0QXJyb3dDbGFzcyA9ICcnO1xuICBASW5wdXQoKSBtYXJrTGFzdEFzQWN0aXZlID0gdHJ1ZTtcbiAgQElucHV0KCkgZGF0YUF1dG9JZFByZWZpeCA9ICdkYXRvLWJyZWFkY3J1bWJzLSc7XG4gIEBJbnB1dCgpIGlzSGVhZGVyQ29udHJvbERpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhlYWRlckNvbnRyb2xBdXRvSWRTdWZmaXggPSAnaGVhZGVyLWNvbnRyb2wnO1xuXG4gIEBPdXRwdXQoKSBicmVhZGNydW1iQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB1cGRhdGVFZGl0YWJsZVRleHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBvcmlnaW5hbEJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW107XG4gIHByaXZhdGUgX2JyZWFkY3J1bWJzOiBCcmVhZGNydW1iW107XG4gIHByaXZhdGUgcmVhZG9ubHkgSU5JVElBTF9ESVNQTEFZRURfQlJFQURDUlVNQlMgPSAzO1xuICBwcml2YXRlIF9tYXhEaXNwbGF5ZWRCcmVhZGNydW1icyA9IHRoaXMuSU5JVElBTF9ESVNQTEFZRURfQlJFQURDUlVNQlM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhlYWRlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW5pdEVkaXRhYmxlSGVhZGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLyoqIEltcGxlbWVudGVkIGR1ZSB0byB1bnRpbERlc3Ryb3llZCAqL1xuICB9XG5cbiAgb25DbGljayh7IGRhdGEsIG9uQ2xpY2sgfTogQnJlYWRjcnVtYikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJDbGljay5lbWl0KGRhdGEpO1xuICAgIH1cblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgc2hvdWxkSGF2ZUFycm93KGxhc3Q6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gIWxhc3QgfHwgKGxhc3QgJiYgdGhpcy5zaG93QXJyb3dJbkxhc3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0QnJlYWRjcnVtYnMoYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJbXSkge1xuICAgIGNvbnN0IHNob3VsZERpc3BsYXlBbGxCcmVhZGNydW1icyA9IHNpemUoYnJlYWRjcnVtYnMpIDw9IHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzO1xuICAgIGNvbnN0IGRvdHMgPSBzaG91bGREaXNwbGF5QWxsQnJlYWRjcnVtYnMgPyBbXSA6IFt7IHRleHQ6ICcuLi4nIH1dO1xuICAgIGNvbnN0IHN0YXJ0ID0gYnJlYWRjcnVtYnMuc2xpY2UoMCwgMSk7XG4gICAgY29uc3QgZW5kID0gc2hvdWxkRGlzcGxheUFsbEJyZWFkY3J1bWJzXG4gICAgICA/IGJyZWFkY3J1bWJzLnNsaWNlKDEpXG4gICAgICA6IGJyZWFkY3J1bWJzLnNsaWNlKGJyZWFkY3J1bWJzLmxlbmd0aCAtIHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzICsgMSk7XG5cbiAgICB0aGlzLl9icmVhZGNydW1icyA9IFsuLi5zdGFydCwgLi4uZG90cywgLi4uZW5kXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEVkaXRhYmxlSGVhZGVyKCkge1xuICAgIHRoaXMuaGVhZGVyQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlRWRpdGFibGVUZXh0LmVtaXQocmVzKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE1heERpc3BsYXllZEJyZWFkY3J1bWJzKG1heDogbnVtYmVyKSB7XG4gICAgaWYgKG1heCA8IHRoaXMuSU5JVElBTF9ESVNQTEFZRURfQlJFQURDUlVNQlMpIHtcbiAgICAgIHRoaXMuX21heERpc3BsYXllZEJyZWFkY3J1bWJzID0gdGhpcy5JTklUSUFMX0RJU1BMQVlFRF9CUkVBRENSVU1CUztcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1pbmltdW0gYnJlYWRjcnVtYnMgbnVtYmVyIGlzICR7dGhpcy5JTklUSUFMX0RJU1BMQVlFRF9CUkVBRENSVU1CU31gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWF4RGlzcGxheWVkQnJlYWRjcnVtYnMgPSBtYXg7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -33,4 +33,4 @@ export var GridRowSelectionType;
|
|
|
33
33
|
GridRowSelectionType["SINGLE"] = "single";
|
|
34
34
|
GridRowSelectionType["MULTIPLE"] = "multiple";
|
|
35
35
|
})(GridRowSelectionType || (GridRowSelectionType = {}));
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQ3BELE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN6RyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyx1Q0FBdUMsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDeEcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUM3RixVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDOUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMsQ0FBQztBQXFIRixNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHlEQUFhLENBQUE7SUFDYiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVNYO0FBVEQsV0FBWSxtQkFBbUI7SUFDN0Isd0NBQWlCLENBQUE7SUFDakIsd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZixnREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBcUIsQ0FBQTtJQUNyQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVM5QjtBQWNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIseUNBQWlCLENBQUE7SUFDakIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nKSA9PiB7XG4gIGlmICghcGFyYW1zIHx8ICFwYXJhbXMudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyIGVsbGlwc2lzXCI+JHtzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIocGFyYW1zLCBzZWFyY2hUZXJtKX08L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlciA9IChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsIHNlYXJjaFRlcm06IHN0cmluZykgPT4ge1xuICBzZWFyY2hUZXJtID0gKHNlYXJjaFRlcm0gfHwgJycpLnRyaW0oKTtcbiAgY29uc3QgdmFsdWUgPSAocGFyYW1zLnZhbHVlRm9ybWF0dGVkIHx8IHBhcmFtcy52YWx1ZSB8fCAnJykudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHNlYXJjaFRlcm1cbiAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChzZWFyY2hUZXJtLCAnZ2knKSwgKHN0cjogc3RyaW5nKSA9PiBgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaGlnaGxpZ2h0XCI+JHtzdHJ9PC9zcGFuPmApXG4gICAgOiB2YWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdncmVlbicgfCAncmVkJyB8ICdhY2NlbnQnIHwgJ3llbGxvdyc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBpY29uQ3NzQ2xhc3M/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBzaG93U3Bpbm5lcj86IGJvb2xlYW47XG4gIG1heExhYmVscz86IG51bWJlcjtcbiAgZ2V0QWRkaXRpb25hbFRleHQ/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGdldEltYWdlVXJsPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nO1xuICBpbml0aWFsc0NvbmZpZz86IERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnO1xuICBnZXRJc1Zpc2libGU/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xuICBnZXRJdGVtcz86IChkYXRhOiBhbnkpID0+IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWcgPSB7XG4gIGZpcnN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBsYXN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBmdWxsTmFtZUZpZWxkPzogc3RyaW5nO1xuICBnZXRGdWxsTmFtZT86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgaXNCb2xkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRmlsdGVyQ29uZmlnID0ge1xuICBzZWN0aW9ucz86IERhdG9HcmlkRmlsdGVyU2VjdGlvbnM7XG4gIHByZWRlZmluZWRMaXN0VmFsdWVzPzogKHN0cmluZyB8IExpc3RJdGVtKVtdO1xuICBrZWVwUHJlZGVmaW5lZExpc3RPcmlnaW5hbE9yZGVyPzogYm9vbGVhbjtcbiAgc2hvd0VtcHR5Q29uZGl0aW9ucz86IGJvb2xlYW47XG4gIHNob3dDbGVhckZpbHRlcnNCdXR0b24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgZXhwb3J0R3JpZD8ocGFyYW1zOiBEYXRvR3JpZEV4cG9ydFBhcmFtcyk6IHZvaWQ7XG4gIGRlZmF1bHRDb2xEZWY/OiBEYXRvR3JpZENvbHVtbkRlZjtcbiAgZGF0YXNvdXJjZT86IHtcbiAgICBnZXRSb3dzKHBhcmFtczogRGF0b0dyaWRHZXRSb3dzUGFyYW1zKTogdm9pZDtcbiAgICAvLyBvcHRpb25hbCBkZXN0cm95IG1ldGhvZCwgaWYgeW91ciBkYXRhc291cmNlIGhhcyBzdGF0ZSBpdCBuZWVkcyB0byBjbGVhbiB1cFxuICAgIGRlc3Ryb3k/KCk6IHZvaWQ7XG4gIH07XG4gIGN1c3RvbUNvbnRleHRNZW51Pyhyb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSk6IFJvd0FjdGlvbltdO1xuICBob3ZlckNvbmZpZz86IERhdG9HcmlkT25Ib3ZlckNvbmZpZztcbiAgb3ZlcmxheXNDb25maWc/OiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcbiAgZGlzdGluY3RSZXN1bHRzPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIGVuYWJsZVNlYXJjaD86IGJvb2xlYW47XG4gIGVuYWJsZVNlYXJjaEhpZ2hsaWdodD86IGJvb2xlYW47XG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0PzogYm9vbGVhbjtcbiAgc2VhcmNoRGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd011bHRpU2VsZWN0aW9uQ2hlY2tib3hlcz86IGJvb2xlYW47XG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaWRDb2x1bW5LZXk/OiBzdHJpbmc7XG4gIGVuYWJsZUJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Qm90dG9tQ29udHJvbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudUl0ZW0gPSBzdHJpbmcgfCBNZW51SXRlbURlZjtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db252ZXJ0ZXJQYXJhbXMge1xuICBub2RlOiBSb3dOb2RlO1xuICB0b29sYmFyQWN0aW9uczogUm93QWN0aW9uW107XG4gIHNlbGVjdGVkUm93czogUm93Tm9kZVtdO1xuICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeTtcbiAgbG9nZ2VyPzoge1xuICAgIGxvZyhldmVudFR5cGU6IENvcmVFdmVudFR5cGVzLkdSSURfVEFCTEVfQUNUSU9OLCBldmVudFByb3BlcnRpZXM/OiBIYXNoTWFwPGFueT4pOiB2b2lkO1xuICAgIGV2ZW50T3JpZ2luPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBEYXRvR3JpZFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydCA9IHtcbiAgY29sSWQ6IHN0cmluZztcbiAgc29ydDogRGF0b0dyaWRTb3J0RGlyZWN0aW9uO1xuICBmaWVsZD86IHN0cmluZztcbiAgc29ydEluZGV4PzogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiA9ICdBU0MnIHwgJ0RFU0MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0ID0geyBjb2x1bW46IHN0cmluZzsgc29ydE9yZGVyOiBEYXRvR3JpZFNlcnZlclNvcnREaXJlY3Rpb24gfTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRGF0b0dyaWRBbGlnbm1lbnQge1xuICBGSVRfVE9fQ09OVEFJTkVSLFxuICBGSVRfVE9fQ09OVEVOVCxcbiAgQ1VTVE9NXG59XG5cbmV4cG9ydCBlbnVtIEdyaWRNaW5XaWR0aHMge1xuICBEZWZhdWx0ID0gMTA3LFxuICBXaXRoX0luZm8gPSAxMzFcbn1cblxuZXhwb3J0IGVudW0gRGF0b0dyaWRDb2x1bW5UeXBlcyB7XG4gIFN0cmluZyA9ICdTdHJpbmcnLFxuICBOdW1iZXIgPSAnTnVtYmVyJyxcbiAgRGF0ZSA9ICdEYXRlJyxcbiAgU3RhdHVzID0gJ1N0YXR1cycsXG4gIEl0ZW1zID0gJ0l0ZW1zJyxcbiAgSXRlbXNDb3VudCA9ICdJdGVtc0NvdW50JyxcbiAgSW5pdGlhbHMgPSAnSW5pdGlhbHMnLFxuICBBdmF0YXIgPSAnQXZhdGFyJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdG9HcmlkVHJlZUNvbmZpZyB7XG4gIGlkS2V5OiBzdHJpbmc7XG4gIHBhcmVudElES2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFnR3JpZFJvd0ljb24gPVxuICB8IHN0cmluZ1xuICB8IHtcbiAgICAgIGV4cGFuZGVkOiBzdHJpbmc7XG4gICAgICBjb2xsYXBzZWQ6IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgZW51bSBHcmlkUm93U2VsZWN0aW9uVHlwZSB7XG4gIFNJTkdMRSA9ICdzaW5nbGUnLFxuICBNVUxUSVBMRSA9ICdtdWx0aXBsZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JpZFJvd3NTZWxlY3Rpb25EYXRhID0ge1xuICB0b3RhbFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFBhZ2VSb3dzQ291bnQ6IG51bWJlcjtcbiAgaXNBbGxQYWdlUm93c1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgR3JpZENoYW5nZUV2ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRhdGE6IFJvd05vZGVbXTtcbiAgZmlsdGVyOiBEYXRvR3JpZEV4dGVybmFsRmlsdGVyW107XG4gIHNvcnQ6IERhdG9HcmlkU29ydDtcbn07XG4iXX0=
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQ3BELE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN6RyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyx1Q0FBdUMsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDeEcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUM3RixVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDOUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMsQ0FBQztBQXNIRixNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHlEQUFhLENBQUE7SUFDYiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVNYO0FBVEQsV0FBWSxtQkFBbUI7SUFDN0Isd0NBQWlCLENBQUE7SUFDakIsd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZixnREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBcUIsQ0FBQTtJQUNyQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVM5QjtBQWNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIseUNBQWlCLENBQUE7SUFDakIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nKSA9PiB7XG4gIGlmICghcGFyYW1zIHx8ICFwYXJhbXMudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyIGVsbGlwc2lzXCI+JHtzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIocGFyYW1zLCBzZWFyY2hUZXJtKX08L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlciA9IChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsIHNlYXJjaFRlcm06IHN0cmluZykgPT4ge1xuICBzZWFyY2hUZXJtID0gKHNlYXJjaFRlcm0gfHwgJycpLnRyaW0oKTtcbiAgY29uc3QgdmFsdWUgPSAocGFyYW1zLnZhbHVlRm9ybWF0dGVkIHx8IHBhcmFtcy52YWx1ZSB8fCAnJykudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHNlYXJjaFRlcm1cbiAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChzZWFyY2hUZXJtLCAnZ2knKSwgKHN0cjogc3RyaW5nKSA9PiBgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaGlnaGxpZ2h0XCI+JHtzdHJ9PC9zcGFuPmApXG4gICAgOiB2YWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdncmVlbicgfCAncmVkJyB8ICdhY2NlbnQnIHwgJ3llbGxvdyc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBpY29uQ3NzQ2xhc3M/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBzaG93U3Bpbm5lcj86IGJvb2xlYW47XG4gIG1heExhYmVscz86IG51bWJlcjtcbiAgZ2V0QWRkaXRpb25hbFRleHQ/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGdldEltYWdlVXJsPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nO1xuICBpbml0aWFsc0NvbmZpZz86IERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnO1xuICBnZXRJc1Zpc2libGU/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xuICBnZXRJdGVtcz86IChkYXRhOiBhbnkpID0+IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWcgPSB7XG4gIGZpcnN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBsYXN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBmdWxsTmFtZUZpZWxkPzogc3RyaW5nO1xuICBnZXRGdWxsTmFtZT86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgaXNCb2xkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRmlsdGVyQ29uZmlnID0ge1xuICBzZWN0aW9ucz86IERhdG9HcmlkRmlsdGVyU2VjdGlvbnM7XG4gIHByZWRlZmluZWRMaXN0VmFsdWVzPzogKHN0cmluZyB8IExpc3RJdGVtKVtdO1xuICBrZWVwUHJlZGVmaW5lZExpc3RPcmlnaW5hbE9yZGVyPzogYm9vbGVhbjtcbiAgc2hvd0VtcHR5Q29uZGl0aW9ucz86IGJvb2xlYW47XG4gIHNob3dDbGVhckZpbHRlcnNCdXR0b24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgaXNHbG9iYWxTZXR0aW5ncz86IGJvb2xlYW47XG4gIGV4cG9ydEdyaWQ/KHBhcmFtczogRGF0b0dyaWRFeHBvcnRQYXJhbXMpOiB2b2lkO1xuICBkZWZhdWx0Q29sRGVmPzogRGF0b0dyaWRDb2x1bW5EZWY7XG4gIGRhdGFzb3VyY2U/OiB7XG4gICAgZ2V0Um93cyhwYXJhbXM6IERhdG9HcmlkR2V0Um93c1BhcmFtcyk6IHZvaWQ7XG4gICAgLy8gb3B0aW9uYWwgZGVzdHJveSBtZXRob2QsIGlmIHlvdXIgZGF0YXNvdXJjZSBoYXMgc3RhdGUgaXQgbmVlZHMgdG8gY2xlYW4gdXBcbiAgICBkZXN0cm95PygpOiB2b2lkO1xuICB9O1xuICBjdXN0b21Db250ZXh0TWVudT8ocm93QWN0aW9uczogUm93QWN0aW9uW10pOiBSb3dBY3Rpb25bXTtcbiAgaG92ZXJDb25maWc/OiBEYXRvR3JpZE9uSG92ZXJDb25maWc7XG4gIG92ZXJsYXlzQ29uZmlnPzogRGF0b0dyaWRPdmVybGF5SW5wdXQ7XG4gIGRpc3RpbmN0UmVzdWx0cz86IGJvb2xlYW47XG4gIG1heERlcHRoPzogbnVtYmVyO1xuICBlbmFibGVTZWFyY2g/OiBib29sZWFuO1xuICBlbmFibGVTZWFyY2hIaWdobGlnaHQ/OiBib29sZWFuO1xuICBjb2x1bW5zSW5jbHVkZWRJblNlYXJjaEJ5RGVmYXVsdD86IGJvb2xlYW47XG4gIHNlYXJjaERlYm91bmNlVGltZT86IG51bWJlcjtcbiAgaW5jbHVkZUhpZGRlbkNvbHVtbnNJblNlYXJjaD86IGJvb2xlYW47XG4gIHNob3dNdWx0aVNlbGVjdGlvbkNoZWNrYm94ZXM/OiBib29sZWFuO1xuICBlbmFibGVBbGxQYWdlc1NlbGVjdGlvbj86IGJvb2xlYW47XG4gIGlkQ29sdW1uS2V5Pzogc3RyaW5nO1xuICBlbmFibGVCYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgc2hvd0JvdHRvbUNvbnRyb2xzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnVJdGVtID0gc3RyaW5nIHwgTWVudUl0ZW1EZWY7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udmVydGVyUGFyYW1zIHtcbiAgbm9kZTogUm93Tm9kZTtcbiAgdG9vbGJhckFjdGlvbnM6IFJvd0FjdGlvbltdO1xuICBzZWxlY3RlZFJvd3M6IFJvd05vZGVbXTtcbiAgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnk7XG4gIGxvZ2dlcj86IHtcbiAgICBsb2coZXZlbnRUeXBlOiBDb3JlRXZlbnRUeXBlcy5HUklEX1RBQkxFX0FDVElPTiwgZXZlbnRQcm9wZXJ0aWVzPzogSGFzaE1hcDxhbnk+KTogdm9pZDtcbiAgICBldmVudE9yaWdpbj86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRTb3J0RGlyZWN0aW9uID0gJ2FzYycgfCAnZGVzYyc7XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNvcnQgPSB7XG4gIGNvbElkOiBzdHJpbmc7XG4gIHNvcnQ6IERhdG9HcmlkU29ydERpcmVjdGlvbjtcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIHNvcnRJbmRleD86IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNlcnZlclNvcnREaXJlY3Rpb24gPSAnQVNDJyB8ICdERVNDJztcbmV4cG9ydCB0eXBlIERhdG9HcmlkU2VydmVyU29ydCA9IHsgY29sdW1uOiBzdHJpbmc7IHNvcnRPcmRlcjogRGF0b0dyaWRTZXJ2ZXJTb3J0RGlyZWN0aW9uIH07XG5cbmV4cG9ydCBjb25zdCBlbnVtIERhdG9HcmlkQWxpZ25tZW50IHtcbiAgRklUX1RPX0NPTlRBSU5FUixcbiAgRklUX1RPX0NPTlRFTlQsXG4gIENVU1RPTVxufVxuXG5leHBvcnQgZW51bSBHcmlkTWluV2lkdGhzIHtcbiAgRGVmYXVsdCA9IDEwNyxcbiAgV2l0aF9JbmZvID0gMTMxXG59XG5cbmV4cG9ydCBlbnVtIERhdG9HcmlkQ29sdW1uVHlwZXMge1xuICBTdHJpbmcgPSAnU3RyaW5nJyxcbiAgTnVtYmVyID0gJ051bWJlcicsXG4gIERhdGUgPSAnRGF0ZScsXG4gIFN0YXR1cyA9ICdTdGF0dXMnLFxuICBJdGVtcyA9ICdJdGVtcycsXG4gIEl0ZW1zQ291bnQgPSAnSXRlbXNDb3VudCcsXG4gIEluaXRpYWxzID0gJ0luaXRpYWxzJyxcbiAgQXZhdGFyID0gJ0F2YXRhcidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZFRyZWVDb25maWcge1xuICBpZEtleTogc3RyaW5nO1xuICBwYXJlbnRJREtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBZ0dyaWRSb3dJY29uID1cbiAgfCBzdHJpbmdcbiAgfCB7XG4gICAgICBleHBhbmRlZDogc3RyaW5nO1xuICAgICAgY29sbGFwc2VkOiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IGVudW0gR3JpZFJvd1NlbGVjdGlvblR5cGUge1xuICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgTVVMVElQTEUgPSAnbXVsdGlwbGUnXG59XG5cbmV4cG9ydCB0eXBlIEdyaWRSb3dzU2VsZWN0aW9uRGF0YSA9IHtcbiAgdG90YWxSb3dzQ291bnQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRSb3dzQ291bnQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRQYWdlUm93c0NvdW50OiBudW1iZXI7XG4gIGlzQWxsUGFnZVJvd3NTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEdyaWRDaGFuZ2VFdmVudCA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBkYXRhOiBSb3dOb2RlW107XG4gIGZpbHRlcjogRGF0b0dyaWRFeHRlcm5hbEZpbHRlcltdO1xuICBzb3J0OiBEYXRvR3JpZFNvcnQ7XG59O1xuIl19
|
|
@@ -86,7 +86,10 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
|
|
|
86
86
|
.pipe(switchMap(() => {
|
|
87
87
|
this.gridOptions = this.normalizeOptions();
|
|
88
88
|
agGrid.gridOptions = this.gridOptions;
|
|
89
|
-
const
|
|
89
|
+
const isGlobal = this.gridOptions.isGlobalSettings;
|
|
90
|
+
const settingsLoader = this.gridOptions.saveSettings === false
|
|
91
|
+
? of(null)
|
|
92
|
+
: this.storageAPI.get(this.gridOptions.gridName, isGlobal);
|
|
90
93
|
return combineLatest([agGrid.gridReady, settingsLoader]);
|
|
91
94
|
}), untilDestroyed(this))
|
|
92
95
|
.subscribe(([{ api, columnApi }, savedSettings = {}]) => {
|
|
@@ -470,4 +473,4 @@ DatoGridControllerComponent = __decorate([
|
|
|
470
473
|
DatoHotkeys, Object])
|
|
471
474
|
], DatoGridControllerComponent);
|
|
472
475
|
export { DatoGridControllerComponent };
|
|
473
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBWXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0Is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OEI7QUFDN0I7SUFBUixLQUFLLEVBQUU7O2dFQUFnQztBQUMvQjtJQUFSLEtBQUssRUFBRTs7OzhEQVlQO0FBcEJVLDJCQUEyQjtJQVR2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFFBQVEsRUFBRTs7R0FFVDtRQUVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDOztLQUMvQyxDQUFDO0lBb0RHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7cUNBVFYsV0FBVztRQUNiLFNBQVM7UUFDZCxpQkFBaUI7UUFDUixZQUFZO1FBQ2Ysb0JBQW9CO1FBQ3pCLFVBQVU7UUFDTixRQUFRO1FBQ1Isd0JBQXdCO1FBQ3pCLFdBQVc7R0FsRG5CLDJCQUEyQixDQStldkM7U0EvZVksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFnR3JpZE5nMiB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtcbiAgQm9keVNjcm9sbEV2ZW50LFxuICBDZWxsQ2xpY2tlZEV2ZW50LFxuICBDZWxsRXZlbnQsXG4gIENlbGxNb3VzZU91dEV2ZW50LFxuICBDb2x1bW5SZXNpemVkRXZlbnQsXG4gIENvbHVtblJvd0dyb3VwQ2hhbmdlZEV2ZW50LFxuICBEZXRhaWxHcmlkSW5mbyxcbiAgR3JpZEFwaSxcbiAgUm93R3JvdXBPcGVuZWRFdmVudFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRDb2x1bW5zU2l6ZXMgfSBmcm9tICcuLi9ncmlkLXN0b3JlL3V0aWwnO1xuaW1wb3J0IHsgR3JpZFN0b3JlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnN0b3JlJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuL2dyaWQtY29udHJvbGxlci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZEFsaWdubWVudCwgRGF0b0dyaWRPcHRpb25zLCBEYXRvR3JpZFNvcnQsIEdyaWRDaGFuZ2VFdmVudCB9IGZyb20gJy4uL2dyaWQvZ3JpZC12Mi50eXBlcyc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJy4uLy4uL2ludGVybmFsL2RlZXAtbWVyZ2UnO1xuaW1wb3J0IHsgRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jdXN0b20taGVhZGVyL2N1c3RvbS1oZWFkZXItdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEhhc2hNYXAgfSBmcm9tICcuLi8uLi91dGlscy90eXBlcyc7XG5pbXBvcnQgeyBHcmlkQWN0aW9uLCBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IERhdG9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgREFUT19HUklEX1NUT1JBR0VfQVBJLCBHcmlkU3RvcmFnZUFQSSB9IGZyb20gJy4uL2dyaWQtc2V0dGluZ3MnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc2tpcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhZGRDbGFzcywgYXBwZW5kQ2hpbGQsIHF1ZXJ5IH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvaGVscGVycyc7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICd0b29sdGlwLmpzJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hbmd1bGFyL2R5bmFtaWMtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLW9uLWhvdmVyL2dyaWQtb24taG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnZlcnRGcm9tVHJlZURhdGEsIGRlZmF1bHRHcmlkT3B0aW9ucywgZGVmYXVsdFRyZWVPcHRpb25zIH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLmNvbmZpZyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcbmltcG9ydCB7IERhdG9Ib3RrZXlzIH0gZnJvbSAnLi4vLi4vaG90a2V5cy9ob3RrZXlzLnNlcnZpY2UnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuaW1wb3J0IHsgRGF0b0dyaWRFeHRlcm5hbEZpbHRlciB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLWNvbnRyb2xsZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtHcmlkUXVlcnksIEdyaWRTZXJ2aWNlLCBHcmlkU3RvcmVdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkQ29udHJvbGxlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50KSBjdXN0b21IZWFkZXJzVGVtcGxhdGVzOiBRdWVyeUxpc3Q8XG4gICAgRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50XG4gID47XG5cbiAgQE91dHB1dCgpIG9uR3JpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZENoYW5nZUV2ZW50PigpO1xuICBASW5wdXQoKSByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBASW5wdXQoKSBncmlkQWN0aW9uczogR3JpZEFjdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHNldCBncmlkT3B0aW9ucyhncmlkT3B0aW9uczogRGF0b0dyaWRPcHRpb25zKSB7XG4gICAgdGhpcy5fZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnRyZWVEYXRhID0gZ3JpZE9wdGlvbnMudHJlZURhdGE7XG4gICAgdGhpcy5ncmlkU2VydmljZS5pc1Bpdm90TW9kZSA9IGdyaWRPcHRpb25zLnBpdm90TW9kZTtcblxuICAgIGlmICh0aGlzLmFnR3JpZEVsKSB7XG4gICAgICBpZiAoZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgICAgIXRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMudHJlZUdyaWRDbGFzcykgJiYgdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuYWRkKHRoaXMudHJlZUdyaWRDbGFzcyk7XG4gICAgICB9IGVsc2UgaWYgKCFncmlkT3B0aW9ucy5lbmFibGVWMl8xKSB7XG4gICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZCh0aGlzLnRyZWVHcmlkQ2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBncmlkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JpZE9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGNvbnRlbnRJbml0ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSB0b29sdGlwO1xuICBwcml2YXRlIF9ncmlkT3B0aW9uczogRGF0b0dyaWRPcHRpb25zO1xuICBncmlkUmVhZHkkID0gdGhpcy5ncmlkUXVlcnkuZ3JpZFJlYWR5JDtcbiAgYWdHcmlkRWw6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgcm93SG92ZXJDb21wb25lbnQ6IENvbXBvbmVudFJlZjxEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQ+O1xuICBwcml2YXRlIGxhc3RIb3ZlcmVkUm93OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBncmlkRWxlbWVudHMgPSB7XG4gICAgY2VudGVyVmlld3BvcnQ6IG51bGwsXG4gICAgY2VudGVyQ29udGFpbmVyOiBudWxsLFxuICAgIGJvZHlWaWV3cG9ydDogbnVsbFxuICB9O1xuICBwcml2YXRlIHJlYWRvbmx5IHRyZWVHcmlkQ2xhc3MgPSAndHJlZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwdWJsaWMgZ3JpZFF1ZXJ5OiBHcmlkUXVlcnksXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IERhdG9UcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBob3RrZXlzOiBEYXRvSG90a2V5cyxcbiAgICBASW5qZWN0KERBVE9fR1JJRF9TVE9SQUdFX0FQSSkgcHJpdmF0ZSBzdG9yYWdlQVBJOiBHcmlkU3RvcmFnZUFQSVxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMudG9vbHRpcCAmJiB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQgJiYgdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5uZXh0KCk7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyogQGludGVybmFsICovXG4gIF9pbml0aWFsaXplR3JpZChhZ0dyaWQ6IEFnR3JpZE5nMiwgYWdHcmlkRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5hZ0dyaWRFbCA9IGFnR3JpZEVsO1xuICAgIHRoaXMuY29udGVudEluaXRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucygpO1xuICAgICAgICAgIGFnR3JpZC5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZE9wdGlvbnM7XG4gICAgICAgICAgY29uc3Qgc2V0dGluZ3NMb2FkZXIgPVxuICAgICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5zYXZlU2V0dGluZ3MgPT09IGZhbHNlID8gb2YobnVsbCkgOiB0aGlzLnN0b3JhZ2VBUEkuZ2V0KHRoaXMuZ3JpZE9wdGlvbnMuZ3JpZE5hbWUpO1xuICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFthZ0dyaWQuZ3JpZFJlYWR5LCBzZXR0aW5nc0xvYWRlcl0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFt7IGFwaSwgY29sdW1uQXBpIH0sIHNhdmVkU2V0dGluZ3MgPSB7fV06IFtEZXRhaWxHcmlkSW5mbywgUGFydGlhbDxEYXRvR3JpZFNldHRpbmdzPl0pID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWRPcHRpb25zLnJvd0RhdGEpIHtcbiAgICAgICAgICBhcGkuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmdyaWRPcHRpb25zLnN0YXR1c0Jhcikge1xuICAgICAgICAgIC8qKiBGaXggYWctZ3JpZCBidWcgdGhhdCBkb2Vzbid0IGFkZCBhZy1oaWRkZW4gY2xhc3MgdG8gdGhlIHN0YXR1cyBiYXIsIHdoaWNoIG9ubHkgZ2V0IGZpeGVkIGluIGxhdGVyIHZlcnNpb25zICovXG4gICAgICAgICAgY29uc3QgZWwgPSBhZ0dyaWRFbC5xdWVyeVNlbGVjdG9yKCcuYWctc3RhdHVzLWJhcicpO1xuXG4gICAgICAgICAgYWRkQ2xhc3MoZWwsICdhZy1oaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBncmlkQXBpOiBEYXRvR3JpZEFwaSA9IHsgZ3JpZDogYXBpLCBjb2x1bW5zOiBjb2x1bW5BcGkgfTtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5fc2V0QXBpKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5Ll9zZXRBcGkoZ3JpZEFwaSwgYWdHcmlkKTtcblxuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmluaXRTZXR0aW5ncyhzYXZlZFNldHRpbmdzIHx8IHt9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclNldHRpbmdzTGlzdGVuZXJzKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJHcmlkTGlzdGVuZXJzKGdyaWRBcGksIGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHNUcmlnZ2VyaW5nQ2xlYXJTZWxlY3RlZFJvd3MoYWdHcmlkKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2luYXRpb25DaGFuZ2VkKGFnR3JpZCk7XG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5Ll9ncmlkUmVhZHkubmV4dCh0cnVlKTtcblxuICAgICAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy50cmVlRGF0YSkge1xuICAgICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZCgndHJlZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmdyaWRPcHRpb25zLnJvd0hlaWdodCkge1xuICAgICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZChgcm93LWhlaWdodC0ke3RoaXMuZ3JpZE9wdGlvbnMucm93SGVpZ2h0fWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucygpIHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRyZWVEYXRhIGlzIGVuYWJsZWQsIFBhZ2luYXRpb24gbXVzdCBiZSB0dXJuZWQgb2ZmXG4gICAgICovXG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICAgIC4uLnRoaXMuZ3JpZE9wdGlvbnMsXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBncmlkT3B0aW9uczogdGhpcy5ncmlkT3B0aW9ucyxcbiAgICAgIGN1c3RvbUhlYWRlcnNUZW1wbGF0ZXM6IHRoaXMuY3VzdG9tSGVhZGVyc1RlbXBsYXRlcyxcbiAgICAgIHJvd0FjdGlvbnM6IHRoaXMucm93QWN0aW9uc1xuICAgIH07XG5cbiAgICBsZXQgbm9ybWFsaXplZCA9IHRoaXMuZ3JpZFNlcnZpY2Uubm9ybWFsaXplT3B0aW9ucyhwYXJhbXMpO1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4uKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEgPyBkZWZhdWx0VHJlZU9wdGlvbnMgOiB7fSksXG4gICAgICBpY29uczogdGhpcy5nZXRHcmlkSWNvbnMoKVxuICAgIH07XG4gICAgcmV0dXJuIGRlZXBtZXJnZShkZWZhdWx0cywgbm9ybWFsaXplZCk7XG4gIH1cblxuICBzZXRHcmlkUm93czxUPihkYXRhOiBUW10pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldFJvd3M8VD4oZGF0YSk7XG4gIH1cblxuICBzZXRHcmlkRmlsdGVycyhmaWx0ZXJzOiBEYXRvR3JpZEV4dGVybmFsRmlsdGVyW10pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldEdyaWRGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgc2V0R3JpZFNvcnQoc29ydDogRGF0b0dyaWRTb3J0KSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRHcmlkU29ydChzb3J0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R3JpZEljb25zKCk6IEhhc2hNYXA8c3RyaW5nPiB7XG4gICAgY29uc3QgbW92ZUNvbHVtbkljb24gPSBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBkLWZsZXggY29sdW1uLW1vdmVcIj4ke3RoaXMuaWNvblJlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICdtb3ZlLWNvbHVtbidcbiAgICApfTwvc3Bhbj5gO1xuICAgIHJldHVybiB7XG4gICAgICBncm91cEV4cGFuZGVkOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBncm91cC1leHBhbmRlZC1pY29uXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdhcnJvdy1yaWdodCdcbiAgICAgICl9PC9zcGFuPmAsXG4gICAgICBncm91cENvbnRyYWN0ZWQ6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGdyb3VwLWNvbnRyYWN0ZWQtaWNvblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnYXJyb3ctcmlnaHQnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZVBpbjogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZC1mbGV4IHByaW1hcnktMzAwLWZpbGwgY29sdW1uLW1vdmUtcGluXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdwaW4nXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZUhpZGU6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGQtZmxleCBjb2x1bW4tbW92ZS1oaWRlXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgICdleWUtaGlkZSdcbiAgICAgICl9PC9zcGFuPmAsXG4gICAgICBjb2x1bW5Nb3ZlTW92ZTogbW92ZUNvbHVtbkljb24sXG4gICAgICBjb2x1bW5Nb3ZlTGVmdDogbW92ZUNvbHVtbkljb24sXG4gICAgICBjb2x1bW5Nb3ZlUmlnaHQ6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgcm93RHJhZzogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIGRyYWcgZC1mbGV4XCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoJ2RyYWctMDEnKX08L3NwYW4+YFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyU2V0dGluZ3NMaXN0ZW5lcnMoYXBpOiBEYXRvR3JpZEFwaSwgYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICB0aGlzLmxpc3RlblRvQ29sdW1uUmVzaXplKGFwaSwgYWdHcmlkKTtcbiAgICB0aGlzLmxpc3RlblRvR3JpZEV2ZW50cyhhZ0dyaWQpO1xuICAgIHRoaXMubGlzdGVuVG9TdG9yZVNldHRpbmdzQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0NvbHVtblJlc2l6ZShhcGk6IERhdG9HcmlkQXBpLCB7IGNvbHVtblJlc2l6ZWQgfTogQWdHcmlkTmcyKSB7XG4gICAgbGV0IG9ic2VydmFibGUgPSBjb2x1bW5SZXNpemVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIGlmICh0aGlzLm9uSG92ZXJFbmFibGVkKCkpIHtcbiAgICAgIG9ic2VydmFibGUgPSBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyBzb3VyY2UgfTogQ29sdW1uUmVzaXplZEV2ZW50KSA9PiBzb3VyY2UgPT09ICd1aUNvbHVtbkRyYWdnZWQnKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlT25Ib3ZlclBvcygpKVxuICAgICAgKTtcbiAgICB9XG4gICAgb2JzZXJ2YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGF1ZGl0VGltZSgxMDApLFxuICAgICAgICBmaWx0ZXIoKHsgZmluaXNoZWQsIHNvdXJjZSB9OiBDb2x1bW5SZXNpemVkRXZlbnQpID0+IGZpbmlzaGVkICYmIHNvdXJjZSA9PT0gJ3VpQ29sdW1uRHJhZ2dlZCcpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgY29uc3QgW2NvbHVtbl0gPSBlLmNvbHVtbnM7XG4gICAgICAgIGxldCBjb2x1bW5zU2l6ZXMgPSB7IC4uLnRoaXMuZ3JpZFF1ZXJ5LmdldENvbHVtblNpemVzKCkgfTtcbiAgICAgICAgaWYgKGNvbHVtbnNTaXplcykge1xuICAgICAgICAgIGNvbHVtbnNTaXplc1tjb2x1bW4uZ2V0Q29sSWQoKV0gPSBjb2x1bW4uZ2V0QWN0dWFsV2lkdGgoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2x1bW5zU2l6ZXMgPSBnZXRDb2x1bW5zU2l6ZXMoYXBpLmNvbHVtbnMuZ2V0QWxsR3JpZENvbHVtbnMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS51cGRhdGVTZXR0aW5ncyh7IGdyaWRBbGlnbm1lbnQ6IERhdG9HcmlkQWxpZ25tZW50LkNVU1RPTSwgY29sdW1uc1NpemVzIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvR3JpZEV2ZW50cyhhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIGNvbnN0IHsgY29sdW1uVmlzaWJsZSwgc29ydENoYW5nZWQsIGNvbHVtblJvd0dyb3VwQ2hhbmdlZCwgY29sdW1uUGlubmVkLCBkcmFnU3RvcHBlZCwgZmlsdGVyQ2hhbmdlZCB9ID0gYWdHcmlkO1xuICAgIG1lcmdlKGNvbHVtblZpc2libGUsIHNvcnRDaGFuZ2VkLCBjb2x1bW5Sb3dHcm91cENoYW5nZWQsIGNvbHVtblBpbm5lZCwgZHJhZ1N0b3BwZWQsIGZpbHRlckNoYW5nZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgLyogU2tpcCB0aGUgaW5pdGlhbCBzb3J0aW5nIGV2ZW50IGZpcmVkIGJ5IHRoZSBncmlkIHdoZW4gYWRkaW5nIHJvd3MgKi9cbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgdHlwZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzRGlmZiA9IHRoaXMuZ3JpZFNlcnZpY2UuZ2V0U2V0dGluZ3NEaWZmKCk7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlU2V0dGluZ3Moc2V0dGluZ3NEaWZmKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0R3JpZERhdGEoKTtcbiAgICAgICAgdGhpcy5vbkdyaWRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgZmlsdGVyOiB0aGlzLmdyaWRRdWVyeS5nZXRFeHRlcm5hbEZpbHRlcigpLFxuICAgICAgICAgIHNvcnQ6IHRoaXMuZ3JpZFF1ZXJ5LmdldEV4dGVybmFsU29ydCgpLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgZGF0YVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1N0b3JlU2V0dGluZ3NDaGFuZ2VzKCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5XG4gICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLnNldHRpbmdzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBzZXR0aW5nc0RpZmYgPSB0aGlzLmdyaWRTZXJ2aWNlLmdldFNldHRpbmdzRGlmZigpO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVTZXR0aW5nc1RvU2VydmVyKHNldHRpbmdzRGlmZik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkTGlzdGVuZXJzKGFwaTogRGF0b0dyaWRBcGksIGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgdGhpcy5ncmlkRWxlbWVudHMgPSB7XG4gICAgICBjZW50ZXJDb250YWluZXI6IHF1ZXJ5KCcuYWctY2VudGVyLWNvbHMtY29udGFpbmVyJywgdGhpcy5hZ0dyaWRFbCksXG4gICAgICBjZW50ZXJWaWV3cG9ydDogcXVlcnkoJy5hZy1jZW50ZXItY29scy12aWV3cG9ydCcsIHRoaXMuYWdHcmlkRWwpLFxuICAgICAgYm9keVZpZXdwb3J0OiBxdWVyeSgnLmFnLWJvZHktdmlld3BvcnQnLCB0aGlzLmFnR3JpZEVsKVxuICAgIH07XG4gICAgdGhpcy5yZWdpc3RlckdyaWRDbGlja0xpc3RlbmVyKGFwaS5ncmlkKTtcbiAgICB0aGlzLnJlZ2lzdGVyR3JpZEdyb3VwTGlzdGVuZXJzKGFnR3JpZCk7XG4gICAgdGhpcy5yZWdpc3RlckdyaWRNb3VzZUxpc3RlbmVycyhhZ0dyaWQpO1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkS2V5Ym9hcmRMaXN0ZW5lcihhcGkpO1xuICAgIHRoaXMucmVnaXN0ZXJXaW5kb3dSZXNpemVMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRHcm91cExpc3RlbmVycyhhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIC8qIE1ha2UgZ3JvdXAgZXhwYW5kL2NvbGxhcHNlIG9uIGEgc2luZ2xlIGNsaWNrIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZG91YmxlIGNsaWNrICovXG4gICAgYWdHcmlkLmNvbHVtblJvd0dyb3VwQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeyBjb2x1bW5zIH06IENvbHVtblJvd0dyb3VwQ2hhbmdlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvbHVtbnMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICA/IEVNUFRZXG4gICAgICAgICAgICA6IGFnR3JpZC5jZWxsQ2xpY2tlZC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoeyB2YWx1ZSwgbm9kZSB9OiBDZWxsQ2xpY2tlZEV2ZW50KSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIG5vZGUuZ3JvdXAgPT09IHRydWUpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoeyBub2RlIH06IENlbGxDbGlja2VkRXZlbnQpID0+IHtcbiAgICAgICAgbm9kZS5zZXRFeHBhbmRlZCghbm9kZS5leHBhbmRlZCk7XG4gICAgICB9KTtcbiAgICAvKiBXaGVuIGNsb3NpbmcgYSBncm91cGVkIHJvdyB3ZSB3YW50IHRvIGhpZGUgdGhlIG9uIGhvdmVyIGFjdGlvbnMgKi9cbiAgICBpZiAodGhpcy5vbkhvdmVyRW5hYmxlZCgpKSB7XG4gICAgICBhZ0dyaWQucm93R3JvdXBPcGVuZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKCh7IG5vZGUgfTogUm93R3JvdXBPcGVuZWRFdmVudCkgPT4gbm9kZS5leHBhbmRlZCA9PT0gZmFsc2UpLFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sYXN0SG92ZXJlZFJvdyA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZXRPbkhvdmVyU3RhdGUoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSBjbGljayB3YXMgcGVyZm9ybWVkIG9uIHRoZSBncmlkcyBib2R5IGFuZCBub3QgYSByb3csIGNsZWFyIHRoZSByb3dzIHNlbGVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRDbGlja0xpc3RlbmVyKGFwaTogR3JpZEFwaSkge1xuICAgIGNvbnN0IHsgYm9keVZpZXdwb3J0LCBjZW50ZXJWaWV3cG9ydCB9ID0gdGhpcy5ncmlkRWxlbWVudHM7XG4gICAgZnJvbUV2ZW50KGJvZHlWaWV3cG9ydCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgPT09IGJvZHlWaWV3cG9ydCB8fCBldmVudC50YXJnZXQgPT09IGNlbnRlclZpZXdwb3J0KSAmJiBhcGkuZ2V0U2VsZWN0ZWRSb3dzKCkubGVuZ3RoID4gMDtcbiAgICAgICAgfSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IGFwaS5kZXNlbGVjdEFsbCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Ib3ZlckVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZE9wdGlvbnMuaG92ZXJDb25maWcuZW5hYmxlZCAmJiB0aGlzLnJvd0FjdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkTW91c2VMaXN0ZW5lcnMoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBjb25zdCB7IGJvZHlWaWV3cG9ydCwgY2VudGVyQ29udGFpbmVyIH0gPSB0aGlzLmdyaWRFbGVtZW50cztcbiAgICBsZXQgbGFzdEhvdmVyZWRDZWxsO1xuICAgIGNvbnN0IG9uSG92ZXJFbmFibGVkID0gdGhpcy5vbkhvdmVyRW5hYmxlZCgpO1xuICAgIGlmIChvbkhvdmVyRW5hYmxlZCkge1xuICAgICAgZnJvbUV2ZW50KGNlbnRlckNvbnRhaW5lciwgJ21vdXNlbGVhdmUnKVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2dnbGVSb3dIb3ZlckNsYXNzKHRoaXMubGFzdEhvdmVyZWRSb3cpO1xuICAgICAgICAgIHRoaXMubGFzdEhvdmVyZWRSb3cgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2V0T25Ib3ZlclN0YXRlKGZhbHNlKTtcbiAgICAgICAgICBsYXN0SG92ZXJlZENlbGwgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICAgIG1lcmdlKFxuICAgICAgICBhZ0dyaWQuYm9keVNjcm9sbC5waXBlKGZpbHRlcigoeyBkaXJlY3Rpb24gfTogQm9keVNjcm9sbEV2ZW50KSA9PiBkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykpLFxuICAgICAgICBhZ0dyaWQucm93RGF0YUNoYW5nZWRcbiAgICAgIClcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlT25Ib3ZlclBvcygpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWRkT25Ib3ZlckVsZW1lbnQoKTtcbiAgICB9XG4gICAgYWdHcmlkLmNlbGxNb3VzZU92ZXJcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgbm9kZSwgY29sdW1uIH0pID0+IGxhc3RIb3ZlcmVkQ2VsbCAhPT0gYCR7bm9kZS5pZH0tJHtjb2x1bW4uZ2V0Q29sSWQoKX1gKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBDZWxsTW91c2VPdXRFdmVudCkgPT4ge1xuICAgICAgICBsYXN0SG92ZXJlZENlbGwgPSBgJHtldmVudC5ub2RlLmlkfS0ke2V2ZW50LmNvbHVtbi5nZXRDb2xJZCgpfWA7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoZXZlbnQpO1xuICAgICAgICBjb25zdCByb3cgPSAoZXZlbnQuZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50O1xuICAgICAgICBpZiAob25Ib3ZlckVuYWJsZWQgJiYgKGV2ZW50Lm5vZGUuZ3JvdXAgPT09IGZhbHNlIHx8IGlzTmlsKGV2ZW50Lm5vZGUuZ3JvdXApKSAmJiB0aGlzLmxhc3RIb3ZlcmVkUm93ICE9PSByb3cpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c05vZGUgPSB0aGlzLmxhc3RIb3ZlcmVkUm93O1xuICAgICAgICAgIHRoaXMubGFzdEhvdmVyZWRSb3cgPSByb3c7XG4gICAgICAgICAgdGhpcy50b2dnbGVSb3dIb3ZlckNsYXNzKFtwcmV2aW91c05vZGUsIHRoaXMubGFzdEhvdmVyZWRSb3ddKTtcbiAgICAgICAgICB0aGlzLnNldE9uSG92ZXJTdGF0ZSh0cnVlLCBldmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uVG9vbHRpcE91dCA9IG1lcmdlKFxuICAgICAgZnJvbUV2ZW50KGJvZHlWaWV3cG9ydCwgJ3Njcm9sbCcpLFxuICAgICAgZnJvbUV2ZW50KHRoaXMuYWdHcmlkRWwsICdtb3VzZWxlYXZlJyksXG4gICAgICBhZ0dyaWQuY2VsbE1vdXNlT3V0XG4gICAgKTtcbiAgICBvblRvb2x0aXBPdXRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gIWlzTmlsKHRoaXMudG9vbHRpcCkpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xlYXJUb29sdGlwKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwb3NlIHRoZSB0b29sdGlwXG4gICAqL1xuICBjbGVhclRvb2x0aXAoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnRvb2x0aXAgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93VG9vbHRpcChldmVudDogQ2VsbEV2ZW50KSB7XG4gICAgY29uc3QgY2VsbDogSFRNTEVsZW1lbnQgPSBldmVudC5ldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgdGV4dE92ZXJmbG93ID0gY2VsbC5vZmZzZXRXaWR0aCA8IGNlbGwuc2Nyb2xsV2lkdGg7XG4gICAgaWYgKHRleHRPdmVyZmxvdykge1xuICAgICAgY29uc3QgcGFyYW1zID0geyBjZWxsLCB2YWx1ZTogY2VsbC5pbm5lclRleHQgfTtcbiAgICAgIGlzTmlsKHRoaXMudG9vbHRpcCkgPyB0aGlzLmNyZWF0ZUFuZFNob3dUb29sdGlwKHBhcmFtcykgOiB0aGlzLnVwZGF0ZVRvb2x0aXAocGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFuZFNob3dUb29sdGlwKHsgY2VsbCwgdmFsdWUgfSkge1xuICAgIHRoaXMudG9vbHRpcCA9IG5ldyBUb29sdGlwKGNlbGwsIHtcbiAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICBjb250YWluZXI6IGRvY3VtZW50LmJvZHksXG4gICAgICB0cmlnZ2VyOiAnbWFudWFsJyxcbiAgICAgIHRpdGxlOiBET01QdXJpZnkuc2FuaXRpemUodmFsdWUpLFxuICAgICAgaHRtbDogdHJ1ZSxcbiAgICAgIHBvcHBlck9wdGlvbnM6IHtcbiAgICAgICAgbW9kaWZpZXJzOiB7XG4gICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7IGVuYWJsZWQ6IGZhbHNlIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRlbXBsYXRlOlxuICAgICAgICAnPGRpdiBjbGFzcz1cInRvb2x0aXAgZGF0by10b29sdGlwIGNvbW1vbi10b29sdGlwXCIgcm9sZT1cInRvb2x0aXBcIj48ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PjxkaXYgY2xhc3M9XCJ0b29sdGlwLWlubmVyXCI+PC9kaXY+PC9kaXY+J1xuICAgIH0pO1xuXG4gICAgdGhpcy50b29sdGlwLnNob3coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHRvb2x0aXAgZWxlbWVudCByZWYgYW5kIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlVG9vbHRpcCh7IGNlbGwsIHZhbHVlIH0pOiB2b2lkIHtcbiAgICBpZiAoY2VsbCAhPT0gdGhpcy50b29sdGlwLnJlZmVyZW5jZSkge1xuICAgICAgdGhpcy50b29sdGlwLnJlZmVyZW5jZSA9IGNlbGw7XG4gICAgICB0aGlzLnRvb2x0aXAucG9wcGVySW5zdGFuY2UucmVmZXJlbmNlID0gY2VsbDtcbiAgICAgIHRoaXMudG9vbHRpcC51cGRhdGVUaXRsZUNvbnRlbnQodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPbkhvdmVyRWxlbWVudCgpIHtcbiAgICB0aGlzLnJvd0hvdmVyQ29tcG9uZW50ID0gY3JlYXRlQ29tcG9uZW50PERhdG9HcmlkT25Ib3ZlckNvbXBvbmVudD4oe1xuICAgICAgY29tcG9uZW50OiBEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQsXG4gICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcbiAgICAgIHJlc29sdmVyOiB0aGlzLnJlc29sdmVyXG4gICAgfSk7XG4gICAgY29uc3QgeyBpbnN0YW5jZSwgaG9zdFZpZXcgfSA9IHRoaXMucm93SG92ZXJDb21wb25lbnQ7XG4gICAgaW5zdGFuY2UuY29uZmlnID0geyAuLi50aGlzLmdyaWRPcHRpb25zLmhvdmVyQ29uZmlnLCBhY3Rpb25zOiB0aGlzLnJvd0FjdGlvbnMuc2xpY2UoKSB9O1xuICAgIGhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcbiAgICBhcHBlbmRDaGlsZCh0aGlzLmdyaWRFbGVtZW50cy5jZW50ZXJDb250YWluZXIsIHRoaXMucm93SG92ZXJFbCk7XG4gIH1cblxuICBwcml2YXRlIGdldCByb3dIb3ZlckVsKCkge1xuICAgIHJldHVybiB0aGlzLnJvd0hvdmVyQ29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHNldE9uSG92ZXJTdGF0ZSh2aXNpYmxlOiBib29sZWFuLCBldmVudD86IENlbGxNb3VzZU91dEV2ZW50KSB7XG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gdGhpcy5yb3dIb3ZlckNvbXBvbmVudDtcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgaW5zdGFuY2Uuc2hvdyhldmVudCk7XG4gICAgICB0aGlzLnVwZGF0ZU9uSG92ZXJQb3MoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2UuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlT25Ib3ZlclBvcygpIHtcbiAgICBjb25zdCB7IGNlbnRlclZpZXdwb3J0LCBjZW50ZXJDb250YWluZXIgfSA9IHRoaXMuZ3JpZEVsZW1lbnRzO1xuICAgIGNvbnN0IHRhcmdldCA9IGNlbnRlckNvbnRhaW5lci5jbGllbnRXaWR0aCA+IGNlbnRlclZpZXdwb3J0LmNsaWVudFdpZHRoID8gY2VudGVyVmlld3BvcnQgOiBjZW50ZXJDb250YWluZXI7XG4gICAgY29uc3QgeyBjbGllbnRXaWR0aCwgc2Nyb2xsTGVmdCB9ID0gdGFyZ2V0O1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQuaW5zdGFuY2UudXBkYXRlU2Nyb2xsUG9zKGNsaWVudFdpZHRoICsgc2Nyb2xsTGVmdCk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZVJvd0hvdmVyQ2xhc3Mocm93czogSFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudFtdKSB7XG4gICAgY29lcmNlQXJyYXkocm93cykuZm9yRWFjaChyb3cgPT4gcm93ICYmIHJvdy5jbGFzc0xpc3QudG9nZ2xlKCdhY3Rpb25zLWhvdmVyZWQnKSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZEtleWJvYXJkTGlzdGVuZXIoeyBncmlkLCBjb2x1bW5zIH06IERhdG9HcmlkQXBpKSB7XG4gICAgdGhpcy5ob3RrZXlzXG4gICAgICAuYWRkU2hvcnRjdXQoe1xuICAgICAgICBlbGVtZW50OiB0aGlzLmFnR3JpZEVsLFxuICAgICAgICBrZXlzOiAnbWV0YS5hJyxcbiAgICAgICAgaWdub3JlSW5FZGl0YWJsZTogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2VsZWN0QWxsQ3VycmVudFBhZ2VSb3dzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJXaW5kb3dSZXNpemVMaXN0ZW5lcigpIHtcbiAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZ3JpZFF1ZXJ5LmdyaWRBbGlnbm1lbnQgIT09IERhdG9HcmlkQWxpZ25tZW50LkNVU1RPTSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZml0VG8gPSB0aGlzLmdyaWRRdWVyeS5ncmlkQWxpZ25tZW50ID09PSBEYXRvR3JpZEFsaWdubWVudC5GSVRfVE9fQ09OVEFJTkVSID8gJ2NvbnRhaW5lcicgOiAnY29udGVudCc7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZml0R3JpZChmaXRUbyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R3JpZERhdGEoKSB7XG4gICAgY29uc3QgZ3JpZE1vZGVsID0gdGhpcy5ncmlkU2VydmljZS5hcGkuZ3JpZC5nZXRNb2RlbCgpIGFzIGFueTtcbiAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy50cmVlRGF0YSkge1xuICAgICAgY29uc3QgZ3JpZERhdGEgPSBncmlkTW9kZWwucm93c1RvRGlzcGxheS5tYXAoKHsgZGF0YSB9KSA9PiBkYXRhKTtcbiAgICAgIHJldHVybiBjb252ZXJ0RnJvbVRyZWVEYXRhKGdyaWREYXRhLCB0aGlzLmdyaWRTZXJ2aWNlLnRyZWVDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZ3JpZE1vZGVsLnJvd3NUb0Rpc3BsYXk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckV2ZW50c1RyaWdnZXJpbmdDbGVhclNlbGVjdGVkUm93cyhhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIGNvbnN0IGV2ZW50cyQgPSB0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNpZGVcbiAgICAgID8gbWVyZ2UoYWdHcmlkLnNvcnRDaGFuZ2VkLCBhZ0dyaWQuZmlsdGVyQ2hhbmdlZClcbiAgICAgIDogYWdHcmlkLmZpbHRlckNoYW5nZWQ7XG4gICAgKGV2ZW50cyQgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5ncmlkU2VydmljZS5kZXNlbGVjdEFsbFJvd3MoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJQYWdpbmF0aW9uQ2hhbmdlZChhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIGlmICghdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTaWRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGFnR3JpZC5wYWdpbmF0aW9uQ2hhbmdlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2VsZWN0QWxsUm93c0VuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5zZWxlY3RBbGxDdXJyZW50UGFnZVJvd3ModHJ1ZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBWXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0Is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U0FBUzsyRUFFbkY7QUFFUTtJQUFULE1BQU0sRUFBRTs7aUVBQW9EO0FBQ3BEO0lBQVIsS0FBSyxFQUFFOzsrREFBOEI7QUFDN0I7SUFBUixLQUFLLEVBQUU7O2dFQUFnQztBQUMvQjtJQUFSLEtBQUssRUFBRTs7OzhEQVlQO0FBcEJVLDJCQUEyQjtJQVR2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFFBQVEsRUFBRTs7R0FFVDtRQUVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDOztLQUMvQyxDQUFDO0lBb0RHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7cUNBVFYsV0FBVztRQUNiLFNBQVM7UUFDZCxpQkFBaUI7UUFDUixZQUFZO1FBQ2Ysb0JBQW9CO1FBQ3pCLFVBQVU7UUFDTixRQUFRO1FBQ1Isd0JBQXdCO1FBQ3pCLFdBQVc7R0FsRG5CLDJCQUEyQixDQWtmdkM7U0FsZlksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFnR3JpZE5nMiB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtcbiAgQm9keVNjcm9sbEV2ZW50LFxuICBDZWxsQ2xpY2tlZEV2ZW50LFxuICBDZWxsRXZlbnQsXG4gIENlbGxNb3VzZU91dEV2ZW50LFxuICBDb2x1bW5SZXNpemVkRXZlbnQsXG4gIENvbHVtblJvd0dyb3VwQ2hhbmdlZEV2ZW50LFxuICBEZXRhaWxHcmlkSW5mbyxcbiAgR3JpZEFwaSxcbiAgUm93R3JvdXBPcGVuZWRFdmVudFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRDb2x1bW5zU2l6ZXMgfSBmcm9tICcuLi9ncmlkLXN0b3JlL3V0aWwnO1xuaW1wb3J0IHsgR3JpZFN0b3JlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnN0b3JlJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuL2dyaWQtY29udHJvbGxlci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZEFsaWdubWVudCwgRGF0b0dyaWRPcHRpb25zLCBEYXRvR3JpZFNvcnQsIEdyaWRDaGFuZ2VFdmVudCB9IGZyb20gJy4uL2dyaWQvZ3JpZC12Mi50eXBlcyc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJy4uLy4uL2ludGVybmFsL2RlZXAtbWVyZ2UnO1xuaW1wb3J0IHsgRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jdXN0b20taGVhZGVyL2N1c3RvbS1oZWFkZXItdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEhhc2hNYXAgfSBmcm9tICcuLi8uLi91dGlscy90eXBlcyc7XG5pbXBvcnQgeyBHcmlkQWN0aW9uLCBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IERhdG9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgREFUT19HUklEX1NUT1JBR0VfQVBJLCBHcmlkU3RvcmFnZUFQSSB9IGZyb20gJy4uL2dyaWQtc2V0dGluZ3MnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc2tpcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhZGRDbGFzcywgYXBwZW5kQ2hpbGQsIHF1ZXJ5IH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvaGVscGVycyc7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICd0b29sdGlwLmpzJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hbmd1bGFyL2R5bmFtaWMtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLW9uLWhvdmVyL2dyaWQtb24taG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnZlcnRGcm9tVHJlZURhdGEsIGRlZmF1bHRHcmlkT3B0aW9ucywgZGVmYXVsdFRyZWVPcHRpb25zIH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLmNvbmZpZyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcbmltcG9ydCB7IERhdG9Ib3RrZXlzIH0gZnJvbSAnLi4vLi4vaG90a2V5cy9ob3RrZXlzLnNlcnZpY2UnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuaW1wb3J0IHsgRGF0b0dyaWRFeHRlcm5hbEZpbHRlciB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLWNvbnRyb2xsZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC1jb250cm9sbGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtHcmlkUXVlcnksIEdyaWRTZXJ2aWNlLCBHcmlkU3RvcmVdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkQ29udHJvbGxlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50KSBjdXN0b21IZWFkZXJzVGVtcGxhdGVzOiBRdWVyeUxpc3Q8XG4gICAgRGF0b0N1c3RvbUhlYWRlclRlbXBsYXRlQ29tcG9uZW50XG4gID47XG5cbiAgQE91dHB1dCgpIG9uR3JpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZENoYW5nZUV2ZW50PigpO1xuICBASW5wdXQoKSByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBASW5wdXQoKSBncmlkQWN0aW9uczogR3JpZEFjdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHNldCBncmlkT3B0aW9ucyhncmlkT3B0aW9uczogRGF0b0dyaWRPcHRpb25zKSB7XG4gICAgdGhpcy5fZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnRyZWVEYXRhID0gZ3JpZE9wdGlvbnMudHJlZURhdGE7XG4gICAgdGhpcy5ncmlkU2VydmljZS5pc1Bpdm90TW9kZSA9IGdyaWRPcHRpb25zLnBpdm90TW9kZTtcblxuICAgIGlmICh0aGlzLmFnR3JpZEVsKSB7XG4gICAgICBpZiAoZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgICAgIXRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMudHJlZUdyaWRDbGFzcykgJiYgdGhpcy5hZ0dyaWRFbC5jbGFzc0xpc3QuYWRkKHRoaXMudHJlZUdyaWRDbGFzcyk7XG4gICAgICB9IGVsc2UgaWYgKCFncmlkT3B0aW9ucy5lbmFibGVWMl8xKSB7XG4gICAgICAgIHRoaXMuYWdHcmlkRWwuY2xhc3NMaXN0LmFkZCh0aGlzLnRyZWVHcmlkQ2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBncmlkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JpZE9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGNvbnRlbnRJbml0ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSB0b29sdGlwO1xuICBwcml2YXRlIF9ncmlkT3B0aW9uczogRGF0b0dyaWRPcHRpb25zO1xuICBncmlkUmVhZHkkID0gdGhpcy5ncmlkUXVlcnkuZ3JpZFJlYWR5JDtcbiAgYWdHcmlkRWw6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgcm93SG92ZXJDb21wb25lbnQ6IENvbXBvbmVudFJlZjxEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQ+O1xuICBwcml2YXRlIGxhc3RIb3ZlcmVkUm93OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBncmlkRWxlbWVudHMgPSB7XG4gICAgY2VudGVyVmlld3BvcnQ6IG51bGwsXG4gICAgY2VudGVyQ29udGFpbmVyOiBudWxsLFxuICAgIGJvZHlWaWV3cG9ydDogbnVsbFxuICB9O1xuICBwcml2YXRlIHJlYWRvbmx5IHRyZWVHcmlkQ2xhc3MgPSAndHJlZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwdWJsaWMgZ3JpZFF1ZXJ5OiBHcmlkUXVlcnksXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IERhdG9UcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBob3RrZXlzOiBEYXRvSG90a2V5cyxcbiAgICBASW5qZWN0KERBVE9fR1JJRF9TVE9SQUdFX0FQSSkgcHJpdmF0ZSBzdG9yYWdlQVBJOiBHcmlkU3RvcmFnZUFQSVxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMudG9vbHRpcCAmJiB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgIHRoaXMucm93SG92ZXJDb21wb25lbnQgJiYgdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50SW5pdC5uZXh0KCk7XG4gICAgdGhpcy5jb250ZW50SW5pdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyogQGludGVybmFsICovXG4gIF9pbml0aWFsaXplR3JpZChhZ0dyaWQ6IEFnR3JpZE5nMiwgYWdHcmlkRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5hZ0dyaWRFbCA9IGFnR3JpZEVsO1xuICAgIHRoaXMuY29udGVudEluaXRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucygpO1xuICAgICAgICAgIGFnR3JpZC5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZE9wdGlvbnM7XG4gICAgICAgICAgY29uc3QgaXNHbG9iYWwgPSB0aGlzLmdyaWRPcHRpb25zLmlzR2xvYmFsU2V0dGluZ3M7XG4gICAgICAgICAgY29uc3Qgc2V0dGluZ3NMb2FkZXIgPVxuICAgICAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5zYXZlU2V0dGluZ3MgPT09IGZhbHNlXG4gICAgICAgICAgICAgID8gb2YobnVsbClcbiAgICAgICAgICAgICAgOiB0aGlzLnN0b3JhZ2VBUEkuZ2V0KHRoaXMuZ3JpZE9wdGlvbnMuZ3JpZE5hbWUsIGlzR2xvYmFsKTtcbiAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbYWdHcmlkLmdyaWRSZWFkeSwgc2V0dGluZ3NMb2FkZXJdKTtcbiAgICAgICAgfSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbeyBhcGksIGNvbHVtbkFwaSB9LCBzYXZlZFNldHRpbmdzID0ge31dOiBbRGV0YWlsR3JpZEluZm8sIFBhcnRpYWw8RGF0b0dyaWRTZXR0aW5ncz5dKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5yb3dEYXRhKSB7XG4gICAgICAgICAgYXBpLnNob3dMb2FkaW5nT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdGF0dXNCYXIpIHtcbiAgICAgICAgICAvKiogRml4IGFnLWdyaWQgYnVnIHRoYXQgZG9lc24ndCBhZGQgYWctaGlkZGVuIGNsYXNzIHRvIHRoZSBzdGF0dXMgYmFyLCB3aGljaCBvbmx5IGdldCBmaXhlZCBpbiBsYXRlciB2ZXJzaW9ucyAqL1xuICAgICAgICAgIGNvbnN0IGVsID0gYWdHcmlkRWwucXVlcnlTZWxlY3RvcignLmFnLXN0YXR1cy1iYXInKTtcblxuICAgICAgICAgIGFkZENsYXNzKGVsLCAnYWctaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZ3JpZEFwaTogRGF0b0dyaWRBcGkgPSB7IGdyaWQ6IGFwaSwgY29sdW1uczogY29sdW1uQXBpIH07XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuX3NldEFwaShncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLmdyaWRRdWVyeS5fc2V0QXBpKGdyaWRBcGksIGFnR3JpZCk7XG5cbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5pbml0U2V0dGluZ3Moc2F2ZWRTZXR0aW5ncyB8fCB7fSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTZXR0aW5nc0xpc3RlbmVycyhncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyR3JpZExpc3RlbmVycyhncmlkQXBpLCBhZ0dyaWQpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzVHJpZ2dlcmluZ0NsZWFyU2VsZWN0ZWRSb3dzKGFnR3JpZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdpbmF0aW9uQ2hhbmdlZChhZ0dyaWQpO1xuICAgICAgICB0aGlzLmdyaWRRdWVyeS5fZ3JpZFJlYWR5Lm5leHQodHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgICAgICB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQoJ3RyZWUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dIZWlnaHQpIHtcbiAgICAgICAgICB0aGlzLmFnR3JpZEVsLmNsYXNzTGlzdC5hZGQoYHJvdy1oZWlnaHQtJHt0aGlzLmdyaWRPcHRpb25zLnJvd0hlaWdodH1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMoKSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cmVlRGF0YSBpcyBlbmFibGVkLCBQYWdpbmF0aW9uIG11c3QgYmUgdHVybmVkIG9mZlxuICAgICAqL1xuICAgIGlmICh0aGlzLmdyaWRPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgICAuLi50aGlzLmdyaWRPcHRpb25zLFxuICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgZ3JpZE9wdGlvbnM6IHRoaXMuZ3JpZE9wdGlvbnMsXG4gICAgICBjdXN0b21IZWFkZXJzVGVtcGxhdGVzOiB0aGlzLmN1c3RvbUhlYWRlcnNUZW1wbGF0ZXMsXG4gICAgICByb3dBY3Rpb25zOiB0aGlzLnJvd0FjdGlvbnNcbiAgICB9O1xuXG4gICAgbGV0IG5vcm1hbGl6ZWQgPSB0aGlzLmdyaWRTZXJ2aWNlLm5vcm1hbGl6ZU9wdGlvbnMocGFyYW1zKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLih0aGlzLmdyaWRPcHRpb25zLnRyZWVEYXRhID8gZGVmYXVsdFRyZWVPcHRpb25zIDoge30pLFxuICAgICAgaWNvbnM6IHRoaXMuZ2V0R3JpZEljb25zKClcbiAgICB9O1xuICAgIHJldHVybiBkZWVwbWVyZ2UoZGVmYXVsdHMsIG5vcm1hbGl6ZWQpO1xuICB9XG5cbiAgc2V0R3JpZFJvd3M8VD4oZGF0YTogVFtdKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRSb3dzPFQ+KGRhdGEpO1xuICB9XG5cbiAgc2V0R3JpZEZpbHRlcnMoZmlsdGVyczogRGF0b0dyaWRFeHRlcm5hbEZpbHRlcltdKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zZXRHcmlkRmlsdGVycyhmaWx0ZXJzKTtcbiAgfVxuXG4gIHNldEdyaWRTb3J0KHNvcnQ6IERhdG9HcmlkU29ydCkge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2V0R3JpZFNvcnQoc29ydCk7XG4gIH1cblxuICBwcml2YXRlIGdldEdyaWRJY29ucygpOiBIYXNoTWFwPHN0cmluZz4ge1xuICAgIGNvbnN0IG1vdmVDb2x1bW5JY29uID0gYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZC1mbGV4IGNvbHVtbi1tb3ZlXCI+JHt0aGlzLmljb25SZWdpc3RyeS5nZXRTdmcoXG4gICAgICAnbW92ZS1jb2x1bW4nXG4gICAgKX08L3NwYW4+YDtcbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXBFeHBhbmRlZDogYDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIHBvaW50ZXIgZ3JvdXAtZXhwYW5kZWQtaWNvblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnYXJyb3ctcmlnaHQnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgZ3JvdXBDb250cmFjdGVkOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBncm91cC1jb250cmFjdGVkLWljb25cIj4ke3RoaXMuaWNvblJlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICAgJ2Fycm93LXJpZ2h0J1xuICAgICAgKX08L3NwYW4+YCxcbiAgICAgIGNvbHVtbk1vdmVQaW46IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBwb2ludGVyIGQtZmxleCBwcmltYXJ5LTMwMC1maWxsIGNvbHVtbi1tb3ZlLXBpblwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAncGluJ1xuICAgICAgKX08L3NwYW4+YCxcbiAgICAgIGNvbHVtbk1vdmVIaWRlOiBgPHNwYW4gY2xhc3M9XCJkYS1ncmlkLWljb24gcG9pbnRlciBkLWZsZXggY29sdW1uLW1vdmUtaGlkZVwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKFxuICAgICAgICAnZXllLWhpZGUnXG4gICAgICApfTwvc3Bhbj5gLFxuICAgICAgY29sdW1uTW92ZU1vdmU6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgY29sdW1uTW92ZUxlZnQ6IG1vdmVDb2x1bW5JY29uLFxuICAgICAgY29sdW1uTW92ZVJpZ2h0OiBtb3ZlQ29sdW1uSWNvbixcbiAgICAgIHJvd0RyYWc6IGA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBkcmFnIGQtZmxleFwiPiR7dGhpcy5pY29uUmVnaXN0cnkuZ2V0U3ZnKCdkcmFnLTAxJyl9PC9zcGFuPmBcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNldHRpbmdzTGlzdGVuZXJzKGFwaTogRGF0b0dyaWRBcGksIGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbHVtblJlc2l6ZShhcGksIGFnR3JpZCk7XG4gICAgdGhpcy5saXN0ZW5Ub0dyaWRFdmVudHMoYWdHcmlkKTtcbiAgICB0aGlzLmxpc3RlblRvU3RvcmVTZXR0aW5nc0NoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9Db2x1bW5SZXNpemUoYXBpOiBEYXRvR3JpZEFwaSwgeyBjb2x1bW5SZXNpemVkIH06IEFnR3JpZE5nMikge1xuICAgIGxldCBvYnNlcnZhYmxlID0gY29sdW1uUmVzaXplZC5hc09ic2VydmFibGUoKTtcbiAgICBpZiAodGhpcy5vbkhvdmVyRW5hYmxlZCgpKSB7XG4gICAgICBvYnNlcnZhYmxlID0gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgc291cmNlIH06IENvbHVtblJlc2l6ZWRFdmVudCkgPT4gc291cmNlID09PSAndWlDb2x1bW5EcmFnZ2VkJyksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZU9uSG92ZXJQb3MoKSlcbiAgICAgICk7XG4gICAgfVxuICAgIG9ic2VydmFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICBhdWRpdFRpbWUoMTAwKSxcbiAgICAgICAgZmlsdGVyKCh7IGZpbmlzaGVkLCBzb3VyY2UgfTogQ29sdW1uUmVzaXplZEV2ZW50KSA9PiBmaW5pc2hlZCAmJiBzb3VyY2UgPT09ICd1aUNvbHVtbkRyYWdnZWQnKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgIGNvbnN0IFtjb2x1bW5dID0gZS5jb2x1bW5zO1xuICAgICAgICBsZXQgY29sdW1uc1NpemVzID0geyAuLi50aGlzLmdyaWRRdWVyeS5nZXRDb2x1bW5TaXplcygpIH07XG4gICAgICAgIGlmIChjb2x1bW5zU2l6ZXMpIHtcbiAgICAgICAgICBjb2x1bW5zU2l6ZXNbY29sdW1uLmdldENvbElkKCldID0gY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29sdW1uc1NpemVzID0gZ2V0Q29sdW1uc1NpemVzKGFwaS5jb2x1bW5zLmdldEFsbEdyaWRDb2x1bW5zKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlU2V0dGluZ3MoeyBncmlkQWxpZ25tZW50OiBEYXRvR3JpZEFsaWdubWVudC5DVVNUT00sIGNvbHVtbnNTaXplcyB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0dyaWRFdmVudHMoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBjb25zdCB7IGNvbHVtblZpc2libGUsIHNvcnRDaGFuZ2VkLCBjb2x1bW5Sb3dHcm91cENoYW5nZWQsIGNvbHVtblBpbm5lZCwgZHJhZ1N0b3BwZWQsIGZpbHRlckNoYW5nZWQgfSA9IGFnR3JpZDtcbiAgICBtZXJnZShjb2x1bW5WaXNpYmxlLCBzb3J0Q2hhbmdlZCwgY29sdW1uUm93R3JvdXBDaGFuZ2VkLCBjb2x1bW5QaW5uZWQsIGRyYWdTdG9wcGVkLCBmaWx0ZXJDaGFuZ2VkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8qIFNraXAgdGhlIGluaXRpYWwgc29ydGluZyBldmVudCBmaXJlZCBieSB0aGUgZ3JpZCB3aGVuIGFkZGluZyByb3dzICovXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IHR5cGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBzZXR0aW5nc0RpZmYgPSB0aGlzLmdyaWRTZXJ2aWNlLmdldFNldHRpbmdzRGlmZigpO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnVwZGF0ZVNldHRpbmdzKHNldHRpbmdzRGlmZik7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldEdyaWREYXRhKCk7XG4gICAgICAgIHRoaXMub25HcmlkQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGZpbHRlcjogdGhpcy5ncmlkUXVlcnkuZ2V0RXh0ZXJuYWxGaWx0ZXIoKSxcbiAgICAgICAgICBzb3J0OiB0aGlzLmdyaWRRdWVyeS5nZXRFeHRlcm5hbFNvcnQoKSxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9TdG9yZVNldHRpbmdzQ2hhbmdlcygpIHtcbiAgICB0aGlzLmdyaWRRdWVyeVxuICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZXR0aW5ncylcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3NEaWZmID0gdGhpcy5ncmlkU2VydmljZS5nZXRTZXR0aW5nc0RpZmYoKTtcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5zYXZlU2V0dGluZ3NUb1NlcnZlcihzZXR0aW5nc0RpZmYpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZExpc3RlbmVycyhhcGk6IERhdG9HcmlkQXBpLCBhZ0dyaWQ6IEFnR3JpZE5nMikge1xuICAgIHRoaXMuZ3JpZEVsZW1lbnRzID0ge1xuICAgICAgY2VudGVyQ29udGFpbmVyOiBxdWVyeSgnLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lcicsIHRoaXMuYWdHcmlkRWwpLFxuICAgICAgY2VudGVyVmlld3BvcnQ6IHF1ZXJ5KCcuYWctY2VudGVyLWNvbHMtdmlld3BvcnQnLCB0aGlzLmFnR3JpZEVsKSxcbiAgICAgIGJvZHlWaWV3cG9ydDogcXVlcnkoJy5hZy1ib2R5LXZpZXdwb3J0JywgdGhpcy5hZ0dyaWRFbClcbiAgICB9O1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkQ2xpY2tMaXN0ZW5lcihhcGkuZ3JpZCk7XG4gICAgdGhpcy5yZWdpc3RlckdyaWRHcm91cExpc3RlbmVycyhhZ0dyaWQpO1xuICAgIHRoaXMucmVnaXN0ZXJHcmlkTW91c2VMaXN0ZW5lcnMoYWdHcmlkKTtcbiAgICB0aGlzLnJlZ2lzdGVyR3JpZEtleWJvYXJkTGlzdGVuZXIoYXBpKTtcbiAgICB0aGlzLnJlZ2lzdGVyV2luZG93UmVzaXplTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkR3JvdXBMaXN0ZW5lcnMoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICAvKiBNYWtlIGdyb3VwIGV4cGFuZC9jb2xsYXBzZSBvbiBhIHNpbmdsZSBjbGljayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGRvdWJsZSBjbGljayAqL1xuICAgIGFnR3JpZC5jb2x1bW5Sb3dHcm91cENoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHsgY29sdW1ucyB9OiBDb2x1bW5Sb3dHcm91cENoYW5nZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiBjb2x1bW5zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyBFTVBUWVxuICAgICAgICAgICAgOiBhZ0dyaWQuY2VsbENsaWNrZWQucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHsgdmFsdWUsIG5vZGUgfTogQ2VsbENsaWNrZWRFdmVudCkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiBub2RlLmdyb3VwID09PSB0cnVlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgbm9kZSB9OiBDZWxsQ2xpY2tlZEV2ZW50KSA9PiB7XG4gICAgICAgIG5vZGUuc2V0RXhwYW5kZWQoIW5vZGUuZXhwYW5kZWQpO1xuICAgICAgfSk7XG4gICAgLyogV2hlbiBjbG9zaW5nIGEgZ3JvdXBlZCByb3cgd2Ugd2FudCB0byBoaWRlIHRoZSBvbiBob3ZlciBhY3Rpb25zICovXG4gICAgaWYgKHRoaXMub25Ib3ZlckVuYWJsZWQoKSkge1xuICAgICAgYWdHcmlkLnJvd0dyb3VwT3BlbmVkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoeyBub2RlIH06IFJvd0dyb3VwT3BlbmVkRXZlbnQpID0+IG5vZGUuZXhwYW5kZWQgPT09IGZhbHNlKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubGFzdEhvdmVyZWRSb3cgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2V0T25Ib3ZlclN0YXRlKGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgY2xpY2sgd2FzIHBlcmZvcm1lZCBvbiB0aGUgZ3JpZHMgYm9keSBhbmQgbm90IGEgcm93LCBjbGVhciB0aGUgcm93cyBzZWxlY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcmVnaXN0ZXJHcmlkQ2xpY2tMaXN0ZW5lcihhcGk6IEdyaWRBcGkpIHtcbiAgICBjb25zdCB7IGJvZHlWaWV3cG9ydCwgY2VudGVyVmlld3BvcnQgfSA9IHRoaXMuZ3JpZEVsZW1lbnRzO1xuICAgIGZyb21FdmVudChib2R5Vmlld3BvcnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoZXZlbnQudGFyZ2V0ID09PSBib2R5Vmlld3BvcnQgfHwgZXZlbnQudGFyZ2V0ID09PSBjZW50ZXJWaWV3cG9ydCkgJiYgYXBpLmdldFNlbGVjdGVkUm93cygpLmxlbmd0aCA+IDA7XG4gICAgICAgIH0pLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBhcGkuZGVzZWxlY3RBbGwoKSk7XG4gIH1cblxuICBwcml2YXRlIG9uSG92ZXJFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb25zLmhvdmVyQ29uZmlnLmVuYWJsZWQgJiYgdGhpcy5yb3dBY3Rpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyR3JpZE1vdXNlTGlzdGVuZXJzKGFnR3JpZDogQWdHcmlkTmcyKSB7XG4gICAgY29uc3QgeyBib2R5Vmlld3BvcnQsIGNlbnRlckNvbnRhaW5lciB9ID0gdGhpcy5ncmlkRWxlbWVudHM7XG4gICAgbGV0IGxhc3RIb3ZlcmVkQ2VsbDtcbiAgICBjb25zdCBvbkhvdmVyRW5hYmxlZCA9IHRoaXMub25Ib3ZlckVuYWJsZWQoKTtcbiAgICBpZiAob25Ib3ZlckVuYWJsZWQpIHtcbiAgICAgIGZyb21FdmVudChjZW50ZXJDb250YWluZXIsICdtb3VzZWxlYXZlJylcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9nZ2xlUm93SG92ZXJDbGFzcyh0aGlzLmxhc3RIb3ZlcmVkUm93KTtcbiAgICAgICAgICB0aGlzLmxhc3RIb3ZlcmVkUm93ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnNldE9uSG92ZXJTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgbGFzdEhvdmVyZWRDZWxsID0gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICBtZXJnZShcbiAgICAgICAgYWdHcmlkLmJvZHlTY3JvbGwucGlwZShmaWx0ZXIoKHsgZGlyZWN0aW9uIH06IEJvZHlTY3JvbGxFdmVudCkgPT4gZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcpKSxcbiAgICAgICAgYWdHcmlkLnJvd0RhdGFDaGFuZ2VkXG4gICAgICApXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU9uSG92ZXJQb3MoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFkZE9uSG92ZXJFbGVtZW50KCk7XG4gICAgfVxuICAgIGFnR3JpZC5jZWxsTW91c2VPdmVyXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh7IG5vZGUsIGNvbHVtbiB9KSA9PiBsYXN0SG92ZXJlZENlbGwgIT09IGAke25vZGUuaWR9LSR7Y29sdW1uLmdldENvbElkKCl9YCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogQ2VsbE1vdXNlT3V0RXZlbnQpID0+IHtcbiAgICAgICAgbGFzdEhvdmVyZWRDZWxsID0gYCR7ZXZlbnQubm9kZS5pZH0tJHtldmVudC5jb2x1bW4uZ2V0Q29sSWQoKX1gO1xuICAgICAgICB0aGlzLnNob3dUb29sdGlwKGV2ZW50KTtcbiAgICAgICAgY29uc3Qgcm93ID0gKGV2ZW50LmV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKG9uSG92ZXJFbmFibGVkICYmIChldmVudC5ub2RlLmdyb3VwID09PSBmYWxzZSB8fCBpc05pbChldmVudC5ub2RlLmdyb3VwKSkgJiYgdGhpcy5sYXN0SG92ZXJlZFJvdyAhPT0gcm93KSB7XG4gICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gdGhpcy5sYXN0SG92ZXJlZFJvdztcbiAgICAgICAgICB0aGlzLmxhc3RIb3ZlcmVkUm93ID0gcm93O1xuICAgICAgICAgIHRoaXMudG9nZ2xlUm93SG92ZXJDbGFzcyhbcHJldmlvdXNOb2RlLCB0aGlzLmxhc3RIb3ZlcmVkUm93XSk7XG4gICAgICAgICAgdGhpcy5zZXRPbkhvdmVyU3RhdGUodHJ1ZSwgZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICBjb25zdCBvblRvb2x0aXBPdXQgPSBtZXJnZShcbiAgICAgIGZyb21FdmVudChib2R5Vmlld3BvcnQsICdzY3JvbGwnKSxcbiAgICAgIGZyb21FdmVudCh0aGlzLmFnR3JpZEVsLCAnbW91c2VsZWF2ZScpLFxuICAgICAgYWdHcmlkLmNlbGxNb3VzZU91dFxuICAgICk7XG4gICAgb25Ub29sdGlwT3V0XG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+ICFpc05pbCh0aGlzLnRvb2x0aXApKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyVG9vbHRpcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZSB0aGUgdG9vbHRpcFxuICAgKi9cbiAgY2xlYXJUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbHRpcC5kaXNwb3NlKCk7XG4gICAgdGhpcy50b29sdGlwID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1Rvb2x0aXAoZXZlbnQ6IENlbGxFdmVudCkge1xuICAgIGNvbnN0IGNlbGw6IEhUTUxFbGVtZW50ID0gZXZlbnQuZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHRleHRPdmVyZmxvdyA9IGNlbGwub2Zmc2V0V2lkdGggPCBjZWxsLnNjcm9sbFdpZHRoO1xuICAgIGlmICh0ZXh0T3ZlcmZsb3cpIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY2VsbCwgdmFsdWU6IGNlbGwuaW5uZXJUZXh0IH07XG4gICAgICBpc05pbCh0aGlzLnRvb2x0aXApID8gdGhpcy5jcmVhdGVBbmRTaG93VG9vbHRpcChwYXJhbXMpIDogdGhpcy51cGRhdGVUb29sdGlwKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBbmRTaG93VG9vbHRpcCh7IGNlbGwsIHZhbHVlIH0pIHtcbiAgICB0aGlzLnRvb2x0aXAgPSBuZXcgVG9vbHRpcChjZWxsLCB7XG4gICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgY29udGFpbmVyOiBkb2N1bWVudC5ib2R5LFxuICAgICAgdHJpZ2dlcjogJ21hbnVhbCcsXG4gICAgICB0aXRsZTogRE9NUHVyaWZ5LnNhbml0aXplKHZhbHVlKSxcbiAgICAgIGh0bWw6IHRydWUsXG4gICAgICBwb3BwZXJPcHRpb25zOiB7XG4gICAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICAgIHByZXZlbnRPdmVyZmxvdzogeyBlbmFibGVkOiBmYWxzZSB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0ZW1wbGF0ZTpcbiAgICAgICAgJzxkaXYgY2xhc3M9XCJ0b29sdGlwIGRhdG8tdG9vbHRpcCBjb21tb24tdG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj48ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPjwvZGl2PjwvZGl2PidcbiAgICB9KTtcblxuICAgIHRoaXMudG9vbHRpcC5zaG93KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSB0b29sdGlwIGVsZW1lbnQgcmVmIGFuZCBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXAoeyBjZWxsLCB2YWx1ZSB9KTogdm9pZCB7XG4gICAgaWYgKGNlbGwgIT09IHRoaXMudG9vbHRpcC5yZWZlcmVuY2UpIHtcbiAgICAgIHRoaXMudG9vbHRpcC5yZWZlcmVuY2UgPSBjZWxsO1xuICAgICAgdGhpcy50b29sdGlwLnBvcHBlckluc3RhbmNlLnJlZmVyZW5jZSA9IGNlbGw7XG4gICAgICB0aGlzLnRvb2x0aXAudXBkYXRlVGl0bGVDb250ZW50KHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy50b29sdGlwLnNob3coKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkT25Ib3ZlckVsZW1lbnQoKSB7XG4gICAgdGhpcy5yb3dIb3ZlckNvbXBvbmVudCA9IGNyZWF0ZUNvbXBvbmVudDxEYXRvR3JpZE9uSG92ZXJDb21wb25lbnQ+KHtcbiAgICAgIGNvbXBvbmVudDogRGF0b0dyaWRPbkhvdmVyQ29tcG9uZW50LFxuICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICByZXNvbHZlcjogdGhpcy5yZXNvbHZlclxuICAgIH0pO1xuICAgIGNvbnN0IHsgaW5zdGFuY2UsIGhvc3RWaWV3IH0gPSB0aGlzLnJvd0hvdmVyQ29tcG9uZW50O1xuICAgIGluc3RhbmNlLmNvbmZpZyA9IHsgLi4udGhpcy5ncmlkT3B0aW9ucy5ob3ZlckNvbmZpZywgYWN0aW9uczogdGhpcy5yb3dBY3Rpb25zLnNsaWNlKCkgfTtcbiAgICBob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgYXBwZW5kQ2hpbGQodGhpcy5ncmlkRWxlbWVudHMuY2VudGVyQ29udGFpbmVyLCB0aGlzLnJvd0hvdmVyRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcm93SG92ZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3dIb3ZlckNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPbkhvdmVyU3RhdGUodmlzaWJsZTogYm9vbGVhbiwgZXZlbnQ/OiBDZWxsTW91c2VPdXRFdmVudCkge1xuICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IHRoaXMucm93SG92ZXJDb21wb25lbnQ7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIGluc3RhbmNlLnNob3coZXZlbnQpO1xuICAgICAgdGhpcy51cGRhdGVPbkhvdmVyUG9zKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU9uSG92ZXJQb3MoKSB7XG4gICAgY29uc3QgeyBjZW50ZXJWaWV3cG9ydCwgY2VudGVyQ29udGFpbmVyIH0gPSB0aGlzLmdyaWRFbGVtZW50cztcbiAgICBjb25zdCB0YXJnZXQgPSBjZW50ZXJDb250YWluZXIuY2xpZW50V2lkdGggPiBjZW50ZXJWaWV3cG9ydC5jbGllbnRXaWR0aCA/IGNlbnRlclZpZXdwb3J0IDogY2VudGVyQ29udGFpbmVyO1xuICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIHNjcm9sbExlZnQgfSA9IHRhcmdldDtcbiAgICB0aGlzLnJvd0hvdmVyQ29tcG9uZW50Lmluc3RhbmNlLnVwZGF0ZVNjcm9sbFBvcyhjbGllbnRXaWR0aCArIHNjcm9sbExlZnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVSb3dIb3ZlckNsYXNzKHJvd3M6IEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSkge1xuICAgIGNvZXJjZUFycmF5KHJvd3MpLmZvckVhY2gocm93ID0+IHJvdyAmJiByb3cuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aW9ucy1ob3ZlcmVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckdyaWRLZXlib2FyZExpc3RlbmVyKHsgZ3JpZCwgY29sdW1ucyB9OiBEYXRvR3JpZEFwaSkge1xuICAgIHRoaXMuaG90a2V5c1xuICAgICAgLmFkZFNob3J0Y3V0KHtcbiAgICAgICAgZWxlbWVudDogdGhpcy5hZ0dyaWRFbCxcbiAgICAgICAga2V5czogJ21ldGEuYScsXG4gICAgICAgIGlnbm9yZUluRWRpdGFibGU6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNlbGVjdEFsbEN1cnJlbnRQYWdlUm93cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyV2luZG93UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmdyaWRRdWVyeS5ncmlkQWxpZ25tZW50ICE9PSBEYXRvR3JpZEFsaWdubWVudC5DVVNUT00pLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpdFRvID0gdGhpcy5ncmlkUXVlcnkuZ3JpZEFsaWdubWVudCA9PT0gRGF0b0dyaWRBbGlnbm1lbnQuRklUX1RPX0NPTlRBSU5FUiA/ICdjb250YWluZXInIDogJ2NvbnRlbnQnO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmZpdEdyaWQoZml0VG8pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEdyaWREYXRhKCkge1xuICAgIGNvbnN0IGdyaWRNb2RlbCA9IHRoaXMuZ3JpZFNlcnZpY2UuYXBpLmdyaWQuZ2V0TW9kZWwoKSBhcyBhbnk7XG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMudHJlZURhdGEpIHtcbiAgICAgIGNvbnN0IGdyaWREYXRhID0gZ3JpZE1vZGVsLnJvd3NUb0Rpc3BsYXkubWFwKCh7IGRhdGEgfSkgPT4gZGF0YSk7XG4gICAgICByZXR1cm4gY29udmVydEZyb21UcmVlRGF0YShncmlkRGF0YSwgdGhpcy5ncmlkU2VydmljZS50cmVlQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGdyaWRNb2RlbC5yb3dzVG9EaXNwbGF5O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJFdmVudHNUcmlnZ2VyaW5nQ2xlYXJTZWxlY3RlZFJvd3MoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBjb25zdCBldmVudHMkID0gdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTaWRlXG4gICAgICA/IG1lcmdlKGFnR3JpZC5zb3J0Q2hhbmdlZCwgYWdHcmlkLmZpbHRlckNoYW5nZWQpXG4gICAgICA6IGFnR3JpZC5maWx0ZXJDaGFuZ2VkO1xuICAgIChldmVudHMkIGFzIE9ic2VydmFibGU8YW55PikucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZGVzZWxlY3RBbGxSb3dzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUGFnaW5hdGlvbkNoYW5nZWQoYWdHcmlkOiBBZ0dyaWROZzIpIHtcbiAgICBpZiAoIXRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2lkZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhZ0dyaWQucGFnaW5hdGlvbkNoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNlbGVjdEFsbFJvd3NFbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2VsZWN0QWxsQ3VycmVudFBhZ2VSb3dzKHRydWUsIHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const DATO_GRID_STORAGE_API = new InjectionToken('
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFpQixzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuL2dyaWQtc3RvcmUvZ3JpZC5zdG9yZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFN0b3JhZ2VBUEkge1xuICBnZXQoZ3JpZE5hbWU6IHN0cmluZywgaXNHbG9iYWw/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxQYXJ0aWFsPERhdG9HcmlkU2V0dGluZ3M+PjtcbiAgc2V0KGdyaWROYW1lOiBzdHJpbmcsIHN0YXRlOiBQYXJ0aWFsPERhdG9HcmlkU2V0dGluZ3M+LCBpc0dsb2JhbD86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgREFUT19HUklEX1NUT1JBR0VfQVBJID0gbmV3IEluamVjdGlvblRva2VuPEdyaWRTdG9yYWdlQVBJPignREFUT19HUklEX1NUT1JBR0VfQVAnKTtcbiJdfQ==
|