@skyux/popovers 8.2.7 → 8.3.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/documentation.json +1447 -332
- package/esm2020/lib/modules/popover/popover-content.component.mjs +8 -4
- package/esm2020/lib/modules/popover/popover.component.mjs +4 -1
- package/esm2020/lib/modules/popover/popover.directive.mjs +29 -6
- package/esm2020/testing/popover/harness/popover-body-harness.mjs +42 -0
- package/esm2020/testing/popover/harness/popover-content-harness-filters.mjs +2 -0
- package/esm2020/testing/popover/harness/popover-content-harness.mjs +100 -0
- package/esm2020/testing/popover/harness/popover-harness-filters.mjs +2 -0
- package/esm2020/testing/popover/harness/popover-harness.mjs +56 -0
- package/esm2020/testing/public-api.mjs +5 -1
- package/fesm2015/skyux-popovers-testing.mjs +232 -2
- package/fesm2015/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2015/skyux-popovers.mjs +39 -9
- package/fesm2015/skyux-popovers.mjs.map +1 -1
- package/fesm2020/skyux-popovers-testing.mjs +192 -2
- package/fesm2020/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2020/skyux-popovers.mjs +39 -9
- package/fesm2020/skyux-popovers.mjs.map +1 -1
- package/lib/modules/popover/popover-content.component.d.ts +2 -0
- package/lib/modules/popover/popover.component.d.ts +1 -0
- package/lib/modules/popover/popover.directive.d.ts +12 -1
- package/package.json +6 -6
- package/testing/popover/harness/popover-body-harness.d.ts +31 -0
- package/testing/popover/harness/popover-content-harness-filters.d.ts +7 -0
- package/testing/popover/harness/popover-content-harness.d.ts +53 -0
- package/testing/popover/harness/popover-harness-filters.d.ts +6 -0
- package/testing/popover/harness/popover-harness.d.ts +31 -0
- package/testing/public-api.d.ts +4 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _SkyPopoverContentComponent_instances, _SkyPopoverContentComponent_caller, _SkyPopoverContentComponent_ngUnsubscribe, _SkyPopoverContentComponent__closed, _SkyPopoverContentComponent__isMouseEnter, _SkyPopoverContentComponent__isOpen, _SkyPopoverContentComponent__opened, _SkyPopoverContentComponent_changeDetector, _SkyPopoverContentComponent_elementRef, _SkyPopoverContentComponent_affixService, _SkyPopoverContentComponent_coreAdapterService, _SkyPopoverContentComponent_adapterService, _SkyPopoverContentComponent_context, _SkyPopoverContentComponent_themeSvc, _SkyPopoverContentComponent_setupAffixer, _SkyPopoverContentComponent_updateArrowOffset, _SkyPopoverContentComponent_isFocusLeavingElement, _SkyPopoverContentComponent_addEventListeners;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Component, ElementRef, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
3
|
+
import { Component, ElementRef, HostBinding, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
4
4
|
import { SkyAffixAutoFitContext, } from '@skyux/core';
|
|
5
5
|
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
6
6
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -109,6 +109,7 @@ export class SkyPopoverContentComponent {
|
|
|
109
109
|
this.dismissOnBlur = config.dismissOnBlur;
|
|
110
110
|
this.enableAnimations = config.enableAnimations;
|
|
111
111
|
this.horizontalAlignment = config.horizontalAlignment;
|
|
112
|
+
this.popoverId = config.id;
|
|
112
113
|
this.placement = config.placement;
|
|
113
114
|
this.popoverTitle = config.popoverTitle;
|
|
114
115
|
this.popoverType = config.popoverType;
|
|
@@ -236,13 +237,16 @@ _SkyPopoverContentComponent_caller = new WeakMap(), _SkyPopoverContentComponent_
|
|
|
236
237
|
});
|
|
237
238
|
};
|
|
238
239
|
SkyPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyPopoverAdapterService }, { token: i3.SkyPopoverContext }, { token: i4.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
239
|
-
SkyPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverContentComponent, selector: "sky-popover-content", providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] });
|
|
240
|
+
SkyPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverContentComponent, selector: "sky-popover-content", host: { properties: { "[attr.id]": "this.popoverId" } }, providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] });
|
|
240
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverContentComponent, decorators: [{
|
|
241
242
|
type: Component,
|
|
242
243
|
args: [{ selector: 'sky-popover-content', animations: [skyPopoverAnimation], providers: [SkyPopoverAdapterService], template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"] }]
|
|
243
244
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyPopoverAdapterService }, { type: i3.SkyPopoverContext }, { type: i4.SkyThemeService, decorators: [{
|
|
244
245
|
type: Optional
|
|
245
|
-
}] }]; }, propDecorators: {
|
|
246
|
+
}] }]; }, propDecorators: { popoverId: [{
|
|
247
|
+
type: HostBinding,
|
|
248
|
+
args: ['[attr.id]']
|
|
249
|
+
}], arrowRef: [{
|
|
246
250
|
type: ViewChild,
|
|
247
251
|
args: ['arrowRef', {
|
|
248
252
|
read: ElementRef,
|
|
@@ -261,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
261
265
|
static: true,
|
|
262
266
|
}]
|
|
263
267
|
}] } });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy9zcmMvbGliL21vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9wb3BvdmVyL3BvcG92ZXItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUdWLFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsR0FLdkIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsbUJBQW1CLEdBQ3BCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFLOUI7O0dBRUc7QUFRSCxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSwyQ0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksMkNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sdUJBQUEsSUFBSSxpREFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFjRCxJQUFXLE1BQU0sQ0FBQyxLQUFjO1FBQzlCLHVCQUFBLElBQUksdUNBQVksS0FBSyxNQUFBLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksMkNBQVMsQ0FBQztJQUN2QixDQUFDO0lBc0JELElBSVcsYUFBYSxDQUFDLEtBQW1DO1FBQzFELElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHVCQUFBLElBQUksMkNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQXNCRCxZQUNFLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLFlBQTZCLEVBQzdCLGtCQUF5QyxFQUN6QyxjQUF3QyxFQUN4QyxPQUEwQixFQUNkLFFBQTBCOztRQTVGakMsbUJBQWMsR0FBNkIsUUFBUSxDQUFDO1FBb0JwRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsd0JBQW1CLEdBQXdCLFFBQVEsQ0FBQztRQVdwRCxjQUFTLEdBQStCLElBQUksQ0FBQztRQUk3QyxnQkFBVyxHQUFtQixNQUFNLENBQUM7UUEwQjVDLHFEQUFnQztRQUVoQyxvREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyw4Q0FBVyxJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRS9CLG9EQUFpQixJQUFJLE9BQU8sRUFBVyxFQUFDO1FBRXhDLDhDQUFXLEtBQUssRUFBQztRQUVqQiw4Q0FBVyxJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRS9CLDZEQUFtQztRQUNuQyx5REFBd0I7UUFDeEIsMkRBQStCO1FBQy9CLGlFQUEyQztRQUMzQyw2REFBMEM7UUFDMUMsc0RBQTRCO1FBQzVCLHVEQUF1QztRQVdyQyx1QkFBQSxJQUFJLDhDQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDBDQUFlLFVBQVUsTUFBQSxDQUFDO1FBQzlCLHVCQUFBLElBQUksNENBQWlCLFlBQVksTUFBQSxDQUFDO1FBQ2xDLHVCQUFBLElBQUksa0RBQXVCLGtCQUFrQixNQUFBLENBQUM7UUFDOUMsdUJBQUEsSUFBSSw4Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSx1Q0FBWSxPQUFPLE1BQUEsQ0FBQztRQUN4Qix1QkFBQSxJQUFJLHdDQUFhLFFBQVEsTUFBQSxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRO1FBQ2IsdUJBQUEsSUFBSSw0RkFBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO1FBRTFCLHdCQUF3QjtRQUN4QixJQUFJLHVCQUFBLElBQUksNENBQVUsRUFBRTtZQUNsQix1QkFBQSxJQUFJLDRDQUFVLENBQUMsY0FBYztpQkFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzNCLHdCQUF3QjtnQkFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDOUQsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUksaURBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQix1QkFBQSxJQUFJLGlEQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsdUJBQUEsSUFBSSwyQ0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLHVCQUFBLElBQUksaURBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQix1QkFBQSxJQUFJLDJDQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekIsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQXFCO1FBQzNDLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBRUQsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUM5QixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO2dCQUM1Qix1QkFBQSxJQUFJLDJDQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsdUJBQUEsSUFBSSwyQ0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3RCO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sSUFBSSxDQUNULE1BQWtCLEVBQ2xCLE1BUUM7UUFFRCx1QkFBQSxJQUFJLHNDQUFXLE1BQU0sTUFBQSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFdEMsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQywyREFBMkQ7UUFDM0QsOEZBQThGO1FBQzlGLGlFQUFpRTtRQUNqRSx3QkFBd0I7UUFDeEIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLHVCQUFBLElBQUksa0RBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsT0FBTztTQUNSO1FBRUQsNkRBQTZEO1FBQzdELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxJQUFJLHVCQUFBLElBQUksaURBQWUsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BFLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQix1QkFBQSxJQUFJLHVGQUFjLE1BQWxCLElBQUksQ0FBZ0IsQ0FBQzthQUN0QjtZQUVELE1BQU0sWUFBWSxHQUFtQjtnQkFDbkMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLFFBQVE7Z0JBQy9DLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixtQkFBbUIsRUFBRSw2QkFBNkIsQ0FDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUN6QjtnQkFDRCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQWdDLENBQUM7YUFDdEUsQ0FBQztZQUVGLCtFQUErRTtZQUMvRSxJQUNFLFlBQVksQ0FBQyxTQUFTLEtBQUssTUFBTTtnQkFDakMsWUFBWSxDQUFDLFNBQVMsS0FBSyxPQUFPLEVBQ2xDO2dCQUNBLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7YUFDM0M7WUFFRCxJQUFJLENBQUMsT0FBUSxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLDBDQUFRLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBRWpFLHVCQUFBLElBQUksNEZBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztZQUUxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQix1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQix1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsdUJBQUEsSUFBSSxzREFBb0IsQ0FBQyxpQ0FBaUMsQ0FDeEQsSUFBSSxDQUFDLFVBQVUsRUFDZixjQUFjLEVBQ2QsSUFBSSxDQUNMLENBQUM7U0FDSDtJQUNILENBQUM7OztJQUdDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyx1QkFBQSxJQUFJLGdEQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRSxPQUFPLENBQUMsWUFBWTthQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCx1QkFBQSxJQUFJLDRGQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7WUFDMUIsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sQ0FBQyxjQUFjO2FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxpREFBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLHVCQUFBLElBQUksNEZBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztZQUMxQix1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLGVBQWU7YUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDbEMsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQztJQUdDLElBQUksdUJBQUEsSUFBSSwwQ0FBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ3RFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxtQkFBbUIsQ0FDNUQ7WUFDRSxNQUFNLEVBQUUsdUJBQUEsSUFBSSwwQ0FBUTtZQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzVCLEVBQ0QsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztLQUN2QjtBQUNILENBQUMsaUhBRXNCLEtBQW9CO0lBQ3pDLE1BQU0sY0FBYyxHQUFHLHVCQUFBLElBQUksc0RBQW9CLENBQUMsb0JBQW9CLENBQ2xFLHVCQUFBLElBQUksOENBQVksQ0FBQyxhQUFhLENBQy9CLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDO0lBRXpFLE1BQU0sVUFBVSxHQUNkLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxNQUFNO1FBQzFELENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUVsQixPQUFPLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFdBQVcsSUFBSSxVQUFVLENBQUM7QUFDbEUsQ0FBQztJQUdDLE1BQU0sV0FBVyxHQUFHLHVCQUFBLElBQUksOENBQVksQ0FBQyxhQUFhLENBQUM7SUFFbkQsbUJBQW1CLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztTQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxDQUFDO1NBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFbkQsbUJBQW1CLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztTQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxDQUFDO1NBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFcEQsbUJBQW1CLENBQWdCLFdBQVcsRUFBRSxTQUFTLENBQUM7U0FDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsQ0FBQztTQUNwQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXBDLFFBQVEsR0FBRyxFQUFFO1lBQ1gsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYix1QkFBQSxJQUFJLDBDQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsTUFBTTtZQUVSLHdGQUF3RjtZQUN4RixvRkFBb0Y7WUFDcEYsY0FBYztZQUNkLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDdkIsT0FBTztpQkFDUjtnQkFFRCx3QkFBd0I7Z0JBQ3hCLElBQUksdUJBQUEsSUFBSSxnR0FBdUIsTUFBM0IsSUFBSSxFQUF3QixLQUFLLENBQUMsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNiLHVCQUFBLElBQUksMENBQVEsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7dUhBOVVVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDhDQUYxQixDQUFDLHdCQUF3QixDQUFDLDJHQStDN0IsVUFBVSxpSEFNVixVQUFVLHVIQU1WLGdCQUFnQiwyQ0N0RzFCLCtrREEyREEsb2lSRGpCYyxDQUFDLG1CQUFtQixDQUFDOzJGQUd0QiwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLENBQUMsbUJBQW1CLENBQUMsYUFDdEIsQ0FBQyx3QkFBd0IsQ0FBQzs7MEJBK0ZsQyxRQUFROzRDQTdDSixRQUFRO3NCQUpkLFNBQVM7dUJBQUMsVUFBVSxFQUFFO3dCQUNyQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sVUFBVTtzQkFKaEIsU0FBUzt1QkFBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxhQUFhO3NCQUp2QixTQUFTO3VCQUFDLGVBQWUsRUFBRTt3QkFDMUIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhDb25maWcsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5QWZmaXhlcixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXItYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IHNreVBvcG92ZXJBbmltYXRpb24gfSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uJztcbmltcG9ydCB7IFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZSB9IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb24tc3RhdGUnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQge1xuICBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgcGFyc2VBZmZpeFBsYWNlbWVudCxcbn0gZnJvbSAnLi9wb3BvdmVyLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclBsYWNlbWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclR5cGUgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lQb3BvdmVyQW5pbWF0aW9uXSxcbiAgcHJvdmlkZXJzOiBbU2t5UG9wb3ZlckFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBhbmltYXRpb25TdGF0ZTogU2t5UG9wb3ZlckFuaW1hdGlvblN0YXRlID0gJ2Nsb3NlZCc7XG5cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19jbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX29wZW5lZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNb3VzZUVudGVyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNNb3VzZUVudGVyLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGFmZml4ZXI6IFNreUFmZml4ZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFycm93TGVmdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcnJvd1RvcDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBkaXNtaXNzT25CbHVyID0gdHJ1ZTtcblxuICBwdWJsaWMgZW5hYmxlQW5pbWF0aW9ucyA9IHRydWU7XG5cbiAgcHVibGljIGhvcml6b250YWxBbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQgPSAnY2VudGVyJztcblxuICBwdWJsaWMgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc09wZW4gPSB2YWx1ZTtcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gdmFsdWUgPyAnb3BlbicgOiAnY2xvc2VkJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCkge1xuICAgIHJldHVybiB0aGlzLiNfaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIHBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBwb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcG9wb3ZlclR5cGU6IFNreVBvcG92ZXJUeXBlID0gJ2luZm8nO1xuXG4gIHB1YmxpYyB0aGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdhcnJvd1JlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFycm93UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBwb3BvdmVyUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUYXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBzZXQgY29udGVudFRhcmdldCh2YWx1ZTogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuI2NvbnRleHQuY29udGVudFRlbXBsYXRlUmVmKTtcbiAgICB9XG4gIH1cblxuICAjY2FsbGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19pc01vdXNlRW50ZXIgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNfaXNPcGVuID0gZmFsc2U7XG5cbiAgI19vcGVuZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG4gICNjb3JlQWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2U7XG4gICNjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dDtcbiAgI3RoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVBvcG92ZXJBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dCxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2FmZml4U2VydmljZSA9IGFmZml4U2VydmljZTtcbiAgICB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UgPSBjb3JlQWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQqL1xuICAgICAgICAgIHRoaXMudGhlbWVOYW1lID0gdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy4jX2Nsb3NlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19pc01vdXNlRW50ZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfb3BlbmVkLmNvbXBsZXRlKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQW5pbWF0aW9uRXZlbnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmZyb21TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnKSB7XG4gICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICAgIHRoaXMuI19vcGVuZWQubmV4dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jX2Nsb3NlZC5uZXh0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY2FsbGVyOiBFbGVtZW50UmVmLFxuICAgIGNvbmZpZzoge1xuICAgICAgZGlzbWlzc09uQmx1cjogYm9vbGVhbjtcbiAgICAgIGVuYWJsZUFuaW1hdGlvbnM6IGJvb2xlYW47XG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50O1xuICAgICAgaXNTdGF0aWM6IGJvb2xlYW47XG4gICAgICBwbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQ7XG4gICAgICBwb3BvdmVyVGl0bGU/OiBzdHJpbmc7XG4gICAgICBwb3BvdmVyVHlwZTogU2t5UG9wb3ZlclR5cGU7XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjYWxsZXIgPSBjYWxsZXI7XG4gICAgdGhpcy5kaXNtaXNzT25CbHVyID0gY29uZmlnLmRpc21pc3NPbkJsdXI7XG4gICAgdGhpcy5lbmFibGVBbmltYXRpb25zID0gY29uZmlnLmVuYWJsZUFuaW1hdGlvbnM7XG4gICAgdGhpcy5ob3Jpem9udGFsQWxpZ25tZW50ID0gY29uZmlnLmhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgdGhpcy5wbGFjZW1lbnQgPSBjb25maWcucGxhY2VtZW50O1xuICAgIHRoaXMucG9wb3ZlclRpdGxlID0gY29uZmlnLnBvcG92ZXJUaXRsZTtcbiAgICB0aGlzLnBvcG92ZXJUeXBlID0gY29uZmlnLnBvcG92ZXJUeXBlO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBJbmRpY2F0ZXMgaWYgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBzdGF0aWNhbGx5LlxuICAgIC8vIFBsZWFzZSBub3RlOiBUaGlzIGZlYXR1cmUgaXMgaW50ZXJuYWwtb25seSBhbmQgdXNlZCBieSB0aGUgdmlzdWFsIHRlc3RzIHRvIGNhcHR1cmUgbXVsdGlwbGVcbiAgICAvLyBzdGF0ZXMgc2ltdWx0YW5lb3VzbHkgd2l0aG91dCB0aGUgb3ZlcmhlYWQgb2YgZXZlbnQgbGlzdGVuZXJzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjb25maWcuaXNTdGF0aWMpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExldCB0aGUgc3R5bGVzIHJlbmRlciBiZWZvcmUgZ2F1Z2luZyB0aGUgYWZmaXggZGltZW5zaW9ucy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCF0aGlzLnBvcG92ZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy4jbmdVbnN1YnNjcmliZS5pc1N0b3BwZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuYWZmaXhlcikge1xuICAgICAgICB0aGlzLiNzZXR1cEFmZml4ZXIoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWZmaXhPcHRpb25zOiBTa3lBZmZpeENvbmZpZyA9IHtcbiAgICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50KFxuICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbEFsaWdubWVudFxuICAgICAgICApLFxuICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgcGxhY2VtZW50OiBwYXJzZUFmZml4UGxhY2VtZW50KHRoaXMucGxhY2VtZW50IGFzIFNreVBvcG92ZXJQbGFjZW1lbnQpLFxuICAgICAgfTtcblxuICAgICAgLy8gRW5zdXJlIHZlcnRpY2FsIGFsaWdubWVudCBpcyBzZXQgYWNjb3JkaW5nIHRvIHRoZSBwb3BvdmVyJ3MgcGxhY2VtZW50IHZhbHVlLlxuICAgICAgaWYgKFxuICAgICAgICBhZmZpeE9wdGlvbnMucGxhY2VtZW50ID09PSAnbGVmdCcgfHxcbiAgICAgICAgYWZmaXhPcHRpb25zLnBsYWNlbWVudCA9PT0gJ3JpZ2h0J1xuICAgICAgKSB7XG4gICAgICAgIGFmZml4T3B0aW9ucy52ZXJ0aWNhbEFsaWdubWVudCA9ICdtaWRkbGUnO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFmZml4ZXIhLmFmZml4VG8odGhpcy4jY2FsbGVyPy5uYXRpdmVFbGVtZW50LCBhZmZpeE9wdGlvbnMpO1xuXG4gICAgICB0aGlzLiN1cGRhdGVBcnJvd09mZnNldCgpO1xuXG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Rm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZiAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmLFxuICAgICAgICAnLnNreS1wb3BvdmVyJyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjc2V0dXBBZmZpeGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcbiAgICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLnBvcG92ZXJSZWYpO1xuXG4gICAgICBhZmZpeGVyLm9mZnNldENoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUFycm93T2Zmc2V0KCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICBhZmZpeGVyLm92ZXJmbG93U2Nyb2xsXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQXJyb3dPZmZzZXQoKTtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFmZml4ZXIucGxhY2VtZW50Q2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSBjaGFuZ2UucGxhY2VtZW50O1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZmZpeGVyID0gYWZmaXhlcjtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQXJyb3dPZmZzZXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2NhbGxlciAmJiB0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5hcnJvd1JlZiAmJiB0aGlzLnBsYWNlbWVudCkge1xuICAgICAgY29uc3QgeyB0b3AsIGxlZnQgfSA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldEFycm93Q29vcmRpbmF0ZXMoXG4gICAgICAgIHtcbiAgICAgICAgICBjYWxsZXI6IHRoaXMuI2NhbGxlcixcbiAgICAgICAgICBwb3BvdmVyOiB0aGlzLnBvcG92ZXJSZWYsXG4gICAgICAgICAgcG9wb3ZlckFycm93OiB0aGlzLmFycm93UmVmLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgdGhpcy50aGVtZU5hbWVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuYXJyb3dUb3AgPSB0b3A7XG4gICAgICB0aGlzLmFycm93TGVmdCA9IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgI2lzRm9jdXNMZWF2aW5nRWxlbWVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvY3VzYWJsZUl0ZW1zID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgKTtcblxuICAgIGNvbnN0IGlzRmlyc3RJdGVtID0gZm9jdXNhYmxlSXRlbXNbMF0gPT09IGV2ZW50LnRhcmdldCAmJiBldmVudC5zaGlmdEtleTtcblxuICAgIGNvbnN0IGlzTGFzdEl0ZW0gPVxuICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0gPT09IGV2ZW50LnRhcmdldCAmJlxuICAgICAgIWV2ZW50LnNoaWZ0S2V5O1xuXG4gICAgcmV0dXJuIGZvY3VzYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCB8fCBpc0ZpcnN0SXRlbSB8fCBpc0xhc3RJdGVtO1xuICB9XG5cbiAgI2FkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChob3N0RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiNfaXNNb3VzZUVudGVyLm5leHQodHJ1ZSkpO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChob3N0RWxlbWVudCwgJ21vdXNlbGVhdmUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiNfaXNNb3VzZUVudGVyLm5leHQoZmFsc2UpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oaG9zdEVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgY2FzZSAnZXNjYXBlJzpcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAvLyBTaW5jZSB0aGUgcG9wb3ZlciBub3cgbGl2ZXMgaW4gYW4gb3ZlcmxheSBhdCB0aGUgYm90dG9tIG9mIHRoZSBkb2N1bWVudCBib2R5LCB3ZSBuZWVkXG4gICAgICAgICAgLy8gdG8gaGFuZGxlIHRoZSB0YWIga2V5IG91cnNlbHZlcy4gT3RoZXJ3aXNlLCBmb2N1cyB3b3VsZCBiZSBtb3ZlZCB0byB0aGUgYnJvd3NlcidzXG4gICAgICAgICAgLy8gc2VhcmNoIGJhci5cbiAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgICAgICAgIGlmICh0aGlzLiNpc0ZvY3VzTGVhdmluZ0VsZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgdGhpcy4jY2FsbGVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXBvcG92ZXItY29udGFpbmVyIHNreS1wb3BvdmVyLW1heC1oZWlnaHRcIlxuICBbQC5kaXNhYmxlZF09XCIhZW5hYmxlQW5pbWF0aW9uc1wiXG4gIFtAc2t5UG9wb3ZlckFuaW1hdGlvbl09XCJhbmltYXRpb25TdGF0ZVwiXG4gIFtjbGFzcy5za3ktcG9wb3Zlci1oaWRkZW5dPVwiIXBsYWNlbWVudFwiXG4gIFtuZ0NsYXNzXT1cIltcbiAgICAnc2t5LXBvcG92ZXItYWxpZ25tZW50LScgKyBob3Jpem9udGFsQWxpZ25tZW50LFxuICAgICdza3ktcG9wb3Zlci1wbGFjZW1lbnQtJyArIHBsYWNlbWVudCxcbiAgICAnc2t5LXBvcG92ZXItJyArIHBvcG92ZXJUeXBlXG4gIF1cIlxuICAoQHNreVBvcG92ZXJBbmltYXRpb24uZG9uZSk9XCJvbkFuaW1hdGlvbkV2ZW50KCRldmVudClcIlxuICAoQHNreVBvcG92ZXJBbmltYXRpb24uc3RhcnQpPVwib25BbmltYXRpb25FdmVudCgkZXZlbnQpXCJcbiAgI3BvcG92ZXJSZWZcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXBvcG92ZXJcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktcm91bmRlZC1jb3JuZXJzIHNreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgICAnc2t5LWVsZXZhdGlvbi00JzogJ21vZGVybidcbiAgICB9XCJcbiAgPlxuICAgIDxoZWFkZXJcbiAgICAgICpuZ0lmPVwicG9wb3ZlclRpdGxlXCJcbiAgICAgIGNsYXNzPVwic2t5LXBvcG92ZXItaGVhZGVyXCJcbiAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgJ3NreS1wYWRkaW5nLWV2ZW4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgJ3NreS1wYWRkaW5nLWV2ZW4tbGcgc2t5LW1hcmdpbi1zdGFja2VkLWxnJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxoMVxuICAgICAgICAqbmdJZj1cInBvcG92ZXJUaXRsZVwiXG4gICAgICAgIGNsYXNzPVwic2t5LXBvcG92ZXItdGl0bGVcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1mb250LWhlYWRpbmctNCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWZvbnQtZW1waGFzaXplZCc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBwb3BvdmVyVGl0bGUgfX1cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktcG9wb3Zlci1ib2R5XCJcbiAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgJ3NreS1wYWRkaW5nLWV2ZW4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgJ3NreS1wYWRkaW5nLWV2ZW4tbGcnOiAnbW9kZXJuJ1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAjY29udGVudFRhcmdldD48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwic2t5LXBvcG92ZXItYXJyb3dcIlxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiYXJyb3dMZWZ0XCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwiYXJyb3dUb3BcIlxuICAgICAgI2Fycm93UmVmXG4gICAgPjwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy9zcmMvbGliL21vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9wb3BvdmVyL3BvcG92ZXItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFHWCxRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEdBS3ZCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLG1CQUFtQixHQUNwQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBSzlCOztHQUVHO0FBUUgsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksMkNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLDJDQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLHVCQUFBLElBQUksaURBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBY0QsSUFBVyxNQUFNLENBQUMsS0FBYztRQUM5Qix1QkFBQSxJQUFJLHVDQUFZLEtBQUssTUFBQSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLDJDQUFTLENBQUM7SUFDdkIsQ0FBQztJQXNCRCxJQUlXLGFBQWEsQ0FBQyxLQUFtQztRQUMxRCxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBQSxJQUFJLDJDQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFzQkQsWUFDRSxjQUFpQyxFQUNqQyxVQUFzQixFQUN0QixZQUE2QixFQUM3QixrQkFBeUMsRUFDekMsY0FBd0MsRUFDeEMsT0FBMEIsRUFDZCxRQUEwQjs7UUE1RmpDLG1CQUFjLEdBQTZCLFFBQVEsQ0FBQztRQW9CcEQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFckIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLHdCQUFtQixHQUF3QixRQUFRLENBQUM7UUFXcEQsY0FBUyxHQUErQixJQUFJLENBQUM7UUFJN0MsZ0JBQVcsR0FBbUIsTUFBTSxDQUFDO1FBMEI1QyxxREFBZ0M7UUFFaEMsb0RBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFFckMsOENBQVcsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUUvQixvREFBaUIsSUFBSSxPQUFPLEVBQVcsRUFBQztRQUV4Qyw4Q0FBVyxLQUFLLEVBQUM7UUFFakIsOENBQVcsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUUvQiw2REFBbUM7UUFDbkMseURBQXdCO1FBQ3hCLDJEQUErQjtRQUMvQixpRUFBMkM7UUFDM0MsNkRBQTBDO1FBQzFDLHNEQUE0QjtRQUM1Qix1REFBdUM7UUFXckMsdUJBQUEsSUFBSSw4Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSwwQ0FBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLDRDQUFpQixZQUFZLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLGtEQUF1QixrQkFBa0IsTUFBQSxDQUFDO1FBQzlDLHVCQUFBLElBQUksOENBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksdUNBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSx3Q0FBYSxRQUFRLE1BQUEsQ0FBQztJQUM1QixDQUFDO0lBRU0sUUFBUTtRQUNiLHVCQUFBLElBQUksNEZBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztRQUUxQix3QkFBd0I7UUFDeEIsSUFBSSx1QkFBQSxJQUFJLDRDQUFVLEVBQUU7WUFDbEIsdUJBQUEsSUFBSSw0Q0FBVSxDQUFDLGNBQWM7aUJBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxpREFBZSxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUMzQix3QkFBd0I7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQix1QkFBQSxJQUFJLGlEQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSxpREFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9CLHVCQUFBLElBQUksMkNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6Qix1QkFBQSxJQUFJLGlEQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsdUJBQUEsSUFBSSwyQ0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXpCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUMzQyxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtnQkFDNUIsdUJBQUEsSUFBSSwyQ0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLHVCQUFBLElBQUksMkNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVNLElBQUksQ0FDVCxNQUFrQixFQUNsQixNQVNDO1FBRUQsdUJBQUEsSUFBSSxzQ0FBVyxNQUFNLE1BQUEsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV0Qyx1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBDLDJEQUEyRDtRQUMzRCw4RkFBOEY7UUFDOUYsaUVBQWlFO1FBQ2pFLHdCQUF3QjtRQUN4QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxPQUFPO1NBQ1I7UUFFRCw2REFBNkQ7UUFDN0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLElBQUksdUJBQUEsSUFBSSxpREFBZSxDQUFDLFNBQVMsRUFBRTtnQkFDcEUsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLHVCQUFBLElBQUksdUZBQWMsTUFBbEIsSUFBSSxDQUFnQixDQUFDO2FBQ3RCO1lBRUQsTUFBTSxZQUFZLEdBQW1CO2dCQUNuQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsUUFBUTtnQkFDL0MsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLG1CQUFtQixFQUFFLDZCQUE2QixDQUNoRCxJQUFJLENBQUMsbUJBQW1CLENBQ3pCO2dCQUNELFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBZ0MsQ0FBQzthQUN0RSxDQUFDO1lBRUYsK0VBQStFO1lBQy9FLElBQ0UsWUFBWSxDQUFDLFNBQVMsS0FBSyxNQUFNO2dCQUNqQyxZQUFZLENBQUMsU0FBUyxLQUFLLE9BQU8sRUFDbEM7Z0JBQ0EsWUFBWSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQzthQUMzQztZQUVELElBQUksQ0FBQyxPQUFRLENBQUMsT0FBTyxDQUFDLHVCQUFBLElBQUksMENBQVEsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFakUsdUJBQUEsSUFBSSw0RkFBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO1lBRTFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLHVCQUFBLElBQUksa0RBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLHVCQUFBLElBQUksa0RBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQyx1QkFBQSxJQUFJLHNEQUFvQixDQUFDLGlDQUFpQyxDQUN4RCxJQUFJLENBQUMsVUFBVSxFQUNmLGNBQWMsRUFDZCxJQUFJLENBQ0wsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7O0lBR0MsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ25CLE1BQU0sT0FBTyxHQUFHLHVCQUFBLElBQUksZ0RBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sQ0FBQyxZQUFZO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxpREFBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLHVCQUFBLElBQUksNEZBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztZQUMxQix1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLGNBQWM7YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLGlEQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsdUJBQUEsSUFBSSw0RkFBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO1lBQzFCLHVCQUFBLElBQUksa0RBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLENBQUMsZUFBZTthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsQyx1QkFBQSxJQUFJLGtEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDeEI7QUFDSCxDQUFDO0lBR0MsSUFBSSx1QkFBQSxJQUFJLDBDQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDdEUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyx1QkFBQSxJQUFJLGtEQUFnQixDQUFDLG1CQUFtQixDQUM1RDtZQUNFLE1BQU0sRUFBRSx1QkFBQSxJQUFJLDBDQUFRO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDNUIsRUFDRCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxpSEFFc0IsS0FBb0I7SUFDekMsTUFBTSxjQUFjLEdBQUcsdUJBQUEsSUFBSSxzREFBb0IsQ0FBQyxvQkFBb0IsQ0FDbEUsdUJBQUEsSUFBSSw4Q0FBWSxDQUFDLGFBQWEsQ0FDL0IsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFFekUsTUFBTSxVQUFVLEdBQ2QsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU07UUFDMUQsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBRWxCLE9BQU8sY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksV0FBVyxJQUFJLFVBQVUsQ0FBQztBQUNsRSxDQUFDO0lBR0MsTUFBTSxXQUFXLEdBQUcsdUJBQUEsSUFBSSw4Q0FBWSxDQUFDLGFBQWEsQ0FBQztJQUVuRCxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO1NBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxpREFBZSxDQUFDLENBQUM7U0FDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVuRCxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO1NBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxpREFBZSxDQUFDLENBQUM7U0FDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVwRCxtQkFBbUIsQ0FBZ0IsV0FBVyxFQUFFLFNBQVMsQ0FBQztTQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksaURBQWUsQ0FBQyxDQUFDO1NBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ25CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEMsUUFBUSxHQUFHLEVBQUU7WUFDWCxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLHVCQUFBLElBQUksMENBQVEsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixNQUFNO1lBRVIsd0ZBQXdGO1lBQ3hGLG9GQUFvRjtZQUNwRixjQUFjO1lBQ2QsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUN2QixPQUFPO2lCQUNSO2dCQUVELHdCQUF3QjtnQkFDeEIsSUFBSSx1QkFBQSxJQUFJLGdHQUF1QixNQUEzQixJQUFJLEVBQXdCLEtBQUssQ0FBQyxFQUFFO29CQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2IsdUJBQUEsSUFBSSwwQ0FBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDcEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ3pCO2dCQUNELE1BQU07U0FDVDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQzt1SEFuVlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsdUdBRjFCLENBQUMsd0JBQXdCLENBQUMsMkdBa0Q3QixVQUFVLGlIQU1WLFVBQVUsdUhBTVYsZ0JBQWdCLDJDQzFHMUIsK2tEQTJEQSxvaVJEaEJjLENBQUMsbUJBQW1CLENBQUM7MkZBR3RCLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsQ0FBQyxtQkFBbUIsQ0FBQyxhQUN0QixDQUFDLHdCQUF3QixDQUFDOzswQkFrR2xDLFFBQVE7NENBOUZELFNBQVM7c0JBRGxCLFdBQVc7dUJBQUMsV0FBVztnQkFrRGpCLFFBQVE7c0JBSmQsU0FBUzt1QkFBQyxVQUFVLEVBQUU7d0JBQ3JCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxVQUFVO3NCQUpoQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9VLGFBQWE7c0JBSnZCLFNBQVM7dUJBQUMsZUFBZSxFQUFFO3dCQUMxQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhDb25maWcsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5QWZmaXhlcixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXItYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IHNreVBvcG92ZXJBbmltYXRpb24gfSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uJztcbmltcG9ydCB7IFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZSB9IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb24tc3RhdGUnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQge1xuICBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgcGFyc2VBZmZpeFBsYWNlbWVudCxcbn0gZnJvbSAnLi9wb3BvdmVyLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclBsYWNlbWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclR5cGUgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lQb3BvdmVyQW5pbWF0aW9uXSxcbiAgcHJvdmlkZXJzOiBbU2t5UG9wb3ZlckFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnW2F0dHIuaWRdJylcbiAgcHJvdGVjdGVkIHBvcG92ZXJJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25TdGF0ZTogU2t5UG9wb3ZlckFuaW1hdGlvblN0YXRlID0gJ2Nsb3NlZCc7XG5cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19jbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX29wZW5lZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNb3VzZUVudGVyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNNb3VzZUVudGVyLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGFmZml4ZXI6IFNreUFmZml4ZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFycm93TGVmdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcnJvd1RvcDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBkaXNtaXNzT25CbHVyID0gdHJ1ZTtcblxuICBwdWJsaWMgZW5hYmxlQW5pbWF0aW9ucyA9IHRydWU7XG5cbiAgcHVibGljIGhvcml6b250YWxBbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQgPSAnY2VudGVyJztcblxuICBwdWJsaWMgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc09wZW4gPSB2YWx1ZTtcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gdmFsdWUgPyAnb3BlbicgOiAnY2xvc2VkJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIHBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBwb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcG9wb3ZlclR5cGU6IFNreVBvcG92ZXJUeXBlID0gJ2luZm8nO1xuXG4gIHB1YmxpYyB0aGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdhcnJvd1JlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFycm93UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBwb3BvdmVyUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUYXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBzZXQgY29udGVudFRhcmdldCh2YWx1ZTogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuI2NvbnRleHQuY29udGVudFRlbXBsYXRlUmVmKTtcbiAgICB9XG4gIH1cblxuICAjY2FsbGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19pc01vdXNlRW50ZXIgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNfaXNPcGVuID0gZmFsc2U7XG5cbiAgI19vcGVuZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG4gICNjb3JlQWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2U7XG4gICNjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dDtcbiAgI3RoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVBvcG92ZXJBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dCxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2FmZml4U2VydmljZSA9IGFmZml4U2VydmljZTtcbiAgICB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UgPSBjb3JlQWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQqL1xuICAgICAgICAgIHRoaXMudGhlbWVOYW1lID0gdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy4jX2Nsb3NlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19pc01vdXNlRW50ZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfb3BlbmVkLmNvbXBsZXRlKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQW5pbWF0aW9uRXZlbnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmZyb21TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnKSB7XG4gICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICAgIHRoaXMuI19vcGVuZWQubmV4dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jX2Nsb3NlZC5uZXh0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY2FsbGVyOiBFbGVtZW50UmVmLFxuICAgIGNvbmZpZzoge1xuICAgICAgZGlzbWlzc09uQmx1cjogYm9vbGVhbjtcbiAgICAgIGVuYWJsZUFuaW1hdGlvbnM6IGJvb2xlYW47XG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGlzU3RhdGljOiBib29sZWFuO1xuICAgICAgcGxhY2VtZW50OiBTa3lQb3BvdmVyUGxhY2VtZW50O1xuICAgICAgcG9wb3ZlclRpdGxlPzogc3RyaW5nO1xuICAgICAgcG9wb3ZlclR5cGU6IFNreVBvcG92ZXJUeXBlO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY2FsbGVyID0gY2FsbGVyO1xuICAgIHRoaXMuZGlzbWlzc09uQmx1ciA9IGNvbmZpZy5kaXNtaXNzT25CbHVyO1xuICAgIHRoaXMuZW5hYmxlQW5pbWF0aW9ucyA9IGNvbmZpZy5lbmFibGVBbmltYXRpb25zO1xuICAgIHRoaXMuaG9yaXpvbnRhbEFsaWdubWVudCA9IGNvbmZpZy5ob3Jpem9udGFsQWxpZ25tZW50O1xuICAgIHRoaXMucG9wb3ZlcklkID0gY29uZmlnLmlkO1xuICAgIHRoaXMucGxhY2VtZW50ID0gY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLnBvcG92ZXJUaXRsZSA9IGNvbmZpZy5wb3BvdmVyVGl0bGU7XG4gICAgdGhpcy5wb3BvdmVyVHlwZSA9IGNvbmZpZy5wb3BvdmVyVHlwZTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gSW5kaWNhdGVzIGlmIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgc3RhdGljYWxseS5cbiAgICAvLyBQbGVhc2Ugbm90ZTogVGhpcyBmZWF0dXJlIGlzIGludGVybmFsLW9ubHkgYW5kIHVzZWQgYnkgdGhlIHZpc3VhbCB0ZXN0cyB0byBjYXB0dXJlIG11bHRpcGxlXG4gICAgLy8gc3RhdGVzIHNpbXVsdGFuZW91c2x5IHdpdGhvdXQgdGhlIG92ZXJoZWFkIG9mIGV2ZW50IGxpc3RlbmVycy5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY29uZmlnLmlzU3RhdGljKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBMZXQgdGhlIHN0eWxlcyByZW5kZXIgYmVmb3JlIGdhdWdpbmcgdGhlIGFmZml4IGRpbWVuc2lvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICghdGhpcy5wb3BvdmVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IHRoaXMuI25nVW5zdWJzY3JpYmUuaXNTdG9wcGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmFmZml4ZXIpIHtcbiAgICAgICAgdGhpcy4jc2V0dXBBZmZpeGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFmZml4T3B0aW9uczogU2t5QWZmaXhDb25maWcgPSB7XG4gICAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudChcbiAgICAgICAgICB0aGlzLmhvcml6b250YWxBbGlnbm1lbnRcbiAgICAgICAgKSxcbiAgICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICAgIHBsYWNlbWVudDogcGFyc2VBZmZpeFBsYWNlbWVudCh0aGlzLnBsYWNlbWVudCBhcyBTa3lQb3BvdmVyUGxhY2VtZW50KSxcbiAgICAgIH07XG5cbiAgICAgIC8vIEVuc3VyZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXMgc2V0IGFjY29yZGluZyB0byB0aGUgcG9wb3ZlcidzIHBsYWNlbWVudCB2YWx1ZS5cbiAgICAgIGlmIChcbiAgICAgICAgYWZmaXhPcHRpb25zLnBsYWNlbWVudCA9PT0gJ2xlZnQnIHx8XG4gICAgICAgIGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdyaWdodCdcbiAgICAgICkge1xuICAgICAgICBhZmZpeE9wdGlvbnMudmVydGljYWxBbGlnbm1lbnQgPSAnbWlkZGxlJztcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZmZpeGVyIS5hZmZpeFRvKHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudCwgYWZmaXhPcHRpb25zKTtcblxuICAgICAgdGhpcy4jdXBkYXRlQXJyb3dPZmZzZXQoKTtcblxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbkFuZEFwcGx5Rm9jdXMoXG4gICAgICAgIHRoaXMucG9wb3ZlclJlZixcbiAgICAgICAgJy5za3ktcG9wb3ZlcicsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI3NldHVwQWZmaXhlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wb3BvdmVyUmVmKSB7XG4gICAgICBjb25zdCBhZmZpeGVyID0gdGhpcy4jYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5wb3BvdmVyUmVmKTtcblxuICAgICAgYWZmaXhlci5vZmZzZXRDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVBcnJvd09mZnNldCgpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgYWZmaXhlci5vdmVyZmxvd1Njcm9sbFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUFycm93T2Zmc2V0KCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMucGxhY2VtZW50ID0gY2hhbmdlLnBsYWNlbWVudDtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUFycm93T2Zmc2V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjYWxsZXIgJiYgdGhpcy5wb3BvdmVyUmVmICYmIHRoaXMuYXJyb3dSZWYgJiYgdGhpcy5wbGFjZW1lbnQpIHtcbiAgICAgIGNvbnN0IHsgdG9wLCBsZWZ0IH0gPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRBcnJvd0Nvb3JkaW5hdGVzKFxuICAgICAgICB7XG4gICAgICAgICAgY2FsbGVyOiB0aGlzLiNjYWxsZXIsXG4gICAgICAgICAgcG9wb3ZlcjogdGhpcy5wb3BvdmVyUmVmLFxuICAgICAgICAgIHBvcG92ZXJBcnJvdzogdGhpcy5hcnJvd1JlZixcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgIHRoaXMudGhlbWVOYW1lXG4gICAgICApO1xuXG4gICAgICB0aGlzLmFycm93VG9wID0gdG9wO1xuICAgICAgdGhpcy5hcnJvd0xlZnQgPSBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICNpc0ZvY3VzTGVhdmluZ0VsZW1lbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICk7XG5cbiAgICBjb25zdCBpc0ZpcnN0SXRlbSA9IGZvY3VzYWJsZUl0ZW1zWzBdID09PSBldmVudC50YXJnZXQgJiYgZXZlbnQuc2hpZnRLZXk7XG5cbiAgICBjb25zdCBpc0xhc3RJdGVtID1cbiAgICAgIGZvY3VzYWJsZUl0ZW1zW2ZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDFdID09PSBldmVudC50YXJnZXQgJiZcbiAgICAgICFldmVudC5zaGlmdEtleTtcblxuICAgIHJldHVybiBmb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgfHwgaXNGaXJzdEl0ZW0gfHwgaXNMYXN0SXRlbTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KHRydWUpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KGZhbHNlKSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGhvc3RFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLiNjYWxsZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgLy8gU2luY2UgdGhlIHBvcG92ZXIgbm93IGxpdmVzIGluIGFuIG92ZXJsYXkgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZG9jdW1lbnQgYm9keSwgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIGhhbmRsZSB0aGUgdGFiIGtleSBvdXJzZWx2ZXMuIE90aGVyd2lzZSwgZm9jdXMgd291bGQgYmUgbW92ZWQgdG8gdGhlIGJyb3dzZXInc1xuICAgICAgICAgIC8vIHNlYXJjaCBiYXIuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICAgICAgICBpZiAodGhpcy4jaXNGb2N1c0xlYXZpbmdFbGVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgIHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1wb3BvdmVyLWNvbnRhaW5lciBza3ktcG9wb3Zlci1tYXgtaGVpZ2h0XCJcbiAgW0AuZGlzYWJsZWRdPVwiIWVuYWJsZUFuaW1hdGlvbnNcIlxuICBbQHNreVBvcG92ZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICBbY2xhc3Muc2t5LXBvcG92ZXItaGlkZGVuXT1cIiFwbGFjZW1lbnRcIlxuICBbbmdDbGFzc109XCJbXG4gICAgJ3NreS1wb3BvdmVyLWFsaWdubWVudC0nICsgaG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAnc2t5LXBvcG92ZXItcGxhY2VtZW50LScgKyBwbGFjZW1lbnQsXG4gICAgJ3NreS1wb3BvdmVyLScgKyBwb3BvdmVyVHlwZVxuICBdXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FdmVudCgkZXZlbnQpXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICNwb3BvdmVyUmVmXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1wb3BvdmVyXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXJvdW5kZWQtY29ybmVycyBza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1lbGV2YXRpb24tNCc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gID5cbiAgICA8aGVhZGVyXG4gICAgICAqbmdJZj1cInBvcG92ZXJUaXRsZVwiXG4gICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWhlYWRlclwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktcGFkZGluZy1ldmVuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxnIHNreS1tYXJnaW4tc3RhY2tlZC1sZyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8aDFcbiAgICAgICAgKm5nSWY9XCJwb3BvdmVyVGl0bGVcIlxuICAgICAgICBjbGFzcz1cInNreS1wb3BvdmVyLXRpdGxlXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZm9udC1oZWFkaW5nLTQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1mb250LWVtcGhhc2l6ZWQnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAge3sgcG9wb3ZlclRpdGxlIH19XG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXBvcG92ZXItYm9keVwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktcGFkZGluZy1ldmVuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxnJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgI2NvbnRlbnRUYXJnZXQ+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHNwYW5cbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWFycm93XCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImFycm93TGVmdFwiXG4gICAgICBbc3R5bGUudG9wLnB4XT1cImFycm93VG9wXCJcbiAgICAgICNhcnJvd1JlZlxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,6 +8,7 @@ import { SkyPopoverContentComponent } from './popover-content.component';
|
|
|
8
8
|
import { SkyPopoverContext } from './popover-context';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@skyux/core";
|
|
11
|
+
let nextId = 0;
|
|
11
12
|
export class SkyPopoverComponent {
|
|
12
13
|
/**
|
|
13
14
|
* The horizontal alignment of the popover in relation to the trigger element.
|
|
@@ -74,6 +75,7 @@ export class SkyPopoverComponent {
|
|
|
74
75
|
*/
|
|
75
76
|
this.enableAnimations = true;
|
|
76
77
|
this.isMouseEnter = false;
|
|
78
|
+
this.popoverId = `sky-popover-${nextId++}`;
|
|
77
79
|
_SkyPopoverComponent_contentRef.set(this, void 0);
|
|
78
80
|
_SkyPopoverComponent_isMarkedForCloseOnMouseLeave.set(this, false);
|
|
79
81
|
_SkyPopoverComponent_ngUnsubscribe.set(this, new Subject());
|
|
@@ -113,6 +115,7 @@ export class SkyPopoverComponent {
|
|
|
113
115
|
dismissOnBlur: this.dismissOnBlur,
|
|
114
116
|
enableAnimations: this.enableAnimations,
|
|
115
117
|
horizontalAlignment: this.alignment,
|
|
118
|
+
id: this.popoverId,
|
|
116
119
|
isStatic: false,
|
|
117
120
|
placement: this.placement,
|
|
118
121
|
popoverTitle: this.popoverTitle,
|
|
@@ -227,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
227
230
|
static: true,
|
|
228
231
|
}]
|
|
229
232
|
}] } });
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsR0FJckIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVN0RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFzQztRQUN6RCx1QkFBQSxJQUFJLG1DQUFlLEtBQUssSUFBSSxRQUFRLE1BQUEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSx1Q0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxhQUFhLENBQUMsS0FBMEI7UUFDakQsdUJBQUEsSUFBSSx1Q0FBbUIsS0FBSyxJQUFJLElBQUksTUFBQSxDQUFDO0lBQ3ZDLENBQUM7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Z0NBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSxtQ0FBZSxVQUFVLE1BQUEsQ0FBQztLQUMvQjtBQUNILENBQUM7Z0hBM1BVLG1CQUFtQixtREFzSHBCLG9CQUFvQjtvR0F0SG5CLG1CQUFtQiw2V0EwRnRCLFdBQVcsMkNDMUhyQiwyRUFHQTsyRkQ2QmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGFBQWE7OzBCQXdIcEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0I7NENBL0duQixTQUFTO3NCQURuQixLQUFLO2dCQWVLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBZUssU0FBUztzQkFEbkIsS0FBSztnQkFhQyxZQUFZO3NCQURsQixLQUFLO2dCQVFLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBYUMsYUFBYTtzQkFEbkIsTUFBTTtnQkFPQSxhQUFhO3NCQURuQixNQUFNO2dCQXNCQSxXQUFXO3NCQUpqQixTQUFTO3VCQUFDLGFBQWEsRUFBRTt3QkFDeEIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U3RhY2tpbmdDb250ZXh0LFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyQWxpZ25tZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLWFsaWdubWVudCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyUGxhY2VtZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyVHlwZSB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci10eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIGhvcml6b250YWwgYWxpZ25tZW50IG9mIHRoZSBwb3BvdmVyIGluIHJlbGF0aW9uIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAqIFRoZSBgc2t5UG9wb3ZlckFsaWdubWVudGAgcHJvcGVydHkgb24gdGhlIHBvcG92ZXIgZGlyZWN0aXZlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGlzIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCBcImNlbnRlclwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsaWdubWVudCh2YWx1ZTogU2t5UG9wb3ZlckFsaWdubWVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hbGlnbm1lbnQgPSB2YWx1ZSA/PyAnY2VudGVyJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpZ25tZW50KCk6IFNreVBvcG92ZXJBbGlnbm1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfYWxpZ25tZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHBvcG92ZXIgd2hlbiBpdCBsb3NlcyBmb2N1cy5cbiAgICogVG8gcmVxdWlyZSB1c2VycyB0byBjbGljayBhIHRyaWdnZXIgYnV0dG9uIHRvIGNsb3NlIHRoZSBwb3BvdmVyLCBzZXQgdGhpcyBpbnB1dCB0byBmYWxzZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzT25CbHVyKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc21pc3NPbkJsdXIgPSB2YWx1ZSA/PyB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzT25CbHVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc09uQmx1cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIGluIHJlbGF0aW9uIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAqIFRoZSBgc2t5UG9wb3ZlclBsYWNlbWVudGAgcHJvcGVydHkgb24gdGhlIHBvcG92ZXIgZGlyZWN0aXZlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGlzIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCBcImFib3ZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGxhY2VtZW50KHZhbHVlOiBTa3lQb3BvdmVyUGxhY2VtZW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3BsYWNlbWVudCA9IHZhbHVlID8/ICdhYm92ZSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBsYWNlbWVudCgpOiBTa3lQb3BvdmVyUGxhY2VtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX3BsYWNlbWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgZm9yIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwb3BvdmVyLlxuICAgKiBAZGVmYXVsdCBcImluZm9cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwb3BvdmVyVHlwZSh2YWx1ZTogU2t5UG9wb3ZlclR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfcG9wb3ZlclR5cGUgPSB2YWx1ZSA/PyAnaW5mbyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvcG92ZXJUeXBlKCk6IFNreVBvcG92ZXJUeXBlIHtcbiAgICByZXR1cm4gdGhpcy4jX3BvcG92ZXJUeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHBvcG92ZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVBvcG92ZXJDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgb3BlbiB0aGUgcG9wb3Zlci5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcG9wb3Zlck9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5UG9wb3ZlckNvbXBvbmVudD4oKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBvcGVuZWQgb3IgY2xvc2VkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHVuaXQgdGVzdHMgdG8gZGlzYWJsZSBhbmltYXRpb25zIHNpbmNlIHRoZSBjb21wb25lbnQgaXMgaW5qZWN0ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGVcbiAgICogZG9jdW1lbnQgYm9keS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlQW5pbWF0aW9ucyA9IHRydWU7XG5cbiAgcHVibGljIGlzTW91c2VFbnRlciA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAjY29udGVudFJlZiE6IFNreVBvcG92ZXJDb250ZW50Q29tcG9uZW50O1xuXG4gICNpc01hcmtlZEZvckNsb3NlT25Nb3VzZUxlYXZlID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2UgfCB1bmRlZmluZWQ7XG5cbiAgI19hbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQgPSAnY2VudGVyJztcblxuICAjX2Rpc21pc3NPbkJsdXIgPSB0cnVlO1xuXG4gICNfcGxhY2VtZW50OiBTa3lQb3BvdmVyUGxhY2VtZW50ID0gJ2Fib3ZlJztcblxuICAjX3BvcG92ZXJUeXBlOiBTa3lQb3BvdmVyVHlwZSA9ICdpbmZvJztcblxuICAjb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlO1xuXG4gICN6SW5kZXg6IE9ic2VydmFibGU8bnVtYmVyPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNLWV9TVEFDS0lOR19DT05URVhUKVxuICAgIHN0YWNraW5nQ29udGV4dD86IFNreVN0YWNraW5nQ29udGV4dFxuICApIHtcbiAgICB0aGlzLiNvdmVybGF5U2VydmljZSA9IG92ZXJsYXlTZXJ2aWNlO1xuICAgIHRoaXMuI3pJbmRleCA9IHN0YWNraW5nQ29udGV4dD8uekluZGV4O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIGlmICh0aGlzLiNvdmVybGF5KSB7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLiNvdmVybGF5KTtcbiAgICAgIHRoaXMuI292ZXJsYXkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9ucyB0aGUgcG9wb3ZlciBuZXh0IHRvIGEgZ2l2ZW4gY2FsbGVyIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBjYWxsZXIgVGhlIGVsZW1lbnQgdGhhdCBvcGVuZWQgdGhlIHBvcG92ZXIuXG4gICAqIEBwYXJhbSBwbGFjZW1lbnQgVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3Zlci5cbiAgICogQHBhcmFtIGFsaWdubWVudCBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIHBvcG92ZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHBvc2l0aW9uTmV4dFRvKFxuICAgIGNhbGxlcjogRWxlbWVudFJlZixcbiAgICBwbGFjZW1lbnQ/OiBTa3lQb3BvdmVyUGxhY2VtZW50LFxuICAgIGFsaWdubWVudD86IFNreVBvcG92ZXJBbGlnbm1lbnRcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNvdmVybGF5KSB7XG4gICAgICB0aGlzLiNzZXR1cE92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICB0aGlzLnBsYWNlbWVudCA9IHBsYWNlbWVudCA/PyB0aGlzLnBsYWNlbWVudDtcbiAgICB0aGlzLmFsaWdubWVudCA9IGFsaWdubWVudCA/PyB0aGlzLmFsaWdubWVudDtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcblxuICAgIHRoaXMuI2NvbnRlbnRSZWYub3BlbihjYWxsZXIsIHtcbiAgICAgIGRpc21pc3NPbkJsdXI6IHRoaXMuZGlzbWlzc09uQmx1cixcbiAgICAgIGVuYWJsZUFuaW1hdGlvbnM6IHRoaXMuZW5hYmxlQW5pbWF0aW9ucyxcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHRoaXMuYWxpZ25tZW50LFxuICAgICAgaXNTdGF0aWM6IGZhbHNlLFxuICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgIHBvcG92ZXJUaXRsZTogdGhpcy5wb3BvdmVyVGl0bGUsXG4gICAgICBwb3BvdmVyVHlwZTogdGhpcy5wb3BvdmVyVHlwZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBvcG92ZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQqL1xuICAgIHRoaXMuI2NvbnRlbnRSZWY/LmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQnJpbmdzIGZvY3VzIHRvIHRoZSBwb3BvdmVyIGVsZW1lbnQgaWYgaXRzIG9wZW4uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFwcGx5Rm9jdXMoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCovXG4gICAgdGhpcy4jY29udGVudFJlZj8uYXBwbHlGb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBmbGFnIHRvIHRoZSBwb3BvdmVyIHRvIGNsb3NlIHdoZW4gdGhlIG1vdXNlIGxlYXZlcyB0aGUgcG9wb3ZlcidzIGJvdW5kcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgbWFya0ZvckNsb3NlT25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuI2lzTWFya2VkRm9yQ2xvc2VPbk1vdXNlTGVhdmUgPSB0cnVlO1xuICB9XG5cbiAgI3NldHVwT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICAgIGVuYWJsZVNjcm9sbDogdHJ1ZSxcbiAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy4jekluZGV4KSB7XG4gICAgICAgIHRoaXMuI3pJbmRleFxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCh6SW5kZXgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXkuY29tcG9uZW50UmVmLmluc3RhbmNlLnpJbmRleCA9IHpJbmRleC50b1N0cmluZygxMCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIG92ZXJsYXkuYmFja2Ryb3BDbGlja1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjb250ZW50UmVmID0gb3ZlcmxheS5hdHRhY2hDb21wb25lbnQoU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQsIFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNreVBvcG92ZXJDb250ZXh0LFxuICAgICAgICAgIHVzZVZhbHVlOiBuZXcgU2t5UG9wb3ZlckNvbnRleHQoe1xuICAgICAgICAgICAgY29udGVudFRlbXBsYXRlUmVmOiB0aGlzLnRlbXBsYXRlUmVmLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnRlbnRSZWYub3BlbmVkLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQuZW1pdCh0aGlzKTtcbiAgICAgIH0pO1xuXG4gICAgICBjb250ZW50UmVmLmNsb3NlZC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICAgIGlmICh0aGlzLmlzQWN0aXZlICYmIHRoaXMuI292ZXJsYXkpIHtcbiAgICAgICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLiNvdmVybGF5KTtcbiAgICAgICAgICB0aGlzLiNvdmVybGF5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnBvcG92ZXJDbG9zZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnRlbnRSZWYuaXNNb3VzZUVudGVyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaXNNb3VzZUVudGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc01vdXNlRW50ZXIgPSBpc01vdXNlRW50ZXI7XG4gICAgICAgICAgaWYgKHRoaXMuI2lzTWFya2VkRm9yQ2xvc2VPbk1vdXNlTGVhdmUpIHtcbiAgICAgICAgICAgIHRoaXMuI2lzTWFya2VkRm9yQ2xvc2VPbk1vdXNlTGVhdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNvdmVybGF5ID0gb3ZlcmxheTtcbiAgICAgIHRoaXMuI2NvbnRlbnRSZWYgPSBjb250ZW50UmVmO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsR0FJckIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUt0RCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFNZixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFzQztRQUN6RCx1QkFBQSxJQUFJLG1DQUFlLEtBQUssSUFBSSxRQUFRLE1BQUEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSx1Q0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxhQUFhLENBQUMsS0FBMEI7UUFDakQsdUJBQUEsSUFBSSx1Q0FBbUIsS0FBSyxJ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QSxJQUFJLHFEQUFpQyxLQUFLLE1BQUEsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLHVCQUFBLElBQUksZ0NBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSxtQ0FBZSxVQUFVLE1BQUEsQ0FBQztLQUMvQjtBQUNILENBQUM7Z0hBOVBVLG1CQUFtQixtREF3SHBCLG9CQUFvQjtvR0F4SG5CLG1CQUFtQiw2V0E0RnRCLFdBQVcsMkNDOUhyQiwyRUFHQTsyRkQrQmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGFBQWE7OzBCQTBIcEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0I7NENBakhuQixTQUFTO3NCQURuQixLQUFLO2dCQWVLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBZUssU0FBUztzQkFEbkIsS0FBSztnQkFhQyxZQUFZO3NCQURsQixLQUFLO2dCQVFLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBYUMsYUFBYTtzQkFEbkIsTUFBTTtnQkFPQSxhQUFhO3NCQURuQixNQUFNO2dCQXdCQSxXQUFXO3NCQUpqQixTQUFTO3VCQUFDLGFBQWEsRUFBRTt3QkFDeEIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U3RhY2tpbmdDb250ZXh0LFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyQWxpZ25tZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLWFsaWdubWVudCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyUGxhY2VtZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyVHlwZSB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci10eXBlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgcG9wb3ZlciBpbiByZWxhdGlvbiB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgKiBUaGUgYHNreVBvcG92ZXJBbGlnbm1lbnRgIHByb3BlcnR5IG9uIHRoZSBwb3BvdmVyIGRpcmVjdGl2ZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhpcyBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgXCJjZW50ZXJcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGlnbm1lbnQodmFsdWU6IFNreVBvcG92ZXJBbGlnbm1lbnQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYWxpZ25tZW50ID0gdmFsdWUgPz8gJ2NlbnRlcic7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsaWdubWVudCgpOiBTa3lQb3BvdmVyQWxpZ25tZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2FsaWdubWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNsb3NlIHRoZSBwb3BvdmVyIHdoZW4gaXQgbG9zZXMgZm9jdXMuXG4gICAqIFRvIHJlcXVpcmUgdXNlcnMgdG8gY2xpY2sgYSB0cmlnZ2VyIGJ1dHRvbiB0byBjbG9zZSB0aGUgcG9wb3Zlciwgc2V0IHRoaXMgaW5wdXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc09uQmx1cih2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNtaXNzT25CbHVyID0gdmFsdWUgPz8gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc09uQmx1cigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc21pc3NPbkJsdXI7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciBpbiByZWxhdGlvbiB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgKiBUaGUgYHNreVBvcG92ZXJQbGFjZW1lbnRgIHByb3BlcnR5IG9uIHRoZSBwb3BvdmVyIGRpcmVjdGl2ZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhpcyBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgXCJhYm92ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBsYWNlbWVudCh2YWx1ZTogU2t5UG9wb3ZlclBsYWNlbWVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19wbGFjZW1lbnQgPSB2YWx1ZSA/PyAnYWJvdmUnO1xuICB9XG5cbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKTogU2t5UG9wb3ZlclBsYWNlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI19wbGFjZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRpdGxlIGZvciB0aGUgcG9wb3Zlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcG9wb3Zlci5cbiAgICogQGRlZmF1bHQgXCJpbmZvXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcG9wb3ZlclR5cGUodmFsdWU6IFNreVBvcG92ZXJUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3BvcG92ZXJUeXBlID0gdmFsdWUgPz8gJ2luZm8nO1xuICB9XG5cbiAgcHVibGljIGdldCBwb3BvdmVyVHlwZSgpOiBTa3lQb3BvdmVyVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI19wb3BvdmVyVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGNsb3NlIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwb3BvdmVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lQb3BvdmVyQ29tcG9uZW50PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG9wZW4gdGhlIHBvcG92ZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHBvcG92ZXJPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVBvcG92ZXJDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgb3BlbmVkIG9yIGNsb3NlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgaXNBY3RpdmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVXNlZCBieSB1bml0IHRlc3RzIHRvIGRpc2FibGUgYW5pbWF0aW9ucyBzaW5jZSB0aGUgY29tcG9uZW50IGlzIGluamVjdGVkIGF0IHRoZSBib3R0b20gb2YgdGhlXG4gICAqIGRvY3VtZW50IGJvZHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGVuYWJsZUFuaW1hdGlvbnMgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc01vdXNlRW50ZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgcG9wb3ZlcklkID0gYHNreS1wb3BvdmVyLSR7bmV4dElkKyt9YDtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgI2NvbnRlbnRSZWYhOiBTa3lQb3BvdmVyQ29udGVudENvbXBvbmVudDtcblxuICAjaXNNYXJrZWRGb3JDbG9zZU9uTW91c2VMZWF2ZSA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjb3ZlcmxheTogU2t5T3ZlcmxheUluc3RhbmNlIHwgdW5kZWZpbmVkO1xuXG4gICNfYWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50ID0gJ2NlbnRlcic7XG5cbiAgI19kaXNtaXNzT25CbHVyID0gdHJ1ZTtcblxuICAjX3BsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudCA9ICdhYm92ZSc7XG5cbiAgI19wb3BvdmVyVHlwZTogU2t5UG9wb3ZlclR5cGUgPSAnaW5mbyc7XG5cbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcblxuICAjekluZGV4OiBPYnNlcnZhYmxlPG51bWJlcj4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChTS1lfU1RBQ0tJTkdfQ09OVEVYVClcbiAgICBzdGFja2luZ0NvbnRleHQ/OiBTa3lTdGFja2luZ0NvbnRleHRcbiAgKSB7XG4gICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UgPSBvdmVybGF5U2VydmljZTtcbiAgICB0aGlzLiN6SW5kZXggPSBzdGFja2luZ0NvbnRleHQ/LnpJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICBpZiAodGhpcy4jb3ZlcmxheSkge1xuICAgICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy4jb3ZlcmxheSk7XG4gICAgICB0aGlzLiNvdmVybGF5ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdGhlIHBvcG92ZXIgbmV4dCB0byBhIGdpdmVuIGNhbGxlciBlbGVtZW50LlxuICAgKiBAcGFyYW0gY2FsbGVyIFRoZSBlbGVtZW50IHRoYXQgb3BlbmVkIHRoZSBwb3BvdmVyLlxuICAgKiBAcGFyYW0gcGxhY2VtZW50IFRoZSBwbGFjZW1lbnQgb2YgdGhlIHBvcG92ZXIuXG4gICAqIEBwYXJhbSBhbGlnbm1lbnQgVGhlIGhvcml6b250YWwgYWxpZ25tZW50IG9mIHRoZSBwb3BvdmVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBwb3NpdGlvbk5leHRUbyhcbiAgICBjYWxsZXI6IEVsZW1lbnRSZWYsXG4gICAgcGxhY2VtZW50PzogU2t5UG9wb3ZlclBsYWNlbWVudCxcbiAgICBhbGlnbm1lbnQ/OiBTa3lQb3BvdmVyQWxpZ25tZW50XG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jb3ZlcmxheSkge1xuICAgICAgdGhpcy4jc2V0dXBPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5wbGFjZW1lbnQgPSBwbGFjZW1lbnQgPz8gdGhpcy5wbGFjZW1lbnQ7XG4gICAgdGhpcy5hbGlnbm1lbnQgPSBhbGlnbm1lbnQgPz8gdGhpcy5hbGlnbm1lbnQ7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XG5cbiAgICB0aGlzLiNjb250ZW50UmVmLm9wZW4oY2FsbGVyLCB7XG4gICAgICBkaXNtaXNzT25CbHVyOiB0aGlzLmRpc21pc3NPbkJsdXIsXG4gICAgICBlbmFibGVBbmltYXRpb25zOiB0aGlzLmVuYWJsZUFuaW1hdGlvbnMsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiB0aGlzLmFsaWdubWVudCxcbiAgICAgIGlkOiB0aGlzLnBvcG92ZXJJZCxcbiAgICAgIGlzU3RhdGljOiBmYWxzZSxcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICBwb3BvdmVyVGl0bGU6IHRoaXMucG9wb3ZlclRpdGxlLFxuICAgICAgcG9wb3ZlclR5cGU6IHRoaXMucG9wb3ZlclR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBwb3BvdmVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0Ki9cbiAgICB0aGlzLiNjb250ZW50UmVmPy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJyaW5ncyBmb2N1cyB0byB0aGUgcG9wb3ZlciBlbGVtZW50IGlmIGl0cyBvcGVuLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhcHBseUZvY3VzKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQqL1xuICAgIHRoaXMuI2NvbnRlbnRSZWY/LmFwcGx5Rm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZmxhZyB0byB0aGUgcG9wb3ZlciB0byBjbG9zZSB3aGVuIHRoZSBtb3VzZSBsZWF2ZXMgdGhlIHBvcG92ZXIncyBib3VuZHMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG1hcmtGb3JDbG9zZU9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNpc01hcmtlZEZvckNsb3NlT25Nb3VzZUxlYXZlID0gdHJ1ZTtcbiAgfVxuXG4gICNzZXR1cE92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLiNvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgIGVuYWJsZVBvaW50ZXJFdmVudHM6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuI3pJbmRleCkge1xuICAgICAgICB0aGlzLiN6SW5kZXhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSB6SW5kZXgudG9TdHJpbmcoMTApO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBvdmVybGF5LmJhY2tkcm9wQ2xpY2tcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgY29uc3QgY29udGVudFJlZiA9IG92ZXJsYXkuYXR0YWNoQ29tcG9uZW50KFNreVBvcG92ZXJDb250ZW50Q29tcG9uZW50LCBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lQb3BvdmVyQ29udGV4dCxcbiAgICAgICAgICB1c2VWYWx1ZTogbmV3IFNreVBvcG92ZXJDb250ZXh0KHtcbiAgICAgICAgICAgIGNvbnRlbnRUZW1wbGF0ZVJlZjogdGhpcy50ZW1wbGF0ZVJlZixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBjb250ZW50UmVmLm9wZW5lZC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkLmVtaXQodGhpcyk7XG4gICAgICB9KTtcblxuICAgICAgY29udGVudFJlZi5jbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSAmJiB0aGlzLiNvdmVybGF5KSB7XG4gICAgICAgICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy4jb3ZlcmxheSk7XG4gICAgICAgICAgdGhpcy4jb3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5wb3BvdmVyQ2xvc2VkLmVtaXQodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb250ZW50UmVmLmlzTW91c2VFbnRlclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGlzTW91c2VFbnRlcikgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNb3VzZUVudGVyID0gaXNNb3VzZUVudGVyO1xuICAgICAgICAgIGlmICh0aGlzLiNpc01hcmtlZEZvckNsb3NlT25Nb3VzZUxlYXZlKSB7XG4gICAgICAgICAgICB0aGlzLiNpc01hcmtlZEZvckNsb3NlT25Nb3VzZUxlYXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jb3ZlcmxheSA9IG92ZXJsYXk7XG4gICAgICB0aGlzLiNjb250ZW50UmVmID0gY29udGVudFJlZjtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
var _SkyPopoverDirective_instances, _SkyPopoverDirective__skyPopoverMessageStream, _SkyPopoverDirective_messageStreamSub, _SkyPopoverDirective_ngUnsubscribe, _SkyPopoverDirective__trigger, _SkyPopoverDirective_elementRef, _SkyPopoverDirective_positionPopover, _SkyPopoverDirective_closePopover, _SkyPopoverDirective_closePopoverOrMarkForClose, _SkyPopoverDirective_addEventListeners, _SkyPopoverDirective_removeEventListeners, _SkyPopoverDirective_handleIncomingMessages, _SkyPopoverDirective_sendMessage, _SkyPopoverDirective_subscribeMessageStream, _SkyPopoverDirective_unsubscribeMessageStream;
|
|
1
|
+
var _SkyPopoverDirective_instances, _SkyPopoverDirective__skyPopoverMessageStream, _SkyPopoverDirective_messageStreamSub, _SkyPopoverDirective_ngUnsubscribe, _SkyPopoverDirective__popover, _SkyPopoverDirective__trigger, _SkyPopoverDirective_elementRef, _SkyPopoverDirective_positionPopover, _SkyPopoverDirective_closePopover, _SkyPopoverDirective_closePopoverOrMarkForClose, _SkyPopoverDirective_addEventListeners, _SkyPopoverDirective_removeEventListeners, _SkyPopoverDirective_handleIncomingMessages, _SkyPopoverDirective_sendMessage, _SkyPopoverDirective_subscribeMessageStream, _SkyPopoverDirective_unsubscribeMessageStream;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Directive, Input } from '@angular/core';
|
|
3
|
+
import { Directive, HostBinding, Input, } from '@angular/core';
|
|
4
4
|
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { SkyPopoverMessageType } from './types/popover-message-type';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class SkyPopoverDirective {
|
|
9
|
+
/**
|
|
10
|
+
* The popover component to display. Add this directive to the trigger element that opens the popover.
|
|
11
|
+
* @required
|
|
12
|
+
*/
|
|
13
|
+
set skyPopover(value) {
|
|
14
|
+
this.popoverId = value?.popoverId;
|
|
15
|
+
__classPrivateFieldSet(this, _SkyPopoverDirective__popover, value, "f");
|
|
16
|
+
}
|
|
17
|
+
get skyPopover() {
|
|
18
|
+
return __classPrivateFieldGet(this, _SkyPopoverDirective__popover, "f");
|
|
19
|
+
}
|
|
9
20
|
/**
|
|
10
21
|
* The RxJS `Subject` to send commands to the popover that respect the `SkyPopoverMessage` type.
|
|
11
22
|
*/
|
|
@@ -27,9 +38,15 @@ export class SkyPopoverDirective {
|
|
|
27
38
|
}
|
|
28
39
|
constructor(elementRef) {
|
|
29
40
|
_SkyPopoverDirective_instances.add(this);
|
|
41
|
+
/**
|
|
42
|
+
* Appends the `sky-popover-trigger` class to the trigger element.
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
this.directiveClass = 'sky-popover-trigger';
|
|
30
46
|
_SkyPopoverDirective__skyPopoverMessageStream.set(this, new Subject());
|
|
31
47
|
_SkyPopoverDirective_messageStreamSub.set(this, void 0);
|
|
32
48
|
_SkyPopoverDirective_ngUnsubscribe.set(this, new Subject());
|
|
49
|
+
_SkyPopoverDirective__popover.set(this, void 0);
|
|
33
50
|
_SkyPopoverDirective__trigger.set(this, 'click');
|
|
34
51
|
_SkyPopoverDirective_elementRef.set(this, void 0);
|
|
35
52
|
__classPrivateFieldSet(this, _SkyPopoverDirective_elementRef, elementRef, "f");
|
|
@@ -50,7 +67,7 @@ export class SkyPopoverDirective {
|
|
|
50
67
|
__classPrivateFieldGet(this, _SkyPopoverDirective_instances, "m", _SkyPopoverDirective_sendMessage).call(this, SkyPopoverMessageType.Open);
|
|
51
68
|
}
|
|
52
69
|
}
|
|
53
|
-
_SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirective_messageStreamSub = new WeakMap(), _SkyPopoverDirective_ngUnsubscribe = new WeakMap(), _SkyPopoverDirective__trigger = new WeakMap(), _SkyPopoverDirective_elementRef = new WeakMap(), _SkyPopoverDirective_instances = new WeakSet(), _SkyPopoverDirective_positionPopover = function _SkyPopoverDirective_positionPopover() {
|
|
70
|
+
_SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirective_messageStreamSub = new WeakMap(), _SkyPopoverDirective_ngUnsubscribe = new WeakMap(), _SkyPopoverDirective__popover = new WeakMap(), _SkyPopoverDirective__trigger = new WeakMap(), _SkyPopoverDirective_elementRef = new WeakMap(), _SkyPopoverDirective_instances = new WeakSet(), _SkyPopoverDirective_positionPopover = function _SkyPopoverDirective_positionPopover() {
|
|
54
71
|
this.skyPopover?.positionNextTo(__classPrivateFieldGet(this, _SkyPopoverDirective_elementRef, "f"), this.skyPopoverPlacement, this.skyPopoverAlignment);
|
|
55
72
|
}, _SkyPopoverDirective_closePopover = function _SkyPopoverDirective_closePopover() {
|
|
56
73
|
this.skyPopover?.close();
|
|
@@ -166,13 +183,19 @@ _SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirect
|
|
|
166
183
|
}
|
|
167
184
|
};
|
|
168
185
|
SkyPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
169
|
-
SkyPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverDirective, selector: "[skyPopover]", inputs: { skyPopover: "skyPopover", skyPopoverAlignment: "skyPopoverAlignment", skyPopoverMessageStream: "skyPopoverMessageStream", skyPopoverPlacement: "skyPopoverPlacement", skyPopoverTrigger: "skyPopoverTrigger" }, ngImport: i0 });
|
|
186
|
+
SkyPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverDirective, selector: "[skyPopover]", inputs: { skyPopover: "skyPopover", skyPopoverAlignment: "skyPopoverAlignment", skyPopoverMessageStream: "skyPopoverMessageStream", skyPopoverPlacement: "skyPopoverPlacement", skyPopoverTrigger: "skyPopoverTrigger" }, host: { properties: { "class": "this.directiveClass", "[attr.data-popover-id]": "this.popoverId" } }, ngImport: i0 });
|
|
170
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverDirective, decorators: [{
|
|
171
188
|
type: Directive,
|
|
172
189
|
args: [{
|
|
173
190
|
selector: '[skyPopover]',
|
|
174
191
|
}]
|
|
175
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: {
|
|
192
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { directiveClass: [{
|
|
193
|
+
type: HostBinding,
|
|
194
|
+
args: ['class']
|
|
195
|
+
}], popoverId: [{
|
|
196
|
+
type: HostBinding,
|
|
197
|
+
args: ['[attr.data-popover-id]']
|
|
198
|
+
}], skyPopover: [{
|
|
176
199
|
type: Input
|
|
177
200
|
}], skyPopoverAlignment: [{
|
|
178
201
|
type: Input
|
|
@@ -183,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
183
206
|
}], skyPopoverTrigger: [{
|
|
184
207
|
type: Input
|
|
185
208
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLG1CQUFtQjtJQWM5Qjs7T0FFRztJQUNILElBQ1csdUJBQXVCLENBQ2hDLEtBQTZDO1FBRTdDLHVCQUFBLElBQUksaURBQTZCLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBcUIsTUFBQSxDQUFDO1FBQzNFLHVCQUFBLElBQUksbUZBQXdCLE1BQTVCLElBQUksQ0FBMEIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyx1QkFBQSxJQUFJLHFEQUEwQixDQUFDO0lBQ3hDLENBQUM7SUFZRDs7T0FFRztJQUNILElBQ1csaUJBQWlCLENBQUMsS0FBb0M7UUFDL0QsdUJBQUEsSUFBSSxpQ0FBYSxLQUFLLElBQUksT0FBTyxNQUFBLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBVSxDQUFDO0lBQ3hCLENBQUM7SUFRRCxZQUFZLFVBQXNCOztRQTVCbEMsd0RBQTRCLElBQUksT0FBTyxFQUFxQixFQUFDO1FBRTdELHdEQUE0QztRQW9CNUMsNkNBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFF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LFNBQVMsQ0FDN0QsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNWLHVCQUFBLElBQUksbUZBQXdCLE1BQTVCLElBQUksRUFBeUIsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUNGLE1BQUEsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksNkNBQWtCLEVBQUU7UUFDMUIsdUJBQUEsSUFBSSw2Q0FBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyx1QkFBQSxJQUFJLHlDQUFxQixTQUFTLE1BQUEsQ0FBQztLQUNwQztBQUNILENBQUM7Z0hBdk9VLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO2lHQU9RLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQU9LLHVCQUF1QjtzQkFEakMsS0FBSztnQkFvQkMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQU9LLGlCQUFpQjtzQkFEM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreVBvcG92ZXJQbGFjZW1lbnQgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItcGxhY2VtZW50JztcbmltcG9ydCB7IFNreVBvcG92ZXJUcmlnZ2VyIH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXRyaWdnZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5UG9wb3Zlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIHBvcG92ZXIgY29tcG9uZW50IHRvIGRpc3BsYXkuIEFkZCB0aGlzIGRpcmVjdGl2ZSB0byB0aGUgdHJpZ2dlciBlbGVtZW50IHRoYXQgb3BlbnMgdGhlIHBvcG92ZXIuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreVBvcG92ZXI6IFNreVBvcG92ZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgcG9wb3ZlciBpbiByZWxhdGlvbiB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreVBvcG92ZXJBbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBSeEpTIGBTdWJqZWN0YCB0byBzZW5kIGNvbW1hbmRzIHRvIHRoZSBwb3BvdmVyIHRoYXQgcmVzcGVjdCB0aGUgYFNreVBvcG92ZXJNZXNzYWdlYCB0eXBlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lQb3BvdmVyTWVzc2FnZVN0cmVhbShcbiAgICB2YWx1ZTogU3ViamVjdDxTa3lQb3BvdmVyTWVzc2FnZT4gfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgdGhpcy4jX3NreVBvcG92ZXJNZXNzYWdlU3RyZWFtID0gdmFsdWUgPz8gbmV3IFN1YmplY3Q8U2t5UG9wb3Zlck1lc3NhZ2U+KCk7XG4gICAgdGhpcy4jc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lQb3BvdmVyTWVzc2FnZVN0cmVhbSgpOiBTdWJqZWN0PFNreVBvcG92ZXJNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lQb3BvdmVyTWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gICNfc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lQb3BvdmVyTWVzc2FnZT4oKTtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIGluIHJlbGF0aW9uIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2t5UG9wb3ZlclBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHVzZXIgYWN0aW9uIHRoYXQgZGlzcGxheXMgdGhlIHBvcG92ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreVBvcG92ZXJUcmlnZ2VyKHZhbHVlOiBTa3lQb3BvdmVyVHJpZ2dlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190cmlnZ2VyID0gdmFsdWUgPz8gJ2NsaWNrJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5UG9wb3ZlclRyaWdnZXIoKTogU2t5UG9wb3ZlclRyaWdnZXIge1xuICAgIHJldHVybiB0aGlzLiNfdHJpZ2dlcjtcbiAgfVxuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX3RyaWdnZXI6IFNreVBvcG92ZXJUcmlnZ2VyID0gJ2NsaWNrJztcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiN1bnN1YnNjcmliZU1lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVQb3BvdmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreVBvcG92ZXI/LmlzQWN0aXZlKSB7XG4gICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lQb3BvdmVyTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5PcGVuKTtcbiAgfVxuXG4gICNwb3NpdGlvblBvcG92ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5za3lQb3BvdmVyPy5wb3NpdGlvbk5leHRUbyhcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYsXG4gICAgICB0aGlzLnNreVBvcG92ZXJQbGFjZW1lbnQsXG4gICAgICB0aGlzLnNreVBvcG92ZXJBbGlnbm1lbnRcbiAgICApO1xuICB9XG5cbiAgI2Nsb3NlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNreVBvcG92ZXI/LmNsb3NlKCk7XG4gIH1cblxuICAjY2xvc2VQb3BvdmVyT3JNYXJrRm9yQ2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5UG9wb3Zlcj8uaXNNb3VzZUVudGVyKSB7XG4gICAgICB0aGlzLnNreVBvcG92ZXIubWFya0ZvckNsb3NlT25Nb3VzZUxlYXZlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgfVxuICB9XG5cbiAgI2FkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5za3lQb3BvdmVyPy5pc0FjdGl2ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgY2FzZSAnZXNjYXBlJzpcbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICBpZiAodGhpcy5za3lQb3BvdmVyLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICBjYXNlICdhcnJvd2xlZnQnOlxuICAgICAgICAgIGNhc2UgJ2Fycm93cmlnaHQnOlxuICAgICAgICAgIGNhc2UgJ2Fycm93dXAnOlxuICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICBjYXNlICd1cCc6XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lQb3BvdmVyTWVzc2FnZVR5cGUuRm9jdXMpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChlbGVtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXIpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5za3lQb3BvdmVyKSB7XG4gICAgICAgICAgdGhpcy5za3lQb3BvdmVyLmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuc2t5UG9wb3Zlci5pc0FjdGl2ZSAmJlxuICAgICAgICAgICAgdGhpcy5za3lQb3BvdmVyVHJpZ2dlciA9PT0gJ21vdXNlZW50ZXInXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lQb3BvdmVyTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZWxlbWVudCwgJ21vdXNlbGVhdmUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXIpIHtcbiAgICAgICAgICB0aGlzLnNreVBvcG92ZXIuaXNNb3VzZUVudGVyID0gZmFsc2U7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5za3lQb3BvdmVyLmlzQWN0aXZlICYmXG4gICAgICAgICAgICB0aGlzLnNreVBvcG92ZXJUcmlnZ2VyID09PSAnbW91c2VlbnRlcidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEdpdmUgdGhlIHBvcG92ZXIgYSBjaGFuY2UgdG8gc2V0IGl0cyBpc01vdXNlRW50ZXIgZmxhZyBiZWZvcmUgY2hlY2tpbmcgdG8gc2VlXG4gICAgICAgICAgICAvLyBpZiBpdCBzaG91bGQgYmUgY2xvc2VkLlxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuI2Nsb3NlUG9wb3Zlck9yTWFya0ZvckNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI3JlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreVBvcG92ZXJNZXNzYWdlKTogdm9pZCB7XG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgIGNhc2UgU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIHRoaXMuI3Bvc2l0aW9uUG9wb3ZlcigpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lQb3BvdmVyTWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICBpZiAodGhpcy5za3lQb3BvdmVyPy5pc0FjdGl2ZSkge1xuICAgICAgICAgIHRoaXMuI2Nsb3NlUG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVBvcG92ZXJNZXNzYWdlVHlwZS5SZXBvc2l0aW9uOlxuICAgICAgICAvLyBPbmx5IHJlcG9zaXRpb24gdGhlIHBvcG92ZXIgaWYgaXQgaXMgYWxyZWFkeSBvcGVuLlxuICAgICAgICBpZiAodGhpcy5za3lQb3BvdmVyPy5pc0FjdGl2ZSkge1xuICAgICAgICAgIHRoaXMuI3Bvc2l0aW9uUG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVBvcG92ZXJNZXNzYWdlVHlwZS5Gb2N1czpcbiAgICAgICAgdGhpcy5za3lQb3BvdmVyPy5hcHBseUZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gICNzZW5kTWVzc2FnZShtZXNzYWdlVHlwZTogU2t5UG9wb3Zlck1lc3NhZ2VUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5za3lQb3BvdmVyTWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZTogbWVzc2FnZVR5cGUgfSk7XG4gIH1cblxuICAjc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICB0aGlzLiN1bnN1YnNjcmliZU1lc3NhZ2VTdHJlYW0oKTtcblxuICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIgPSB0aGlzLnNreVBvcG92ZXJNZXNzYWdlU3RyZWFtLnN1YnNjcmliZShcbiAgICAgIChtZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gICN1bnN1YnNjcmliZU1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUI7OztPQUdHO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBc0M7UUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUUsU0FBUyxDQUFDO1FBQ2xDLHVCQUFBLElBQUksaUNBQWEsS0FBSyxNQUFBLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLHVCQUFBLElBQUkscUNBQVUsQ0FBQztJQUN4QixDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUNXLHVCQUF1QixDQUNoQyxLQUE2QztRQUU3Qyx1QkFBQSxJQUFJLGlEQUE2QixLQUFLLElBQUksSUFBSSxPQUFPLEVBQXFCLE1BQUEsQ0FBQztRQUMzRSx1QkFBQSxJQUFJLG1GQUF3QixNQUE1QixJQUFJLENBQTBCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sdUJBQUEsSUFBSSxxREFBMEIsQ0FBQztJQUN4QyxDQUFDO0lBWUQ7O09BRUc7SUFDSCxJQUNXLGlCQUFpQixDQUFDLEtBQW9DO1FBQy9ELHVCQUFBLElBQUksaUNB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QUFLO1lBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDOUIsTUFBTTtLQUNUO0FBQ0gsQ0FBQywrRUFFWSxXQUFrQztJQUM3QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztJQUdDLHVCQUFBLElBQUkscUZBQTBCLE1BQTlCLElBQUksQ0FBNEIsQ0FBQztJQUVqQyx1QkFBQSxJQUFJLHlDQUFxQixJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUM3RCxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ1YsdUJBQUEsSUFBSSxtRkFBd0IsTUFBNUIsSUFBSSxFQUF5QixPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQ0YsTUFBQSxDQUFDO0FBQ0osQ0FBQztJQUdDLElBQUksdUJBQUEsSUFBSSw2Q0FBa0IsRUFBRTtRQUMxQix1QkFBQSxJQUFJLDZDQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLHVCQUFBLElBQUkseUNBQXFCLFNBQVMsTUFBQSxDQUFDO0tBQ3BDO0FBQ0gsQ0FBQztnSEEvUFUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7aUdBT1csY0FBYztzQkFEdkIsV0FBVzt1QkFBQyxPQUFPO2dCQVNWLFNBQVM7c0JBRGxCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQVExQixVQUFVO3NCQURwQixLQUFLO2dCQWNDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFPSyx1QkFBdUI7c0JBRGpDLEtBQUs7Z0JBb0JDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFPSyxpQkFBaUI7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBvcG92ZXJBbGlnbm1lbnQgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItYWxpZ25tZW50JztcbmltcG9ydCB7IFNreVBvcG92ZXJNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyUGxhY2VtZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyVHJpZ2dlciB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci10cmlnZ2VyJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVBvcG92ZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UG9wb3ZlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEFwcGVuZHMgdGhlIGBza3ktcG9wb3Zlci10cmlnZ2VyYCBjbGFzcyB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcm90ZWN0ZWQgZGlyZWN0aXZlQ2xhc3MgPSAnc2t5LXBvcG92ZXItdHJpZ2dlcic7XG5cbiAgLyoqXG4gICAqIEFwcGVuZHMgdGhlIGBkYXRhLXBvcG92ZXItaWRgIGF0dHJpYnV0ZSB0byB0aGUgdHJpZ2dlciBlbGVtZW50IHNldCB0byBhIHVuaXF1ZSBJRCBnZW5lcmF0ZWQgYnkgdGhlIHBvcG92ZXIgY29tcG9uZW50LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIC8vIFRPRE86IHJlcGxhY2UgdGhpcyB3aXRoIHJlbGV2YW50IEFSSUEgYXR0cmlidXRlc1xuICBASG9zdEJpbmRpbmcoJ1thdHRyLmRhdGEtcG9wb3Zlci1pZF0nKVxuICBwcm90ZWN0ZWQgcG9wb3ZlcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3BvdmVyIGNvbXBvbmVudCB0byBkaXNwbGF5LiBBZGQgdGhpcyBkaXJlY3RpdmUgdG8gdGhlIHRyaWdnZXIgZWxlbWVudCB0aGF0IG9wZW5zIHRoZSBwb3BvdmVyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5UG9wb3Zlcih2YWx1ZTogU2t5UG9wb3ZlckNvbXBvbmVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMucG9wb3ZlcklkID0gdmFsdWU/LnBvcG92ZXJJZDtcbiAgICB0aGlzLiNfcG9wb3ZlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lQb3BvdmVyKCk6IFNreVBvcG92ZXJDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfcG9wb3ZlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIHBvcG92ZXIgaW4gcmVsYXRpb24gdG8gdGhlIHRyaWdnZXIgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3lQb3BvdmVyQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgUnhKUyBgU3ViamVjdGAgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUgcG9wb3ZlciB0aGF0IHJlc3BlY3QgdGhlIGBTa3lQb3BvdmVyTWVzc2FnZWAgdHlwZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW0oXG4gICAgdmFsdWU6IFN1YmplY3Q8U2t5UG9wb3Zlck1lc3NhZ2U+IHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHRoaXMuI19za3lQb3BvdmVyTWVzc2FnZVN0cmVhbSA9IHZhbHVlID8/IG5ldyBTdWJqZWN0PFNreVBvcG92ZXJNZXNzYWdlPigpO1xuICAgIHRoaXMuI3N1YnNjcmliZU1lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lQb3BvdmVyTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW07XG4gIH1cblxuICAjX3NreVBvcG92ZXJNZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5UG9wb3Zlck1lc3NhZ2U+KCk7XG5cbiAgI21lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciBpbiByZWxhdGlvbiB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreVBvcG92ZXJQbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB1c2VyIGFjdGlvbiB0aGF0IGRpc3BsYXlzIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lQb3BvdmVyVHJpZ2dlcih2YWx1ZTogU2t5UG9wb3ZlclRyaWdnZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdHJpZ2dlciA9IHZhbHVlID8/ICdjbGljayc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNreVBvcG92ZXJUcmlnZ2VyKCk6IFNreVBvcG92ZXJUcmlnZ2VyIHtcbiAgICByZXR1cm4gdGhpcy4jX3RyaWdnZXI7XG4gIH1cblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19wb3BvdmVyOiBTa3lQb3BvdmVyQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gICNfdHJpZ2dlcjogU2t5UG9wb3ZlclRyaWdnZXIgPSAnY2xpY2snO1xuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNzdWJzY3JpYmVNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuI3Vuc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5UG9wb3Zlcj8uaXNBY3RpdmUpIHtcbiAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLk9wZW4pO1xuICB9XG5cbiAgI3Bvc2l0aW9uUG9wb3ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNreVBvcG92ZXI/LnBvc2l0aW9uTmV4dFRvKFxuICAgICAgdGhpcy4jZWxlbWVudFJlZixcbiAgICAgIHRoaXMuc2t5UG9wb3ZlclBsYWNlbWVudCxcbiAgICAgIHRoaXMuc2t5UG9wb3ZlckFsaWdubWVudFxuICAgICk7XG4gIH1cblxuICAjY2xvc2VQb3BvdmVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2t5UG9wb3Zlcj8uY2xvc2UoKTtcbiAgfVxuXG4gICNjbG9zZVBvcG92ZXJPck1hcmtGb3JDbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5za3lQb3BvdmVyPy5pc01vdXNlRW50ZXIpIHtcbiAgICAgIHRoaXMuc2t5UG9wb3Zlci5tYXJrRm9yQ2xvc2VPbk1vdXNlTGVhdmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICB9XG4gIH1cblxuICAjYWRkRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnNreVBvcG92ZXI/LmlzQWN0aXZlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXIuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lQb3BvdmVyTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgICAgY2FzZSAnYXJyb3dyaWdodCc6XG4gICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5Gb2N1cyk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2t5UG9wb3Zlcikge1xuICAgICAgICAgIHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXIpIHtcbiAgICAgICAgICB0aGlzLnNreVBvcG92ZXIuaXNNb3VzZUVudGVyID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5za3lQb3BvdmVyLmlzQWN0aXZlICYmXG4gICAgICAgICAgICB0aGlzLnNreVBvcG92ZXJUcmlnZ2VyID09PSAnbW91c2VlbnRlcidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreVBvcG92ZXJNZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChlbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2t5UG9wb3Zlcikge1xuICAgICAgICAgIHRoaXMuc2t5UG9wb3Zlci5pc01vdXNlRW50ZXIgPSBmYWxzZTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNreVBvcG92ZXIuaXNBY3RpdmUgJiZcbiAgICAgICAgICAgIHRoaXMuc2t5UG9wb3ZlclRyaWdnZXIgPT09ICdtb3VzZWVudGVyJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gR2l2ZSB0aGUgcG9wb3ZlciBhIGNoYW5jZSB0byBzZXQgaXRzIGlzTW91c2VFbnRlciBmbGFnIGJlZm9yZSBjaGVja2luZyB0byBzZWVcbiAgICAgICAgICAgIC8vIGlmIGl0IHNob3VsZCBiZSBjbG9zZWQuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy4jY2xvc2VQb3BvdmVyT3JNYXJrRm9yQ2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5UG9wb3Zlck1lc3NhZ2UpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lQb3BvdmVyTWVzc2FnZVR5cGUuT3BlbjpcbiAgICAgICAgdGhpcy4jcG9zaXRpb25Qb3BvdmVyKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVBvcG92ZXJNZXNzYWdlVHlwZS5DbG9zZTpcbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXI/LmlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLlJlcG9zaXRpb246XG4gICAgICAgIC8vIE9ubHkgcmVwb3NpdGlvbiB0aGUgcG9wb3ZlciBpZiBpdCBpcyBhbHJlYWR5IG9wZW4uXG4gICAgICAgIGlmICh0aGlzLnNreVBvcG92ZXI/LmlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy4jcG9zaXRpb25Qb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkZvY3VzOlxuICAgICAgICB0aGlzLnNreVBvcG92ZXI/LmFwcGx5Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgI3NlbmRNZXNzYWdlKG1lc3NhZ2VUeXBlOiBTa3lQb3BvdmVyTWVzc2FnZVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNreVBvcG92ZXJNZXNzYWdlU3RyZWFtLm5leHQoeyB0eXBlOiBtZXNzYWdlVHlwZSB9KTtcbiAgfVxuXG4gICNzdWJzY3JpYmVNZXNzYWdlU3RyZWFtKCk6IHZvaWQge1xuICAgIHRoaXMuI3Vuc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpO1xuXG4gICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHRoaXMuc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW0uc3Vic2NyaWJlKFxuICAgICAgKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgI3Vuc3Vic2NyaWJlTWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ComponentHarness, } from '@angular/cdk/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a popover body in tests.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyPopoverBodyHarness extends ComponentHarness {
|
|
7
|
+
/**
|
|
8
|
+
* Returns a child harness.
|
|
9
|
+
*/
|
|
10
|
+
async queryHarness(harness) {
|
|
11
|
+
return this.locatorForOptional(harness)();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns child harnesses.
|
|
15
|
+
*/
|
|
16
|
+
async queryHarnesses(harness) {
|
|
17
|
+
return this.locatorForAll(harness)();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns a child test element.
|
|
21
|
+
*/
|
|
22
|
+
async querySelector(selector) {
|
|
23
|
+
return this.locatorForOptional(selector)();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns child test elements.
|
|
27
|
+
*/
|
|
28
|
+
async querySelectorAll(selector) {
|
|
29
|
+
return this.locatorForAll(selector)();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets the text of the popover content body.
|
|
33
|
+
*/
|
|
34
|
+
async getText() {
|
|
35
|
+
return (await this.host()).text();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
SkyPopoverBodyHarness.hostSelector = '.sky-popover-body';
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvdGVzdGluZy9zcmMvcG9wb3Zlci9oYXJuZXNzL3BvcG92ZXItYm9keS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsR0FHakIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQWdCO0lBTXpEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVksQ0FDdkIsT0FBd0I7UUFFeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYyxDQUN6QixPQUF3QjtRQUV4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWdCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQWdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBMUNEOztHQUVHO0FBQ1csa0NBQVksR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudEhhcm5lc3MsXG4gIEhhcm5lc3NRdWVyeSxcbiAgVGVzdEVsZW1lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgcG9wb3ZlciBib2R5IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyQm9keUhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLnNreS1wb3BvdmVyLWJvZHknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY2hpbGQgaGFybmVzcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBxdWVyeUhhcm5lc3M8VCBleHRlbmRzIENvbXBvbmVudEhhcm5lc3M+KFxuICAgIGhhcm5lc3M6IEhhcm5lc3NRdWVyeTxUPlxuICApOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRvckZvck9wdGlvbmFsKGhhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjaGlsZCBoYXJuZXNzZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcXVlcnlIYXJuZXNzZXM8VCBleHRlbmRzIENvbXBvbmVudEhhcm5lc3M+KFxuICAgIGhhcm5lc3M6IEhhcm5lc3NRdWVyeTxUPlxuICApOiBQcm9taXNlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0b3JGb3JBbGwoaGFybmVzcykoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY2hpbGQgdGVzdCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3I6IHN0cmluZyk6IFByb21pc2U8VGVzdEVsZW1lbnQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRvckZvck9wdGlvbmFsKHNlbGVjdG9yKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY2hpbGQgdGVzdCBlbGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBxdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yOiBzdHJpbmcpOiBQcm9taXNlPFRlc3RFbGVtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdG9yRm9yQWxsKHNlbGVjdG9yKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgb2YgdGhlIHBvcG92ZXIgY29udGVudCBib2R5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9wb3BvdmVyL2hhcm5lc3MvcG9wb3Zlci1jb250ZW50LWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5Q29tcG9uZW50SGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFNreVBvcG92ZXJDb250ZW50SGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|