@skyux/flyout 6.17.1 → 7.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/flyout/flyout-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/flyout/flyout-iterator.component.mjs +3 -3
- package/esm2020/lib/modules/flyout/flyout-media-query.service.mjs +3 -3
- package/esm2020/lib/modules/flyout/flyout.component.mjs +11 -11
- package/esm2020/lib/modules/flyout/flyout.module.mjs +13 -15
- package/esm2020/lib/modules/flyout/flyout.service.mjs +3 -3
- package/esm2020/lib/modules/shared/sky-flyout-resources.module.mjs +4 -4
- package/fesm2015/skyux-flyout.mjs +34 -36
- package/fesm2015/skyux-flyout.mjs.map +1 -1
- package/fesm2020/skyux-flyout.mjs +34 -36
- package/fesm2020/skyux-flyout.mjs.map +1 -1
- package/lib/modules/flyout/flyout-iterator.component.d.ts +1 -1
- package/lib/modules/flyout/flyout.component.d.ts +1 -1
- package/package.json +14 -14
- package/skyux-flyout.d.ts +0 -5
|
@@ -56,9 +56,9 @@ export class SkyFlyoutAdapterService {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutAdapterService });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
|
|
62
62
|
type: Injectable
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
|
|
64
64
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVuRTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFDVSxlQUFpQyxFQUNqQyxTQUEwQjtRQUQxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRU0sa0JBQWtCLENBQ3ZCLE9BQW1CLEVBQ25CLFVBQStCO1FBRS9CLE1BQU0sUUFBUSxHQUFnQixPQUFPLENBQUMsYUFBYSxDQUFDO1FBRXBELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBRW5FLElBQUksUUFBZ0IsQ0FBQztRQUVyQixRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtTQUNGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxNQUFlO1FBQzlDLHlFQUF5RTtRQUN6RSxzRUFBc0U7UUFDdEUsb0ZBQW9GO1FBQ3BGLHNEQUFzRDtRQUN0RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUN2RDtJQUNILENBQUM7O29IQS9EVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiwgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGp1c3RIZWFkZXJGb3JIZWxwKGhlYWRlcjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IHdpbmRvd09iaiA9IHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdztcbiAgICBjb25zdCBoZWxwV2lkZ2V0ID0gd2luZG93T2JqLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYi1oZWxwLWludm9rZXInKTtcblxuICAgIGlmIChoZWxwV2lkZ2V0KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzcG9uc2l2ZUNsYXNzKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbDogSFRNTEVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLXhzJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1zbScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJyk7XG5cbiAgICBsZXQgbmV3Q2xhc3M6IHN0cmluZztcblxuICAgIHN3aXRjaCAoYnJlYWtwb2ludCkge1xuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1zbSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1tZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbGcnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5hdGl2ZUVsLCBuZXdDbGFzcyk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpZnJhbWUnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlmcmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmcmFtZXNbaV0uc3R5bGUucG9pbnRlckV2ZW50cyA9IGVuYWJsZSA/ICcnIDogJ25vbmUnO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -38,9 +38,9 @@ export class SkyFlyoutIteratorComponent {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], dependencies: [{ kind: "component", type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{ selector: 'sky-flyout-iterator', template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"] }]
|
|
46
46
|
}], propDecorators: { nextButtonDisabled: [{
|
|
@@ -64,9 +64,9 @@ export class SkyFlyoutMediaQueryService {
|
|
|
64
64
|
this.currentSubject.complete();
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutMediaQueryService });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
|
|
70
70
|
type: Injectable
|
|
71
71
|
}], ctorParameters: function () { return []; } });
|
|
72
72
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sYUFBYSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUVyRDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFXckM7UUFOUSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUMxQyxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFTSxhQUFRLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBR3hDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBWkQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBWU0sU0FBUyxDQUFDLFFBQStCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxFQUFFLENBQUMsV0FBZ0MsRUFBRSxFQUFFO2dCQUN6QyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksVUFBK0IsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDL0QsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQzthQUFNLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN0RSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7YUFBTTtZQUNMLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLHVCQUF1QixDQUM1QixLQUFhLEVBQ2IsVUFBK0I7UUFFL0IsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFbkMsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDdkM7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsSUFBSSxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDekU7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsSUFBSSxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDekU7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxPQUFPLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN2QztTQUNGO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O3VIQXJFVSwwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cywgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0Lm5leHQodGhpcy5fY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgbGlzdGVuZXIoYnJlYWtwb2ludHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuXG4gICAgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMueHMpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMuc20pKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5zbTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMubWQpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWtwb2ludCA9IFNreU1lZGlhQnJlYWtwb2ludHMubGc7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy5jdXJyZW50U3ViamVjdC5uZXh0KHRoaXMuX2N1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzV2lkdGhXaXRoaW5CcmVha3Bpb250KFxuICAgIHdpZHRoOiBudW1iZXIsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiBib29sZWFuIHtcbiAgICBjb25zdCB4c0JyZWFrcG9pbnRNYXhQaXhlbHMgPSA3Njc7XG4gICAgY29uc3Qgc21CcmVha3BvaW50TWluUGl4ZWxzID0gNzY4O1xuICAgIGNvbnN0IHNtQnJlYWtwb2ludE1heFBpeGVscyA9IDk5MTtcbiAgICBjb25zdCBtZEJyZWFrcG9pbnRNaW5QaXhlbHMgPSA5OTI7XG4gICAgY29uc3QgbWRCcmVha3BvaW50TWF4UGl4ZWxzID0gMTE5OTtcbiAgICBjb25zdCBsZ0JyZWFrcG9pbnRNaW5QaXhlbHMgPSAxMjAwO1xuXG4gICAgc3dpdGNoIChicmVha3BvaW50KSB7XG4gICAgICBjYXNlIFNreU1lZGlhQnJlYWtwb2ludHMueHM6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoIDw9IHhzQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gc21CcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IHNtQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gbWRCcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IG1kQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID49IGxnQnJlYWtwb2ludE1pblBpeGVscztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,13 +14,13 @@ import * as i1 from "./flyout-adapter.service";
|
|
|
14
14
|
import * as i2 from "@skyux/i18n";
|
|
15
15
|
import * as i3 from "./flyout-media-query.service";
|
|
16
16
|
import * as i4 from "@skyux/core";
|
|
17
|
-
import * as i5 from "@
|
|
18
|
-
import * as i6 from "
|
|
19
|
-
import * as i7 from "@angular/
|
|
20
|
-
import * as i8 from "@skyux/
|
|
21
|
-
import * as i9 from "@
|
|
17
|
+
import * as i5 from "@angular/cdk/a11y";
|
|
18
|
+
import * as i6 from "@angular/common";
|
|
19
|
+
import * as i7 from "@angular/router";
|
|
20
|
+
import * as i8 from "@skyux/indicators";
|
|
21
|
+
import * as i9 from "@skyux/theme";
|
|
22
22
|
import * as i10 from "@skyux/router";
|
|
23
|
-
import * as i11 from "
|
|
23
|
+
import * as i11 from "./flyout-iterator.component";
|
|
24
24
|
const FLYOUT_OPEN_STATE = 'flyoutOpen';
|
|
25
25
|
const FLYOUT_CLOSED_STATE = 'flyoutClosed';
|
|
26
26
|
let nextId = 0;
|
|
@@ -428,12 +428,12 @@ export class SkyFlyoutComponent {
|
|
|
428
428
|
});
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
|
-
SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
432
|
-
SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
431
|
+
SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: i1.SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2.SkyLibResourcesService }, { token: i3.SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i4.SkyUIConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
432
|
+
SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
|
|
433
433
|
SkyFlyoutAdapterService,
|
|
434
434
|
SkyFlyoutMediaQueryService,
|
|
435
435
|
{ provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
|
|
436
|
-
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-label]=\"config?.ariaLabel\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config?.ariaRole === 'dialog' || !config?.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout,.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"],
|
|
436
|
+
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-label]=\"config?.ariaLabel\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config?.ariaRole === 'dialog' || !config?.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout,.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], dependencies: [{ kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i9.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i9.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i10.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i11.SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
437
437
|
trigger('flyoutState', [
|
|
438
438
|
state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
|
|
439
439
|
state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
|
|
@@ -444,7 +444,7 @@ SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
444
444
|
transition(`* <=> *`, animate('250ms ease-in')),
|
|
445
445
|
]),
|
|
446
446
|
], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
|
|
448
448
|
type: Component,
|
|
449
449
|
args: [{ selector: 'sky-flyout', providers: [
|
|
450
450
|
SkyFlyoutAdapterService,
|
|
@@ -483,4 +483,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
483
483
|
type: HostListener,
|
|
484
484
|
args: ['window:resize', ['$event']]
|
|
485
485
|
}] } });
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxFQUlOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxx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QiwwQkFBMEI7d0JBQzFCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtxQkFDM0UsY0FDVzt3QkFDVixPQUFPLENBQUMsYUFBYSxFQUFFOzRCQUNyQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPO3lXQXdFekMsU0FBUztzQkFKZixTQUFTO3VCQUFDLFdBQVcsRUFBRTt3QkFDdEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLE1BQU07c0JBSmIsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLFlBQVk7c0JBSm5CLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBc0NNLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJy4vZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsIHVzZUV4aXN0aW5nOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9LFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWc7XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXM6IGJvb2xlYW47XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZTogYm9vbGVhbjtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSB4Q29vcmQgPSAwO1xuICBwcml2YXRlIHdpbmRvd0J1ZmZlclNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcm1hbGluaygpOiBTa3lGbHlvdXRQZXJtYWxpbmsge1xuICAgIGNvbnN0IHBlcm1hbGluayA9IHRoaXMuY29uZmlnLnBlcm1hbGluaztcbiAgICBpZiAocGVybWFsaW5rKSB7XG4gICAgICByZXR1cm4gcGVybWFsaW5rO1xuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5wZXJtYWxpbmsubGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcm1hbGluay5sYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaW1hcnlBY3Rpb24oKTogU2t5Rmx5b3V0QWN0aW9uIHtcbiAgICBjb25zdCBwcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbjtcbiAgICBpZiAocHJpbWFyeUFjdGlvbikge1xuICAgICAgcmV0dXJuIHByaW1hcnlBY3Rpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBwcmltYXJ5QWN0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiAmJiB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbi5sYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b24nKTtcbiAgfVxuXG4gIHB1YmxpYyB0aGVtZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2lkdGhTdGVwID0gMTA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZmx5b3V0UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0UmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIGZseW91dEhlYWRlcjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIGZseW91dEluc3RhbmNlOiBTa3lGbHlvdXRJbnN0YW5jZTxhbnk+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2U6IFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lXG4gICkge1xuICAgIC8vIEFsbCBjb21tYW5kcyBmbG93IHRocm91Z2ggdGhlIG1lc3NhZ2Ugc3RyZWFtLlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlci5hZGp1c3RIZWFkZXJGb3JIZWxwKHRoaXMuZmx5b3V0SGVhZGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwaW9udChcbiAgICAgICAgZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhldmVudC50YXJnZXQuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh0aGlzLmZseW91dFdpZHRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZ1bGxzY3JlZW4oKTtcblxuICAgIGlmIChldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLndpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMud2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMueENvb3JkID0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2g8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICB0aGlzLmNsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMubm90aWZ5Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHsgcHJvdmlkZXJzOiBbXSB9LCBjb25maWcpO1xuICAgIHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aCA9XG4gICAgICB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGggfHwgd2luZG93LmlubmVyV2lkdGggLyAyO1xuICAgIHRoaXMuY29uZmlnLm1pbldpZHRoID0gdGhpcy5jb25maWcubWluV2lkdGggfHwgMzIwO1xuICAgIHRoaXMuY29uZmlnLm1heFdpZHRoID0gdGhpcy5jb25maWcubWF4V2lkdGggfHwgdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuXG4gICAgdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yID0gdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgfHwgZmFsc2U7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLmNvbmZpZy5wcm92aWRlcnMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZSA9IHRoaXMuY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50UmVmLmluc3RhbmNlKTtcblxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgd2UgZG8gbm90IHJlbmRlciB0aGUgZmx5b3V0IHVudGlsIHdlIGhhdmUgYXR0YWNoZWQgdGhlIGNvbXBvbmVudC5cbiAgICAvLyBUaGlzIGFsbG93cyB0aGUgYXJpYS1sYWJlbGxlZGJ5IHRvIGZ1bmN0aW9uIGNvcnJlY3RseS5cbiAgICB0aGlzLmluc3RhbmNlUmVhZHkgPSB0cnVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBPcGVuIHRoZSBmbHlvdXQgaW1tZWRpYXRlbHkuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy51aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5mbHlvdXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHZhbHVlLmZseW91dFdpZHRoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgIHRoaXMuY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZseW91dEluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGludm9rZVByaW1hcnlBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKCk7XG5cbiAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNsb3NlQWZ0ZXJJbnZva2luZykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbmltYXRpb25TdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlUmVhZHkgJiYgdGhpcy5pc09wZW5pbmdcbiAgICAgID8gRkxZT1VUX09QRU5fU1RBVEVcbiAgICAgIDogRkxZT1VUX0NMT1NFRF9TVEFURTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfT1BFTl9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfQ0xPU0VEX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5ub3RpZnlDbG9zZWQoKTtcbiAgICAgIHRoaXMuY2xlYW5UZW1wbGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgdGhpcy54Q29vcmQgPSBldmVudC5jbGllbnRYO1xuXG4gICAgdGhpcy5hZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZmFsc2UpO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzRHJhZ2dpbmc7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtb3ZlRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9uTW91c2VNb3ZlKG1vdmVFdmVudCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdXNlVXBFdmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25IYW5kbGVSZWxlYXNlKG1vdXNlVXBFdmVudCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLnhDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMud2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMud2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMueENvb3JkID0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnhDb29yZCA9IGV2ZW50LmNsaWVudFg7XG4gICAgfVxuXG4gICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpZHRoO1xuXG4gICAgdGhpcy51cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhhbmRsZVJlbGVhc2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkYXB0ZXIudG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5pdGVyYXRvck5leHRCdXR0b25DbGljay5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudDogVCk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lGbHlvdXRJbnN0YW5jZTxUPigpO1xuXG4gICAgaW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UgPSBjb21wb25lbnQ7XG4gICAgaW5zdGFuY2UuaG9zdENvbnRyb2xsZXJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuZmx5b3V0SW5zdGFuY2UuYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KS5vYnNlcnZlcnMubGVuZ3RoID09PVxuICAgICAgICAgICAgMCB8fFxuICAgICAgICAgIG1lc3NhZ2UuZGF0YT8uaWdub3JlQmVmb3JlQ2xvc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKHRoaXMuZmx5b3V0SW5zdGFuY2UuYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KS5uZXh0KFxuICAgICAgICAgICAgbmV3IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvck5leHRCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkVuYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkRpc2FibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuZmx5b3V0SW5zdGFuY2UuY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFuVGVtcGxhdGUoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5zZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGgpO1xuXG4gICAgY29uc3QgbmV3QnJlYWtwaW9udCA9IHRoaXMuZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudDtcblxuICAgIHRoaXMuYWRhcHRlci5zZXRSZXNwb25zaXZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLCBuZXdCcmVha3Bpb250KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RnVsbHNjcmVlbigpOiB2b2lkIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB0aGlzLndpbmRvd0J1ZmZlclNpemUgPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlckRhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLnVpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5LCB7XG4gICAgICAgICAgZmx5b3V0V2lkdGg6IHRoaXMuZmx5b3V0V2lkdGgsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZmx5b3V0IGRhdGEuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0luaXRpYWxTaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5taW5XaWR0aDtcbiAgICAgIHRoaXMuc2V0VXNlckRhdGEoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmx5b3V0V2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBmbHlvdXQgZG9lcyBub3QgbG9hZCBsYXJnZXIgdGhhbiB0aGUgd2luZG93IGFuZCBpdHMgYnVmZmVyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMud2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy54Q29vcmQgPSB0aGlzLndpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLnNldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwaW9udChcbiAgICAgICAgd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh3aW5kb3cuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh0aGlzLmZseW91dFdpZHRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgIGNvbnN0IGtleVByZXNzZWQgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdhcnJvdycsICcnKTtcbiAgICAgIHN3aXRjaCAoa2V5UHJlc3NlZCkge1xuICAgICAgICBjYXNlICdlbnRlcic6XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9ICF0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuY29uZmlnLm1heFdpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1pbihcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoICsgdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWF4V2lkdGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoIC0gdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWluV2lkdGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aGVuIHRoZSB6b25lIGlzIHN0YWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXhlY3V0ZU9uU3RhYmxlKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbmdab25lLmlzU3RhYmxlKSB7XG4gICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSBmYWxzZTtcbiAgICAvLyBXYWl0aW5nIGZvciB6b25lIHRvIGJlIHN0YWJsZSB3aWxsIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VBZnRlckNoZWNrZWRFcnJvci5cbiAgICB0aGlzLl9leGVjdXRlT25TdGFibGUoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IHRydWU7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktZmx5b3V0XCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFthdHRyLnJvbGVdPVwiY29uZmlnPy5hcmlhUm9sZSA/IGNvbmZpZy5hcmlhUm9sZSA6ICdkaWFsb2cnXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjb25maWc/LmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnPy5hcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiY29uZmlnPy5hcmlhTGFiZWxsZWRCeVwiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwiXG4gICAgY29uZmlnPy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZz8uYXJpYVJvbGUgPyB0cnVlIDogZmFsc2VcbiAgXCJcbiAgW2F0dHIuaGlkZGVuXT1cIiFpbnN0YW5jZVJlYWR5ID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gIFtpZF09XCJmbHlvdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWZseW91dC1oaWRkZW4nOiAhaXNPcGVuICYmICFpc09wZW5pbmcsXG4gICAgJ3NreS1mbHlvdXQtZnVsbHNjcmVlbic6IGlzRnVsbHNjcmVlblxuICB9XCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZWxldmF0aW9uLTgnOiAnbW9kZXJuJ1xuICB9XCJcbiAgKEBmbHlvdXRTdGF0ZS5kb25lKT1cImFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gIFtAZmx5b3V0U3RhdGVdPVwiZ2V0QW5pbWF0aW9uU3RhdGUoKVwiXG4gIFtzdHlsZS53aWR0aC5weF09XCJmbHlvdXRXaWR0aFwiXG4gICNmbHlvdXRSZWZcbiAgW2Nka1RyYXBGb2N1c109XCJlbmFibGVUcmFwRm9jdXNcIlxuICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmVcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlclwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1wYWRkaW5nLXNxdWlzaC1sYXJnZSc6ICdkZWZhdWx0J1xuICAgIH1cIlxuICAgICNmbHlvdXRIZWFkZXJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1jb250ZW50XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LW1hcmdpbi1pbmxpbmUtc20gc2t5LWZseW91dC1oZWFkZXItZ3JhYi1oYW5kbGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZU1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJ0aWxlLWRyYWdcIiBpY29uVHlwZT1cInNreXV4XCIgc2l6ZT1cImxnXCI+IDwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPHNreS1mbHlvdXQtaXRlcmF0b3JcbiAgICAgICAgKm5nSWY9XCJjb25maWcuc2hvd0l0ZXJhdG9yXCJcbiAgICAgICAgW25leHRCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICBbcHJldmlvdXNCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgKG5leHRCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICAocHJldmlvdXNCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWZseW91dC1pdGVyYXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcm1hbGlua1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByaW1hcnlBY3Rpb25UZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLWNsb3NlIHNreS1sYWJlbC1pY29uLXRoZW1lLWRlZmF1bHRcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjbG9zZVwiPiA8L3NreS1pY29uPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1mbHlvdXQtY29udGVudFwiPlxuICAgIDxkaXYgI3RhcmdldD48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtcmVzaXplLWhhbmRsZVwiXG4gICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICB0eXBlPVwicmFuZ2VcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZmx5b3V0SWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCJjb25maWcubWF4V2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwiY29uZmlnLm1pbldpZHRoXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cImZseW91dFdpZHRoXCJcbiAgICAoa2V5ZG93bik9XCJvblJlc2l6ZUhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJvblJlc2l6ZUhhbmRsZU1vdXNlRG93bigkZXZlbnQpXCJcbiAgPjwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGVybWFsaW5rVGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJwZXJtYWxpbmtcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicGVybWFsaW5rLnVybFwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3NreUhyZWZdPVwicGVybWFsaW5rLnVybFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInBlcm1hbGluay5yb3V0ZVwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwicGVybWFsaW5rLnJvdXRlLmNvbW1hbmRzXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LmZyYWdtZW50XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3N0YXRlXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnN0YXRlXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByaW1hcnlBY3Rpb25UZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInByaW1hcnlBY3Rpb24gJiYgcHJpbWFyeUFjdGlvbi5jYWxsYmFja1wiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvbiBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgIChjbGljayk9XCJpbnZva2VQcmltYXJ5QWN0aW9uKClcIlxuICAgID5cbiAgICAgIHt7IHByaW1hcnlBY3Rpb25MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
486
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxFQUlOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxx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QiwwQkFBMEI7d0JBQzFCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtxQkFDM0UsY0FDVzt3QkFDVixPQUFPLENBQUMsYUFBYSxFQUFFOzRCQUNyQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPO3lXQXdFekMsU0FBUztzQkFKZixTQUFTO3VCQUFDLFdBQVcsRUFBRTt3QkFDdEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLE1BQU07c0JBSmIsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLFlBQVk7c0JBSm5CLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBc0NNLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJy4vZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsIHVzZUV4aXN0aW5nOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9LFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWc7XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXM6IGJvb2xlYW47XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZTogYm9vbGVhbjtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSB4Q29vcmQgPSAwO1xuICBwcml2YXRlIHdpbmRvd0J1ZmZlclNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcm1hbGluaygpOiBTa3lGbHlvdXRQZXJtYWxpbmsge1xuICAgIGNvbnN0IHBlcm1hbGluayA9IHRoaXMuY29uZmlnLnBlcm1hbGluaztcbiAgICBpZiAocGVybWFsaW5rKSB7XG4gICAgICByZXR1cm4gcGVybWFsaW5rO1xuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5wZXJtYWxpbmsubGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcm1hbGluay5sYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaW1hcnlBY3Rpb24oKTogU2t5Rmx5b3V0QWN0aW9uIHtcbiAgICBjb25zdCBwcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbjtcbiAgICBpZiAocHJpbWFyeUFjdGlvbikge1xuICAgICAgcmV0dXJuIHByaW1hcnlBY3Rpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBwcmltYXJ5QWN0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiAmJiB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbi5sYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b24nKTtcbiAgfVxuXG4gIHB1YmxpYyB0aGVtZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2lkdGhTdGVwID0gMTA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZmx5b3V0UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0UmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIGZseW91dEhlYWRlcjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIGZseW91dEluc3RhbmNlOiBTa3lGbHlvdXRJbnN0YW5jZTxhbnk+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2U6IFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lXG4gICkge1xuICAgIC8vIEFsbCBjb21tYW5kcyBmbG93IHRocm91Z2ggdGhlIG1lc3NhZ2Ugc3RyZWFtLlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlci5hZGp1c3RIZWFkZXJGb3JIZWxwKHRoaXMuZmx5b3V0SGVhZGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwaW9udChcbiAgICAgICAgZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhldmVudC50YXJnZXQuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh0aGlzLmZseW91dFdpZHRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZ1bGxzY3JlZW4oKTtcblxuICAgIGlmIChldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLndpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMud2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMueENvb3JkID0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2g8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICB0aGlzLmNsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMubm90aWZ5Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHsgcHJvdmlkZXJzOiBbXSB9LCBjb25maWcpO1xuICAgIHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aCA9XG4gICAgICB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGggfHwgd2luZG93LmlubmVyV2lkdGggLyAyO1xuICAgIHRoaXMuY29uZmlnLm1pbldpZHRoID0gdGhpcy5jb25maWcubWluV2lkdGggfHwgMzIwO1xuICAgIHRoaXMuY29uZmlnLm1heFdpZHRoID0gdGhpcy5jb25maWcubWF4V2lkdGggfHwgdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuXG4gICAgdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yID0gdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgfHwgZmFsc2U7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLmNvbmZpZy5wcm92aWRlcnMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZSA9IHRoaXMuY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50UmVmLmluc3RhbmNlKTtcblxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgd2UgZG8gbm90IHJlbmRlciB0aGUgZmx5b3V0IHVudGlsIHdlIGhhdmUgYXR0YWNoZWQgdGhlIGNvbXBvbmVudC5cbiAgICAvLyBUaGlzIGFsbG93cyB0aGUgYXJpYS1sYWJlbGxlZGJ5IHRvIGZ1bmN0aW9uIGNvcnJlY3RseS5cbiAgICB0aGlzLmluc3RhbmNlUmVhZHkgPSB0cnVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBPcGVuIHRoZSBmbHlvdXQgaW1tZWRpYXRlbHkuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy51aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5mbHlvdXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHZhbHVlLmZseW91dFdpZHRoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgIHRoaXMuY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZseW91dEluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGludm9rZVByaW1hcnlBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKCk7XG5cbiAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNsb3NlQWZ0ZXJJbnZva2luZykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbmltYXRpb25TdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlUmVhZHkgJiYgdGhpcy5pc09wZW5pbmdcbiAgICAgID8gRkxZT1VUX09QRU5fU1RBVEVcbiAgICAgIDogRkxZT1VUX0NMT1NFRF9TVEFURTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfT1BFTl9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfQ0xPU0VEX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5ub3RpZnlDbG9zZWQoKTtcbiAgICAgIHRoaXMuY2xlYW5UZW1wbGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgdGhpcy54Q29vcmQgPSBldmVudC5jbGllbnRYO1xuXG4gICAgdGhpcy5hZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZmFsc2UpO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzRHJhZ2dpbmc7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtb3ZlRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9uTW91c2VNb3ZlKG1vdmVFdmVudCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdXNlVXBFdmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25IYW5kbGVSZWxlYXNlKG1vdXNlVXBFdmVudCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLnhDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMud2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMud2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMueENvb3JkID0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnhDb29yZCA9IGV2ZW50LmNsaWVudFg7XG4gICAgfVxuXG4gICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpZHRoO1xuXG4gICAgdGhpcy51cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhhbmRsZVJlbGVhc2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkYXB0ZXIudG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5pdGVyYXRvck5leHRCdXR0b25DbGljay5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudDogVCk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lGbHlvdXRJbnN0YW5jZTxUPigpO1xuXG4gICAgaW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UgPSBjb21wb25lbnQ7XG4gICAgaW5zdGFuY2UuaG9zdENvbnRyb2xsZXJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuZmx5b3V0SW5zdGFuY2UuYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KS5vYnNlcnZlcnMubGVuZ3RoID09PVxuICAgICAgICAgICAgMCB8fFxuICAgICAgICAgIG1lc3NhZ2UuZGF0YT8uaWdub3JlQmVmb3JlQ2xvc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKHRoaXMuZmx5b3V0SW5zdGFuY2UuYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KS5uZXh0KFxuICAgICAgICAgICAgbmV3IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvck5leHRCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkVuYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkRpc2FibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRJbnN0YW5jZS5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuZmx5b3V0SW5zdGFuY2UuY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFuVGVtcGxhdGUoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5zZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGgpO1xuXG4gICAgY29uc3QgbmV3QnJlYWtwaW9udCA9IHRoaXMuZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudDtcblxuICAgIHRoaXMuYWRhcHRlci5zZXRSZXNwb25zaXZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLCBuZXdCcmVha3Bpb250KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RnVsbHNjcmVlbigpOiB2b2lkIHtcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB0aGlzLndpbmRvd0J1ZmZlclNpemUgPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlckRhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLnVpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5LCB7XG4gICAgICAgICAgZmx5b3V0V2lkdGg6IHRoaXMuZmx5b3V0V2lkdGgsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZmx5b3V0IGRhdGEuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0luaXRpYWxTaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5taW5XaWR0aDtcbiAgICAgIHRoaXMuc2V0VXNlckRhdGEoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmx5b3V0V2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICAgICAgdGhpcy5zZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBmbHlvdXQgZG9lcyBub3QgbG9hZCBsYXJnZXIgdGhhbiB0aGUgd2luZG93IGFuZCBpdHMgYnVmZmVyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMud2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy53aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy54Q29vcmQgPSB0aGlzLndpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLnNldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5mbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwaW9udChcbiAgICAgICAgd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh3aW5kb3cuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyh0aGlzLmZseW91dFdpZHRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgIGNvbnN0IGtleVByZXNzZWQgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdhcnJvdycsICcnKTtcbiAgICAgIHN3aXRjaCAoa2V5UHJlc3NlZCkge1xuICAgICAgICBjYXNlICdlbnRlcic6XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9ICF0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuY29uZmlnLm1heFdpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1pbihcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoICsgdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWF4V2lkdGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoIC0gdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWluV2lkdGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aGVuIHRoZSB6b25lIGlzIHN0YWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXhlY3V0ZU9uU3RhYmxlKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbmdab25lLmlzU3RhYmxlKSB7XG4gICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSBmYWxzZTtcbiAgICAvLyBXYWl0aW5nIGZvciB6b25lIHRvIGJlIHN0YWJsZSB3aWxsIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VBZnRlckNoZWNrZWRFcnJvci5cbiAgICB0aGlzLl9leGVjdXRlT25TdGFibGUoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IHRydWU7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktZmx5b3V0XCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFthdHRyLnJvbGVdPVwiY29uZmlnPy5hcmlhUm9sZSA/IGNvbmZpZy5hcmlhUm9sZSA6ICdkaWFsb2cnXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjb25maWc/LmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnPy5hcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiY29uZmlnPy5hcmlhTGFiZWxsZWRCeVwiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwiXG4gICAgY29uZmlnPy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZz8uYXJpYVJvbGUgPyB0cnVlIDogZmFsc2VcbiAgXCJcbiAgW2F0dHIuaGlkZGVuXT1cIiFpbnN0YW5jZVJlYWR5ID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gIFtpZF09XCJmbHlvdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWZseW91dC1oaWRkZW4nOiAhaXNPcGVuICYmICFpc09wZW5pbmcsXG4gICAgJ3NreS1mbHlvdXQtZnVsbHNjcmVlbic6IGlzRnVsbHNjcmVlblxuICB9XCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZWxldmF0aW9uLTgnOiAnbW9kZXJuJ1xuICB9XCJcbiAgKEBmbHlvdXRTdGF0ZS5kb25lKT1cImFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gIFtAZmx5b3V0U3RhdGVdPVwiZ2V0QW5pbWF0aW9uU3RhdGUoKVwiXG4gIFtzdHlsZS53aWR0aC5weF09XCJmbHlvdXRXaWR0aFwiXG4gICNmbHlvdXRSZWZcbiAgW2Nka1RyYXBGb2N1c109XCJlbmFibGVUcmFwRm9jdXNcIlxuICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmVcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlclwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1wYWRkaW5nLXNxdWlzaC1sYXJnZSc6ICdkZWZhdWx0J1xuICAgIH1cIlxuICAgICNmbHlvdXRIZWFkZXJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1jb250ZW50XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LW1hcmdpbi1pbmxpbmUtc20gc2t5LWZseW91dC1oZWFkZXItZ3JhYi1oYW5kbGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZU1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJ0aWxlLWRyYWdcIiBpY29uVHlwZT1cInNreXV4XCIgc2l6ZT1cImxnXCI+IDwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPHNreS1mbHlvdXQtaXRlcmF0b3JcbiAgICAgICAgKm5nSWY9XCJjb25maWcuc2hvd0l0ZXJhdG9yXCJcbiAgICAgICAgW25leHRCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICBbcHJldmlvdXNCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgKG5leHRCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICAocHJldmlvdXNCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWZseW91dC1pdGVyYXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcm1hbGlua1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByaW1hcnlBY3Rpb25UZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLWNsb3NlIHNreS1sYWJlbC1pY29uLXRoZW1lLWRlZmF1bHRcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjbG9zZVwiPiA8L3NreS1pY29uPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1mbHlvdXQtY29udGVudFwiPlxuICAgIDxkaXYgI3RhcmdldD48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtcmVzaXplLWhhbmRsZVwiXG4gICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICB0eXBlPVwicmFuZ2VcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZmx5b3V0SWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCJjb25maWcubWF4V2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwiY29uZmlnLm1pbldpZHRoXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cImZseW91dFdpZHRoXCJcbiAgICAoa2V5ZG93bik9XCJvblJlc2l6ZUhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJvblJlc2l6ZUhhbmRsZU1vdXNlRG93bigkZXZlbnQpXCJcbiAgPjwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGVybWFsaW5rVGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJwZXJtYWxpbmtcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicGVybWFsaW5rLnVybFwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3NreUhyZWZdPVwicGVybWFsaW5rLnVybFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInBlcm1hbGluay5yb3V0ZVwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwicGVybWFsaW5rLnJvdXRlLmNvbW1hbmRzXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LmZyYWdtZW50XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3N0YXRlXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnN0YXRlXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByaW1hcnlBY3Rpb25UZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInByaW1hcnlBY3Rpb24gJiYgcHJpbWFyeUFjdGlvbi5jYWxsYmFja1wiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvbiBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgIChjbGljayk9XCJpbnZva2VQcmltYXJ5QWN0aW9uKClcIlxuICAgID5cbiAgICAgIHt7IHByaW1hcnlBY3Rpb25MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -13,8 +13,8 @@ import { SkyFlyoutComponent } from './flyout.component';
|
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class SkyFlyoutModule {
|
|
15
15
|
}
|
|
16
|
-
SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
16
|
+
SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [A11yModule,
|
|
18
18
|
CommonModule,
|
|
19
19
|
FormsModule,
|
|
20
20
|
RouterModule,
|
|
@@ -23,18 +23,16 @@ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
23
23
|
SkyFlyoutResourcesModule,
|
|
24
24
|
SkyThemeModule,
|
|
25
25
|
SkyHrefModule], exports: [SkyFlyoutComponent] });
|
|
26
|
-
SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
]] });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyFlyoutModule, decorators: [{
|
|
26
|
+
SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutModule, imports: [A11yModule,
|
|
27
|
+
CommonModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
RouterModule,
|
|
30
|
+
SkyI18nModule,
|
|
31
|
+
SkyIconModule,
|
|
32
|
+
SkyFlyoutResourcesModule,
|
|
33
|
+
SkyThemeModule,
|
|
34
|
+
SkyHrefModule] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutModule, decorators: [{
|
|
38
36
|
type: NgModule,
|
|
39
37
|
args: [{
|
|
40
38
|
declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],
|
|
@@ -52,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
52
50
|
exports: [SkyFlyoutComponent],
|
|
53
51
|
}]
|
|
54
52
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFpQnhELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBZFgsa0JBQWtCLEVBQUUsMEJBQTBCLGFBRTNELFVBQVU7UUFDVixZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixjQUFjO1FBQ2QsYUFBYSxhQUVMLGtCQUFrQjs2R0FFakIsZUFBZSxZQVp4QixVQUFVO1FBQ1YsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLGFBQWE7MkZBSUosZUFBZTtrQkFmM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSwwQkFBMEIsQ0FBQztvQkFDOUQsT0FBTyxFQUFFO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5SHJlZk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9yb3V0ZXInO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9mbHlvdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5Rmx5b3V0Q29tcG9uZW50LCBTa3lGbHlvdXRJdGVyYXRvckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUZseW91dFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgICBTa3lIcmVmTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -160,9 +160,9 @@ export class SkyFlyoutService {
|
|
|
160
160
|
this.ngUnsubscribe = new Subject();
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
164
|
-
SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
163
|
+
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }, { token: i0.ApplicationRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
164
|
+
SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutService, decorators: [{
|
|
166
166
|
type: Injectable,
|
|
167
167
|
args: [{
|
|
168
168
|
providedIn: 'any',
|
|
@@ -29,16 +29,16 @@ export class SkyFlyoutResourcesProvider {
|
|
|
29
29
|
*/
|
|
30
30
|
export class SkyFlyoutResourcesModule {
|
|
31
31
|
}
|
|
32
|
-
SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
34
|
-
SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
32
|
+
SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] });
|
|
34
|
+
SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutResourcesModule, providers: [
|
|
35
35
|
{
|
|
36
36
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
37
37
|
useClass: SkyFlyoutResourcesProvider,
|
|
38
38
|
multi: true,
|
|
39
39
|
},
|
|
40
40
|
], imports: [SkyI18nModule] });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
|
|
42
42
|
type: NgModule,
|
|
43
43
|
args: [{
|
|
44
44
|
exports: [SkyI18nModule],
|