@skyux/modals 6.16.0 → 6.18.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.
@@ -116,10 +116,10 @@ _SkyConfirmComponent_config = new WeakMap(), _SkyConfirmComponent_modal = new We
116
116
  return buttons;
117
117
  };
118
118
  SkyConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyConfirmComponent, deps: [{ token: SKY_CONFIRM_CONFIG }, { token: i1.SkyModalInstance }, { token: i2.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
119
- SkyConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyConfirmComponent, selector: "sky-confirm", ngImport: i0, template: "<div class=\"sky-confirm\">\n <sky-modal ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >\n {{ message }}\n </div>\n\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >\n {{ body }}\n </div>\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"['sky-btn-' + button.styleType]\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm-message{margin-top:5px}.sky-confirm-body{margin-top:10px}.sky-confirm-buttons{margin-top:20px}.sky-confirm-preserve-white-space{white-space:pre-wrap}:host-context(.sky-theme-modern) .sky-confirm-content{padding:20px 30px}:host-context(.sky-theme-modern) .sky-confirm-message{padding-bottom:20px}:host-context(.sky-theme-modern) .sky-confirm-body{margin:0}.sky-theme-modern .sky-confirm-content{padding:20px 30px}.sky-theme-modern .sky-confirm-message{padding-bottom:20px}.sky-theme-modern .sky-confirm-body{margin:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-confirm-message{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-confirm-message{color:#fbfcfe}\n"], components: [{ type: i3.SkyModalComponent, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i4.SkyModalContentComponent, selector: "sky-modal-content" }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
119
+ SkyConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyConfirmComponent, selector: "sky-confirm", ngImport: i0, template: "<div class=\"sky-confirm\">\n <sky-modal ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >\n {{ message }}\n </div>\n\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >\n {{ body }}\n </div>\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"['sky-btn-' + button.styleType]\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm{--sky-confirm-body-margin-top: var(--sky-margin-stacked-sm);--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-xl);--sky-confirm-content-padding: 0;--sky-confirm-message-padding-bottom: 0}:host-context(.sky-theme-modern) .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-theme-modern .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-confirm-content{padding:var(--sky-confirm-content-padding)}.sky-confirm-message{margin-top:var(--sky-margin-stacked-xs);padding-bottom:var(--sky-confirm-message-padding-bottom)}.sky-confirm-body{margin-top:var(--sky-confirm-body-margin-top)}.sky-confirm-buttons{margin-top:var(--sky-confirm-buttons-margin-top)}.sky-confirm-preserve-white-space{white-space:pre-wrap}\n"], components: [{ type: i3.SkyModalComponent, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i4.SkyModalContentComponent, selector: "sky-modal-content" }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyConfirmComponent, decorators: [{
121
121
  type: Component,
122
- args: [{ selector: 'sky-confirm', template: "<div class=\"sky-confirm\">\n <sky-modal ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >\n {{ message }}\n </div>\n\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >\n {{ body }}\n </div>\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"['sky-btn-' + button.styleType]\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm-message{margin-top:5px}.sky-confirm-body{margin-top:10px}.sky-confirm-buttons{margin-top:20px}.sky-confirm-preserve-white-space{white-space:pre-wrap}:host-context(.sky-theme-modern) .sky-confirm-content{padding:20px 30px}:host-context(.sky-theme-modern) .sky-confirm-message{padding-bottom:20px}:host-context(.sky-theme-modern) .sky-confirm-body{margin:0}.sky-theme-modern .sky-confirm-content{padding:20px 30px}.sky-theme-modern .sky-confirm-message{padding-bottom:20px}.sky-theme-modern .sky-confirm-body{margin:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-confirm-message{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-confirm-message{color:#fbfcfe}\n"] }]
122
+ args: [{ selector: 'sky-confirm', template: "<div class=\"sky-confirm\">\n <sky-modal ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >\n {{ message }}\n </div>\n\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >\n {{ body }}\n </div>\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"['sky-btn-' + button.styleType]\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm{--sky-confirm-body-margin-top: var(--sky-margin-stacked-sm);--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-xl);--sky-confirm-content-padding: 0;--sky-confirm-message-padding-bottom: 0}:host-context(.sky-theme-modern) .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-theme-modern .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-confirm-content{padding:var(--sky-confirm-content-padding)}.sky-confirm-message{margin-top:var(--sky-margin-stacked-xs);padding-bottom:var(--sky-confirm-message-padding-bottom)}.sky-confirm-body{margin-top:var(--sky-confirm-body-margin-top)}.sky-confirm-buttons{margin-top:var(--sky-confirm-buttons-margin-top)}.sky-confirm-preserve-white-space{white-space:pre-wrap}\n"] }]
123
123
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
124
124
  type: Inject,
125
125
  args: [SKY_CONFIRM_CONFIG]
@@ -1,4 +1,4 @@
1
- var _SkyModalAdapterService_instances, _SkyModalAdapterService_docRef, _SkyModalAdapterService_bodyEl, _SkyModalAdapterService_windowRef, _SkyModalAdapterService_addClassToBody, _SkyModalAdapterService_removeClassFromBody;
1
+ var _SkyModalAdapterService_instances, _SkyModalAdapterService_docRef, _SkyModalAdapterService_bodyEl, _SkyModalAdapterService_windowRef, _SkyModalAdapterService_hostSiblingAriaHiddenCache, _SkyModalAdapterService_addClassToBody, _SkyModalAdapterService_removeClassFromBody;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Injectable } from '@angular/core';
4
4
  import { SkyAppWindowRef } from '@skyux/core';
@@ -13,6 +13,7 @@ export class SkyModalAdapterService {
13
13
  _SkyModalAdapterService_docRef.set(this, void 0);
14
14
  _SkyModalAdapterService_bodyEl.set(this, void 0);
15
15
  _SkyModalAdapterService_windowRef.set(this, void 0);
16
+ _SkyModalAdapterService_hostSiblingAriaHiddenCache.set(this, new Map());
16
17
  __classPrivateFieldSet(this, _SkyModalAdapterService_windowRef, windowRef, "f");
17
18
  __classPrivateFieldSet(this, _SkyModalAdapterService_docRef, __classPrivateFieldGet(this, _SkyModalAdapterService_windowRef, "f").nativeWindow.document, "f");
18
19
  __classPrivateFieldSet(this, _SkyModalAdapterService_bodyEl, __classPrivateFieldGet(this, _SkyModalAdapterService_windowRef, "f").nativeWindow.document.body, "f");
@@ -36,8 +37,54 @@ export class SkyModalAdapterService {
36
37
  getModalOpener() {
37
38
  return __classPrivateFieldGet(this, _SkyModalAdapterService_docRef, "f").activeElement;
38
39
  }
40
+ /**
41
+ * Hides siblings of modal-host from screen readers
42
+ * @param hostElRef reference to modal-host element
43
+ */
44
+ hideHostSiblingsFromScreenReaders(hostElRef) {
45
+ const hostElement = hostElRef.nativeElement;
46
+ const hostSiblings = hostElement.parentElement.children;
47
+ for (let i = 0; i < hostSiblings.length; i++) {
48
+ const element = hostSiblings[i];
49
+ if (element !== hostElement &&
50
+ !element.hasAttribute('aria-live') &&
51
+ element.nodeName.toLowerCase() !== 'script' &&
52
+ element.nodeName.toLowerCase() !== 'style') {
53
+ // preserve previous aria-hidden status of elements outside of modal host
54
+ __classPrivateFieldGet(this, _SkyModalAdapterService_hostSiblingAriaHiddenCache, "f").set(element, element.getAttribute('aria-hidden'));
55
+ element.setAttribute('aria-hidden', 'true');
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * Restores modal-host siblings to screenreader status prior to modals being opened
61
+ */
62
+ unhideOrRestoreHostSiblingsFromScreenReaders() {
63
+ __classPrivateFieldGet(this, _SkyModalAdapterService_hostSiblingAriaHiddenCache, "f").forEach((previousValue, element) => {
64
+ // if element had aria-hidden status prior, restore status
65
+ if (element.parentElement) {
66
+ if (previousValue) {
67
+ element.setAttribute('aria-hidden', previousValue);
68
+ }
69
+ else {
70
+ element.removeAttribute('aria-hidden');
71
+ }
72
+ }
73
+ });
74
+ __classPrivateFieldGet(this, _SkyModalAdapterService_hostSiblingAriaHiddenCache, "f").clear();
75
+ }
76
+ hidePreviousModalFromScreenReaders(topModal) {
77
+ if (topModal && topModal.nativeElement.previousElementSibling) {
78
+ topModal.nativeElement.previousElementSibling.setAttribute('aria-hidden', 'true');
79
+ }
80
+ }
81
+ unhidePreviousModalFromScreenReaders(topModal) {
82
+ if (topModal && topModal.nativeElement.previousElementSibling) {
83
+ topModal.nativeElement.previousElementSibling.removeAttribute('aria-hidden');
84
+ }
85
+ }
39
86
  }
40
- _SkyModalAdapterService_docRef = new WeakMap(), _SkyModalAdapterService_bodyEl = new WeakMap(), _SkyModalAdapterService_windowRef = new WeakMap(), _SkyModalAdapterService_instances = new WeakSet(), _SkyModalAdapterService_addClassToBody = function _SkyModalAdapterService_addClassToBody(className) {
87
+ _SkyModalAdapterService_docRef = new WeakMap(), _SkyModalAdapterService_bodyEl = new WeakMap(), _SkyModalAdapterService_windowRef = new WeakMap(), _SkyModalAdapterService_hostSiblingAriaHiddenCache = new WeakMap(), _SkyModalAdapterService_instances = new WeakSet(), _SkyModalAdapterService_addClassToBody = function _SkyModalAdapterService_addClassToBody(className) {
41
88
  __classPrivateFieldGet(this, _SkyModalAdapterService_bodyEl, "f").classList.add(className);
42
89
  }, _SkyModalAdapterService_removeClassFromBody = function _SkyModalAdapterService_removeClassFromBody(className) {
43
90
  __classPrivateFieldGet(this, _SkyModalAdapterService_bodyEl, "f").classList.remove(className);
@@ -49,4 +96,4 @@ SkyModalAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
49
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalAdapterService, decorators: [{
50
97
  type: Injectable
51
98
  }], ctorParameters: function () { return [{ type: i1.SkyAppWindowRef }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQVksU0FBMEI7O1FBTHRDLGlEQUFhO1FBQ2IsaURBQXFCO1FBRXJCLG9EQUE0QjtRQUcxQix1QkFBQSxJQUFJLHFDQUFjLFNBQVMsTUFBQSxDQUFDO1FBQzVCLHVCQUFBLElBQUksa0NBQVcsdUJBQUEsSUFBSSx5Q0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLE1BQUEsQ0FBQztRQUNyRCx1QkFBQSxJQUFJLGtDQUFXLHVCQUFBLElBQUkseUNBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksTUFBQSxDQUFDO0lBQzVELENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxTQUFrQjtRQUNoRCxJQUFJLFNBQVMsRUFBRTtZQUNiLHVCQUFBLElBQUksaUZBQWdCLE1BQXBCLElBQUksRUFBaUIsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUNwRTthQUFNO1lBQ0wsdUJBQUEsSUFBSSxzRkFBcUIsTUFBekIsSUFBSSxFQUFzQixzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFjO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsdUJBQUEsSUFBSSxpRkFBZ0IsTUFBcEIsSUFBSSxFQUFpQixzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCx1QkFBQSxJQUFJLHNGQUFxQixNQUF6QixJQUFJLEVBQXNCLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLHVCQUFBLElBQUksc0NBQVEsQ0FBQyxhQUFhLENBQUM7SUFDcEMsQ0FBQzs7K1JBRWUsU0FBaUI7SUFDL0IsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxxR0FFb0IsU0FBaUI7SUFDcEMsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQXhDdUIsNENBQXFCLEdBQUcsMEJBQTJCLENBQUE7QUFDbkQsdUNBQWdCLEdBQUcscUJBQXNCLENBQUE7bUhBRnRELHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTU9EQUxfQk9EWV9GVUxMX0NMQVNTID0gJ3NreS1tb2RhbC1ib2R5LWZ1bGwtcGFnZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1PREFMX0JPRFlfQ0xBU1MgPSAnc2t5LW1vZGFsLWJvZHktb3Blbic7XG5cbiAgI2RvY1JlZjogYW55O1xuICAjYm9keUVsOiBIVE1MRWxlbWVudDtcblxuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG5cbiAgY29uc3RydWN0b3Iod2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYpIHtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZG9jUmVmID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudDtcbiAgICB0aGlzLiNib2R5RWwgPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKGlzQWRkRnVsbDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0FkZEZ1bGwpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9GVUxMX0NMQVNTKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVtb3ZlQ2xhc3NGcm9tQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfRlVMTF9DTEFTUyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFBhZ2VTY3JvbGwoaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNBZGQpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbW92ZUNsYXNzRnJvbUJvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0NMQVNTKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxPcGVuZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkb2NSZWYuYWN0aXZlRWxlbWVudDtcbiAgfVxuXG4gICNhZGRDbGFzc1RvQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH1cblxuICAjcmVtb3ZlQ2xhc3NGcm9tQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQVksU0FBMEI7O1FBTnRDLGlEQUFhO1FBQ2IsaURBQXFCO1FBRXJCLG9EQUE0QjtRQUM1Qiw2REFBOEIsSUFBSSxHQUFHLEVBQTBCLEVBQUM7UUFHOUQsdUJBQUEsSUFBSSxxQ0FBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLGtDQUFXLHVCQUFBLElBQUkseUNBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxNQUFBLENBQUM7UUFDckQsdUJBQUEsSUFBSSxrQ0FBVyx1QkFBQSxJQUFJLHlDQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQUEsQ0FBQztJQUM1RCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsU0FBa0I7UUFDaEQsSUFBSSxTQUFTLEVBQUU7WUFDYix1QkFBQSxJQUFJLGlGQUFnQixNQUFwQixJQUFJLEVBQWlCLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDcEU7YUFBTTtZQUNMLHVCQUFBLElBQUksc0ZBQXFCLE1BQXpCLElBQUksRUFBc0Isc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYztRQUNqQyxJQUFJLEtBQUssRUFBRTtZQUNULHVCQUFBLElBQUksaUZBQWdCLE1BQXBCLElBQUksRUFBaUIsc0JBQXNCLENB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YW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQWRhcHRlclNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNT0RBTF9CT0RZX0ZVTExfQ0xBU1MgPSAnc2t5LW1vZGFsLWJvZHktZnVsbC1wYWdlJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTU9EQUxfQk9EWV9DTEFTUyA9ICdza3ktbW9kYWwtYm9keS1vcGVuJztcblxuICAjZG9jUmVmOiBhbnk7XG4gICNib2R5RWw6IEhUTUxFbGVtZW50O1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcbiAgI2hvc3RTaWJsaW5nQXJpYUhpZGRlbkNhY2hlID0gbmV3IE1hcDxFbGVtZW50LCBzdHJpbmcgfCBudWxsPigpO1xuXG4gIGNvbnN0cnVjdG9yKHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI2RvY1JlZiA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQ7XG4gICAgdGhpcy4jYm9keUVsID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5O1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhpc0FkZEZ1bGw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNBZGRGdWxsKSB7XG4gICAgICB0aGlzLiNhZGRDbGFzc1RvQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfRlVMTF9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbW92ZUNsYXNzRnJvbUJvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0ZVTExfQ0xBU1MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlU2Nyb2xsKGlzQWRkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzQWRkKSB7XG4gICAgICB0aGlzLiNhZGRDbGFzc1RvQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNyZW1vdmVDbGFzc0Zyb21Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9DTEFTUyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE1vZGFsT3BlbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZG9jUmVmLmFjdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICAjYWRkQ2xhc3NUb0JvZHkoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNib2R5RWwuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICB9XG5cbiAgI3JlbW92ZUNsYXNzRnJvbUJvZHkoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNib2R5RWwuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGVzIHNpYmxpbmdzIG9mIG1vZGFsLWhvc3QgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgKiBAcGFyYW0gaG9zdEVsUmVmIHJlZmVyZW5jZSB0byBtb2RhbC1ob3N0IGVsZW1lbnRcbiAgICovXG4gIHB1YmxpYyBoaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoaG9zdEVsUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSBob3N0RWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBob3N0U2libGluZ3MgPSBob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3N0U2libGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBob3N0U2libGluZ3NbaV07XG4gICAgICBpZiAoXG4gICAgICAgIGVsZW1lbnQgIT09IGhvc3RFbGVtZW50ICYmXG4gICAgICAgICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnYXJpYS1saXZlJykgJiZcbiAgICAgICAgZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAnc2NyaXB0JyAmJlxuICAgICAgICBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdHlsZSdcbiAgICAgICkge1xuICAgICAgICAvLyBwcmVzZXJ2ZSBwcmV2aW91cyBhcmlhLWhpZGRlbiBzdGF0dXMgb2YgZWxlbWVudHMgb3V0c2lkZSBvZiBtb2RhbCBob3N0XG4gICAgICAgIHRoaXMuI2hvc3RTaWJsaW5nQXJpYUhpZGRlbkNhY2hlLnNldChcbiAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicpXG4gICAgICAgICk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIG1vZGFsLWhvc3Qgc2libGluZ3MgdG8gc2NyZWVucmVhZGVyIHN0YXR1cyBwcmlvciB0byBtb2RhbHMgYmVpbmcgb3BlbmVkXG4gICAqL1xuICBwdWJsaWMgdW5oaWRlT3JSZXN0b3JlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdFNpYmxpbmdBcmlhSGlkZGVuQ2FjaGUuZm9yRWFjaCgocHJldmlvdXNWYWx1ZSwgZWxlbWVudCkgPT4ge1xuICAgICAgLy8gaWYgZWxlbWVudCBoYWQgYXJpYS1oaWRkZW4gc3RhdHVzIHByaW9yLCByZXN0b3JlIHN0YXR1c1xuICAgICAgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHByZXZpb3VzVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy4jaG9zdFNpYmxpbmdBcmlhSGlkZGVuQ2FjaGUuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKHRvcE1vZGFsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsLm5hdGl2ZUVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZykge1xuICAgICAgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ2FyaWEtaGlkZGVuJyxcbiAgICAgICAgJ3RydWUnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1bmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnModG9wTW9kYWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcucmVtb3ZlQXR0cmlidXRlKFxuICAgICAgICAnYXJpYS1oaWRkZW4nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
- var _SkyModalHostComponent_instances, _SkyModalHostComponent_resolver, _SkyModalHostComponent_adapter, _SkyModalHostComponent_injector, _SkyModalHostComponent_router, _SkyModalHostComponent_changeDetector, _SkyModalHostComponent_modalHostContext, _SkyModalHostComponent_modalInstances, _SkyModalHostComponent_registerModalInstance, _SkyModalHostComponent_unregisterModalInstance, _SkyModalHostComponent_closeAllModalInstances;
1
+ var _SkyModalHostComponent_instances, _SkyModalHostComponent_resolver, _SkyModalHostComponent_adapter, _SkyModalHostComponent_injector, _SkyModalHostComponent_router, _SkyModalHostComponent_changeDetector, _SkyModalHostComponent_modalHostContext, _SkyModalHostComponent_elRef, _SkyModalHostComponent_modalInstances, _SkyModalHostComponent_registerModalInstance, _SkyModalHostComponent_unregisterModalInstance, _SkyModalHostComponent_closeAllModalInstances;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectorRef, Component, ComponentFactoryResolver, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
3
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
4
4
  import { NavigationStart, Router } from '@angular/router';
5
5
  import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
6
6
  import { takeWhile } from 'rxjs/operators';
@@ -17,7 +17,7 @@ import * as i4 from "@angular/common";
17
17
  * @internal
18
18
  */
19
19
  export class SkyModalHostComponent {
20
- constructor(resolver, adapter, injector, router, changeDetector, modalHostContext) {
20
+ constructor(resolver, adapter, injector, router, changeDetector, modalHostContext, elRef) {
21
21
  _SkyModalHostComponent_instances.add(this);
22
22
  _SkyModalHostComponent_resolver.set(this, void 0);
23
23
  _SkyModalHostComponent_adapter.set(this, void 0);
@@ -25,6 +25,7 @@ export class SkyModalHostComponent {
25
25
  _SkyModalHostComponent_router.set(this, void 0);
26
26
  _SkyModalHostComponent_changeDetector.set(this, void 0);
27
27
  _SkyModalHostComponent_modalHostContext.set(this, void 0);
28
+ _SkyModalHostComponent_elRef.set(this, void 0);
28
29
  _SkyModalHostComponent_modalInstances.set(this, []);
29
30
  __classPrivateFieldSet(this, _SkyModalHostComponent_resolver, resolver, "f");
30
31
  __classPrivateFieldSet(this, _SkyModalHostComponent_adapter, adapter, "f");
@@ -32,6 +33,7 @@ export class SkyModalHostComponent {
32
33
  __classPrivateFieldSet(this, _SkyModalHostComponent_router, router, "f");
33
34
  __classPrivateFieldSet(this, _SkyModalHostComponent_changeDetector, changeDetector, "f");
34
35
  __classPrivateFieldSet(this, _SkyModalHostComponent_modalHostContext, modalHostContext, "f");
36
+ __classPrivateFieldSet(this, _SkyModalHostComponent_elRef, elRef, "f");
35
37
  }
36
38
  get modalOpen() {
37
39
  return SkyModalHostService.openModalCount > 0;
@@ -80,9 +82,26 @@ export class SkyModalHostComponent {
80
82
  parent: __classPrivateFieldGet(this, _SkyModalHostComponent_injector, "f"),
81
83
  });
82
84
  const modalComponentRef = this.target.createComponent(factory, undefined, injector);
85
+ // modal element that was just opened
86
+ const modalElement = modalComponentRef.location;
83
87
  modalInstance.componentInstance = modalComponentRef.instance;
84
88
  __classPrivateFieldGet(this, _SkyModalHostComponent_instances, "m", _SkyModalHostComponent_registerModalInstance).call(this, modalInstance);
85
- function closeModal() {
89
+ // hidding all elements at the modal-host level from screenreaders when the a modal is opened
90
+ __classPrivateFieldGet(this, _SkyModalHostComponent_adapter, "f").hideHostSiblingsFromScreenReaders(__classPrivateFieldGet(this, _SkyModalHostComponent_elRef, "f"));
91
+ if (SkyModalHostService.openModalCount > 1 &&
92
+ SkyModalHostService.topModal === hostService) {
93
+ // hiding the lower modals when more than one modal is opened
94
+ __classPrivateFieldGet(this, _SkyModalHostComponent_adapter, "f").hidePreviousModalFromScreenReaders(modalElement);
95
+ }
96
+ const closeModal = () => {
97
+ // unhide siblings if last modal is closing
98
+ if (SkyModalHostService.openModalCount === 1) {
99
+ __classPrivateFieldGet(this, _SkyModalHostComponent_adapter, "f").unhideOrRestoreHostSiblingsFromScreenReaders();
100
+ }
101
+ else if (SkyModalHostService.topModal === hostService) {
102
+ // if there are more than 1 modal then unhide the one behind this one before closing it
103
+ __classPrivateFieldGet(this, _SkyModalHostComponent_adapter, "f").unhidePreviousModalFromScreenReaders(modalElement);
104
+ }
86
105
  hostService.destroy();
87
106
  adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
88
107
  adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
@@ -92,7 +111,7 @@ export class SkyModalHostComponent {
92
111
  modalOpener.focus();
93
112
  }
94
113
  modalComponentRef.destroy();
95
- }
114
+ };
96
115
  hostService.openHelp.subscribe((helpKey) => {
97
116
  modalInstance.openHelp(helpKey);
98
117
  });
@@ -114,7 +133,7 @@ export class SkyModalHostComponent {
114
133
  __classPrivateFieldGet(this, _SkyModalHostComponent_changeDetector, "f").detectChanges();
115
134
  }
116
135
  }
117
- _SkyModalHostComponent_resolver = new WeakMap(), _SkyModalHostComponent_adapter = new WeakMap(), _SkyModalHostComponent_injector = new WeakMap(), _SkyModalHostComponent_router = new WeakMap(), _SkyModalHostComponent_changeDetector = new WeakMap(), _SkyModalHostComponent_modalHostContext = new WeakMap(), _SkyModalHostComponent_modalInstances = new WeakMap(), _SkyModalHostComponent_instances = new WeakSet(), _SkyModalHostComponent_registerModalInstance = function _SkyModalHostComponent_registerModalInstance(instance) {
136
+ _SkyModalHostComponent_resolver = new WeakMap(), _SkyModalHostComponent_adapter = new WeakMap(), _SkyModalHostComponent_injector = new WeakMap(), _SkyModalHostComponent_router = new WeakMap(), _SkyModalHostComponent_changeDetector = new WeakMap(), _SkyModalHostComponent_modalHostContext = new WeakMap(), _SkyModalHostComponent_elRef = new WeakMap(), _SkyModalHostComponent_modalInstances = new WeakMap(), _SkyModalHostComponent_instances = new WeakSet(), _SkyModalHostComponent_registerModalInstance = function _SkyModalHostComponent_registerModalInstance(instance) {
118
137
  __classPrivateFieldGet(this, _SkyModalHostComponent_modalInstances, "f").push(instance);
119
138
  }, _SkyModalHostComponent_unregisterModalInstance = function _SkyModalHostComponent_unregisterModalInstance(instance) {
120
139
  __classPrivateFieldGet(this, _SkyModalHostComponent_modalInstances, "f").slice(__classPrivateFieldGet(this, _SkyModalHostComponent_modalInstances, "f").indexOf(instance), 1);
@@ -123,16 +142,16 @@ _SkyModalHostComponent_resolver = new WeakMap(), _SkyModalHostComponent_adapter
123
142
  instance.close();
124
143
  }
125
144
  };
126
- SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i3.SkyModalHostContext }], target: i0.ɵɵFactoryTarget.Component });
145
+ SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i3.SkyModalHostContext }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
127
146
  SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalHostComponent, selector: "sky-modal-host", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
128
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostComponent, decorators: [{
129
148
  type: Component,
130
149
  args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"] }]
131
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i3.SkyModalHostContext }]; }, propDecorators: { target: [{
150
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i3.SkyModalHostContext }, { type: i0.ElementRef }]; }, propDecorators: { target: [{
132
151
  type: ViewChild,
133
152
  args: ['target', {
134
153
  read: ViewContainerRef,
135
154
  static: true,
136
155
  }]
137
156
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsUUFBUSxFQUVSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtDQUFrQyxHQUNuQyxNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUkzRDs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUErQmhDLFlBQ0UsUUFBa0MsRUFDbEMsT0FBK0IsRUFDL0IsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLGNBQWlDLEVBQ2pDLGdCQUFxQzs7UUFoQnZDLGtEQUFvQztRQUNwQyxpREFBaUM7UUFDakMsa0RBQW9CO1FBQ3BCLGdEQUFnQjtRQUNoQix3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QTBCLGFBQWEsQ0FBQyxDQUFDO1lBQzdDLFVBQVUsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxxRkFBcUY7UUFDckYsdUJBQUEsSUFBSSw2Q0FBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzsrZkFFc0IsUUFBMEI7SUFDL0MsdUJBQUEsSUFBSSw2Q0FBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQywyR0FFd0IsUUFBMEI7SUFDakQsdUJBQUEsSUFBSSw2Q0FBZ0IsQ0FBQyxLQUFLLENBQUMsdUJBQUEsSUFBSSw2Q0FBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEUsQ0FBQztJQUdDLEtBQUssTUFBTSxRQUFRLElBQUksdUJBQUEsSUFBSSw2Q0FBZ0IsRUFBRTtRQUMzQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDbEI7QUFDSCxDQUFDO2tIQW5LVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixtSUFnQnhCLGdCQUFnQiwyQ0NqRDFCLDBKQVFBLGtORHVCaUIsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFFNUIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxDQUFDLHNCQUFzQixDQUFDO2tRQXFCaEMsTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0Q29udGV4dCB9IGZyb20gJy4vbW9kYWwtaG9zdC1jb250ZXh0JztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnLi9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1ob3N0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGdldCBtb2RhbE9wZW4oKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcFpJbmRleCgpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYGFueWAgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciA0LTcuXG4gICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzA2NTRcbiAgICogVE9ETzogUmVtb3ZlIHRoZSBgYW55YCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0gYXMgYW55KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAjYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZTtcbiAgI2luamVjdG9yOiBJbmplY3RvcjtcbiAgI3JvdXRlcjogUm91dGVyO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNtb2RhbEhvc3RDb250ZXh0OiBTa3lNb2RhbEhvc3RDb250ZXh0O1xuXG4gICNtb2RhbEluc3RhbmNlczogU2t5TW9kYWxJbnN0YW5jZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbW9kYWxIb3N0Q29udGV4dDogU2t5TW9kYWxIb3N0Q29udGV4dFxuICApIHtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI2FkYXB0ZXIgPSBhZGFwdGVyO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dCA9IG1vZGFsSG9zdENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgYWxsIG1vZGFsIGluc3RhbmNlcyBiZWZvcmUgZGlzcG9zaW5nIG9mIHRoZSBob3N0IGNvbnRhaW5lci5cbiAgICB0aGlzLiNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dC5hcmdzLnRlYXJkb3duQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLiNyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSA9IG1vZGFsQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgZnVuY3Rpb24gY2xvc2VNb2RhbCgpIHtcbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaG9zdFNlcnZpY2Uub3BlbkhlbHAuc3Vic2NyaWJlKChoZWxwS2V5Pzogc3RyaW5nKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLm9wZW5IZWxwKGhlbHBLZXkpO1xuICAgIH0pO1xuXG4gICAgaG9zdFNlcnZpY2UuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI3JvdXRlci5ldmVudHMucGlwZSh0YWtlV2hpbGUoKCkgPT4gaXNPcGVuKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLiN1bnJlZ2lzdGVyTW9kYWxJbnN0YW5jZShtb2RhbEluc3RhbmNlKTtcbiAgICAgIGNsb3NlTW9kYWwoKTtcbiAgICB9KTtcblxuICAgIC8vIE5lY2Vzc2FyeSBpZiB0aGUgaG9zdCB3YXMgY3JlYXRlZCB2aWEgYSBjb25zdW1lcidzIGxpZmVjeWNsZSBob29rIHN1Y2ggYXMgbmdPbkluaXRcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAjcmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMucHVzaChpbnN0YW5jZSk7XG4gIH1cblxuICAjdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UoaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlcy5zbGljZSh0aGlzLiNtb2RhbEluc3RhbmNlcy5pbmRleE9mKGluc3RhbmNlKSwgMSk7XG4gIH1cblxuICAjY2xvc2VBbGxNb2RhbEluc3RhbmNlcygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGluc3RhbmNlIG9mIHRoaXMuI21vZGFsSW5zdGFuY2VzKSB7XG4gICAgICBpbnN0YW5jZS5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1tb2RhbC1ob3N0LWJhY2tkcm9wXCJcbiAgW2hpZGRlbl09XCIhbW9kYWxPcGVuXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHpJbmRleDogYmFja2Ryb3BaSW5kZXhcbiAgfVwiXG4+PC9kaXY+XG48ZGl2ICN0YXJnZXQ+PC9kaXY+XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFFBQVEsRUFFUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFJM0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBK0JoQyxZQUNFLFFBQWtDLEVBQ2xDLE9BQStCLEVBQy9CLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxjQUFpQyxFQUNqQyxnQkFBcUMsRUFDckMsS0FBaUI7O1FBakJuQixrREFBb0M7UUFDcEMsaURBQWlDO1FBQ2pDLGtEQUFv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Q0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7SUFHQyxLQUFLLE1BQU0sUUFBUSxJQUFJLHVCQUFBLElBQUksNkNBQWdCLEVBQUU7UUFDM0MsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztrSEExTFUscUJBQXFCO3NHQUFyQixxQkFBcUIsbUlBZ0J4QixnQkFBZ0IsMkNDbEQxQiwwSkFRQSxrTkR3QmlCLENBQUMsc0JBQXNCLENBQUM7MkZBRTVCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsQ0FBQyxzQkFBc0IsQ0FBQzsyUkFxQmhDLE1BQU07c0JBSlosU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgbW9kYWxPcGVuKCkge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2UuYmFja2Ryb3BaSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGBhbnlgIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIEFuZ3VsYXIgNC03LlxuICAgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzMwNjU0XG4gICAqIFRPRE86IFJlbW92ZSB0aGUgYGFueWAgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9IGFzIGFueSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcbiAgI2FkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2U7XG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG4gICNyb3V0ZXI6IFJvdXRlcjtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI21vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQ7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbW9kYWxJbnN0YW5jZXM6IFNreU1vZGFsSW5zdGFuY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcm91dGVyOiBSb3V0ZXIsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG1vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgdGhpcy4jcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQgPSBtb2RhbEhvc3RDb250ZXh0O1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgYWxsIG1vZGFsIGluc3RhbmNlcyBiZWZvcmUgZGlzcG9zaW5nIG9mIHRoZSBob3N0IGNvbnRhaW5lci5cbiAgICB0aGlzLiNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dC5hcmdzLnRlYXJkb3duQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLiNyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSA9IG1vZGFsQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gaGlkZGluZyBhbGwgZWxlbWVudHMgYXQgdGhlIG1vZGFsLWhvc3QgbGV2ZWwgZnJvbSBzY3JlZW5yZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgdGhpcy4jYWRhcHRlci5oaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnModGhpcy4jZWxSZWYpO1xuICAgIGlmIChcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsID09PSBob3N0U2VydmljZVxuICAgICkge1xuICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgdGhpcy4jYWRhcHRlci5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICAgIC8vIHVuaGlkZSBzaWJsaW5ncyBpZiBsYXN0IG1vZGFsIGlzIGNsb3NpbmdcbiAgICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID09PSAxKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlT3JSZXN0b3JlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoKTtcbiAgICAgIH0gZWxzZSBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbCA9PT0gaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiAxIG1vZGFsIHRoZW4gdW5oaWRlIHRoZSBvbmUgYmVoaW5kIHRoaXMgb25lIGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIGhvc3RTZXJ2aWNlLm9wZW5IZWxwLnN1YnNjcmliZSgoaGVscEtleSkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5vcGVuSGVscChoZWxwS2V5KTtcbiAgICB9KTtcblxuICAgIGhvc3RTZXJ2aWNlLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNyb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG4gICAgICBjbG9zZU1vZGFsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBOZWNlc3NhcnkgaWYgdGhlIGhvc3Qgd2FzIGNyZWF0ZWQgdmlhIGEgY29uc3VtZXIncyBsaWZlY3ljbGUgaG9vayBzdWNoIGFzIG5nT25Jbml0XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuICB9XG5cbiAgI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMuc2xpY2UodGhpcy4jbW9kYWxJbnN0YW5jZXMuaW5kZXhPZihpbnN0YW5jZSksIDEpO1xuICB9XG5cbiAgI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiB0aGlzLiNtb2RhbEluc3RhbmNlcykge1xuICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtaG9zdC1iYWNrZHJvcFwiXG4gIFtoaWRkZW5dPVwiIW1vZGFsT3BlblwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICB6SW5kZXg6IGJhY2tkcm9wWkluZGV4XG4gIH1cIlxuPjwvZGl2PlxuPGRpdiAjdGFyZ2V0PjwvZGl2PlxuIl19
@@ -1,4 +1,5 @@
1
- import { EventEmitter, Injectable } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  const BASE_Z_INDEX = 1040;
4
5
  const modalHosts = [];
@@ -8,9 +9,9 @@ const modalHosts = [];
8
9
  */
9
10
  export class SkyModalHostService {
10
11
  constructor() {
11
- this.close = new EventEmitter();
12
+ this.close = new Subject();
12
13
  this.fullPage = false;
13
- this.openHelp = new EventEmitter();
14
+ this.openHelp = new Subject();
14
15
  this.zIndex = this.calculateZIndex();
15
16
  modalHosts.push(this);
16
17
  }
@@ -31,10 +32,10 @@ export class SkyModalHostService {
31
32
  return this.zIndex;
32
33
  }
33
34
  onClose() {
34
- this.close.emit();
35
+ this.close.next();
35
36
  }
36
37
  onOpenHelp(helpKey) {
37
- this.openHelp.emit(helpKey);
38
+ this.openHelp.next(helpKey);
38
39
  }
39
40
  destroy() {
40
41
  modalHosts.splice(modalHosts.indexOf(this), 1);
@@ -58,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
58
59
  providedIn: 'root',
59
60
  }]
60
61
  }], ctorParameters: function () { return []; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxVQUFVLEdBQTBCLEVBQUUsQ0FBQztBQUU3Qzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBdUI5QjtRQUxPLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBekJNLE1BQU0sS0FBSyxjQUFjO1FBQzlCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sTUFBTSxLQUFLLGtCQUFrQjtRQUNsQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLEtBQUssY0FBYztRQUM5QixPQUFPLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBWU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLE9BQU87UUFDWixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztZQUNsRCxPQUFPLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgQkFTRV9aX0lOREVYID0gMTA0MDtcbmNvbnN0IG1vZGFsSG9zdHM6IFNreU1vZGFsSG9zdFNlcnZpY2VbXSA9IFtdO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RhbEhvc3RzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGZ1bGxQYWdlTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxzID0gbW9kYWxIb3N0cy5maWx0ZXIoKG1vZGFsKSA9PiBtb2RhbC5mdWxsUGFnZSk7XG4gICAgcmV0dXJuIGZ1bGxQYWdlTW9kYWxzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGJhY2tkcm9wWkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIG1vZGFsSG9zdHMubGVuZ3RoICogMTA7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCB0b3BNb2RhbCgpOiBTa3lNb2RhbEhvc3RTZXJ2aWNlIHtcbiAgICByZXR1cm4gbW9kYWxIb3N0c1ttb2RhbEhvc3RzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHVibGljIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBwdWJsaWMgZnVsbFBhZ2UgPSBmYWxzZTtcbiAgcHVibGljIG9wZW5IZWxwID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyB6SW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnpJbmRleCA9IHRoaXMuY2FsY3VsYXRlWkluZGV4KCk7XG4gICAgbW9kYWxIb3N0cy5wdXNoKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGdldE1vZGFsWkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuekluZGV4O1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25PcGVuSGVscChoZWxwS2V5Pzogc3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuSGVscC5lbWl0KGhlbHBLZXkpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgbW9kYWxIb3N0cy5zcGxpY2UobW9kYWxIb3N0cy5pbmRleE9mKHRoaXMpLCAxKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlWkluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgekluZGV4QXJyYXkgPSBtb2RhbEhvc3RzLm1hcCgoaG9zdFNlcnZpY2UpID0+IGhvc3RTZXJ2aWNlLnpJbmRleCk7XG4gICAgaWYgKHpJbmRleEFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIDExO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50TWF4WkluZGV4ID0gTWF0aC5tYXgoLi4uekluZGV4QXJyYXkpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRNYXhaSW5kZXggKyAxMDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sVUFBVSxHQUEwQixFQUFFLENBQUM7QUFFN0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUI7UUFMTyxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQXpCTSxNQUFNLEtBQUssY0FBYztRQUM5QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sS0FBSyxrQkFBa0I7UUFDbEMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVlNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQWU7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLE9BQU87UUFDWixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztZQUNsRCxPQUFPLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgQkFTRV9aX0lOREVYID0gMTA0MDtcbmNvbnN0IG1vZGFsSG9zdHM6IFNreU1vZGFsSG9zdFNlcnZpY2VbXSA9IFtdO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RhbEhvc3RzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGZ1bGxQYWdlTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxzID0gbW9kYWxIb3N0cy5maWx0ZXIoKG1vZGFsKSA9PiBtb2RhbC5mdWxsUGFnZSk7XG4gICAgcmV0dXJuIGZ1bGxQYWdlTW9kYWxzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGJhY2tkcm9wWkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIG1vZGFsSG9zdHMubGVuZ3RoICogMTA7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCB0b3BNb2RhbCgpOiBTa3lNb2RhbEhvc3RTZXJ2aWNlIHtcbiAgICByZXR1cm4gbW9kYWxIb3N0c1ttb2RhbEhvc3RzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHVibGljIGNsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGZ1bGxQYWdlID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuSGVscCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHpJbmRleDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuekluZGV4ID0gdGhpcy5jYWxjdWxhdGVaSW5kZXgoKTtcbiAgICBtb2RhbEhvc3RzLnB1c2godGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy56SW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk9wZW5IZWxwKGhlbHBLZXk6IHN0cmluZykge1xuICAgIHRoaXMub3BlbkhlbHAubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIG1vZGFsSG9zdHMuc3BsaWNlKG1vZGFsSG9zdHMuaW5kZXhPZih0aGlzKSwgMSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVpJbmRleCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHpJbmRleEFycmF5ID0gbW9kYWxIb3N0cy5tYXAoKGhvc3RTZXJ2aWNlKSA9PiBob3N0U2VydmljZS56SW5kZXgpO1xuICAgIGlmICh6SW5kZXhBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBCQVNFX1pfSU5ERVggKyAxMTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY3VycmVudE1heFpJbmRleCA9IE1hdGgubWF4KC4uLnpJbmRleEFycmF5KTtcbiAgICAgIHJldHVybiBjdXJyZW50TWF4WkluZGV4ICsgMTA7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -99,4 +99,4 @@ _SkyModalInstance__beforeClose = new WeakMap(), _SkyModalInstance__closed = new
99
99
  __classPrivateFieldGet(this, _SkyModalInstance__beforeClose, "f").complete();
100
100
  __classPrivateFieldGet(this, _SkyModalInstance__helpOpened, "f").complete();
101
101
  };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3Qjs7UUFxQ0UseUNBQWdCLElBQUksT0FBTyxFQUE4QixFQUFDO1FBRTFELG9DQUFXLElBQUksT0FBTyxFQUFxQixFQUFDO1FBRTVDLHdDQUFlLElBQUksT0FBTyxFQUFVLEVBQUM7SUE0RXZDLENBQUM7SUFwSEM7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyx1QkFBQSxJQUFJLHNDQUFjLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksaUNBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLHVCQUFBLElBQUkscUNBQWEsQ0FBQztJQUMzQixDQUFDO0lBYUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FDVixNQUFZLEVBQ1osTUFBZSxFQUNmLGlCQUEyQjtRQUUzQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNsQjtRQUVELHVCQUFBLElBQUksaUVBQVksTUFBaEIsSUFBSSxFQUFhLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBWTtRQUN4Qix1QkFBQSxJQUFJLGlFQUFZLE1BQWhCLElBQUksRUFBYSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLE1BQVk7UUFDdEIsdUJBQUEsSUFBSSxpRUFBWSxNQUFoQixJQUFJLEVBQWEsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsT0FBZ0I7UUFDOUIsdUJBQUEsSUFBSSxxQ0FBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBeUJGOzRQQXZCYSxJQUFZLEVBQUUsTUFBWSxFQUFFLGlCQUFpQixHQUFHLEtBQUs7SUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBRXJDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBRW5CLElBQUksdUJBQUEsSUFBSSxzQ0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixFQUFFO1FBQ2xFLHVCQUFBLElBQUksbUVBQWMsTUFBbEIsSUFBSSxFQUFlLElBQUksQ0FBQyxDQUFDO0tBQzFCO1NBQU07UUFDTCx1QkFBQSxJQUFJLHNDQUFjLENBQUMsSUFBSSxDQUNyQixJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRTtZQUNsQyx1QkFBQSxJQUFJLG1FQUFjLE1BQWxCLElBQUksRUFBZSxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ1QsQ0FBQztLQUNIO0FBQ0gsQ0FBQywyRUFFYSxJQUF1QjtJQUNuQyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLHVCQUFBLElBQUksaUNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6Qix1QkFBQSxJQUFJLHNDQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsdUJBQUEsSUFBSSxxQ0FBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyIH0gZnJvbSAnLi9tb2RhbC1iZWZvcmUtY2xvc2UtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncyB9IGZyb20gJy4vbW9kYWwtY2xvc2UtYXJncyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgaXMgYWJvdXQgdG8gY2xvc2UuXG4gICAqIEl0IGVtaXRzIGEgYFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyYCBvYmplY3Qgd2l0aCBhIGBjbG9zZU1vZGFsYCBtZXRob2RcbiAgICogdGhhdCBjbG9zZXMgdGhlIG1vZGFsLiBJZiBhIHN1YnNjcmlwdGlvbiBleGlzdHMgZm9yIHRoaXMgZXZlbnQsXG4gICAqIHRoZSBtb2RhbCBkb2VzIG5vdCBjbG9zZSB1bnRpbCB0aGUgc3Vic2NyaWJlciBjYWxscyB0aGUgYGNsb3NlTW9kYWxgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcj4ge1xuICAgIHJldHVybiB0aGlzLiNfYmVmb3JlQ2xvc2U7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBjbG9zZXMuXG4gICAqIEl0IGVtaXRzIGEgYFNreU1vZGFsQ2xvc2VBcmdzYCBvYmplY3Qgd2l0aCBhIGBkYXRhYCBwcm9wZXJ0eSB0aGF0IGluY2x1ZGVzXG4gICAqIGRhdGEgcGFzc2VkIGZyb20gdXNlcnMgb24gY2xvc2Ugb3Igc2F2ZSBhbmQgYSBgcmVhc29uYCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlc1xuICAgKiB3aGV0aGVyIHRoZSBtb2RhbCB3YXMgc2F2ZWQgb3IgY2xvc2VkIHdpdGhvdXQgc2F2aW5nLlxuICAgKiBUaGUgYHJlYXNvbmAgcHJvcGVydHkgYWNjZXB0cyBhbnkgc3RyaW5nIHZhbHVlLlxuICAgKiBDb21tb24gZXhhbXBsZXMgaW5jbHVkZSBgXCJjYW5jZWxcImAsIGBcImNsb3NlXCJgLCBhbmQgYFwic2F2ZVwiYC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8U2t5TW9kYWxDbG9zZUFyZ3M+IHtcbiAgICByZXR1cm4gdGhpcy4jX2Nsb3NlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIHVzZXJzIGNsaWNrXG4gICAqIHRoZSA8aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gYnV0dG9uLlxuICAgKiBJZiBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgd2FzIHNwZWNpZmllZCwgdGhlIGBoZWxwT3BlbmVkYCBldmVudCBicm9hZGNhc3RzIHRoZSBgaGVscEtleWAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhlbHBPcGVuZWQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hlbHBPcGVuZWQ7XG4gIH1cblxuICAvKipcbiAgICogQSBkaXJlY3QgcmVmZXJlbmNlIHRvIHRoZSBwcm92aWRlZCBjb21wb25lbnQncyBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZTogYW55O1xuXG4gICNfYmVmb3JlQ2xvc2UgPSBuZXcgU3ViamVjdDxTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2Nsb3NlZCA9IG5ldyBTdWJqZWN0PFNreU1vZGFsQ2xvc2VBcmdzPigpO1xuXG4gICNfaGVscE9wZW5lZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZVxuICAgKiBtb2RhbCBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yXG4gICAqIHNvIHRoYXQgdGhpcyBgY2xvc2VgIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKiBAcGFyYW0gcmVhc29uIFNwZWNpZmllcyB0aGUgcmVhc29uIGZvciB0aGUgbW9kYWwgY2xvc2luZywgd2l0aCB0aGUgZGVmYXVsdCByZWFzb24gb2YgYFwiY2xvc2VcImAuXG4gICAqIEBwYXJhbSBpZ25vcmVCZWZvcmVDbG9zZSBJbmRpY2F0ZXMgd2hldGhlciB0byBpZ25vcmUgdGhlIG1vZGFsIGluc3RhbmNlJ3MgYGJlZm9yZUNsb3NlYCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShcbiAgICByZXN1bHQ/OiBhbnksXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICAgIGlnbm9yZUJlZm9yZUNsb3NlPzogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBpZiAocmVhc29uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlYXNvbiA9ICdjbG9zZSc7XG4gICAgfVxuXG4gICAgdGhpcy4jY2xvc2VNb2RhbChyZWFzb24sIHJlc3VsdCwgaWdub3JlQmVmb3JlQ2xvc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2Ugd2l0aCBgcmVhc29uPVwiY2FuY2VsXCJgLlxuICAgKiBAcGFyYW0gcmVzdWx0IFNwZWNpZmllcyBhbiBvYmplY3QgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZiB0aGUgYGNsb3NlZGAgZXZlbnQgb2YgdGhlIG1vZGFsXG4gICAqIGluc3RhbmNlLiBUaGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyIGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3Igc29cbiAgICogdGhhdCB0aGlzIGNhbmNlbCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYSBidXR0b24gaW4gdGhlIGBza3ktbW9kYWwtZm9vdGVyYC5cbiAgICovXG4gIHB1YmxpYyBjYW5jZWwocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgdGhpcy4jY2xvc2VNb2RhbCgnY2FuY2VsJywgcmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIGluc3RhbmNlIHdpdGggYHJlYXNvbj1cInNhdmVcImAuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGUgbW9kYWxcbiAgICogaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciBzb1xuICAgKiB0aGF0IHRoaXMgYHNhdmVgIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiBgdGhlIHNreS1tb2RhbC1mb290ZXJgLlxuICAgKi9cbiAgcHVibGljIHNhdmUocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgdGhpcy4jY2xvc2VNb2RhbCgnc2F2ZScsIHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIGBoZWxwT3BlbmVkYCBldmVudCB0aGF0IGJyb2FkY2FzdHMgYSBgaGVscEtleWAgcGFyYW1ldGVyIHRvIG9wZW5cbiAgICogd2hlbiB1c2VycyBjbGljayB0aGUgPGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IGJ1dHRvbi5cbiAgICogQHBhcmFtIGhlbHBLZXkgU3BlY2lmaWVzIGEgc3RyaW5nIHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2ZcbiAgICogdGhlIG1vZGFsIGluc3RhbmNlJ3MgYGhlbHBPcGVuZWRgIGV2ZW50LiBDb25zdW1lcnMgY2FuIGluamVjdCB0aGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyXG4gICAqIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB0byBjYWxsIHRoZSBgb3BlbkhlbHBgIGZ1bmN0aW9uIGluIHRoZSBtb2RhbCB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBvcGVuSGVscChoZWxwS2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jX2hlbHBPcGVuZWQubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gICNjbG9zZU1vZGFsKHR5cGU6IHN0cmluZywgcmVzdWx0PzogYW55LCBpZ25vcmVCZWZvcmVDbG9zZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3QgYXJncyA9IG5ldyBTa3lNb2RhbENsb3NlQXJncygpO1xuXG4gICAgYXJncy5yZWFzb24gPSB0eXBlO1xuICAgIGFyZ3MuZGF0YSA9IHJlc3VsdDtcblxuICAgIGlmICh0aGlzLiNfYmVmb3JlQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMCB8fCBpZ25vcmVCZWZvcmVDbG9zZSkge1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfYmVmb3JlQ2xvc2UubmV4dChcbiAgICAgICAgbmV3IFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgICAgIH0sIGFyZ3MpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNub3RpZnlDbG9zZWQoYXJnczogU2t5TW9kYWxDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNfY2xvc2VkLm5leHQoYXJncyk7XG4gICAgdGhpcy4jX2Nsb3NlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19iZWZvcmVDbG9zZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19oZWxwT3BlbmVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3Qjs7UUFxQ0UseUNBQWdCLElBQUksT0FBTyxFQUE4QixFQUFDO1FBRTFELG9DQUFXLElBQUksT0FBTyxFQUFxQixFQUFDO1FBRTVDLHdDQUFlLElBQUksT0FBTyxFQUFVLEVBQUM7SUE0RXZDLENBQUM7SUFwSEM7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyx1QkFBQSxJQUFJLHNDQUFjLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksaUNBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLHVCQUFBLElBQUkscUNBQWEsQ0FBQztJQUMzQixDQUFDO0lBYUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FDVixNQUFZLEVBQ1osTUFBZSxFQUNmLGlCQUEyQjtRQUUzQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNsQjtRQUVELHVCQUFBLElBQUksaUVBQVksTUFBaEIsSUFBSSxFQUFhLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBWTtRQUN4Qix1QkFBQSxJQUFJLGlFQUFZLE1BQWhCLElBQUksRUFBYSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLE1BQVk7UUFDdEIsdUJBQUEsSUFBSSxpRUFBWSxNQUFoQixJQUFJLEVBQWEsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsT0FBZTtRQUM3Qix1QkFBQSxJQUFJLHFDQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0F5QkY7NFBBdkJhLElBQVksRUFBRSxNQUFZLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztJQUMvRCxNQUFNLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7SUFFbkIsSUFBSSx1QkFBQSxJQUFJLHNDQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksaUJBQWlCLEVBQUU7UUFDbEUsdUJBQUEsSUFBSSxtRUFBYyxNQUFsQixJQUFJLEVBQWUsSUFBSSxDQUFDLENBQUM7S0FDMUI7U0FBTTtRQUNMLHVCQUFBLElBQUksc0NBQWMsQ0FBQyxJQUFJLENBQ3JCLElBQUksMEJBQTBCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLHVCQUFBLElBQUksbUVBQWMsTUFBbEIsSUFBSSxFQUFlLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDVCxDQUFDO0tBQ0g7QUFDSCxDQUFDLDJFQUVhLElBQXVCO0lBQ25DLHVCQUFBLElBQUksaUNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLHVCQUFBLElBQUksc0NBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5Qix1QkFBQSxJQUFJLHFDQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXIgfSBmcm9tICcuL21vZGFsLWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreU1vZGFsQ2xvc2VBcmdzIH0gZnJvbSAnLi9tb2RhbC1jbG9zZS1hcmdzJztcblxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSW5zdGFuY2Uge1xuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSXQgZW1pdHMgYSBgU2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXJgIG9iamVjdCB3aXRoIGEgYGNsb3NlTW9kYWxgIG1ldGhvZFxuICAgKiB0aGF0IGNsb3NlcyB0aGUgbW9kYWwuIElmIGEgc3Vic2NyaXB0aW9uIGV4aXN0cyBmb3IgdGhpcyBldmVudCxcbiAgICogdGhlIG1vZGFsIGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBgY2xvc2VNb2RhbGAgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIGdldCBiZWZvcmVDbG9zZSgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuI19iZWZvcmVDbG9zZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGNsb3Nlcy5cbiAgICogSXQgZW1pdHMgYSBgU2t5TW9kYWxDbG9zZUFyZ3NgIG9iamVjdCB3aXRoIGEgYGRhdGFgIHByb3BlcnR5IHRoYXQgaW5jbHVkZXNcbiAgICogZGF0YSBwYXNzZWQgZnJvbSB1c2VycyBvbiBjbG9zZSBvciBzYXZlIGFuZCBhIGByZWFzb25gIHByb3BlcnR5IHRoYXQgaW5kaWNhdGVzXG4gICAqIHdoZXRoZXIgdGhlIG1vZGFsIHdhcyBzYXZlZCBvciBjbG9zZWQgd2l0aG91dCBzYXZpbmcuXG4gICAqIFRoZSBgcmVhc29uYCBwcm9wZXJ0eSBhY2NlcHRzIGFueSBzdHJpbmcgdmFsdWUuXG4gICAqIENvbW1vbiBleGFtcGxlcyBpbmNsdWRlIGBcImNhbmNlbFwiYCwgYFwiY2xvc2VcImAsIGFuZCBgXCJzYXZlXCJgLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTxTa3lNb2RhbENsb3NlQXJncz4ge1xuICAgIHJldHVybiB0aGlzLiNfY2xvc2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2tcbiAgICogdGhlIDxpIGNsYXNzPVwiZmEgZmEtcXVlc3Rpb24tY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBidXR0b24uXG4gICAqIElmIGEgYGhlbHBLZXlgIHBhcmFtZXRlciB3YXMgc3BlY2lmaWVkLCB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IGJyb2FkY2FzdHMgdGhlIGBoZWxwS2V5YC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGVscE9wZW5lZCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLiNfaGVscE9wZW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGRpcmVjdCByZWZlcmVuY2UgdG8gdGhlIHByb3ZpZGVkIGNvbXBvbmVudCdzIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIGNvbXBvbmVudEluc3RhbmNlOiBhbnk7XG5cbiAgI19iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyPigpO1xuXG4gICNfY2xvc2VkID0gbmV3IFN1YmplY3Q8U2t5TW9kYWxDbG9zZUFyZ3M+KCk7XG5cbiAgI19oZWxwT3BlbmVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gcmVzdWx0IFNwZWNpZmllcyBhbiBvYmplY3QgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZiB0aGUgYGNsb3NlZGAgZXZlbnQgb2YgdGhlXG4gICAqIG1vZGFsIGluc3RhbmNlLiBUaGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyIGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3JcbiAgICogc28gdGhhdCB0aGlzIGBjbG9zZWAgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIHRoZSBgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqIEBwYXJhbSByZWFzb24gU3BlY2lmaWVzIHRoZSByZWFzb24gZm9yIHRoZSBtb2RhbCBjbG9zaW5nLCB3aXRoIHRoZSBkZWZhdWx0IHJlYXNvbiBvZiBgXCJjbG9zZVwiYC5cbiAgICogQHBhcmFtIGlnbm9yZUJlZm9yZUNsb3NlIEluZGljYXRlcyB3aGV0aGVyIHRvIGlnbm9yZSB0aGUgbW9kYWwgaW5zdGFuY2UncyBgYmVmb3JlQ2xvc2VgIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKFxuICAgIHJlc3VsdD86IGFueSxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICAgaWdub3JlQmVmb3JlQ2xvc2U/OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGlmIChyZWFzb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVhc29uID0gJ2Nsb3NlJztcbiAgICB9XG5cbiAgICB0aGlzLiNjbG9zZU1vZGFsKHJlYXNvbiwgcmVzdWx0LCBpZ25vcmVCZWZvcmVDbG9zZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249XCJjYW5jZWxcImAuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGUgbW9kYWxcbiAgICogaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciBzb1xuICAgKiB0aGF0IHRoaXMgY2FuY2VsIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKi9cbiAgcHVibGljIGNhbmNlbChyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZU1vZGFsKCdjYW5jZWwnLCByZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2Ugd2l0aCBgcmVhc29uPVwic2F2ZVwiYC5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZSBtb2RhbFxuICAgKiBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHNvXG4gICAqIHRoYXQgdGhpcyBgc2F2ZWAgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIGB0aGUgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqL1xuICBwdWJsaWMgc2F2ZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZU1vZGFsKCdzYXZlJywgcmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IHRoYXQgYnJvYWRjYXN0cyBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgdG8gb3BlblxuICAgKiB3aGVuIHVzZXJzIGNsaWNrIHRoZSA8aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gYnV0dG9uLlxuICAgKiBAcGFyYW0gaGVscEtleSBTcGVjaWZpZXMgYSBzdHJpbmcgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZlxuICAgKiB0aGUgbW9kYWwgaW5zdGFuY2UncyBgaGVscE9wZW5lZGAgZXZlbnQuIENvbnN1bWVycyBjYW4gaW5qZWN0IHRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXJcbiAgICogaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHRvIGNhbGwgdGhlIGBvcGVuSGVscGAgZnVuY3Rpb24gaW4gdGhlIG1vZGFsIHRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIG9wZW5IZWxwKGhlbHBLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI19oZWxwT3BlbmVkLm5leHQoaGVscEtleSk7XG4gIH1cblxuICAjY2xvc2VNb2RhbCh0eXBlOiBzdHJpbmcsIHJlc3VsdD86IGFueSwgaWdub3JlQmVmb3JlQ2xvc2UgPSBmYWxzZSk6IHZvaWQge1xuICAgIGNvbnN0IGFyZ3MgPSBuZXcgU2t5TW9kYWxDbG9zZUFyZ3MoKTtcblxuICAgIGFyZ3MucmVhc29uID0gdHlwZTtcbiAgICBhcmdzLmRhdGEgPSByZXN1bHQ7XG5cbiAgICBpZiAodGhpcy4jX2JlZm9yZUNsb3NlLm9ic2VydmVycy5sZW5ndGggPT09IDAgfHwgaWdub3JlQmVmb3JlQ2xvc2UpIHtcbiAgICAgIHRoaXMuI25vdGlmeUNsb3NlZChhcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX2JlZm9yZUNsb3NlLm5leHQoXG4gICAgICAgIG5ldyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKGFyZ3MpO1xuICAgICAgICB9LCBhcmdzKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKGFyZ3M6IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy4jX2Nsb3NlZC5uZXh0KGFyZ3MpO1xuICAgIHRoaXMuI19jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfYmVmb3JlQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfaGVscE9wZW5lZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=