@smartbit4all/ng-client 4.2.52 → 4.2.53
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/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -2
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +19 -10
- package/esm2022/lib/smart-icon/smart-icon.module.mjs +5 -4
- package/esm2022/lib/smart-icon/smart-icon.service.mjs +20 -1
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -2
- package/esm2022/lib/view-context/api/model/badgeDescriptor.mjs +13 -0
- package/esm2022/lib/view-context/api/model/models.mjs +2 -1
- package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +18 -11
- package/esm2022/lib/view-context/projects.mjs +2 -1
- package/esm2022/lib/view-context/smart-ui-action/components/action-badge/action-badge.component.mjs +40 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/photo-capture-widget/photo-capture-widget.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/voice-record-widget/voice-record-widget.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +8 -5
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +11 -11
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +10 -4
- package/esm2022/lib/view-context/smart-view-context.module.mjs +8 -3
- package/fesm2022/smartbit4all-ng-client.mjs +514 -416
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-icon/smart-icon/smart-icon.component.d.ts +6 -2
- package/lib/smart-icon/smart-icon.module.d.ts +2 -1
- package/lib/smart-icon/smart-icon.service.d.ts +1 -0
- package/lib/view-context/api/model/badgeDescriptor.d.ts +15 -0
- package/lib/view-context/api/model/models.d.ts +1 -0
- package/lib/view-context/api/model/uiActionDescriptor.d.ts +2 -0
- package/lib/view-context/message-dialog/message-dialog.component.d.ts +7 -2
- package/lib/view-context/projects.d.ts +1 -0
- package/lib/view-context/smart-ui-action/components/action-badge/action-badge.component.d.ts +12 -0
- package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +2 -1
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +1 -0
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.d.ts +2 -0
- package/lib/view-context/smart-view-context.module.d.ts +45 -44
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.53.tgz +0 -0
- package/smartbit4all-ng-client-4.2.52.tgz +0 -0
|
@@ -5,7 +5,6 @@ import * as i1 from "primeng/dropdown";
|
|
|
5
5
|
const EQUALITY_METHOD_NAME = 'isOptionValueEqualsModelValue';
|
|
6
6
|
export class ComparableDropdownDirective {
|
|
7
7
|
set compareWith(fn) {
|
|
8
|
-
console.log('foo');
|
|
9
8
|
if (fn) {
|
|
10
9
|
this.dropdown[EQUALITY_METHOD_NAME] = (option) => {
|
|
11
10
|
return (fn(this.dropdown.modelValue(), this.dropdown.getOptionValue(option)) ||
|
|
@@ -33,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
33
32
|
}], ctorParameters: () => [{ type: i1.Dropdown }], propDecorators: { compareWith: [{
|
|
34
33
|
type: Input
|
|
35
34
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYWJsZS1kcm9wZG93bi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3dpZGdldHMvZGlyZWN0aXZlcy9jb21wYXJhYmxlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJNUMsTUFBTSxvQkFBb0IsR0FBRywrQkFBK0IsQ0FBQztBQU03RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLElBQWEsV0FBVyxDQUFDLEVBQXlCO1FBQ2hELElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxDQUNMLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNwRSxXQUFXLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FBQztZQUNKLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7K0dBeEIvQiwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4Qjs2RUFFYyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29tcGFyZUZuID0gKGE6IGFueSwgYjogYW55KSA9PiBib29sZWFuO1xyXG5cclxuY29uc3QgRVFVQUxJVFlfTUVUSE9EX05BTUUgPSAnaXNPcHRpb25WYWx1ZUVxdWFsc01vZGVsVmFsdWUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duJyxcclxuICBpbnB1dHM6IFsnY29tcGFyZVdpdGgnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgc2V0IGNvbXBhcmVXaXRoKGZuOiBDb21wYXJlRm4gfCB1bmRlZmluZWQpIHtcclxuICAgIGlmIChmbikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duW0VRVUFMSVRZX01FVEhPRF9OQU1FXSA9IChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBmbih0aGlzLmRyb3Bkb3duLm1vZGVsVmFsdWUoKSwgdGhpcy5kcm9wZG93bi5nZXRPcHRpb25WYWx1ZShvcHRpb24pKSB8fFxyXG4gICAgICAgICAgT2JqZWN0VXRpbHMuZXF1YWxzKFxyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm1vZGVsVmFsdWUoKSxcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5nZXRPcHRpb25WYWx1ZShvcHRpb24pLFxyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93bltFUVVBTElUWV9NRVRIT0RfTkFNRV0gPSAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXF1YWxzKFxyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bi5tb2RlbFZhbHVlKCksXHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duLmdldE9wdGlvblZhbHVlKG9wdGlvbiksXHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd24pIHt9XHJcbn1cclxuIl19
|
|
@@ -2,13 +2,15 @@ import { Component, Inject, Input, } from '@angular/core';
|
|
|
2
2
|
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../view-context/utility/componentLibrary';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../smart-icon.service";
|
|
5
|
-
import * as i2 from "@angular/
|
|
6
|
-
import * as i3 from "@angular/
|
|
7
|
-
import * as i4 from "
|
|
5
|
+
import * as i2 from "@angular/platform-browser";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
import * as i5 from "../../view-context/utility/componentLibrary";
|
|
8
9
|
export class SmartIconComponent {
|
|
9
|
-
constructor(service, changeDetector, compLib) {
|
|
10
|
+
constructor(service, changeDetector, sanitizer, compLib) {
|
|
10
11
|
this.service = service;
|
|
11
12
|
this.changeDetector = changeDetector;
|
|
13
|
+
this.sanitizer = sanitizer;
|
|
12
14
|
this.compLib = compLib;
|
|
13
15
|
this.isCustom = false;
|
|
14
16
|
this.componentLibrary = ComponentLibrary; // Expose the enum to the template
|
|
@@ -21,10 +23,17 @@ export class SmartIconComponent {
|
|
|
21
23
|
return 'pi pi-' + icon;
|
|
22
24
|
}
|
|
23
25
|
getStyle(iconcolor) {
|
|
24
|
-
return { color: iconcolor, display: 'flex' };
|
|
26
|
+
return { color: iconcolor, display: 'flex', fill: iconcolor };
|
|
25
27
|
}
|
|
26
28
|
async checkIcon() {
|
|
27
29
|
let fullyQualifiedIcon = await this.service.getFullyQualifiedIcon(this.iconWithoutNamespace);
|
|
30
|
+
const rawSvg = await this.service.getSvgFromIconRegistry(this.iconWithoutNamespace);
|
|
31
|
+
if (rawSvg) {
|
|
32
|
+
this.iconHtml = this.sanitizer.bypassSecurityTrustHtml(rawSvg);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.iconHtml = undefined;
|
|
36
|
+
}
|
|
28
37
|
if (fullyQualifiedIcon) {
|
|
29
38
|
this.isCustom = true;
|
|
30
39
|
this.icon = fullyQualifiedIcon;
|
|
@@ -35,13 +44,13 @@ export class SmartIconComponent {
|
|
|
35
44
|
}
|
|
36
45
|
this.changeDetector.markForCheck();
|
|
37
46
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconComponent, deps: [{ token: i1.SmartIconService }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartIconComponent, selector: "smart-icon", inputs: { iconWithoutNamespace: ["icon", "iconWithoutNamespace"], color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconComponent, deps: [{ token: i1.SmartIconService }, { token: i0.ChangeDetectorRef }, { token: i2.DomSanitizer }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartIconComponent, selector: "smart-icon", inputs: { iconWithoutNamespace: ["icon", "iconWithoutNamespace"], color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\r\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\r\n</i>\r\n}@else{\r\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\r\n\r\n} } @else { @if (isCustom) {\r\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\r\n} @else {\r\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\r\n} }\r\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
40
49
|
}
|
|
41
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconComponent, decorators: [{
|
|
42
51
|
type: Component,
|
|
43
|
-
args: [{ selector: 'smart-icon', template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<
|
|
44
|
-
}], ctorParameters: () => [{ type: i1.SmartIconService }, { type: i0.ChangeDetectorRef }, { type:
|
|
52
|
+
args: [{ selector: 'smart-icon', template: "@if(compLib === componentLibrary.PRIMENG) { @if (isCustom) {\r\n<i class=\"pi custom-prime-icon\" [ngStyle]=\"getStyle(color)\">\r\n <span *ngIf=\"iconHtml\" [innerHTML]=\"iconHtml\"></span>\r\n</i>\r\n}@else{\r\n<i [ngClass]=\"getIcon(icon)\" [ngStyle]=\"getStyle(color)\"> </i>\r\n\r\n} } @else { @if (isCustom) {\r\n<mat-icon [color]=\"color ?? 'primary'\" svgIcon=\"{{ icon }}\"></mat-icon>\r\n} @else {\r\n<mat-icon [color]=\"color ?? 'primary'\"> {{ icon }} </mat-icon>\r\n} }\r\n", styles: [".custom-prime-icon{height:1rem;width:auto}:host ::ng-deep .p-badge{background-color:var(--accent-color);color:#fff;font-size:.5rem;min-width:1rem;height:1rem;line-height:1rem}:host ::ng-deep .p-overlay-badge .p-badge{transform:translate(80%,-70%)}\n"] }]
|
|
53
|
+
}], ctorParameters: () => [{ type: i1.SmartIconService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i5.ComponentLibrary, decorators: [{
|
|
45
54
|
type: Inject,
|
|
46
55
|
args: [COMPONENT_LIBRARY]
|
|
47
56
|
}] }], propDecorators: { iconWithoutNamespace: [{
|
|
@@ -50,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
50
59
|
}], color: [{
|
|
51
60
|
type: Input
|
|
52
61
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24vc21hcnQtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7QUFRbEcsTUFBTSxPQUFPLGtCQUFrQjtJQVU3QixZQUNVLE9BQXlCLEVBQzFCLGNBQWlDLEVBQ2hDLFNBQXVCLEVBQ0csT0FBeUI7UUFIbkQsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDRyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVI3RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUMsa0NBQWtDO0lBT3BFLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFrQjtRQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU3RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBL0NVLGtCQUFrQiwrR0FjbkIsaUJBQWlCO21HQWRoQixrQkFBa0IsMkpDakIvQix5ZUFZQTs7NEZES2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVk7OzBCQWtCbkIsTUFBTTsyQkFBQyxpQkFBaUI7eUNBYlosb0JBQW9CO3NCQUFsQyxLQUFLO3VCQUFDLE1BQU07Z0JBQ0osS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtaWNvbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnaWNvbicpIGljb25XaXRob3V0TmFtZXNwYWNlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbG9yPzogc3RyaW5nO1xyXG5cclxuICBpY29uITogc3RyaW5nO1xyXG4gIGljb25IdG1sPzogU2FmZUh0bWw7XHJcbiAgaXNDdXN0b206IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7IC8vIEV4cG9zZSB0aGUgZW51bSB0byB0aGUgdGVtcGxhdGVcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFNtYXJ0SWNvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQ3VzdG9tID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoZWNrSWNvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdwaSBwaS0nICsgaWNvbjtcclxuICB9XHJcblxyXG4gIGdldFN0eWxlKGljb25jb2xvcj86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHsgY29sb3I6IGljb25jb2xvciwgZGlzcGxheTogJ2ZsZXgnLCBmaWxsOiBpY29uY29sb3IgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNoZWNrSWNvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBmdWxseVF1YWxpZmllZEljb24gPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0RnVsbHlRdWFsaWZpZWRJY29uKHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG5cclxuICAgIGNvbnN0IHJhd1N2ZyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRTdmdGcm9tSWNvblJlZ2lzdHJ5KHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG4gICAgaWYgKHJhd1N2Zykge1xyXG4gICAgICB0aGlzLmljb25IdG1sID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocmF3U3ZnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaWNvbkh0bWwgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoZnVsbHlRdWFsaWZpZWRJY29uKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b20gPSB0cnVlO1xyXG4gICAgICB0aGlzLmljb24gPSBmdWxseVF1YWxpZmllZEljb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuaWNvbldpdGhvdXROYW1lc3BhY2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7IEBpZiAoaXNDdXN0b20pIHtcclxuPGkgY2xhc3M9XCJwaSBjdXN0b20tcHJpbWUtaWNvblwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKGNvbG9yKVwiPlxyXG4gIDxzcGFuICpuZ0lmPVwiaWNvbkh0bWxcIiBbaW5uZXJIVE1MXT1cImljb25IdG1sXCI+PC9zcGFuPlxyXG48L2k+XHJcbn1AZWxzZXtcclxuPGkgW25nQ2xhc3NdPVwiZ2V0SWNvbihpY29uKVwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKGNvbG9yKVwiPiA8L2k+XHJcblxyXG59IH0gQGVsc2UgeyBAaWYgKGlzQ3VzdG9tKSB7XHJcbjxtYXQtaWNvbiBbY29sb3JdPVwiY29sb3IgPz8gJ3ByaW1hcnknXCIgc3ZnSWNvbj1cInt7IGljb24gfX1cIj48L21hdC1pY29uPlxyXG59IEBlbHNlIHtcclxuPG1hdC1pY29uIFtjb2xvcl09XCJjb2xvciA/PyAncHJpbWFyeSdcIj4ge3sgaWNvbiB9fSA8L21hdC1pY29uPlxyXG59IH1cclxuIl19
|
|
@@ -4,19 +4,20 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
4
4
|
import { BrowserModule } from '@angular/platform-browser';
|
|
5
5
|
import { SmartIconService } from './smart-icon.service';
|
|
6
6
|
import { SmartIconComponent } from './smart-icon/smart-icon.component';
|
|
7
|
+
import { BadgeModule } from 'primeng/badge';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class SmartIconModule {
|
|
9
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, declarations: [SmartIconComponent], imports: [BrowserModule, MatCommonModule, MatIconModule], exports: [SmartIconComponent] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, providers: [SmartIconService], imports: [BrowserModule, MatCommonModule, MatIconModule] }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, declarations: [SmartIconComponent], imports: [BrowserModule, MatCommonModule, MatIconModule, BadgeModule], exports: [SmartIconComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, providers: [SmartIconService], imports: [BrowserModule, MatCommonModule, MatIconModule, BadgeModule] }); }
|
|
12
13
|
}
|
|
13
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconModule, decorators: [{
|
|
14
15
|
type: NgModule,
|
|
15
16
|
args: [{
|
|
16
17
|
declarations: [SmartIconComponent],
|
|
17
|
-
imports: [BrowserModule, MatCommonModule, MatIconModule],
|
|
18
|
+
imports: [BrowserModule, MatCommonModule, MatIconModule, BadgeModule],
|
|
18
19
|
exports: [SmartIconComponent],
|
|
19
20
|
providers: [SmartIconService],
|
|
20
21
|
}]
|
|
21
22
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1pY29uL3NtYXJ0LWljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRNUMsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUxYLGtCQUFrQixhQUN2QixhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxXQUFXLGFBQzFELGtCQUFrQjtnSEFHakIsZUFBZSxhQUZmLENBQUMsZ0JBQWdCLENBQUMsWUFGbkIsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVzs7NEZBSXpELGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU21hcnRJY29uU2VydmljZSB9IGZyb20gJy4vc21hcnQtaWNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1pY29uL3NtYXJ0LWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2JhZGdlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRJY29uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgTWF0Q29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBCYWRnZU1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0SWNvbkNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbU21hcnRJY29uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEljb25Nb2R1bGUge31cclxuIl19
|
|
@@ -62,6 +62,25 @@ export class SmartIconService {
|
|
|
62
62
|
this.fullyQualifiedIconByIcon.set(iconWithoutNamespace, icon);
|
|
63
63
|
return icon;
|
|
64
64
|
}
|
|
65
|
+
async getSvgFromIconRegistry(iconWithoutNamespace) {
|
|
66
|
+
let qualified = await this.getFullyQualifiedIcon(iconWithoutNamespace);
|
|
67
|
+
if (!qualified)
|
|
68
|
+
return undefined;
|
|
69
|
+
let [namespace, name] = qualified.split(':');
|
|
70
|
+
try {
|
|
71
|
+
let svgElement = await this.matIconRegistry.getNamedSvgIcon(name, namespace).toPromise();
|
|
72
|
+
if (svgElement) {
|
|
73
|
+
return svgElement.outerHTML;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
console.error('Could not load SVG icon:', name, namespace, e);
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
65
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconService, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
85
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartIconService, providedIn: 'root' }); }
|
|
67
86
|
}
|
|
@@ -71,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
71
90
|
providedIn: 'root',
|
|
72
91
|
}]
|
|
73
92
|
}], ctorParameters: () => [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtaWNvbi9zbWFydC1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWEzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQW9CLGVBQWdDLEVBQVUsU0FBdUI7UUFBakUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUo3RSxXQUFNLEdBQUcsUUFBUSxDQUFDO1FBMENsQiw2QkFBd0IsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXRDVSxDQUFDO0lBRWxGLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxRQUFRLENBQUMsUUFBYTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNqRSxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxPQUFPO2dCQUNMLFdBQVc7Z0JBQ1gsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFO1lBQ3BE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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEljb25TZXQge1xyXG4gIGljb25TZXROYW1lOiBzdHJpbmc7XHJcbiAgaWNvblNldEVudW06IGFueTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0SWNvblNlcnZpY2Uge1xyXG4gIHByaXZhdGUgYXNzZXRzID0gJ2Fzc2V0cyc7XHJcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudEljb25TZXRzPzogYW55O1xyXG4gIHB1YmxpYyBzbWFydEljb25TZXRzPzogU21hcnRJY29uU2V0W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gIHB1YmxpYyBzZXRTb3VyY2VGb2xkZXIocGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFzc2V0cyA9IHBhdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaWNvblNldHMoaWNvblNldHM6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudEljb25TZXRzID0gaWNvblNldHM7XHJcbiAgICB0aGlzLnNldFVwSWNvbnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXBJY29ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRJY29uU2V0cyA9IHRoaXMuZW52aXJvbm1lbnRJY29uU2V0cy5tYXAoKGljb25TZXQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgaWNvblNldE5hbWUgPSBPYmplY3Qua2V5cyhpY29uU2V0KVswXTtcclxuICAgICAgbGV0IGljb25TZXRFbnVtID0gaWNvblNldFtpY29uU2V0TmFtZV07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWNvblNldEVudW0sXHJcbiAgICAgICAgaWNvblNldE5hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0SWNvblNldHMhLmZvckVhY2goKGljb25TZXQ6IFNtYXJ0SWNvblNldCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWQoaWNvblNldCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZChpY29uU2V0OiBTbWFydEljb25TZXQpOiB2b2lkIHtcclxuICAgIE9iamVjdC5rZXlzKGljb25TZXQuaWNvblNldEVudW0pLmZvckVhY2goKGljb246IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uSW5OYW1lc3BhY2UoXHJcbiAgICAgICAgaWNvblNldC5pY29uU2V0TmFtZSxcclxuICAgICAgICBpY29uLFxyXG4gICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgICAgIGAke3RoaXMuYXNzZXRzfS8ke2ljb25TZXQuaWNvblNldE5hbWV9LyR7aWNvblNldC5pY29uU2V0RW51bVtpY29uXX0uc3ZnYFxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmdWxseVF1YWxpZmllZEljb25CeUljb246IE1hcDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgZnVsbHkgcXVhbGlmaWVkIGljb24gbmFtZSB3aXRoIG5hbWVzcGFjZSBpZiBmb3VuZCBpbiBpY29uU2V0cywgb3RoZXJ3aXNlIHJldHVybnMgdW5kZWZpbmVkLlxyXG4gICAqIEBwYXJhbSBpY29uV2l0aG91dE5hbWVzcGFjZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgYXN5bmMgZ2V0RnVsbHlRdWFsaWZpZWRJY29uKGljb25XaXRob3V0TmFtZXNwYWNlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgaWYgKHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLmhhcyhpY29uV2l0aG91dE5hbWVzcGFjZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLmdldChpY29uV2l0aG91dE5hbWVzcGFjZSk7XHJcbiAgICB9XHJcbiAgICBsZXQgaWNvbiA9IHVuZGVmaW5lZDtcclxuICAgIGlmICh0aGlzLnNtYXJ0SWNvblNldHMpIHtcclxuICAgICAgZm9yIChsZXQgaWNvblNldCBvZiB0aGlzLnNtYXJ0SWNvblNldHMpIHtcclxuICAgICAgICBpZiAoIWljb24pIHtcclxuICAgICAgICAgIGxldCBuYW1lc3BhY2UgPSBpY29uU2V0Lmljb25TZXROYW1lO1xyXG4gICAgICAgICAgbGV0IHN2Z0ljb24gPSBhd2FpdCB0aGlzLm1hdEljb25SZWdpc3RyeVxyXG4gICAgICAgICAgICAuZ2V0TmFtZWRTdmdJY29uKGljb25XaXRob3V0TmFtZXNwYWNlLCBuYW1lc3BhY2UpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge30pO1xyXG4gICAgICAgICAgaWYgKHN2Z0ljb24pIHtcclxuICAgICAgICAgICAgaWNvbiA9IGAke25hbWVzcGFjZX06JHtpY29uV2l0aG91dE5hbWVzcGFjZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gaWYgaWNvbiBpcyB1bmRlZmluZWQgKG5vdCBmb3VuZCBpbiBpY29uc2V0KSwgd2UgaW5kaWNhdGUgaXQgaW4gbWFwLCBzbyB3ZSBkb24ndCBzZWFyY2ggZXZlcnkgdGltZS5cclxuICAgIHRoaXMuZnVsbHlRdWFsaWZpZWRJY29uQnlJY29uLnNldChpY29uV2l0aG91dE5hbWVzcGFjZSwgaWNvbik7XHJcbiAgICByZXR1cm4gaWNvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFN2Z0Zyb21JY29uUmVnaXN0cnkoaWNvbldpdGhvdXROYW1lc3BhY2U6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcXVhbGlmaWVkID0gYXdhaXQgdGhpcy5nZXRGdWxseVF1YWxpZmllZEljb24oaWNvbldpdGhvdXROYW1lc3BhY2UpO1xyXG4gICAgaWYgKCFxdWFsaWZpZWQpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgbGV0IFtuYW1lc3BhY2UsIG5hbWVdID0gcXVhbGlmaWVkLnNwbGl0KCc6Jyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHN2Z0VsZW1lbnQgPSBhd2FpdCB0aGlzLm1hdEljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24obmFtZSwgbmFtZXNwYWNlKS50b1Byb21pc2UoKTtcclxuXHJcbiAgICAgIGlmIChzdmdFbGVtZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHN2Z0VsZW1lbnQub3V0ZXJIVE1MO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IGxvYWQgU1ZHIGljb246JywgbmFtZSwgbmFtZXNwYWNlLCBlKTtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -37,7 +37,6 @@ function createLeafletMapItem(item, config) {
|
|
|
37
37
|
})),
|
|
38
38
|
]);
|
|
39
39
|
}
|
|
40
|
-
throw new Error('Foo!');
|
|
41
40
|
}
|
|
42
41
|
export class LeafletMap extends AbstractMap {
|
|
43
42
|
constructor(el, cd, zone) {
|
|
@@ -420,4 +419,4 @@ function getIcon(color) {
|
|
|
420
419
|
popupAnchor: [0, -size / 2],
|
|
421
420
|
});
|
|
422
421
|
}
|
|
423
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvaW1wbC9sZWFmbGV0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQWMsY0FBYyxFQUFrQixNQUFNLFFBQVEsQ0FBQzs7QUFZcEUsU0FBUyxvQkFBb0IsQ0FBQyxJQUFnQixFQUFFLE1BQTRCO0lBQzFFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN2QyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLGNBQWMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNqRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDNUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLO2dCQUN2QyxTQUFTLEVBQUUsTUFBTTthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkYsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxj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QUFHLFdBQVcsQ0FBQztJQUV0QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO0lBQzFCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDdkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUUsQ0FBQztJQUNyQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUVwQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRVgsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1osT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDM0IsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUN0QixVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7UUFDaEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztLQUM1QixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TWFwLCBSZWNvcmRXaXRoSWQgfSBmcm9tICcuLi9hYnN0cmFjdC1tYXAnO1xyXG5pbXBvcnQgeyBHZW9NYXBJdGVtLCBHZW9NYXBJdGVtS2luZCwgR2VvTWFwVmlld3BvcnQgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBDb29yZCwgTWFwSXRlbUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zbWFydC1tYXAudHlwZXMnO1xyXG5pbXBvcnQgeyBJIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuXHJcbmRlY2xhcmUgdmFyIEw6IGFueTtcclxuZGVjbGFyZSBjb25zdCBsZWFmbGV0SW1hZ2U6IGFueTtcclxuXHJcbmludGVyZmFjZSBMZWFmbGV0TWFwT3B0aW9ucyB7XHJcbiAgY2VudHJlOiBBcnJheTxudW1iZXI+O1xyXG4gIHpvb206IG51bWJlcjtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTGVhZmxldE1hcEl0ZW0oaXRlbTogR2VvTWFwSXRlbSwgY29uZmlnOiBNYXBJdGVtQ29uZmlndXJhdGlvbik6IGFueSB7XHJcbiAgbGV0IGNvbG9yID0gaXRlbS5jb2xvciA/PyBjb25maWcuY29sb3I7XHJcbiAgc3dpdGNoIChpdGVtLmtpbmQpIHtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuTUFSS0VSOlxyXG4gICAgICBsZXQgbWFya2VyID0gTC5tYXJrZXIoTC5sYXRMbmcoaXRlbS5wb3NpdGlvbiEubGF0aXR1ZGUsIGl0ZW0ucG9zaXRpb24hLmxvbmdpdHVkZSksIHtcclxuICAgICAgICBkcmFnZ2FibGU6IGNvbmZpZy5kcmFnZ2FibGUsXHJcbiAgICAgIH0pLmJpbmRUb29sdGlwKGl0ZW0ubGFiZWwsIHtcclxuICAgICAgICBwZXJtYW5lbnQ6IGl0ZW0ucGVybWFuZW50TGFiZWwgPz8gZmFsc2UsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnYXV0bycsXHJcbiAgICAgIH0pO1xyXG4gICAgICBtYXJrZXIub3JpZ2luYWxMYXRMbmcgPSBMLmxhdExuZyhpdGVtLnBvc2l0aW9uIS5sYXRpdHVkZSwgaXRlbS5wb3NpdGlvbiEubG9uZ2l0dWRlKTsgLy9cclxuICAgICAgcmV0dXJuIG1hcmtlcjtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuUE9MWUdPTjpcclxuICAgICAgY29uc3QgcG9seWdvblJvdXRlUG9pbnRzID0gaXRlbS5yb3V0ZSEucG9pbnRzO1xyXG4gICAgICByZXR1cm4gTC5sYXllckdyb3VwKFtcclxuICAgICAgICBMLnBvbHlnb24oXHJcbiAgICAgICAgICBwb2x5Z29uUm91dGVQb2ludHMubWFwKChwKSA9PiBbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdKSxcclxuICAgICAgICAgIHsgdGl0bGU6IGl0ZW0ubGFiZWwsIGNvbG9yOiBjb2xvciB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICAuLi5wb2x5Z29uUm91dGVQb2ludHMubWFwKChwKSA9PlxyXG4gICAgICAgICAgTC5tYXJrZXIoW3AubGF0aXR1ZGUsIHAubG9uZ2l0dWRlXSwge1xyXG4gICAgICAgICAgICB0aXRsZTogaXRlbS5sYWJlbCxcclxuICAgICAgICAgICAgbWFya2VyQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgICAgICBkcmFnZ2FibGU6IGNvbmZpZy5kcmFnZ2FibGUsXHJcbiAgICAgICAgICAgIGljb246IGdldEljb24oY29sb3IpLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApLFxyXG4gICAgICBdKTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuTElORTpcclxuICAgICAgY29uc3QgbGluZVJvdXRlUG9pbnRzID0gaXRlbS5yb3V0ZSEucG9pbnRzO1xyXG5cclxuICAgICAgcmV0dXJuIEwubGF5ZXJHcm91cChbXHJcbiAgICAgICAgTC5wb2x5bGluZShcclxuICAgICAgICAgIGxpbmVSb3V0ZVBvaW50cy5tYXAoKHApID0+IFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0pLFxyXG4gICAgICAgICAgeyB0aXRsZTogaXRlbS5sYWJlbCwgY29sb3I6IGNvbG9yIH1cclxuICAgICAgICApLFxyXG4gICAgICAgIC4uLmxpbmVSb3V0ZVBvaW50cy5tYXAoKHApID0+XHJcbiAgICAgICAgICBMLm1hcmtlcihbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdLCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBjb2xvcjogY29sb3IsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZTogY29uZmlnLmRyYWdnYWJsZSxcclxuICAgICAgICAgICAgaWNvbjogZ2V0SWNvbihjb2xvciksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICksXHJcbiAgICAgIF0pO1xyXG4gIH1cclxuICB0aHJvdyBuZXcgRXJyb3IoJ0ZvbyEnKTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsZWFmbGV0LW1hcCcsXHJcbiAgdGVtcGxhdGU6IGAgPGRpdiBpZD1cImxlYWZsZXRcIj48L2Rpdj5gLFxyXG4gIHN0eWxlczogYFxyXG4gICAgICAjbGVhZmxldCB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDcyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgOjpuZy1kZWVwIC5tYXJrZXItY291bnQge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzhkNDtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuNCk7XHJcbiAgICB9XHJcbiAgICAgOjpuZy1kZWVwIC5jdXN0b20tY2x1c3Rlci1pY29uIHtcclxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExlYWZsZXRNYXAgZXh0ZW5kcyBBYnN0cmFjdE1hcCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIG9yaWdpbmFsTGF0TG5nOiBhbnk7XHJcbiAgb2Zmc2V0RGlzdGFuY2UgPSAwLjAwMDA0O1xyXG4gIG1hcmtlcnM6IGFueSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHpvbmU6IE5nWm9uZSkge1xyXG4gICAgc3VwZXIoZWwsIGNkLCB6b25lLCBjcmVhdGVMZWFmbGV0TWFwSXRlbSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWFwICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jcmVhdGVMZWFmbGV0TWFwT3B0aW9ucygpO1xyXG4gICAgdGhpcy5tYXAgPSBMLm1hcCgnbGVhZmxldCcsIHsgcHJlZmVyQ2FudmFzOiB0cnVlIH0pLnNldFZpZXcob3B0aW9ucy5jZW50cmUsIG9wdGlvbnMuem9vbSk7XHJcbiAgICBMLnRpbGVMYXllcignaHR0cHM6Ly90aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHtcclxuICAgICAgbWF4Wm9vbTogMTksXHJcbiAgICAgIGF0dHJpYnV0aW9uOiAnJmNvcHk7IDxhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiPk9wZW5TdHJlZXRNYXA8L2E+JyxcclxuICAgIH0pLmFkZFRvKHRoaXMubWFwKTtcclxuXHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcclxuICAgIGNvbnN0IHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gaXRlbXMubWFwKChpdCkgPT4gKHtcclxuICAgICAgaWQ6IGl0LmlkISxcclxuICAgICAgcmVjb3JkOiBjcmVhdGVMZWFmbGV0TWFwSXRlbShpdCwgeyBjb2xvcjogJyMzMzg4ZmYnLCBkcmFnZ2FibGU6IGZhbHNlIH0pLFxyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5oYW5kbGVJdGVtQ2hhbmdlcyhbXSwgdG9BZGQpO1xyXG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsKCk7XHJcbiAgICBpZiAobW9kZWwudmlld1N0YXRlPy5maXRUb0luaXRpYWxJdGVtcykge1xyXG4gICAgICBjb25zdCBkYXRhc2V0Qm91bmRzID0gdGhpcy5maW5kRGF0YXNldEJvdW5kcygpO1xyXG4gICAgICBpZiAoZGF0YXNldEJvdW5kcykge1xyXG4gICAgICAgIGNvbnN0IHsgYSwgYiB9ID0gZGF0YXNldEJvdW5kcztcclxuICAgICAgICBjb25zdCBwbnRBID0gTC5sYXRMbmcoYS54LCBhLnkpO1xyXG4gICAgICAgIGNvbnN0IHBudEIgPSBMLmxhdExuZyhiLngsIGIueSk7XHJcbiAgICAgICAgY29uc3QgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMocG50QSwgcG50Qik7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5maXRCb3VuZHMoYm91bmRzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tYXAub24oJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9zID0gZXZlbnQubGF0bG5nO1xyXG4gICAgICAgIHRoaXMub25NYXBDbGljay5lbWl0KHtcclxuICAgICAgICAgIGNvb3JkaW5hdGVzOiB7XHJcbiAgICAgICAgICAgIGxhdGl0dWRlOiBwb3MubGF0IGFzIG51bWJlcixcclxuICAgICAgICAgICAgbG9uZ2l0dWRlOiBwb3MubG5nIGFzIG51bWJlcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1hcC5vbignbW92ZWVuZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy5nZXRWaWV3cG9ydCgpO1xyXG4gICAgICAgIHRoaXMub25NYXBEcmFnRW5kLmVtaXQoe1xyXG4gICAgICAgICAgdmlld3BvcnQsXHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1hcC5vbignem9vbWVuZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy5nZXRWaWV3cG9ydCgpO1xyXG4gICAgICAgIHRoaXMub25NYXBEcmFnRW5kLmVtaXQoe1xyXG4gICAgICAgICAgdmlld3BvcnQsXHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFZpZXdwb3J0KCk6IEdlb01hcFZpZXdwb3J0IHtcclxuICAgIGlmICghdGhpcy5tYXApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXAgaXMgbm90IHlldCBpbml0aWFsaXNlZCEnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgIGNvbnN0IHpvb21MZXZlbCA9IHRoaXMubWFwLmdldFpvb20oKSBhcyBudW1iZXI7XHJcbiAgICBjb25zdCBsZWFmbGV0Qm91bmRzID0gdGhpcy5tYXAuZ2V0Qm91bmRzKCk7XHJcbiAgICBjb25zdCB7IGxhdDogc3dMYXQsIGxuZzogc3dMbmcgfSA9IGxlYWZsZXRCb3VuZHMuZ2V0U291dGhXZXN0KCk7XHJcbiAgICBjb25zdCB7IGxhdDogbmVMYXQsIGxuZzogbmVMbmcgfSA9IGxlYWZsZXRCb3VuZHMuZ2V0Tm9ydGhFYXN0KCk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgbGF0aXR1ZGU6IGNlbnRlci5sYXQgYXMgbnVtYmVyLFxyXG4gICAgICAgIGxvbmdpdHVkZTogY2VudGVyLmxuZyBhcyBudW1iZXIsXHJcbiAgICAgIH0sXHJcbiAgICAgIHpvb21MZXZlbCxcclxuICAgICAgYm91bmRzOiBbXHJcbiAgICAgICAgeyBsYXRpdHVkZTogc3dMYXQsIGxvbmdpdHVkZTogc3dMbmcgfSxcclxuICAgICAgICB7IGxhdGl0dWRlOiBuZUxhdCwgbG9uZ2l0dWRlOiBuZUxuZyB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTGVhZmxldE1hcE9wdGlvbnMoKTogTGVhZmxldE1hcE9wdGlvbnMge1xyXG4gICAgY29uc3Qgdmlld3BvcnQ6IEdlb01hcFZpZXdwb3J0ID0gdGhpcy5tb2RlbCgpLnZpZXdwb3J0ITtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNlbnRyZTogW3ZpZXdwb3J0LmNlbnRlciEubGF0aXR1ZGUsIHZpZXdwb3J0LmNlbnRlciEubG9uZ2l0dWRlXSxcclxuICAgICAgem9vbTogdmlld3BvcnQuem9vbUxldmVsISxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBoYW5kbGVJdGVtQ2hhbmdlcyh0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiwgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tYXApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXJrZXJzID0gW107XHJcbiAgICBjb25zdCBtYXJrZXJHcm91cHM6IE1hcDxzdHJpbmcsIGFueVtdPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICB0b0FkZC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLnJlY29yZCBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XHJcbiAgICAgICAgY29uc3Qga2V5ID1cclxuICAgICAgICAgIGl0ZW0ucmVjb3JkLmdldExhdExuZygpLmxhdC50b0ZpeGVkKDYpICsgJywnICsgaXRlbS5yZWNvcmQuZ2V0TGF0TG5nKCkubG5nLnRvRml4ZWQoNik7XHJcbiAgICAgICAgaWYgKCFtYXJrZXJHcm91cHMuZ2V0KGtleSkpIHtcclxuICAgICAgICAgIG1hcmtlckdyb3Vwcy5zZXQoa2V5LCBbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmtlckdyb3Vwcy5nZXQoa2V5KSEucHVzaChpdGVtLnJlY29yZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRvUmVtb3ZlLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGl0LnJlY29yZC5yZW1vdmUoKTtcclxuICAgICAgdGhpcy5vdmVybGF5cy5kZWxldGUoaXQuaWQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdG9BZGQuZm9yRWFjaCgoaXQsIGluZGV4KSA9PiB7XHJcbiAgICAgIGxldCByZWNvcmQgPSBpdC5yZWNvcmQ7XHJcbiAgICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHtcclxuICAgICAgICBPYmplY3QudmFsdWVzKHJlY29yZC5fbGF5ZXJzKS5mb3JFYWNoKChhdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBhdC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm9uT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdC5pZCxcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgICAgICAgIG92ZXJsYXk6IGl0LnJlY29yZCxcclxuICAgICAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXQucmVjb3JkLm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbk92ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheTogaXQucmVjb3JkLFxyXG4gICAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBsZXQgZ3JvdXAgPSBtYXJrZXJHcm91cHMuZ2V0KFxyXG4gICAgICAgICAgaXQucmVjb3JkLmdldExhdExuZygpLmxhdC50b0ZpeGVkKDYpICsgJywnICsgaXQucmVjb3JkLmdldExhdExuZygpLmxuZy50b0ZpeGVkKDYpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoZ3JvdXAgJiYgZ3JvdXAubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuY3JlYXRlTnVtYmVyZWRJY29uKGdyb3VwLmxlbmd0aCk7XHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuY3JlYXRlTGFiZWwoZ3JvdXApO1xyXG4gICAgICAgICAgY29uc3QgZXh0cmFNYXJrZXIgPSBMLm1hcmtlcihncm91cFswXS5vcmlnaW5hbExhdExuZywgeyBpY29uIH0pO1xyXG5cclxuICAgICAgICAgIGlmICghZXh0cmFNYXJrZXIuX3Rvb2x0aXApIHtcclxuICAgICAgICAgICAgZXh0cmFNYXJrZXIuYmluZFRvb2x0aXAobGFiZWwsIHtcclxuICAgICAgICAgICAgICBwZXJtYW5lbnQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbjogJ2F1dG8nLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5tYXJrZXJzLnB1c2goZXh0cmFNYXJrZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgY2x1c3Rlck1hcmtlciA9IGV4dHJhTWFya2VyLmFkZFRvKHRoaXMubWFwKTtcclxuICAgICAgICAgIGl0LnJlY29yZC5vbignbW91c2VvdmVyJywgKF9ldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRvQWRkLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgaXRlbS5yZWNvcmQgaW5zdGFuY2VvZiBMLk1hcmtlciAmJlxyXG4gICAgICAgICAgICAgICAgaXRlbS5yZWNvcmQub3JpZ2luYWxMYXRMbmcubGF0ID09IGl0LnJlY29yZC5vcmlnaW5hbExhdExuZy5sYXQgJiZcclxuICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkLm9yaWdpbmFsTGF0TG5nLmxuZyA9PSBpdC5yZWNvcmQub3JpZ2luYWxMYXRMbmcubG5nXHJcbiAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICBpdC5yZWNvcmQuc2V0WkluZGV4T2Zmc2V0KDEwMDApO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYW5nbGUgPSAoKDM2MCAvIHRvQWRkLmxlbmd0aCkgKiBpbmRleCAqIE1hdGguUEkpIC8gMTgwO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3TGF0ID1cclxuICAgICAgICAgICAgICAgICAgaXRlbS5yZWNvcmQub3JpZ2luYWxMYXRMbmcubGF0ICsgdGhpcy5vZmZzZXREaXN0YW5jZSAqIE1hdGguY29zKGFuZ2xlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xuZyA9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkLm9yaWdpbmFsTGF0TG5nLmxuZyArIHRoaXMub2Zmc2V0RGlzdGFuY2UgKiBNYXRoLnNpbihhbmdsZSk7XHJcbiAgICAgICAgICAgICAgICBpdGVtLnJlY29yZC5zZXRMYXRMbmcoW25ld0xhdCwgbmV3TG5nXSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKHRoaXMubWFwLmhhc0xheWVyKGNsdXN0ZXJNYXJrZXIpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoY2x1c3Rlck1hcmtlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaXQucmVjb3JkLm9uKCdtb3VzZW91dCcsIChfZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0b0FkZC5mb3JFYWNoKChpdGVtLCBfaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbS5yZWNvcmQgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xyXG4gICAgICAgICAgICAgICAgaXRlbS5yZWNvcmQuc2V0TGF0TG5nKGl0ZW0ucmVjb3JkLm9yaWdpbmFsTGF0TG5nKTtcclxuICAgICAgICAgICAgICAgIGl0LnJlY29yZC5zZXRaSW5kZXhPZmZzZXQoMCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm1hcC5oYXNMYXllcihjbHVzdGVyTWFya2VyKSkge1xyXG4gICAgICAgICAgICAgIGNsdXN0ZXJNYXJrZXIuYWRkVG8odGhpcy5tYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tYXJrZXJzLnB1c2goaXQucmVjb3JkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaXQucmVjb3JkLmFkZFRvKHRoaXMubWFwKTtcclxuICAgICAgdGhpcy5vdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgaGFuZGxlRWRpdGluZ0l0ZW1DaGFuZ2VzKFxyXG4gICAgdG9SZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4sXHJcbiAgICB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPlxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdG9SZW1vdmUuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgaXQucmVjb3JkLnJlbW92ZSgpO1xyXG4gICAgICB0aGlzLmVkaXRpbmdPdmVybGF5cy5kZWxldGUoaXQuaWQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdG9BZGQuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgbGV0IHJlY29yZCA9IGl0LnJlY29yZDtcclxuICAgICAgaWYgKHJlY29yZCBpbnN0YW5jZW9mIEwuTGF5ZXJHcm91cCkge1xyXG4gICAgICAgIE9iamVjdC52YWx1ZXMocmVjb3JkLl9sYXllcnMpLmZvckVhY2goKGF0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGF0Lm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdC5pZCxcclxuICAgICAgICAgICAgICAgIGNvb3JkOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IGV2ZW50LmxhdGxuZy5sbmcsXHJcbiAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LmxhdGxuZy5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYXQub24oJ2RyYWdzdGFydCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxMYXRMbmcgPSBldmVudC50YXJnZXQuZ2V0TGF0TG5nKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGF0Lm9uKCdkcmFnZW5kJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkVkaXRpbmdPdmVybGF5RHJhZy5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IHRoaXMub3JpZ2luYWxMYXRMbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgICB5OiB0aGlzLm9yaWdpbmFsTGF0TG5nLmxhdCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkcmFnVG86IHtcclxuICAgICAgICAgICAgICAgICAgeDogZXZlbnQudGFyZ2V0LmdldExhdExuZygpLmxuZyxcclxuICAgICAgICAgICAgICAgICAgeTogZXZlbnQudGFyZ2V0LmdldExhdExuZygpLmxhdCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTGF0TG5nID0gbnVsbDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0LnJlY29yZC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgY29vcmQ6IHtcclxuICAgICAgICAgICAgICAgIHg6IGV2ZW50LmxhdGxuZy5sbmcsXHJcbiAgICAgICAgICAgICAgICB5OiBldmVudC5sYXRsbmcubGF0LFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0LnJlY29yZC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICAgIHRoaXMuZWRpdGluZ092ZXJsYXlzLnNldChpdC5pZCwgaXQucmVjb3JkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRGF0YXNldEJvdW5kcygpOiB7IGE6IENvb3JkOyBiOiBDb29yZCB9IHwgbnVsbCB7XHJcbiAgICBjb25zdCBpdGVtczogQXJyYXk8Q29vcmQ+ID0gdGhpcy5pdGVtcygpXHJcbiAgICAgIC5mbGF0TWFwKChpdCkgPT4gKGl0LnBvc2l0aW9uID8gW2l0LnBvc2l0aW9uXSA6IGl0LnJvdXRlID8gaXQucm91dGUucG9pbnRzIDogW10pKVxyXG4gICAgICAubWFwKChpdCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7IHg6IGl0LmxhdGl0dWRlLCB5OiBpdC5sb25naXR1ZGUgfTtcclxuICAgICAgfSk7XHJcbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc291dGh3ZXN0OiBDb29yZCA9IHsgeDogaXRlbXNbMF0ueCwgeTogaXRlbXNbMF0ueSB9O1xyXG4gICAgbGV0IG5vcnRoZWFzdDogQ29vcmQgPSB7IHg6IGl0ZW1zWzBdLngsIHk6IGl0ZW1zWzBdLnkgfTtcclxuXHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdCkgPT4ge1xyXG4gICAgICBpZiAoaXQueCA8IHNvdXRod2VzdC54KSBzb3V0aHdlc3QueCA9IGl0Lng7XHJcbiAgICAgIGlmIChpdC55IDwgc291dGh3ZXN0LnkpIHNvdXRod2VzdC55ID0gaXQueTtcclxuXHJcbiAgICAgIGlmIChpdC54ID4gbm9ydGhlYXN0LngpIG5vcnRoZWFzdC54ID0gaXQueDtcclxuICAgICAgaWYgKGl0LnkgPiBub3J0aGVhc3QueSkgbm9ydGhlYXN0LnkgPSBpdC55O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHsgYTogc291dGh3ZXN0LCBiOiBub3J0aGVhc3QgfTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHRvQmFzZTY0KCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBsZWFmbGV0SW1hZ2UodGhpcy5tYXAsIChlcnI6IGFueSwgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdMZWFmbGV0IGltYWdlIGNhcHR1cmUgZXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgICAgaWYgKCFjdHgpIHtcclxuICAgICAgICAgICAgcmVqZWN0KCdObyBjb250ZXh0Jyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm1hcmtlcnMuZm9yRWFjaCgobWFya2VyOiB7IGdldFRvb2x0aXA6ICgpID0+IGFueTsgZ2V0TGF0TG5nOiAoKSA9PiBhbnkgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0b29sdGlwID0gbWFya2VyLmdldFRvb2x0aXAoKTtcclxuICAgICAgICAgICAgaWYgKCF0b29sdGlwKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGxhdExuZyA9IG1hcmtlci5nZXRMYXRMbmcoKTtcclxuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB0aGlzLm1hcC5sYXRMbmdUb0NvbnRhaW5lclBvaW50KGxhdExuZyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRleHQgPSB0b29sdGlwLmdldENvbnRlbnQoKTtcclxuXHJcbiAgICAgICAgICAgIC8vIFRvb2x0aXAgc3rDtnZlZyBtZWdqZWxlbsOtdMOpc2VcclxuICAgICAgICAgICAgY3R4LmZvbnQgPSAnYm9sZCAzMHB4IHNhbnMtc2VyaWYnO1xyXG4gICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gJ2JsYWNrJztcclxuICAgICAgICAgICAgY3R4LnN0cm9rZVN0eWxlID0gJ3doaXRlJztcclxuICAgICAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDQ7XHJcbiAgICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgICAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICdib3R0b20nO1xyXG4gICAgICAgICAgICBjdHguc3Ryb2tlVGV4dCh0ZXh0LCBwb2ludC54LCBwb2ludC55ICsgMTApOyAvLyBmZWjDqXIga29udMO6clxyXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodGV4dCwgcG9pbnQueCwgcG9pbnQueSArIDEwKTsgLy8gZmVrZXRlIHN6w7Z2ZWdcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHJlc29sdmUoY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAzMDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVMYWJlbChncm91cDogYW55W10pIHtcclxuICAgIGxldCBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgICBncm91cC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGxhYmVsICs9IGl0ZW0uX3Rvb2x0aXAuX2NvbnRlbnQgKyAnLCAnO1xyXG4gICAgICBpdGVtLl90b29sdGlwLnBlcm1hbmVudCA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbGFiZWw7XHJcbiAgfVxyXG4gIGNyZWF0ZU51bWJlcmVkSWNvbihudW1iZXI6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc2l6ZSA9IDM1O1xyXG4gICAgY29uc3Qgc2NhbGVGYWN0b3IgPSAxNTtcclxuICAgIGNvbnN0IHNjYWxlZFNpemUgPSBzaXplICogc2NhbGVGYWN0b3I7XHJcblxyXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICBjYW52YXMud2lkdGggPSBzY2FsZWRTaXplO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IHNjYWxlZFNpemU7XHJcbiAgICBjYW52YXMuc3R5bGUud2lkdGggPSBjYW52YXMuc3R5bGUuaGVpZ2h0ID0gJzM1cHgnO1xyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykhO1xyXG4gICAgY3R4LnNjYWxlKHNjYWxlRmFjdG9yLCBzY2FsZUZhY3Rvcik7XHJcblxyXG4gICAgY3R4LmJlZ2luUGF0aCgpO1xyXG4gICAgY3R4LmFyYyhzaXplIC8gMiwgc2l6ZSAvIDIsIHNpemUgLyAyIC0gMiwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTtcclxuICAgIGN0eC5maWxsU3R5bGUgPSAnIzAwNzhkNCc7XHJcbiAgICBjdHguZmlsbCgpO1xyXG4gICAgY3R4LmxpbmVXaWR0aCA9IDI7XHJcbiAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2ZmZmZmZic7XHJcbiAgICBjdHguc3Ryb2tlKCk7XHJcblxyXG4gICAgY3R4LmZpbGxTdHlsZSA9ICcjZmZmZmZmJztcclxuICAgIGN0eC5mb250ID0gJ2JvbGQgMTZweCBzYW5zLXNlcmlmJztcclxuICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuICAgIGN0eC5maWxsVGV4dChudW1iZXIudG9TdHJpbmcoKSwgc2l6ZSAvIDIsIHNpemUgLyAyKTtcclxuXHJcbiAgICByZXR1cm4gTC5pY29uKHtcclxuICAgICAgaWNvblVybDogY2FudmFzLnRvRGF0YVVSTCgpLFxyXG4gICAgICBpY29uU2l6ZTogW3NpemUsIHNpemVdLFxyXG4gICAgICBpY29uQW5jaG9yOiBbc2l6ZSAvIDIsIHNpemUgLyAyXSxcclxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtc2l6ZSAvIDJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbmZ1bmN0aW9uIGdldEljb24oY29sb3I6IHN0cmluZykge1xyXG4gIGNvbnN0IHNpemUgPSAxMjtcclxuICBjb25zdCBzY2FsZUZhY3RvciA9IDEyO1xyXG4gIGNvbnN0IHNjYWxlZFNpemUgPSBzaXplICogc2NhbGVGYWN0b3I7XHJcblxyXG4gIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gIGNhbnZhcy53aWR0aCA9IHNjYWxlZFNpemU7XHJcbiAgY2FudmFzLmhlaWdodCA9IHNjYWxlZFNpemU7XHJcbiAgY2FudmFzLnN0eWxlLndpZHRoID0gY2FudmFzLnN0eWxlLmhlaWdodCA9IGAke3NpemV9cHhgO1xyXG4gIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICBjdHguc2NhbGUoc2NhbGVGYWN0b3IsIHNjYWxlRmFjdG9yKTtcclxuXHJcbiAgY3R4LmJlZ2luUGF0aCgpO1xyXG4gIGN0eC5hcmMoc2l6ZSAvIDIsIHNpemUgLyAyLCBzaXplIC8gMiwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTtcclxuICBjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcbiAgY3R4LmZpbGwoKTtcclxuXHJcbiAgcmV0dXJuIEwuaWNvbih7XHJcbiAgICBpY29uVXJsOiBjYW52YXMudG9EYXRhVVJMKCksXHJcbiAgICBpY29uU2l6ZTogW3NpemUsIHNpemVdLFxyXG4gICAgaWNvbkFuY2hvcjogW3NpemUgLyAyLCBzaXplIC8gMl0sXHJcbiAgICBwb3B1cEFuY2hvcjogWzAsIC1zaXplIC8gMl0sXHJcbiAgfSk7XHJcbn1cclxuIl19
|
|
422
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvaW1wbC9sZWFmbGV0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQWMsY0FBYyxFQUFrQixNQUFNLFFBQVEsQ0FBQzs7QUFZcEUsU0FBUyxvQkFBb0IsQ0FBQyxJQUFnQixFQUFFLE1BQTRCO0lBQzFFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN2QyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLGNBQWMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNqRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDNUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLO2dCQUN2QyxTQUFTLEVBQUUsTUFBTTthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkYsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxjQUFjLENBQUMsT0FBTztZQUN6QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLE9BQU8sQ0FDUCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEQsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQ3BDO2dCQUNELEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLFdBQVcsRUFBRSxLQUFLO29CQUNsQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQzNCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO2lCQUNyQixDQUFDLENBQ0g7YUFDRixDQUFDLENBQUM7UUFDTCxLQUFLLGNBQWMsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDO1lBRTNDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FDUixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ3JELEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUNwQztnQkFDRCxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsS0FBSyxFQUFFLEtBQUs7b0JBQ1osU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztpQkFDckIsQ0FBQyxDQUNIO2FBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNILENBQUM7QUF5QkQsTUFBTSxPQUFPLFVBQVcsU0FBUSxXQUFXO0lBSXpDLFlBQVksRUFBYyxFQUFFLEVBQXFCLEVBQUUsSUFBWTtRQUM3RCxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUg1QyxtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUN6QixZQUFPLEdBQVEsRUFBRSxDQUFDO0lBR2xCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFGLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0RBQWdELEVBQUU7WUFDNUQsT0FBTyxFQUFFLEVBQUU7WUFDWCxXQUFXLEVBQUUsMkVBQTJFO1NBQ3pGLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBd0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwRCxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUc7WUFDVixNQUFNLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDekUsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNuQixXQUFXLEVBQUU7d0JBQ1gsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFhO3dCQUMzQixTQUFTLEVBQUUsR0FBRyxDQUFDLEdBQWE7cUJBQzdCO29CQUNELGFBQWEsRUFBRSxLQUFLO2lCQUNyQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO29CQUNyQixRQUFRO29CQUNSLGFBQWEsRUFBRSxLQUFLO2lCQUNyQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO29CQUNyQixRQUFRO29CQUNSLGFBQWEsRUFBRSxLQUFLO2lCQUNyQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFZLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEUsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQWE7Z0JBQzlCLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBYTthQUNoQztZQUNELFNBQVM7WUFDVCxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7Z0JBQ3JDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO2FBQ3RDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxRQUFRLEdBQW1CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFTLENBQUM7UUFDeEQsT0FBTztZQUNMLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxRQUFRLENBQUMsU0FBVTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVRLGlCQUFpQixDQUFDLFFBQTZCLEVBQUUsS0FBMEI7UUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4RixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUMzQixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxZQUFZLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7b0JBQ2hELEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0NBQ3ZCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtnQ0FDYixhQUFhLEVBQUU7b0NBQ2IsYUFBYSxFQUFFLEtBQUs7b0NBQ3BCLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTTtvQ0FDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2lDQUNkOzZCQUNGLENBQUMsQ0FBQzt3QkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQzs0QkFDdkIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFOzRCQUNiLGFBQWEsRUFBRTtnQ0FDYixhQUFhLEVBQUUsS0FBSztnQ0FDcEIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxNQUFNO2dDQUNsQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NkJBQ2Q7eUJBQ0YsQ0FBQyxDQUFDO29CQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQzFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNsRixDQUFDO2dCQUNGLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBRWhFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBQzFCLFdBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFOzRCQUM3QixTQUFTLEVBQUUsS0FBSzs0QkFDaEIsU0FBUyxFQUFFLE1BQU07eUJBQ2xCLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDakMsQ0FBQztvQkFDRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUU7d0JBQ3hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7NEJBQzVCLElBQ0UsSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUMsTUFBTTtnQ0FDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUc7Z0NBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQzlELENBQUM7Z0NBQ0QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0NBQ2hDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO2dDQUM3RCxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dDQUN6RSxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dDQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDOzRCQUMxQyxDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNILElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQzs0QkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3RDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUU7d0JBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUU7NEJBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0NBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7Z0NBQ2xELEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUMvQixDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDOzRCQUN0QyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDaEMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztZQUNELEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDUSx3QkFBd0IsQ0FDL0IsUUFBNkIsRUFDN0IsS0FBMEI7UUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ25CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDdkIsSUFBSSxNQUFNLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtvQkFDaEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTt3QkFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFOzRCQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDO2dDQUM5QixNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0NBQ2IsS0FBSyxFQUFFO29DQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7b0NBQ25CLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7aUNBQ3BCOzZCQUNGLENBQUMsQ0FBQzt3QkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDSCxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO3dCQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2pELENBQUMsQ0FBQyxDQUFDO29CQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztnQ0FDN0IsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dDQUNiLGFBQWEsRUFBRTtvQ0FDYixDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHO29DQUMxQixDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHO2lDQUMzQjtnQ0FDRCxNQUFNLEVBQUU7b0NBQ04sQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRztvQ0FDL0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRztpQ0FDaEM7NkJBQ0YsQ0FBQyxDQUFDO3dCQUNMLENBQUMsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO29CQUM3QixDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDOzRCQUM5QixNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7NEJBQ2IsS0FBSyxFQUFFO2dDQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0NBQ25CLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7NkJBQ3BCO3lCQUNGLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sS0FBSyxHQUFpQixJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ3JDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELElBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7Z0JBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTNDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRVEsUUFBUTtRQUNmLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQVEsRUFBRSxNQUF5QixFQUFFLEVBQUU7b0JBQzdELElBQUksR0FBRyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDbEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNaLE9BQU87b0JBQ1QsQ0FBQztvQkFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ1QsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNyQixPQUFPO29CQUNULENBQUM7b0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUF1RCxFQUFFLEVBQUU7d0JBQy9FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNiLE9BQU87d0JBQ1QsQ0FBQzt3QkFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3RELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFFbEMsK0JBQStCO3dCQUMvQixHQUFHLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO3dCQUNsQyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQzt3QkFDeEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7d0JBQzFCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO3dCQUNsQixHQUFHLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQzt3QkFDekIsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7d0JBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWU7d0JBQzVELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtvQkFDN0QsQ0FBQyxDQUFDLENBQUM7b0JBRUgsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDekMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsTUFBYztRQUMvQixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxXQUFXLENBQUM7UUFFdEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUMxQixNQUFNLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUNyQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVwQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUViLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7UUFDbEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDekIsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFDNUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFcEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1osT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDM0IsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN0QixVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7WUFDaEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJZVSxVQUFVO21HQUFWLFVBQVUsMEVBckJYLDJCQUEyQjs7NEZBcUIxQixVQUFVO2tCQXZCdEIsU0FBUzsrQkFDRSxhQUFhLFlBQ2IsMkJBQTJCOztBQTRadkMsU0FBUyxPQUFPLENBQUMsS0FBYTtJQUM1QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxXQUFXLENBQUM7SUFFdEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztJQUMxQixNQUFNLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3ZELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUM7SUFDckMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFcEMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELEdBQUcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNaLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQzNCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7S0FDNUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE1hcCwgUmVjb3JkV2l0aElkIH0gZnJvbSAnLi4vYWJzdHJhY3QtbWFwJztcclxuaW1wb3J0IHsgR2VvTWFwSXRlbSwgR2VvTWFwSXRlbUtpbmQsIEdlb01hcFZpZXdwb3J0IH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQ29vcmQsIE1hcEl0ZW1Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vc21hcnQtbWFwLnR5cGVzJztcclxuaW1wb3J0IHsgSSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcblxyXG5kZWNsYXJlIHZhciBMOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgbGVhZmxldEltYWdlOiBhbnk7XHJcblxyXG5pbnRlcmZhY2UgTGVhZmxldE1hcE9wdGlvbnMge1xyXG4gIGNlbnRyZTogQXJyYXk8bnVtYmVyPjtcclxuICB6b29tOiBudW1iZXI7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUxlYWZsZXRNYXBJdGVtKGl0ZW06IEdlb01hcEl0ZW0sIGNvbmZpZzogTWFwSXRlbUNvbmZpZ3VyYXRpb24pOiBhbnkge1xyXG4gIGxldCBjb2xvciA9IGl0ZW0uY29sb3IgPz8gY29uZmlnLmNvbG9yO1xyXG4gIHN3aXRjaCAoaXRlbS5raW5kKSB7XHJcbiAgICBjYXNlIEdlb01hcEl0ZW1LaW5kLk1BUktFUjpcclxuICAgICAgbGV0IG1hcmtlciA9IEwubWFya2VyKEwubGF0TG5nKGl0ZW0ucG9zaXRpb24hLmxhdGl0dWRlLCBpdGVtLnBvc2l0aW9uIS5sb25naXR1ZGUpLCB7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiBjb25maWcuZHJhZ2dhYmxlLFxyXG4gICAgICB9KS5iaW5kVG9vbHRpcChpdGVtLmxhYmVsLCB7XHJcbiAgICAgICAgcGVybWFuZW50OiBpdGVtLnBlcm1hbmVudExhYmVsID8/IGZhbHNlLFxyXG4gICAgICAgIGRpcmVjdGlvbjogJ2F1dG8nLFxyXG4gICAgICB9KTtcclxuICAgICAgbWFya2VyLm9yaWdpbmFsTGF0TG5nID0gTC5sYXRMbmcoaXRlbS5wb3NpdGlvbiEubGF0aXR1ZGUsIGl0ZW0ucG9zaXRpb24hLmxvbmdpdHVkZSk7IC8vXHJcbiAgICAgIHJldHVybiBtYXJrZXI7XHJcbiAgICBjYXNlIEdlb01hcEl0ZW1LaW5kLlBPTFlHT046XHJcbiAgICAgIGNvbnN0IHBvbHlnb25Sb3V0ZVBvaW50cyA9IGl0ZW0ucm91dGUhLnBvaW50cztcclxuICAgICAgcmV0dXJuIEwubGF5ZXJHcm91cChbXHJcbiAgICAgICAgTC5wb2x5Z29uKFxyXG4gICAgICAgICAgcG9seWdvblJvdXRlUG9pbnRzLm1hcCgocCkgPT4gW3AubGF0aXR1ZGUsIHAubG9uZ2l0dWRlXSksXHJcbiAgICAgICAgICB7IHRpdGxlOiBpdGVtLmxhYmVsLCBjb2xvcjogY29sb3IgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgLi4ucG9seWdvblJvdXRlUG9pbnRzLm1hcCgocCkgPT5cclxuICAgICAgICAgIEwubWFya2VyKFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgIG1hcmtlckNvbG9yOiBjb2xvcixcclxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBjb25maWcuZHJhZ2dhYmxlLFxyXG4gICAgICAgICAgICBpY29uOiBnZXRJY29uKGNvbG9yKSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgXSk7XHJcbiAgICBjYXNlIEdlb01hcEl0ZW1LaW5kLkxJTkU6XHJcbiAgICAgIGNvbnN0IGxpbmVSb3V0ZVBvaW50cyA9IGl0ZW0ucm91dGUhLnBvaW50cztcclxuXHJcbiAgICAgIHJldHVybiBMLmxheWVyR3JvdXAoW1xyXG4gICAgICAgIEwucG9seWxpbmUoXHJcbiAgICAgICAgICBsaW5lUm91dGVQb2ludHMubWFwKChwKSA9PiBbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdKSxcclxuICAgICAgICAgIHsgdGl0bGU6IGl0ZW0ubGFiZWwsIGNvbG9yOiBjb2xvciB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICAuLi5saW5lUm91dGVQb2ludHMubWFwKChwKSA9PlxyXG4gICAgICAgICAgTC5tYXJrZXIoW3AubGF0aXR1ZGUsIHAubG9uZ2l0dWRlXSwge1xyXG4gICAgICAgICAgICB0aXRsZTogaXRlbS5sYWJlbCxcclxuICAgICAgICAgICAgY29sb3I6IGNvbG9yLFxyXG4gICAgICAgICAgICBkcmFnZ2FibGU6IGNvbmZpZy5kcmFnZ2FibGUsXHJcbiAgICAgICAgICAgIGljb246IGdldEljb24oY29sb3IpLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApLFxyXG4gICAgICBdKTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGVhZmxldC1tYXAnLFxyXG4gIHRlbXBsYXRlOiBgIDxkaXYgaWQ9XCJsZWFmbGV0XCI+PC9kaXY+YCxcclxuICBzdHlsZXM6IGBcclxuICAgICAgI2xlYWZsZXQge1xyXG4gICAgICAgICAgaGVpZ2h0OiA3MjBweDtcclxuICAgICAgfVxyXG4gICAgIDo6bmctZGVlcCAubWFya2VyLWNvdW50IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc4ZDQ7XHJcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjQpO1xyXG4gICAgfVxyXG4gICAgIDo6bmctZGVlcCAuY3VzdG9tLWNsdXN0ZXItaWNvbiB7XHJcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfWAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMZWFmbGV0TWFwIGV4dGVuZHMgQWJzdHJhY3RNYXAgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcclxuICBvcmlnaW5hbExhdExuZzogYW55O1xyXG4gIG9mZnNldERpc3RhbmNlID0gMC4wMDAwNDtcclxuICBtYXJrZXJzOiBhbnkgPSBbXTtcclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmLCB6b25lOiBOZ1pvbmUpIHtcclxuICAgIHN1cGVyKGVsLCBjZCwgem9uZSwgY3JlYXRlTGVhZmxldE1hcEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlTGVhZmxldE1hcE9wdGlvbnMoKTtcclxuICAgIHRoaXMubWFwID0gTC5tYXAoJ2xlYWZsZXQnLCB7IHByZWZlckNhbnZhczogdHJ1ZSB9KS5zZXRWaWV3KG9wdGlvbnMuY2VudHJlLCBvcHRpb25zLnpvb20pO1xyXG4gICAgTC50aWxlTGF5ZXIoJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7XHJcbiAgICAgIG1heFpvb206IDE5LFxyXG4gICAgICBhdHRyaWJ1dGlvbjogJyZjb3B5OyA8YSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIj5PcGVuU3RyZWV0TWFwPC9hPicsXHJcbiAgICB9KS5hZGRUbyh0aGlzLm1hcCk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XHJcbiAgICBjb25zdCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPiA9IGl0ZW1zLm1hcCgoaXQpID0+ICh7XHJcbiAgICAgIGlkOiBpdC5pZCEsXHJcbiAgICAgIHJlY29yZDogY3JlYXRlTGVhZmxldE1hcEl0ZW0oaXQsIHsgY29sb3I6ICcjMzM4OGZmJywgZHJhZ2dhYmxlOiBmYWxzZSB9KSxcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXMoW10sIHRvQWRkKTtcclxuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbCgpO1xyXG4gICAgaWYgKG1vZGVsLnZpZXdTdGF0ZT8uZml0VG9Jbml0aWFsSXRlbXMpIHtcclxuICAgICAgY29uc3QgZGF0YXNldEJvdW5kcyA9IHRoaXMuZmluZERhdGFzZXRCb3VuZHMoKTtcclxuICAgICAgaWYgKGRhdGFzZXRCb3VuZHMpIHtcclxuICAgICAgICBjb25zdCB7IGEsIGIgfSA9IGRhdGFzZXRCb3VuZHM7XHJcbiAgICAgICAgY29uc3QgcG50QSA9IEwubGF0TG5nKGEueCwgYS55KTtcclxuICAgICAgICBjb25zdCBwbnRCID0gTC5sYXRMbmcoYi54LCBiLnkpO1xyXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IEwubGF0TG5nQm91bmRzKHBudEEsIHBudEIpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZml0Qm91bmRzKGJvdW5kcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubWFwLm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LmxhdGxuZztcclxuICAgICAgICB0aGlzLm9uTWFwQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICBjb29yZGluYXRlczoge1xyXG4gICAgICAgICAgICBsYXRpdHVkZTogcG9zLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogcG9zLmxuZyBhcyBudW1iZXIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAub24oJ21vdmVlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld3BvcnQoKTtcclxuICAgICAgICB0aGlzLm9uTWFwRHJhZ0VuZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAub24oJ3pvb21lbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld3BvcnQoKTtcclxuICAgICAgICB0aGlzLm9uTWFwRHJhZ0VuZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3cG9ydCgpOiBHZW9NYXBWaWV3cG9ydCB7XHJcbiAgICBpZiAoIXRoaXMubWFwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWFwIGlzIG5vdCB5ZXQgaW5pdGlhbGlzZWQhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7XHJcbiAgICBjb25zdCB6b29tTGV2ZWwgPSB0aGlzLm1hcC5nZXRab29tKCkgYXMgbnVtYmVyO1xyXG4gICAgY29uc3QgbGVhZmxldEJvdW5kcyA9IHRoaXMubWFwLmdldEJvdW5kcygpO1xyXG4gICAgY29uc3QgeyBsYXQ6IHN3TGF0LCBsbmc6IHN3TG5nIH0gPSBsZWFmbGV0Qm91bmRzLmdldFNvdXRoV2VzdCgpO1xyXG4gICAgY29uc3QgeyBsYXQ6IG5lTGF0LCBsbmc6IG5lTG5nIH0gPSBsZWFmbGV0Qm91bmRzLmdldE5vcnRoRWFzdCgpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNlbnRlcjoge1xyXG4gICAgICAgIGxhdGl0dWRlOiBjZW50ZXIubGF0IGFzIG51bWJlcixcclxuICAgICAgICBsb25naXR1ZGU6IGNlbnRlci5sbmcgYXMgbnVtYmVyLFxyXG4gICAgICB9LFxyXG4gICAgICB6b29tTGV2ZWwsXHJcbiAgICAgIGJvdW5kczogW1xyXG4gICAgICAgIHsgbGF0aXR1ZGU6IHN3TGF0LCBsb25naXR1ZGU6IHN3TG5nIH0sXHJcbiAgICAgICAgeyBsYXRpdHVkZTogbmVMYXQsIGxvbmdpdHVkZTogbmVMbmcgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxlYWZsZXRNYXBPcHRpb25zKCk6IExlYWZsZXRNYXBPcHRpb25zIHtcclxuICAgIGNvbnN0IHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCA9IHRoaXMubW9kZWwoKS52aWV3cG9ydCE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjZW50cmU6IFt2aWV3cG9ydC5jZW50ZXIhLmxhdGl0dWRlLCB2aWV3cG9ydC5jZW50ZXIhLmxvbmdpdHVkZV0sXHJcbiAgICAgIHpvb206IHZpZXdwb3J0Lnpvb21MZXZlbCEsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaGFuZGxlSXRlbUNoYW5nZXModG9SZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4sIHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWFwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubWFya2VycyA9IFtdO1xyXG4gICAgY29uc3QgbWFya2VyR3JvdXBzOiBNYXA8c3RyaW5nLCBhbnlbXT4gPSBuZXcgTWFwKCk7XHJcblxyXG4gICAgdG9BZGQuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5yZWNvcmQgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xyXG4gICAgICAgIGNvbnN0IGtleSA9XHJcbiAgICAgICAgICBpdGVtLnJlY29yZC5nZXRMYXRMbmcoKS5sYXQudG9GaXhlZCg2KSArICcsJyArIGl0ZW0ucmVjb3JkLmdldExhdExuZygpLmxuZy50b0ZpeGVkKDYpO1xyXG4gICAgICAgIGlmICghbWFya2VyR3JvdXBzLmdldChrZXkpKSB7XHJcbiAgICAgICAgICBtYXJrZXJHcm91cHMuc2V0KGtleSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJrZXJHcm91cHMuZ2V0KGtleSkhLnB1c2goaXRlbS5yZWNvcmQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0b1JlbW92ZS5mb3JFYWNoKChpdCkgPT4ge1xyXG4gICAgICBpdC5yZWNvcmQucmVtb3ZlKCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0LCBpbmRleCkgPT4ge1xyXG4gICAgICBsZXQgcmVjb3JkID0gaXQucmVjb3JkO1xyXG4gICAgICBpZiAocmVjb3JkIGluc3RhbmNlb2YgTC5MYXllckdyb3VwKSB7XHJcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhyZWNvcmQuX2xheWVycykuZm9yRWFjaCgoYXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgYXQub24oJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbk92ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiB7XHJcbiAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgICBvdmVybGF5OiBpdC5yZWNvcmQsXHJcbiAgICAgICAgICAgICAgICAgIG1hcDogdGhpcy5tYXAsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0LnJlY29yZC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgICAgaXRlbUlkOiBpdC5pZCxcclxuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXk6IGl0LnJlY29yZCxcclxuICAgICAgICAgICAgICAgIG1hcDogdGhpcy5tYXAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgbGV0IGdyb3VwID0gbWFya2VyR3JvdXBzLmdldChcclxuICAgICAgICAgIGl0LnJlY29yZC5nZXRMYXRMbmcoKS5sYXQudG9GaXhlZCg2KSArICcsJyArIGl0LnJlY29yZC5nZXRMYXRMbmcoKS5sbmcudG9GaXhlZCg2KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGdyb3VwICYmIGdyb3VwLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgIGNvbnN0IGljb24gPSB0aGlzLmNyZWF0ZU51bWJlcmVkSWNvbihncm91cC5sZW5ndGgpO1xyXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmNyZWF0ZUxhYmVsKGdyb3VwKTtcclxuICAgICAgICAgIGNvbnN0IGV4dHJhTWFya2VyID0gTC5tYXJrZXIoZ3JvdXBbMF0ub3JpZ2luYWxMYXRMbmcsIHsgaWNvbiB9KTtcclxuXHJcbiAgICAgICAgICBpZiAoIWV4dHJhTWFya2VyLl90b29sdGlwKSB7XHJcbiAgICAgICAgICAgIGV4dHJhTWFya2VyLmJpbmRUb29sdGlwKGxhYmVsLCB7XHJcbiAgICAgICAgICAgICAgcGVybWFuZW50OiBmYWxzZSxcclxuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdhdXRvJyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubWFya2Vycy5wdXNoKGV4dHJhTWFya2VyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IGNsdXN0ZXJNYXJrZXIgPSBleHRyYU1hcmtlci5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICAgICAgICBpdC5yZWNvcmQub24oJ21vdXNlb3ZlcicsIChfZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0b0FkZC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkIGluc3RhbmNlb2YgTC5NYXJrZXIgJiZcclxuICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkLm9yaWdpbmFsTGF0TG5nLmxhdCA9PSBpdC5yZWNvcmQub3JpZ2luYWxMYXRMbmcubGF0ICYmXHJcbiAgICAgICAgICAgICAgICBpdGVtLnJlY29yZC5vcmlnaW5hbExhdExuZy5sbmcgPT0gaXQucmVjb3JkLm9yaWdpbmFsTGF0TG5nLmxuZ1xyXG4gICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgaXQucmVjb3JkLnNldFpJbmRleE9mZnNldCgxMDAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFuZ2xlID0gKCgzNjAgLyB0b0FkZC5sZW5ndGgpICogaW5kZXggKiBNYXRoLlBJKSAvIDE4MDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xhdCA9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkLm9yaWdpbmFsTGF0TG5nLmxhdCArIHRoaXMub2Zmc2V0RGlzdGFuY2UgKiBNYXRoLmNvcyhhbmdsZSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMbmcgPVxyXG4gICAgICAgICAgICAgICAgICBpdGVtLnJlY29yZC5vcmlnaW5hbExhdExuZy5sbmcgKyB0aGlzLm9mZnNldERpc3RhbmNlICogTWF0aC5zaW4oYW5nbGUpO1xyXG4gICAgICAgICAgICAgICAgaXRlbS5yZWNvcmQuc2V0TGF0TG5nKFtuZXdMYXQsIG5ld0xuZ10pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1hcC5oYXNMYXllcihjbHVzdGVyTWFya2VyKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGNsdXN0ZXJNYXJrZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGl0LnJlY29yZC5vbignbW91c2VvdXQnLCAoX2V2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdG9BZGQuZm9yRWFjaCgoaXRlbSwgX2luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0ucmVjb3JkIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0ucmVjb3JkLnNldExhdExuZyhpdGVtLnJlY29yZC5vcmlnaW5hbExhdExuZyk7XHJcbiAgICAgICAgICAgICAgICBpdC5yZWNvcmQuc2V0WkluZGV4T2Zmc2V0KDApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5tYXAuaGFzTGF5ZXIoY2x1c3Rlck1hcmtlcikpIHtcclxuICAgICAgICAgICAgICBjbHVzdGVyTWFya2VyLmFkZFRvKHRoaXMubWFwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWFya2Vycy5wdXNoKGl0LnJlY29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGl0LnJlY29yZC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuc2V0KGl0LmlkLCBpdC5yZWNvcmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tYXApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRvUmVtb3ZlLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGl0LnJlY29yZC5yZW1vdmUoKTtcclxuICAgICAgdGhpcy5lZGl0aW5nT3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGxldCByZWNvcmQgPSBpdC5yZWNvcmQ7XHJcbiAgICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHtcclxuICAgICAgICBPYmplY3QudmFsdWVzKHJlY29yZC5fbGF5ZXJzKS5mb3JFYWNoKChhdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBhdC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm9uRWRpdGluZ092ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgICBjb29yZDoge1xyXG4gICAgICAgICAgICAgICAgICB4OiBldmVudC5sYXRsbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgICB5OiBldmVudC5sYXRsbmcubGF0LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGF0Lm9uKCdkcmFnc3RhcnQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTGF0TG5nID0gZXZlbnQudGFyZ2V0LmdldExhdExuZygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBhdC5vbignZHJhZ2VuZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheURyYWcuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgICAgc3RhcnRQb3NpdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICB4OiB0aGlzLm9yaWdpbmFsTGF0TG5nLmxuZyxcclxuICAgICAgICAgICAgICAgICAgeTogdGhpcy5vcmlnaW5hbExhdExuZy5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZHJhZ1RvOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IGV2ZW50LnRhcmdldC5nZXRMYXRMbmcoKS5sbmcsXHJcbiAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnRhcmdldC5nZXRMYXRMbmcoKS5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbExhdExuZyA9IG51bGw7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdC5yZWNvcmQub24oJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdGluZ092ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgIGNvb3JkOiB7XHJcbiAgICAgICAgICAgICAgICB4OiBldmVudC5sYXRsbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgeTogZXZlbnQubGF0bG5nLmxhdCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpdC5yZWNvcmQuYWRkVG8odGhpcy5tYXApO1xyXG4gICAgICB0aGlzLmVkaXRpbmdPdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZERhdGFzZXRCb3VuZHMoKTogeyBhOiBDb29yZDsgYjogQ29vcmQgfSB8IG51bGwge1xyXG4gICAgY29uc3QgaXRlbXM6IEFycmF5PENvb3JkPiA9IHRoaXMuaXRlbXMoKVxyXG4gICAgICAuZmxhdE1hcCgoaXQpID0+IChpdC5wb3NpdGlvbiA/IFtpdC5wb3NpdGlvbl0gOiBpdC5yb3V0ZSA/IGl0LnJvdXRlLnBvaW50cyA6IFtdKSlcclxuICAgICAgLm1hcCgoaXQpID0+IHtcclxuICAgICAgICByZXR1cm4geyB4OiBpdC5sYXRpdHVkZSwgeTogaXQubG9uZ2l0dWRlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvdXRod2VzdDogQ29vcmQgPSB7IHg6IGl0ZW1zWzBdLngsIHk6IGl0ZW1zWzBdLnkgfTtcclxuICAgIGxldCBub3J0aGVhc3Q6IENvb3JkID0geyB4OiBpdGVtc1swXS54LCB5OiBpdGVtc1swXS55IH07XHJcblxyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgaWYgKGl0LnggPCBzb3V0aHdlc3QueCkgc291dGh3ZXN0LnggPSBpdC54O1xyXG4gICAgICBpZiAoaXQueSA8IHNvdXRod2VzdC55KSBzb3V0aHdlc3QueSA9IGl0Lnk7XHJcblxyXG4gICAgICBpZiAoaXQueCA+IG5vcnRoZWFzdC54KSBub3J0aGVhc3QueCA9IGl0Lng7XHJcbiAgICAgIGlmIChpdC55ID4gbm9ydGhlYXN0LnkpIG5vcnRoZWFzdC55ID0gaXQueTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7IGE6IHNvdXRod2VzdCwgYjogbm9ydGhlYXN0IH07XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB0b0Jhc2U2NCgpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbGVhZmxldEltYWdlKHRoaXMubWFwLCAoZXJyOiBhbnksIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignTGVhZmxldCBpbWFnZSBjYXB0dXJlIGVycm9yJywgZXJyKTtcclxuICAgICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIGlmICghY3R4KSB7XHJcbiAgICAgICAgICAgIHJlamVjdCgnTm8gY29udGV4dCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5tYXJrZXJzLmZvckVhY2goKG1hcmtlcjogeyBnZXRUb29sdGlwOiAoKSA9PiBhbnk7IGdldExhdExuZzogKCkgPT4gYW55IH0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1hcmtlci5nZXRUb29sdGlwKCk7XHJcbiAgICAgICAgICAgIGlmICghdG9vbHRpcCkge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBsYXRMbmcgPSBtYXJrZXIuZ2V0TGF0TG5nKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdGhpcy5tYXAubGF0TG5nVG9Db250YWluZXJQb2ludChsYXRMbmcpO1xyXG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gdG9vbHRpcC5nZXRDb250ZW50KCk7XHJcblxyXG4gICAgICAgICAgICAvLyBUb29sdGlwIHN6w7Z2ZWcgbWVnamVsZW7DrXTDqXNlXHJcbiAgICAgICAgICAgIGN0eC5mb250ID0gJ2JvbGQgMzBweCBzYW5zLXNlcmlmJztcclxuICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdibGFjayc7XHJcbiAgICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9ICd3aGl0ZSc7XHJcbiAgICAgICAgICAgIGN0eC5saW5lV2lkdGggPSA0O1xyXG4gICAgICAgICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XHJcbiAgICAgICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9tJztcclxuICAgICAgICAgICAgY3R4LnN0cm9rZVRleHQodGV4dCwgcG9pbnQueCwgcG9pbnQueSArIDEwKTsgLy8gZmVow6lyIGtvbnTDunJcclxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIHBvaW50LngsIHBvaW50LnkgKyAxMCk7IC8vIGZla2V0ZSBzesO2dmVnXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICByZXNvbHZlKGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgMzAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTGFiZWwoZ3JvdXA6IGFueVtdKSB7XHJcbiAgICBsZXQgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gICAgZ3JvdXAuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBsYWJlbCArPSBpdGVtLl90b29sdGlwLl9jb250ZW50ICsgJywgJztcclxuICAgICAgaXRlbS5fdG9vbHRpcC5wZXJtYW5lbnQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuICBjcmVhdGVOdW1iZXJlZEljb24obnVtYmVyOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNpemUgPSAzNTtcclxuICAgIGNvbnN0IHNjYWxlRmFjdG9yID0gMTU7XHJcbiAgICBjb25zdCBzY2FsZWRTaXplID0gc2l6ZSAqIHNjYWxlRmFjdG9yO1xyXG5cclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY2FudmFzLndpZHRoID0gc2NhbGVkU2l6ZTtcclxuICAgIGNhbnZhcy5oZWlnaHQgPSBzY2FsZWRTaXplO1xyXG4gICAgY2FudmFzLnN0eWxlLndpZHRoID0gY2FudmFzLnN0eWxlLmhlaWdodCA9ICczNXB4JztcclxuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICAgIGN0eC5zY2FsZShzY2FsZUZhY3Rvciwgc2NhbGVGYWN0b3IpO1xyXG5cclxuICAgIGN0eC5iZWdpblBhdGgoKTtcclxuICAgIGN0eC5hcmMoc2l6ZSAvIDIsIHNpemUgLyAyLCBzaXplIC8gMiAtIDIsIDAsIDIgKiBNYXRoLlBJLCBmYWxzZSk7XHJcbiAgICBjdHguZmlsbFN0eWxlID0gJyMwMDc4ZDQnO1xyXG4gICAgY3R4LmZpbGwoKTtcclxuICAgIGN0eC5saW5lV2lkdGggPSAyO1xyXG4gICAgY3R4LnN0cm9rZVN0eWxlID0gJyNmZmZmZmYnO1xyXG4gICAgY3R4LnN0cm9rZSgpO1xyXG5cclxuICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZmZmZmZic7XHJcbiAgICBjdHguZm9udCA9ICdib2xkIDE2cHggc2Fucy1zZXJpZic7XHJcbiAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XHJcbiAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7XHJcbiAgICBjdHguZmlsbFRleHQobnVtYmVyLnRvU3RyaW5nKCksIHNpemUgLyAyLCBzaXplIC8gMik7XHJcblxyXG4gICAgcmV0dXJuIEwuaWNvbih7XHJcbiAgICAgIGljb25Vcmw6IGNhbnZhcy50b0RhdGFVUkwoKSxcclxuICAgICAgaWNvblNpemU6IFtzaXplLCBzaXplXSxcclxuICAgICAgaWNvbkFuY2hvcjogW3NpemUgLyAyLCBzaXplIC8gMl0sXHJcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLXNpemUgLyAyXSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5mdW5jdGlvbiBnZXRJY29uKGNvbG9yOiBzdHJpbmcpIHtcclxuICBjb25zdCBzaXplID0gMTI7XHJcbiAgY29uc3Qgc2NhbGVGYWN0b3IgPSAxMjtcclxuICBjb25zdCBzY2FsZWRTaXplID0gc2l6ZSAqIHNjYWxlRmFjdG9yO1xyXG5cclxuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICBjYW52YXMud2lkdGggPSBzY2FsZWRTaXplO1xyXG4gIGNhbnZhcy5oZWlnaHQgPSBzY2FsZWRTaXplO1xyXG4gIGNhbnZhcy5zdHlsZS53aWR0aCA9IGNhbnZhcy5zdHlsZS5oZWlnaHQgPSBgJHtzaXplfXB4YDtcclxuICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgY3R4LnNjYWxlKHNjYWxlRmFjdG9yLCBzY2FsZUZhY3Rvcik7XHJcblxyXG4gIGN0eC5iZWdpblBhdGgoKTtcclxuICBjdHguYXJjKHNpemUgLyAyLCBzaXplIC8gMiwgc2l6ZSAvIDIsIDAsIDIgKiBNYXRoLlBJLCBmYWxzZSk7XHJcbiAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xyXG4gIGN0eC5maWxsKCk7XHJcblxyXG4gIHJldHVybiBMLmljb24oe1xyXG4gICAgaWNvblVybDogY2FudmFzLnRvRGF0YVVSTCgpLFxyXG4gICAgaWNvblNpemU6IFtzaXplLCBzaXplXSxcclxuICAgIGljb25BbmNob3I6IFtzaXplIC8gMiwgc2l6ZSAvIDJdLFxyXG4gICAgcG9wdXBBbmNob3I6IFswLCAtc2l6ZSAvIDJdLFxyXG4gIH0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2VEZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC9iYWRnZURlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBWaWV3IEFQSVxyXG4gKiBWaWV3IEFQSVxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYWRnZURlc2NyaXB0b3IgeyBcclxuICAgIHZhbHVlPzogc3RyaW5nO1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './badgeDescriptor';
|
|
1
2
|
export * from './clipboardData';
|
|
2
3
|
export * from './closeResult';
|
|
3
4
|
export * from './componentConstraint';
|
|
@@ -53,4 +54,4 @@ export * from './viewPlaceholder';
|
|
|
53
54
|
export * from './viewState';
|
|
54
55
|
export * from './viewStateUpdate';
|
|
55
56
|
export * from './viewType';
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JhZGdlRGVzY3JpcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkRGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xvc2VSZXN1bHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudENvbnN0cmFpbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudE1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRNb2RlbENoYW5nZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YUNoYW5nZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YUNoYW5nZUV2ZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRhQ2hhbmdlS2luZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlSW5mbyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWRlZEZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ljb25Qb3NpdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VSZXNvdXJjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGluayc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZURhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VPcHRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VPcHRpb25UeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlUmVzdWx0JztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlVGV4dFR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYW1lZFZhbGlkYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3BlblBlbmRpbmdEYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXJSZXF1ZXN0RXhlY3V0aW9uU3RhdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmVyUmVxdWVzdFRyYWNrJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXJSZXF1ZXN0VHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc21hcnRMaW5rRGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc21hcnRMaW5rTWlncmF0aW9uU3RhdHVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNSZWNvcmQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0eWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25CdXR0b25EZXNjcmlwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uQ29uc3RyYWludCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25EZXNjcmlwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uRmVlZGJhY2tUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbklucHV0VHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25SZXF1ZXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvblRvb2x0aXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkV2lkZ2V0VHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkZWRGaWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWx1ZVNldCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlldyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld0FwaUVycm9yJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3Q29uc3RyYWludCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld0NvbnRleHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdDb250ZXh0Q2hhbmdlJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3Q29udGV4dERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdDb250ZXh0VXBkYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld0V2ZW50SGFuZGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld1BsYWNlaG9sZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3U3RhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdTdGF0ZVVwZGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld1R5cGUnO1xyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlBY3Rpb25EZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC91aUFjdGlvbkRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBWaWV3IEFQSVxyXG4gKiBWaWV3IEFQSVxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbHRpcCB9IGZyb20gJy4vdWlBY3Rpb25Ub29sdGlwJztcclxuaW1wb3J0IHsgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi9pY29uUG9zaXRpb24nO1xyXG5pbXBvcnQgeyBCYWRnZURlc2NyaXB0b3IgfSBmcm9tICcuL2JhZGdlRGVzY3JpcHRvcic7XHJcbmltcG9ydCB7IFVpQWN0aW9uRmVlZGJhY2tUeXBlIH0gZnJvbSAnLi91aUFjdGlvbkZlZWRiYWNrVHlwZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvciB9IGZyb20gJy4vdWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yJztcclxuaW1wb3J0IHsgVWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yIH0gZnJvbSAnLi91aUFjdGlvblVwbG9hZERlc2NyaXB0b3InO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuL3VpQWN0aW9uQnV0dG9uVHlwZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIERlc2NyaWJlcyB0aGUgYXBwZWFyYW5jZSAoYXMgYSBidXR0b24pIGFuZCB0aGUgcHJvcGVydGllcyBvZiB0aGUgcmVsYXRlZCBkaWFsb2dzIG9mIGEgVWlBY3Rpb24uIFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvbkRlc2NyaXB0b3IgeyBcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGU7XHJcbiAgICBjb2xvcjogc3RyaW5nO1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIGljb25Db2xvcj86IHN0cmluZztcclxuICAgIGljb25Qb3NpdGlvbj86IEljb25Qb3NpdGlvbjtcclxuICAgIGRpYWxvZz86IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcclxuICAgIGNvbmZpcm1EaWFsb2c/OiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3I7XHJcbiAgICBpbnB1dERpYWxvZz86IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcclxuICAgIGlucHV0MkRpYWxvZz86IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcclxuICAgIGZlZWRiYWNrVHlwZT86IFVpQWN0aW9uRmVlZGJhY2tUeXBlO1xyXG4gICAgZmVlZGJhY2tUZXh0Pzogc3RyaW5nO1xyXG4gICAgYmFkZ2U/OiBCYWRnZURlc2NyaXB0b3I7XHJcbiAgICB1cGxvYWQ/OiBVaUFjdGlvblVwbG9hZERlc2NyaXB0b3I7XHJcbiAgICB0b29sdGlwPzogVWlBY3Rpb25Ub29sdGlwO1xyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|