geonetwork-ui 2.6.0-dev.3a78a5eaa → 2.6.0-dev.502fa026d
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/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -3
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -1
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +2 -4
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -14
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +14 -3
- package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +5 -1
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +6 -2
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +4 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +30 -2
- package/esm2022/translations/de.json +1 -0
- package/esm2022/translations/en.json +1 -0
- package/esm2022/translations/es.json +1 -0
- package/esm2022/translations/fr.json +1 -0
- package/esm2022/translations/it.json +1 -0
- package/esm2022/translations/nl.json +1 -0
- package/esm2022/translations/pt.json +1 -0
- package/fesm2022/geonetwork-ui.mjs +104 -24
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -2
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +4 -2
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +3 -2
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +1 -0
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +10 -8
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -3
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +36 -7
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +14 -0
- package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +3 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +3 -1
- package/src/libs/util/data-fetcher/src/lib/model.ts +11 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +29 -3
- package/translations/de.json +1 -0
- package/translations/en.json +1 -0
- package/translations/es.json +1 -0
- package/translations/fr.json +1 -0
- package/translations/it.json +1 -0
- package/translations/nl.json +1 -0
- package/translations/pt.json +1 -0
- package/translations/sk.json +1 -0
|
@@ -11,16 +11,17 @@ import { NgIconComponent, provideIcons } from '@ng-icons/core';
|
|
|
11
11
|
import { matClose } from '@ng-icons/material-icons/baseline';
|
|
12
12
|
import { CommonModule } from '@angular/common';
|
|
13
13
|
import { ButtonComponent, DropdownSelectorComponent, } from '../../../../../../libs/ui/inputs/src';
|
|
14
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
14
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
15
15
|
import { ExternalViewerButtonComponent } from '../external-viewer-button/external-viewer-button.component';
|
|
16
16
|
import { LoadingMaskComponent, PopupAlertComponent, } from '../../../../../../libs/ui/widgets/src';
|
|
17
17
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
18
|
+
import { FetchError } from '../../../../../../libs/util/data-fetcher/src';
|
|
18
19
|
import * as i0 from "@angular/core";
|
|
19
20
|
import * as i1 from "../state/mdview.facade";
|
|
20
21
|
import * as i2 from "../../../../../../libs/feature/map/src";
|
|
21
22
|
import * as i3 from "../../../../../../libs/feature/dataviz/src";
|
|
22
|
-
import * as i4 from "@
|
|
23
|
-
import * as i5 from "@
|
|
23
|
+
import * as i4 from "@ngx-translate/core";
|
|
24
|
+
import * as i5 from "@angular/common";
|
|
24
25
|
marker('map.dropdown.placeholder');
|
|
25
26
|
marker('wfs.feature.limit');
|
|
26
27
|
export class MapViewComponent {
|
|
@@ -32,15 +33,13 @@ export class MapViewComponent {
|
|
|
32
33
|
}
|
|
33
34
|
onLegendStatusChange(status) {
|
|
34
35
|
this.legendExists = status;
|
|
35
|
-
if (!status) {
|
|
36
|
-
this.showLegend = false;
|
|
37
|
-
}
|
|
38
36
|
}
|
|
39
|
-
constructor(mdViewFacade, mapUtils, dataService, changeRef) {
|
|
37
|
+
constructor(mdViewFacade, mapUtils, dataService, changeRef, translateService) {
|
|
40
38
|
this.mdViewFacade = mdViewFacade;
|
|
41
39
|
this.mapUtils = mapUtils;
|
|
42
40
|
this.dataService = dataService;
|
|
43
41
|
this.changeRef = changeRef;
|
|
42
|
+
this.translateService = translateService;
|
|
44
43
|
this.displaySource = true;
|
|
45
44
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
46
45
|
this.hidePreview = false;
|
|
@@ -77,8 +76,7 @@ export class MapViewComponent {
|
|
|
77
76
|
this.loading = true;
|
|
78
77
|
this.error = null;
|
|
79
78
|
return this.getLayerFromLink(link).pipe(map((layer) => [layer]), catchError((e) => {
|
|
80
|
-
this.
|
|
81
|
-
console.warn(e.stack || e.message);
|
|
79
|
+
this.handleError(e);
|
|
82
80
|
return of([]);
|
|
83
81
|
}), finalize(() => (this.loading = false)));
|
|
84
82
|
}));
|
|
@@ -115,6 +113,16 @@ export class MapViewComponent {
|
|
|
115
113
|
}
|
|
116
114
|
this.changeRef.detectChanges();
|
|
117
115
|
}
|
|
116
|
+
onSourceLoadError(error) {
|
|
117
|
+
if (error.httpStatus === 403 || error.httpStatus === 401) {
|
|
118
|
+
this.error = this.translateService.instant(`dataset.error.forbidden`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.error = this.translateService.instant(`dataset.error.http`, {
|
|
122
|
+
info: error.httpStatus,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
118
126
|
resetSelection() {
|
|
119
127
|
if (this.selection) {
|
|
120
128
|
// FIXME: restore styling of selected feature
|
|
@@ -154,8 +162,26 @@ export class MapViewComponent {
|
|
|
154
162
|
selectLinkToDisplay(link) {
|
|
155
163
|
this.selectedLinkIndex$.next(link);
|
|
156
164
|
}
|
|
157
|
-
|
|
158
|
-
|
|
165
|
+
handleError(error) {
|
|
166
|
+
if (error instanceof FetchError) {
|
|
167
|
+
this.error = this.translateService.instant(`dataset.error.${error.type}`, {
|
|
168
|
+
info: error.info,
|
|
169
|
+
});
|
|
170
|
+
console.warn(error.message);
|
|
171
|
+
}
|
|
172
|
+
else if (error instanceof Error) {
|
|
173
|
+
this.error = this.translateService.instant(error.message);
|
|
174
|
+
console.warn(error.stack || error);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
this.error = this.translateService.instant(error);
|
|
178
|
+
console.warn(error);
|
|
179
|
+
}
|
|
180
|
+
this.loading = false;
|
|
181
|
+
this.changeRef.detectChanges();
|
|
182
|
+
}
|
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i0.ChangeDetectorRef }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
184
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { exceedsLimit: "exceedsLimit", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n (sourceLoadError)=\"onSourceLoadError($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick", "sourceLoadError"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
159
185
|
}
|
|
160
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
161
187
|
type: Component,
|
|
@@ -171,8 +197,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
171
197
|
ExternalViewerButtonComponent,
|
|
172
198
|
ButtonComponent,
|
|
173
199
|
MapLegendComponent,
|
|
174
|
-
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
|
|
175
|
-
}], ctorParameters: () => [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { exceedsLimit: [{
|
|
200
|
+
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n (sourceLoadError)=\"onSourceLoadError($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
|
|
201
|
+
}], ctorParameters: () => [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }, { type: i4.TranslateService }], propDecorators: { exceedsLimit: [{
|
|
176
202
|
type: Input
|
|
177
203
|
}], displaySource: [{
|
|
178
204
|
type: Input
|
|
@@ -180,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
180
206
|
type: ViewChild,
|
|
181
207
|
args: ['mapContainer']
|
|
182
208
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBR3BCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1B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b0JBQW9CLG9GQUNwQixlQUFlLDZHQUNmLDZCQUE2QiwyRkFDN0IsZUFBZSwrSEFDZixrQkFBa0Isd0dBRUwsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDOzs0RkFFaEMsZ0JBQWdCO2tCQXJCNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzt5S0FHOUIsWUFBWTtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHRocm93RXJyb3IsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9tZHZpZXcuZmFjYWRlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBjcmVhdGVWaWV3RnJvbUxheWVyLFxuICBNYXBDb250ZXh0LFxuICBNYXBDb250ZXh0TGF5ZXIsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICBwcmlvcml0aXplUGFnZVNjcm9sbCxcbiAgTWFwTGVnZW5kQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDbG9zZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuXG5tYXJrZXIoJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJlLmxpbWl0JylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXBMZWdlbmRDb21wb25lbnQsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXRDbG9zZSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2V0IGV4Y2VlZHNMaW1pdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZXhjbHVkZVdmcyQubmV4dCh2YWx1ZSlcbiAgfVxuICBASW5wdXQoKSBkaXNwbGF5U291cmNlID0gdHJ1ZVxuICBAVmlld0NoaWxkKCdtYXBDb250YWluZXInKSBtYXBDb250YWluZXI6IE1hcENvbnRhaW5lckNvbXBvbmVudFxuXG4gIGV4Y2x1ZGVXZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbiAgaGlkZVByZXZpZXcgPSBmYWxzZVxuICBzZWxlY3Rpb246IEZlYXR1cmVcbiAgc2hvd0xlZ2VuZCA9IHRydWVcbiAgbGVnZW5kRXhpc3RzID0gZmFsc2VcblxuICB0b2dnbGVMZWdlbmQoKSB7XG4gICAgdGhpcy5zaG93TGVnZW5kID0gIXRoaXMuc2hvd0xlZ2VuZFxuICB9XG5cbiAgb25MZWdlbmRTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgdGhpcy5sZWdlbmRFeGlzdHMgPSBzdGF0dXNcbiAgICBpZiAoIXN0YXR1cykge1xuICAgICAgdGhpcy5zaG93TGVnZW5kID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb21wYXRpYmxlTWFwTGlua3MkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUubWFwQXBpTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbbWFwQXBpTGlua3MsIGdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV0pID0+IHtcbiAgICAgIHJldHVybiBbLi4ubWFwQXBpTGlua3MsIC4uLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV1cbiAgICB9KVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicsIHZhbHVlOiAwIH1dXG4gICAgKVxuICApXG4gIHNlbGVjdGVkTGlua0luZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMClcblxuICBsb2FkaW5nID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG5cbiAgc2VsZWN0ZWRMaW5rJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJCxcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICBdKS5waXBlKG1hcCgoW2xpbmtzLCBpbmRleF0pID0+IGxpbmtzW2luZGV4XSkpXG5cbiAgY3VycmVudExheWVycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdGVkTGluayQsIHRoaXMuZXhjbHVkZVdmcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpbmssIGV4Y2x1ZGVXZnNdKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgaWYgKGV4Y2x1ZGVXZnMgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSB0cnVlXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSBmYWxzZVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbShjcmVhdGVWaWV3RnJvbUxheWVyKGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLCAvLyBjb3VsZCBub3Qgem9vbSBvbiB0aGUgbGF5ZXI6IHVzZSB0aGUgcmVjb3JkIGV4dGVudFxuICAgICAgICBtYXAoKHZpZXcpID0+ICh7XG4gICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgIHZpZXcsXG4gICAgICAgIH0pKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHN0YXJ0V2l0aCh7XG4gICAgICBsYXllcnM6IFtdLFxuICAgICAgdmlldzogbnVsbCxcbiAgICB9KSxcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLm1kVmlld0ZhY2FkZS5tZXRhZGF0YSQpLFxuICAgIG1hcCgoW2NvbnRleHQsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHQudmlldykgcmV0dXJuIGNvbnRleHRcbiAgICAgIGNvbnN0IGV4dGVudCA9IHRoaXMubWFwVXRpbHMuZ2V0UmVjb3JkRXh0ZW50KG1ldGFkYXRhKVxuICAgICAgY29uc3QgdmlldyA9IGV4dGVudCA/IHsgZXh0ZW50IH0gOiBudWxsXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3LFxuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBtYXAgPSBhd2FpdCB0aGlzLm1hcENvbnRhaW5lci5vcGVubGF5ZXJzTWFwXG4gICAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwobWFwLmdldEludGVyYWN0aW9ucygpKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtcycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXRzJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgY29uc3QgY2FjaGVBY3RpdmUgPSB0cnVlIC8vIFRPRE8gaW1wbGVtZW50IHdoZXRoZXIgc2hvdWxkIGJlIHRydWUgb3IgZmFsc2VcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaywgY2FjaGVBY3RpdmUpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAnZ2VvanNvbicsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxuXG4gIHNlbGVjdExpbmtUb0Rpc3BsYXkobGluazogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmRcIj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhZGlzcGxheVNvdXJjZSB9XCJcbiAgICAgIGNsYXNzPVwidHJ1bmNhdGUgcC0xIC1teC0xIG1iLTFcIlxuICAgICAgZXh0cmFCdG5DbGFzcz1cIiF0ZXh0LXByaW1hcnkgZm9udC1zYW5zIGZvbnQtbWVkaXVtXCJcbiAgICAgIFt0aXRsZV09XCInbWFwLnNlbGVjdC5sYXllcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Nob2ljZXNdPVwiZHJvcGRvd25DaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZWxlY3RMaW5rVG9EaXNwbGF5KCRldmVudClcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uXG4gICAgICBjbGFzcz1cInNocmluay0wIHB5LTEgcGxhY2Utc2VsZi1lbmRcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgPC9nbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpZGVQcmV2aWV3OyBlbHNlIG1hcFZpZXdcIj5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYmxvY2sgaC0xMiBwLTFcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQuZmVhdHVyZS5saW1pdDwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNtYXBWaWV3PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsIGgtZnVsbCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+XG4gICAgICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICAgICAjbWFwQ29udGFpbmVyXG4gICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1tYXAtY29udGFpbmVyPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgICBbY2xhc3MuaGlkZGVuXT1cIiFzZWxlY3Rpb25cIlxuICAgICAgPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwicmVzZXRTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHJpZ2h0LVswLjVlbV0gbWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8Z24tdWktZmVhdHVyZS1kZXRhaWwgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCI+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JpZ2h0LVsxZW1dJzogIXNlbGVjdGlvbiwgJ3JpZ2h0LVsxNmVtXSc6IHNlbGVjdGlvbiB9XCJcbiAgICAgICAgW2hpZGRlbl09XCIhc2hvd0xlZ2VuZCB8fCAhbGVnZW5kRXhpc3RzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LWJvbGRcIj5MZWdlbmQ8L2Rpdj5cbiAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBleHRyYUNsYXNzPVwibWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGduLXVpLW1hcC1sZWdlbmRcbiAgICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAobGVnZW5kU3RhdHVzQ2hhbmdlKT1cIm9uTGVnZW5kU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9nbi11aS1tYXAtbGVnZW5kPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhc2hvd0xlZ2VuZCAmJiBsZWdlbmRFeGlzdHMgJiYgIXNlbGVjdGlvblwiXG4gICAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHRvcC1bMWVtXSByaWdodC1bMWVtXSByb3VuZGVkIHAtMSB0ZXh0LXhzIGJnLXdoaXRlXCJcbiAgICAgID5cbiAgICAgICAgTGVnZW5kXG4gICAgICA8L2duLXVpLWJ1dHRvbj5cblxuICAgICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTBcIlxuICAgICAgICBbbWVzc2FnZV09XCInbWFwLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBSXBCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1B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LGlLQUNyQixzQkFBc0Isc0ZBQ3RCLG1CQUFtQixtR0FDbkIsZUFBZSxtT0FDZixvQkFBb0Isb0ZBQ3BCLGVBQWUsNkdBQ2YsNkJBQTZCLDJGQUM3QixlQUFlLCtIQUNmLGtCQUFrQix3R0FFTCxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7OzRGQUVoQyxnQkFBZ0I7a0JBckI1QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsNkJBQTZCO3dCQUM3QixlQUFlO3dCQUNmLGtCQUFrQjtxQkFDbkIsaUJBQ2MsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO3dNQUc5QixZQUFZO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ3FCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBnZXRMaW5rTGFiZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgdGhyb3dFcnJvcixcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmluYWxpemUsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlL21kdmlldy5mYWNhZGUnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIGNyZWF0ZVZpZXdGcm9tTGF5ZXIsXG4gIE1hcENvbnRleHQsXG4gIE1hcENvbnRleHRMYXllcixcbiAgU291cmNlTG9hZEVycm9yRXZlbnQsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICBwcmlvcml0aXplUGFnZVNjcm9sbCxcbiAgTWFwTGVnZW5kQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDbG9zZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgRmV0Y2hFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjJ1xuXG5tYXJrZXIoJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJlLmxpbWl0JylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXBMZWdlbmRDb21wb25lbnQsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXRDbG9zZSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2V0IGV4Y2VlZHNMaW1pdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZXhjbHVkZVdmcyQubmV4dCh2YWx1ZSlcbiAgfVxuICBASW5wdXQoKSBkaXNwbGF5U291cmNlID0gdHJ1ZVxuICBAVmlld0NoaWxkKCdtYXBDb250YWluZXInKSBtYXBDb250YWluZXI6IE1hcENvbnRhaW5lckNvbXBvbmVudFxuXG4gIGV4Y2x1ZGVXZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbiAgaGlkZVByZXZpZXcgPSBmYWxzZVxuICBzZWxlY3Rpb246IEZlYXR1cmVcbiAgc2hvd0xlZ2VuZCA9IHRydWVcbiAgbGVnZW5kRXhpc3RzID0gZmFsc2VcblxuICB0b2dnbGVMZWdlbmQoKSB7XG4gICAgdGhpcy5zaG93TGVnZW5kID0gIXRoaXMuc2hvd0xlZ2VuZFxuICB9XG5cbiAgb25MZWdlbmRTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgdGhpcy5sZWdlbmRFeGlzdHMgPSBzdGF0dXNcbiAgfVxuXG4gIGNvbXBhdGlibGVNYXBMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5tYXBBcGlMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFttYXBBcGlMaW5rcywgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5XSkgPT4ge1xuICAgICAgcmV0dXJuIFsuLi5tYXBBcGlMaW5rcywgLi4uZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5XVxuICAgIH0pXG4gIClcblxuICBkcm9wZG93bkNob2ljZXMkID0gdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmxlbmd0aFxuICAgICAgICA/IGxpbmtzLm1hcCgobGluaywgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IFt7IGxhYmVsOiAnbWFwLmRyb3Bkb3duLnBsYWNlaG9sZGVyJywgdmFsdWU6IDAgfV1cbiAgICApXG4gIClcbiAgc2VsZWN0ZWRMaW5rSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKVxuXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBlcnJvciA9IG51bGxcblxuICBzZWxlY3RlZExpbmskID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLFxuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSW5kZXgkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gIF0pLnBpcGUobWFwKChbbGlua3MsIGluZGV4XSkgPT4gbGlua3NbaW5kZXhdKSlcblxuICBjdXJyZW50TGF5ZXJzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0ZWRMaW5rJCwgdGhpcy5leGNsdWRlV2ZzJF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbbGluaywgZXhjbHVkZVdmc10pID0+IHtcbiAgICAgIGlmICghbGluaykge1xuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9XG4gICAgICBpZiAoZXhjbHVkZVdmcyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgdGhpcy5oaWRlUHJldmlldyA9IHRydWVcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5oaWRlUHJldmlldyA9IGZhbHNlXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICB0aGlzLmVycm9yID0gbnVsbFxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TGF5ZXJGcm9tTGluayhsaW5rKS5waXBlKFxuICAgICAgICBtYXAoKGxheWVyKSA9PiBbbGF5ZXJdKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSlcbiAgICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICAgKVxuICAgIH0pXG4gIClcblxuICBtYXBDb250ZXh0JDogT2JzZXJ2YWJsZTxNYXBDb250ZXh0PiA9IHRoaXMuY3VycmVudExheWVycyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxheWVycykgPT5cbiAgICAgIGZyb20oY3JlYXRlVmlld0Zyb21MYXllcihsYXllcnNbMF0pKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSwgLy8gY291bGQgbm90IHpvb20gb24gdGhlIGxheWVyOiB1c2UgdGhlIHJlY29yZCBleHRlbnRcbiAgICAgICAgbWFwKCh2aWV3KSA9PiAoe1xuICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICB2aWV3LFxuICAgICAgICB9KSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzdGFydFdpdGgoe1xuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIHZpZXc6IG51bGwsXG4gICAgfSksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5tZFZpZXdGYWNhZGUubWV0YWRhdGEkKSxcbiAgICBtYXAoKFtjb250ZXh0LCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnZpZXcpIHJldHVybiBjb250ZXh0XG4gICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcFV0aWxzLmdldFJlY29yZEV4dGVudChtZXRhZGF0YSlcbiAgICAgIGNvbnN0IHZpZXcgPSBleHRlbnQgPyB7IGV4dGVudCB9IDogbnVsbFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgdmlldyxcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIG1hcFV0aWxzOiBNYXBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG1hcCA9IGF3YWl0IHRoaXMubWFwQ29udGFpbmVyLm9wZW5sYXllcnNNYXBcbiAgICBwcmlvcml0aXplUGFnZVNjcm9sbChtYXAuZ2V0SW50ZXJhY3Rpb25zKCkpXG4gIH1cblxuICBvbk1hcEZlYXR1cmVTZWxlY3QoZmVhdHVyZXM6IEZlYXR1cmVbXSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgIHRoaXMuc2VsZWN0aW9uID0gZmVhdHVyZXM/Lmxlbmd0aCA+IDAgJiYgZmVhdHVyZXNbMF1cbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIC8vIEZJWE1FOiByZXN0b3JlIHN0eWxpbmcgb2Ygc2VsZWN0ZWQgZmVhdHVyZVxuICAgICAgLy8gdGhpcy5zZWxlY3Rpb24uc2V0U3R5bGUodGhpcy5zZWxlY3Rpb25TdHlsZSlcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBvblNvdXJjZUxvYWRFcnJvcihlcnJvcjogU291cmNlTG9hZEVycm9yRXZlbnQpIHtcbiAgICBpZiAoZXJyb3IuaHR0cFN0YXR1cyA9PT0gNDAzIHx8IGVycm9yLmh0dHBTdGF0dXMgPT09IDQwMSkge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBkYXRhc2V0LmVycm9yLmZvcmJpZGRlbmApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZGF0YXNldC5lcnJvci5odHRwYCwge1xuICAgICAgICBpbmZvOiBlcnJvci5odHRwU3RhdHVzLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIC8vIEZJWE1FOiByZXN0b3JlIHN0eWxpbmcgb2Ygc2VsZWN0ZWQgZmVhdHVyZVxuICAgICAgLy8gdGhpcy5zZWxlY3Rpb24uc2V0U3R5bGUobnVsbClcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBudWxsXG4gIH1cblxuICBnZXRMYXllckZyb21MaW5rKGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSk6IE9ic2VydmFibGU8TWFwQ29udGV4dExheWVyPiB7XG4gICAgaWYgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd21zJykge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiAnd21zJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd210cydcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtdHMnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAobGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgICAgKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnZXNyaVJlc3QnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcycpKSB8fFxuICAgICAgbGluay50eXBlID09PSAnZG93bmxvYWQnXG4gICAgKSB7XG4gICAgICBjb25zdCBjYWNoZUFjdGl2ZSA9IHRydWUgLy8gVE9ETyBpbXBsZW1lbnQgd2hldGhlciBzaG91bGQgYmUgdHJ1ZSBvciBmYWxzZVxuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucmVhZEFzR2VvSnNvbihsaW5rLCBjYWNoZUFjdGl2ZSkucGlwZShcbiAgICAgICAgbWFwKChkYXRhKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG5cbiAgc2VsZWN0TGlua1RvRGlzcGxheShsaW5rOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5uZXh0KGxpbmspXG4gIH1cblxuICBoYW5kbGVFcnJvcihlcnJvcjogRmV0Y2hFcnJvciB8IEVycm9yIHwgc3RyaW5nKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRmV0Y2hFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgZGF0YXNldC5lcnJvci4ke2Vycm9yLnR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIGluZm86IGVycm9yLmluZm8sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5tZXNzYWdlKVxuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yLm1lc3NhZ2UpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3Iuc3RhY2sgfHwgZXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvcilcbiAgICAgIGNvbnNvbGUud2FybihlcnJvcilcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBwLTFcIj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktZW5kXCI+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWRpc3BsYXlTb3VyY2UgfVwiXG4gICAgICBjbGFzcz1cInRydW5jYXRlIHAtMSAtbXgtMSBtYi0xXCJcbiAgICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3QubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwic2VsZWN0TGlua1RvRGlzcGxheSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvblxuICAgICAgY2xhc3M9XCJzaHJpbmstMCBweS0xIHBsYWNlLXNlbGYtZW5kXCJcbiAgICAgIFtsaW5rXT1cInNlbGVjdGVkTGluayQgfCBhc3luY1wiXG4gICAgPlxuICAgIDwvZ24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaWRlUHJldmlldzsgZWxzZSBtYXBWaWV3XCI+XG4gICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImJsb2NrIGgtMTIgcC0xXCJcbiAgICA+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLmZlYXR1cmUubGltaXQ8L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbWFwVmlldz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gICAgPlxuICAgICAgPGduLXVpLW1hcC1jb250YWluZXJcbiAgICAgICAgI21hcENvbnRhaW5lclxuICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgKGZlYXR1cmVzQ2xpY2spPVwib25NYXBGZWF0dXJlU2VsZWN0KCRldmVudClcIlxuICAgICAgICAoc291cmNlTG9hZEVycm9yKT1cIm9uU291cmNlTG9hZEVycm9yKCRldmVudClcIlxuICAgICAgPjwvZ24tdWktbWFwLWNvbnRhaW5lcj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcC0zIGJnLXdoaXRlIGFic29sdXRlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBtYXgtaC03MiB3LTU2XCJcbiAgICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2VsZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInJlc2V0U2VsZWN0aW9uKClcIlxuICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1wYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMjRweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICBcIlxuICAgICAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSByaWdodC1bMC41ZW1dIG1sLVs4cHhdIG1yLVsxMHB4XVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgICAgPGduLXVpLWZlYXR1cmUtZGV0YWlsIFtmZWF0dXJlXT1cInNlbGVjdGlvblwiPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRvcC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1bMWVtXSc6ICFzZWxlY3Rpb24sICdyaWdodC1bMTZlbV0nOiBzZWxlY3Rpb24gfVwiXG4gICAgICAgIFtoaWRkZW5dPVwiIXNob3dMZWdlbmQgfHwgIWxlZ2VuZEV4aXN0c1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1ib2xkXCI+TGVnZW5kPC9kaXY+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVMZWdlbmQoKVwiXG4gICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1wYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgZXh0cmFDbGFzcz1cIm1sLVs4cHhdIG1yLVsxMHB4XVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1zbVwiPjwvbmctaWNvbj5cbiAgICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxnbi11aS1tYXAtbGVnZW5kXG4gICAgICAgICAgW2NvbnRleHRdPVwibWFwQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICAgICAgKGxlZ2VuZFN0YXR1c0NoYW5nZSk9XCJvbkxlZ2VuZFN0YXR1c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ24tdWktbWFwLWxlZ2VuZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIXNob3dMZWdlbmQgJiYgbGVnZW5kRXhpc3RzICYmICFzZWxlY3Rpb25cIlxuICAgICAgICB0eXBlPVwib3V0bGluZVwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVMZWdlbmQoKVwiXG4gICAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSB0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcm91bmRlZCBwLTEgdGV4dC14cyBiZy13aGl0ZVwiXG4gICAgICA+XG4gICAgICAgIExlZ2VuZFxuICAgICAgPC9nbi11aS1idXR0b24+XG5cbiAgICAgIDxnbi11aS1sb2FkaW5nLW1hc2tcbiAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wXCJcbiAgICAgICAgW21lc3NhZ2VdPVwiJ21hcC5sb2FkaW5nLmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbS0yIGluc2V0LTBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { fromEvent, merge, of, timer } from 'rxjs';
|
|
|
3
3
|
import { delay, map, startWith, switchMap } from 'rxjs/operators';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
-
import { computeMapContextDiff, FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, } from '@geospatial-sdk/core';
|
|
6
|
+
import { computeMapContextDiff, FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, SourceLoadErrorType, } from '@geospatial-sdk/core';
|
|
7
7
|
import { applyContextDiffToMap, createMapFromContext, listen, } from '@geospatial-sdk/openlayers';
|
|
8
8
|
import { BASEMAP_LAYERS, DO_NOT_USE_DEFAULT_BASEMAP, MAP_VIEW_CONSTRAINTS, } from './map-settings.token';
|
|
9
9
|
import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
|
|
@@ -48,6 +48,15 @@ export class MapContainerComponent {
|
|
|
48
48
|
}
|
|
49
49
|
return this._mapClick;
|
|
50
50
|
}
|
|
51
|
+
get sourceLoadError() {
|
|
52
|
+
if (!this._sourceLoadError) {
|
|
53
|
+
this.openlayersMap.then((olMap) => {
|
|
54
|
+
listen(olMap, SourceLoadErrorType, (error) => this._sourceLoadError.emit(error));
|
|
55
|
+
});
|
|
56
|
+
this._sourceLoadError = new EventEmitter();
|
|
57
|
+
}
|
|
58
|
+
return this._sourceLoadError;
|
|
59
|
+
}
|
|
51
60
|
constructor(doNotUseDefaultBasemap, basemapLayers, mapViewConstraints) {
|
|
52
61
|
this.doNotUseDefaultBasemap = doNotUseDefaultBasemap;
|
|
53
62
|
this.basemapLayers = basemapLayers;
|
|
@@ -108,7 +117,7 @@ export class MapContainerComponent {
|
|
|
108
117
|
return processed;
|
|
109
118
|
}
|
|
110
119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapContainerComponent, deps: [{ token: DO_NOT_USE_DEFAULT_BASEMAP }, { token: BASEMAP_LAYERS }, { token: MAP_VIEW_CONSTRAINTS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapContainerComponent, isStandalone: true, selector: "gn-ui-map-container", inputs: { context: "context" }, outputs: { featuresClick: "featuresClick", featuresHover: "featuresHover", mapClick: "mapClick" }, providers: [
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapContainerComponent, isStandalone: true, selector: "gn-ui-map-container", inputs: { context: "context" }, outputs: { featuresClick: "featuresClick", featuresHover: "featuresHover", mapClick: "mapClick", sourceLoadError: "sourceLoadError" }, providers: [
|
|
112
121
|
provideIcons({ matSwipeOutline }),
|
|
113
122
|
provideNgIconsConfig({
|
|
114
123
|
size: '1.5em',
|
|
@@ -140,8 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
140
149
|
type: Output
|
|
141
150
|
}], mapClick: [{
|
|
142
151
|
type: Output
|
|
152
|
+
}], sourceLoadError: [{
|
|
153
|
+
type: Output
|
|
143
154
|
}], container: [{
|
|
144
155
|
type: ViewChild,
|
|
145
156
|
args: ['map']
|
|
146
157
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWNvbnRhaW5lci9tYXAtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtY29udGFpbmVyL21hcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBR3JCLHNCQUFzQixFQUV0QixzQkFBc0IsRUFFdEIsaUJBQWlCLEdBS2xCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsTUFBTSxHQUNQLE1BQU0sNEJBQTRCLENBQUE7QUFHbkMsT0FBTyxFQUNMLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsb0JBQW9CLEdBQ3JCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZ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Q0FyRHJCLE9BQU87c0JBQWYsS0FBSztnQkFJUSxhQUFhO3NCQUExQixNQUFNO2dCQWVPLGFBQWE7c0JBQTFCLE1BQU07Z0JBZU8sUUFBUTtzQkFBckIsTUFBTTtnQkFZVyxTQUFTO3NCQUExQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgdGltZXIgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGVsYXksIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBjb21wdXRlTWFwQ29udGV4dERpZmYsXG4gIEV4dGVudCxcbiAgRmVhdHVyZXNDbGlja0V2ZW50LFxuICBGZWF0dXJlc0NsaWNrRXZlbnRUeXBlLFxuICBGZWF0dXJlc0hvdmVyRXZlbnQsXG4gIEZlYXR1cmVzSG92ZXJFdmVudFR5cGUsXG4gIE1hcENsaWNrRXZlbnQsXG4gIE1hcENsaWNrRXZlbnRUeXBlLFxuICBNYXBDb250ZXh0LFxuICBNYXBDb250ZXh0TGF5ZXIsXG4gIE1hcENvbnRleHRMYXllclh5eixcbiAgTWFwQ29udGV4dFZpZXcsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgYXBwbHlDb250ZXh0RGlmZlRvTWFwLFxuICBjcmVhdGVNYXBGcm9tQ29udGV4dCxcbiAgbGlzdGVuLFxufSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvb3BlbmxheWVycydcbmltcG9ydCB0eXBlIE9sTWFwIGZyb20gJ29sL01hcCdcbmltcG9ydCB0eXBlIHsgRmVhdHVyZSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQge1xuICBCQVNFTUFQX0xBWUVSUyxcbiAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVAsXG4gIE1BUF9WSUVXX0NPTlNUUkFJTlRTLFxufSBmcm9tICcuL21hcC1zZXR0aW5ncy50b2tlbidcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRTd2lwZU91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcblxuY29uc3QgREVGQVVMVF9CQVNFTUFQX0xBWUVSOiBNYXBDb250ZXh0TGF5ZXJYeXogPSB7XG4gIHR5cGU6ICd4eXonLFxuICB1cmw6IGBodHRwczovL3thLWN9LmJhc2VtYXBzLmNhcnRvY2RuLmNvbS9yYXN0ZXJ0aWxlcy92b3lhZ2VyL3t6fS97eH0ve3l9LnBuZ2AsXG4gIGF0dHJpYnV0aW9uczogYDxzcGFuPsKpIDxhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgwqkgPGEgaHJlZj1cImh0dHBzOi8vY2FydG8uY29tL1wiPkNhcnRvPC9hPjwvc3Bhbj5gLFxufVxuXG5jb25zdCBERUZBVUxUX1ZJRVc6IE1hcENvbnRleHRWaWV3ID0ge1xuICBjZW50ZXI6IFswLCAxNV0sXG4gIHpvb206IDIsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1jb250YWluZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBOZ0ljb25Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoeyBtYXRTd2lwZU91dGxpbmUgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNWVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29udGV4dDogTWFwQ29udGV4dCB8IG51bGxcblxuICAvLyB0aGVzZSBldmVudHMgb25seSBnZXQgcmVnaXN0ZXJlZCBvbiB0aGUgbWFwIGlmIHRoZXkgYXJlIHVzZWRcbiAgX2ZlYXR1cmVzQ2xpY2s6IEV2ZW50RW1pdHRlcjxGZWF0dXJlW10+XG4gIEBPdXRwdXQoKSBnZXQgZmVhdHVyZXNDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuX2ZlYXR1cmVzQ2xpY2spIHtcbiAgICAgIHRoaXMub3BlbmxheWVyc01hcC50aGVuKChvbE1hcCkgPT4ge1xuICAgICAgICBsaXN0ZW4oXG4gICAgICAgICAgb2xNYXAsXG4gICAgICAgICAgRmVhdHVyZXNDbGlja0V2ZW50VHlwZSxcbiAgICAgICAgICAoeyBmZWF0dXJlcyB9OiBGZWF0dXJlc0NsaWNrRXZlbnQpID0+XG4gICAgICAgICAgICB0aGlzLl9mZWF0dXJlc0NsaWNrLmVtaXQoZmVhdHVyZXMpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9mZWF0dXJlc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlW10+KClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVzQ2xpY2tcbiAgfVxuICBfZmVhdHVyZXNIb3ZlcjogRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT5cbiAgQE91dHB1dCgpIGdldCBmZWF0dXJlc0hvdmVyKCkge1xuICAgIGlmICghdGhpcy5fZmVhdHVyZXNIb3Zlcikge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihcbiAgICAgICAgICBvbE1hcCxcbiAgICAgICAgICBGZWF0dXJlc0hvdmVyRXZlbnRUeXBlLFxuICAgICAgICAgICh7IGZlYXR1cmVzIH06IEZlYXR1cmVzSG92ZXJFdmVudCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2ZlYXR1cmVzSG92ZXIuZW1pdChmZWF0dXJlcylcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX2ZlYXR1cmVzSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZXNIb3ZlclxuICB9XG4gIF9tYXBDbGljazogRXZlbnRFbWl0dGVyPFtudW1iZXIsIG51bWJlcl0+XG4gIEBPdXRwdXQoKSBnZXQgbWFwQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXBDbGljaykge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihvbE1hcCwgTWFwQ2xpY2tFdmVudFR5cGUsICh7IGNvb3JkaW5hdGUgfTogTWFwQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICB0aGlzLl9tYXBDbGljay5lbWl0KGNvb3JkaW5hdGUpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9tYXBDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbWFwQ2xpY2tcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ21hcCcpIGNvbnRhaW5lcjogRWxlbWVudFJlZlxuICBkaXNwbGF5TWVzc2FnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgb2xNYXA6IE9sTWFwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCkgcHJpdmF0ZSBkb05vdFVzZURlZmF1bHRCYXNlbWFwOiBib29sZWFuLFxuICAgIEBJbmplY3QoQkFTRU1BUF9MQVlFUlMpIHByaXZhdGUgYmFzZW1hcExheWVyczogTWFwQ29udGV4dExheWVyW10sXG4gICAgQEluamVjdChNQVBfVklFV19DT05TVFJBSU5UUylcbiAgICBwcml2YXRlIG1hcFZpZXdDb25zdHJhaW50czoge1xuICAgICAgbWF4Wm9vbT86IG51bWJlclxuICAgICAgbWF4RXh0ZW50PzogRXh0ZW50XG4gICAgfVxuICApIHt9XG5cbiAgcHJpdmF0ZSBvbE1hcFJlc29sdmVyXG4gIG9wZW5sYXllcnNNYXAgPSBuZXcgUHJvbWlzZTxPbE1hcD4oKHJlc29sdmUpID0+IHtcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIgPSByZXNvbHZlXG4gIH0pXG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub2xNYXAgPSBhd2FpdCBjcmVhdGVNYXBGcm9tQ29udGV4dChcbiAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQodGhpcy5jb250ZXh0KSxcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICApXG4gICAgdGhpcy5kaXNwbGF5TWVzc2FnZSQgPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh0aGlzLm9sTWFwLCAnbWFwbXV0ZWQnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ21vdmVzdGFydCcpLnBpcGUobWFwKCgpID0+IGZhbHNlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ3NpbmdsZWNsaWNrJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKVxuICAgICkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobXV0ZWQpID0+XG4gICAgICAgIG11dGVkXG4gICAgICAgICAgPyB0aW1lcigyMDAwKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICAgIGRlbGF5KDQwMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG9mKGZhbHNlKVxuICAgICAgKVxuICAgIClcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIodGhpcy5vbE1hcClcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMgJiYgIWNoYW5nZXNbJ2NvbnRleHQnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBjb21wdXRlTWFwQ29udGV4dERpZmYoXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLmN1cnJlbnRWYWx1ZSksXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLnByZXZpb3VzVmFsdWUpXG4gICAgICApXG4gICAgICBhd2FpdCBhcHBseUNvbnRleHREaWZmVG9NYXAodGhpcy5vbE1hcCwgZGlmZilcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgYXBwbHkgYmFzZW1hcCBsYXllcnMgJiB2aWV3IGNvbnN0cmFpbnRzXG4gIHByb2Nlc3NDb250ZXh0KGNvbnRleHQ6IE1hcENvbnRleHQpOiBNYXBDb250ZXh0IHtcbiAgICBjb25zdCBwcm9jZXNzZWQgPSBjb250ZXh0XG4gICAgICA/IHsgLi4uY29udGV4dCwgdmlldzogY29udGV4dC52aWV3ID8/IERFRkFVTFRfVklFVyB9XG4gICAgICA6IHsgbGF5ZXJzOiBbXSwgdmlldzogREVGQVVMVF9WSUVXIH1cbiAgICBpZiAodGhpcy5iYXNlbWFwTGF5ZXJzLmxlbmd0aCkge1xuICAgICAgcHJvY2Vzc2VkLmxheWVycyA9IFsuLi50aGlzLmJhc2VtYXBMYXllcnMsIC4uLnByb2Nlc3NlZC5sYXllcnNdXG4gICAgfVxuICAgIGlmICghdGhpcy5kb05vdFVzZURlZmF1bHRCYXNlbWFwKSB7XG4gICAgICBwcm9jZXNzZWQubGF5ZXJzID0gW0RFRkFVTFRfQkFTRU1BUF9MQVlFUiwgLi4ucHJvY2Vzc2VkLmxheWVyc11cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heFpvb20pIHtcbiAgICAgIHByb2Nlc3NlZC52aWV3ID0ge1xuICAgICAgICBtYXhab29tOiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhab29tLFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heEV4dGVudCkge1xuICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgIG1heEV4dGVudDogdGhpcy5tYXBWaWV3Q29uc3RyYWludHMubWF4RXh0ZW50LFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzc2VkLnZpZXcgJiZcbiAgICAgICEoJ3pvb20nIGluIHByb2Nlc3NlZC52aWV3KSAmJlxuICAgICAgISgnY2VudGVyJyBpbiBwcm9jZXNzZWQudmlldylcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQpIHtcbiAgICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgICAgZXh0ZW50OiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQsXG4gICAgICAgICAgLi4ucHJvY2Vzc2VkLnZpZXcsXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3NlZC52aWV3ID0geyAuLi5ERUZBVUxUX1ZJRVcsIC4uLnByb2Nlc3NlZC52aWV3IH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NlZFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbFwiICNtYXA+PC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBwLTIgcm91bmRlZCB6LTQwIHRyYW5zaXRpb24tYWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHRleHQtcHJpbWFyeSBmb250LXNhbnMgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIChkaXNwbGF5TWVzc2FnZSQgfCBhc3luYykgPyAndmlzaWJsZSBvcGFjaXR5LTEwMCcgOiAnaW52aXNpYmxlIG9wYWNpdHktMCdcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgei1bLTFdIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXByaW1hcnktbGlnaHRlc3Qgb3BhY2l0eS02MFwiXG4gID48L2Rpdj5cbiAgPG5nLWljb25cbiAgICBjbGFzcz1cIiF3LTE2ICFoLTE2IHRleHQtWzY0cHhdIG1iLTRcIlxuICAgIG5hbWU9XCJtYXRTd2lwZU91dGxpbmVcIlxuICA+PC9uZy1pY29uPlxuICA8cCB0cmFuc2xhdGU+bWFwLm5hdmlnYXRpb24ubWVzc2FnZTwvcD5cbjwvZGl2PlxuIl19
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWNvbnRhaW5lci9tYXAtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtY29udGFpbmVyL21hcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBR3JCLHNCQUFzQixFQUV0QixzQkFBc0IsRUFFdEIsaUJBQWlCLEVBTWpCLG1CQUFtQixHQUNwQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLE1BQU0sR0FDUCxNQUFNLDRCQUE0QixDQUFBO0FBR25DLE9BQU8sRUFDTCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCxl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QUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNILGlKQzNFSCwwakJBZ0JBLHlERHFEWSxZQUFZLGlMQUFFLGVBQWUsc0tBQUUsZUFBZTs7NEZBUTdDLHFCQUFxQjtrQkFkakMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxhQUM5Qzt3QkFDVCxZQUFZLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQzt3QkFDakMsb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7OzBCQWtFRSxNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsb0JBQW9CO3lDQWpFckIsT0FBTztzQkFBZixLQUFLO2dCQUlRLGFBQWE7c0JBQTFCLE1BQU07Z0JBZU8sYUFBYTtzQkFBMUIsTUFBTTtnQkFlTyxRQUFRO3NCQUFyQixNQUFNO2dCQVlPLGVBQWU7c0JBQTVCLE1BQU07Z0JBWVcsU0FBUztzQkFBMUIsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgY29tcHV0ZU1hcENvbnRleHREaWZmLFxuICBFeHRlbnQsXG4gIEZlYXR1cmVzQ2xpY2tFdmVudCxcbiAgRmVhdHVyZXNDbGlja0V2ZW50VHlwZSxcbiAgRmVhdHVyZXNIb3ZlckV2ZW50LFxuICBGZWF0dXJlc0hvdmVyRXZlbnRUeXBlLFxuICBNYXBDbGlja0V2ZW50LFxuICBNYXBDbGlja0V2ZW50VHlwZSxcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxuICBNYXBDb250ZXh0TGF5ZXJYeXosXG4gIE1hcENvbnRleHRWaWV3LFxuICBTb3VyY2VMb2FkRXJyb3JFdmVudCxcbiAgU291cmNlTG9hZEVycm9yVHlwZSxcbn0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBhcHBseUNvbnRleHREaWZmVG9NYXAsXG4gIGNyZWF0ZU1hcEZyb21Db250ZXh0LFxuICBsaXN0ZW4sXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9vcGVubGF5ZXJzJ1xuaW1wb3J0IHR5cGUgT2xNYXAgZnJvbSAnb2wvTWFwJ1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7XG4gIEJBU0VNQVBfTEFZRVJTLFxuICBET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCxcbiAgTUFQX1ZJRVdfQ09OU1RSQUlOVFMsXG59IGZyb20gJy4vbWFwLXNldHRpbmdzLnRva2VuJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdFN3aXBlT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuXG5jb25zdCBERUZBVUxUX0JBU0VNQVBfTEFZRVI6IE1hcENvbnRleHRMYXllclh5eiA9IHtcbiAgdHlwZTogJ3h5eicsXG4gIHVybDogYGh0dHBzOi8ve2EtY30uYmFzZW1hcHMuY2FydG9jZG4uY29tL3Jhc3RlcnRpbGVzL3ZveWFnZXIve3p9L3t4fS97eX0ucG5nYCxcbiAgYXR0cmlidXRpb25zOiBgPHNwYW4+wqkgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCDCqSA8YSBocmVmPVwiaHR0cHM6Ly9jYXJ0by5jb20vXCI+Q2FydG88L2E+PC9zcGFuPmAsXG59XG5cbmNvbnN0IERFRkFVTFRfVklFVzogTWFwQ29udGV4dFZpZXcgPSB7XG4gIGNlbnRlcjogWzAsIDE1XSxcbiAgem9vbTogMixcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLWNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE5nSWNvbkNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IG1hdFN3aXBlT3V0bGluZSB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb250ZXh0OiBNYXBDb250ZXh0IHwgbnVsbFxuXG4gIC8vIHRoZXNlIGV2ZW50cyBvbmx5IGdldCByZWdpc3RlcmVkIG9uIHRoZSBtYXAgaWYgdGhleSBhcmUgdXNlZFxuICBfZmVhdHVyZXNDbGljazogRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT5cbiAgQE91dHB1dCgpIGdldCBmZWF0dXJlc0NsaWNrKCkge1xuICAgIGlmICghdGhpcy5fZmVhdHVyZXNDbGljaykge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihcbiAgICAgICAgICBvbE1hcCxcbiAgICAgICAgICBGZWF0dXJlc0NsaWNrRXZlbnRUeXBlLFxuICAgICAgICAgICh7IGZlYXR1cmVzIH06IEZlYXR1cmVzQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2ZlYXR1cmVzQ2xpY2suZW1pdChmZWF0dXJlcylcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX2ZlYXR1cmVzQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZXNDbGlja1xuICB9XG4gIF9mZWF0dXJlc0hvdmVyOiBFdmVudEVtaXR0ZXI8RmVhdHVyZVtdPlxuICBAT3V0cHV0KCkgZ2V0IGZlYXR1cmVzSG92ZXIoKSB7XG4gICAgaWYgKCF0aGlzLl9mZWF0dXJlc0hvdmVyKSB7XG4gICAgICB0aGlzLm9wZW5sYXllcnNNYXAudGhlbigob2xNYXApID0+IHtcbiAgICAgICAgbGlzdGVuKFxuICAgICAgICAgIG9sTWFwLFxuICAgICAgICAgIEZlYXR1cmVzSG92ZXJFdmVudFR5cGUsXG4gICAgICAgICAgKHsgZmVhdHVyZXMgfTogRmVhdHVyZXNIb3ZlckV2ZW50KSA9PlxuICAgICAgICAgICAgdGhpcy5fZmVhdHVyZXNIb3Zlci5lbWl0KGZlYXR1cmVzKVxuICAgICAgICApXG4gICAgICB9KVxuICAgICAgdGhpcy5fZmVhdHVyZXNIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZVtdPigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlc0hvdmVyXG4gIH1cbiAgX21hcENsaWNrOiBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT5cbiAgQE91dHB1dCgpIGdldCBtYXBDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuX21hcENsaWNrKSB7XG4gICAgICB0aGlzLm9wZW5sYXllcnNNYXAudGhlbigob2xNYXApID0+IHtcbiAgICAgICAgbGlzdGVuKG9sTWFwLCBNYXBDbGlja0V2ZW50VHlwZSwgKHsgY29vcmRpbmF0ZSB9OiBNYXBDbGlja0V2ZW50KSA9PlxuICAgICAgICAgIHRoaXMuX21hcENsaWNrLmVtaXQoY29vcmRpbmF0ZSlcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX21hcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxbbnVtYmVyLCBudW1iZXJdPigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tYXBDbGlja1xuICB9XG4gIF9zb3VyY2VMb2FkRXJyb3I6IEV2ZW50RW1pdHRlcjxTb3VyY2VMb2FkRXJyb3JFdmVudD5cbiAgQE91dHB1dCgpIGdldCBzb3VyY2VMb2FkRXJyb3IoKSB7XG4gICAgaWYgKCF0aGlzLl9zb3VyY2VMb2FkRXJyb3IpIHtcbiAgICAgIHRoaXMub3BlbmxheWVyc01hcC50aGVuKChvbE1hcCkgPT4ge1xuICAgICAgICBsaXN0ZW4ob2xNYXAsIFNvdXJjZUxvYWRFcnJvclR5cGUsIChlcnJvcjogU291cmNlTG9hZEVycm9yRXZlbnQpID0+XG4gICAgICAgICAgdGhpcy5fc291cmNlTG9hZEVycm9yLmVtaXQoZXJyb3IpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9zb3VyY2VMb2FkRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPFNvdXJjZUxvYWRFcnJvckV2ZW50PigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zb3VyY2VMb2FkRXJyb3JcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ21hcCcpIGNvbnRhaW5lcjogRWxlbWVudFJlZlxuICBkaXNwbGF5TWVzc2FnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgb2xNYXA6IE9sTWFwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCkgcHJpdmF0ZSBkb05vdFVzZURlZmF1bHRCYXNlbWFwOiBib29sZWFuLFxuICAgIEBJbmplY3QoQkFTRU1BUF9MQVlFUlMpIHByaXZhdGUgYmFzZW1hcExheWVyczogTWFwQ29udGV4dExheWVyW10sXG4gICAgQEluamVjdChNQVBfVklFV19DT05TVFJBSU5UUylcbiAgICBwcml2YXRlIG1hcFZpZXdDb25zdHJhaW50czoge1xuICAgICAgbWF4Wm9vbT86IG51bWJlclxuICAgICAgbWF4RXh0ZW50PzogRXh0ZW50XG4gICAgfVxuICApIHt9XG5cbiAgcHJpdmF0ZSBvbE1hcFJlc29sdmVyXG4gIG9wZW5sYXllcnNNYXAgPSBuZXcgUHJvbWlzZTxPbE1hcD4oKHJlc29sdmUpID0+IHtcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIgPSByZXNvbHZlXG4gIH0pXG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub2xNYXAgPSBhd2FpdCBjcmVhdGVNYXBGcm9tQ29udGV4dChcbiAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQodGhpcy5jb250ZXh0KSxcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICApXG4gICAgdGhpcy5kaXNwbGF5TWVzc2FnZSQgPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh0aGlzLm9sTWFwLCAnbWFwbXV0ZWQnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ21vdmVzdGFydCcpLnBpcGUobWFwKCgpID0+IGZhbHNlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ3NpbmdsZWNsaWNrJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKVxuICAgICkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobXV0ZWQpID0+XG4gICAgICAgIG11dGVkXG4gICAgICAgICAgPyB0aW1lcigyMDAwKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICAgIGRlbGF5KDQwMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG9mKGZhbHNlKVxuICAgICAgKVxuICAgIClcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIodGhpcy5vbE1hcClcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMgJiYgIWNoYW5nZXNbJ2NvbnRleHQnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBjb21wdXRlTWFwQ29udGV4dERpZmYoXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLmN1cnJlbnRWYWx1ZSksXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLnByZXZpb3VzVmFsdWUpXG4gICAgICApXG4gICAgICBhd2FpdCBhcHBseUNvbnRleHREaWZmVG9NYXAodGhpcy5vbE1hcCwgZGlmZilcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgYXBwbHkgYmFzZW1hcCBsYXllcnMgJiB2aWV3IGNvbnN0cmFpbnRzXG4gIHByb2Nlc3NDb250ZXh0KGNvbnRleHQ6IE1hcENvbnRleHQpOiBNYXBDb250ZXh0IHtcbiAgICBjb25zdCBwcm9jZXNzZWQgPSBjb250ZXh0XG4gICAgICA/IHsgLi4uY29udGV4dCwgdmlldzogY29udGV4dC52aWV3ID8/IERFRkFVTFRfVklFVyB9XG4gICAgICA6IHsgbGF5ZXJzOiBbXSwgdmlldzogREVGQVVMVF9WSUVXIH1cbiAgICBpZiAodGhpcy5iYXNlbWFwTGF5ZXJzLmxlbmd0aCkge1xuICAgICAgcHJvY2Vzc2VkLmxheWVycyA9IFsuLi50aGlzLmJhc2VtYXBMYXllcnMsIC4uLnByb2Nlc3NlZC5sYXllcnNdXG4gICAgfVxuICAgIGlmICghdGhpcy5kb05vdFVzZURlZmF1bHRCYXNlbWFwKSB7XG4gICAgICBwcm9jZXNzZWQubGF5ZXJzID0gW0RFRkFVTFRfQkFTRU1BUF9MQVlFUiwgLi4ucHJvY2Vzc2VkLmxheWVyc11cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heFpvb20pIHtcbiAgICAgIHByb2Nlc3NlZC52aWV3ID0ge1xuICAgICAgICBtYXhab29tOiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhab29tLFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heEV4dGVudCkge1xuICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgIG1heEV4dGVudDogdGhpcy5tYXBWaWV3Q29uc3RyYWludHMubWF4RXh0ZW50LFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzc2VkLnZpZXcgJiZcbiAgICAgICEoJ3pvb20nIGluIHByb2Nlc3NlZC52aWV3KSAmJlxuICAgICAgISgnY2VudGVyJyBpbiBwcm9jZXNzZWQudmlldylcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQpIHtcbiAgICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgICAgZXh0ZW50OiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQsXG4gICAgICAgICAgLi4ucHJvY2Vzc2VkLnZpZXcsXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3NlZC52aWV3ID0geyAuLi5ERUZBVUxUX1ZJRVcsIC4uLnByb2Nlc3NlZC52aWV3IH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NlZFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbFwiICNtYXA+PC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBwLTIgcm91bmRlZCB6LTQwIHRyYW5zaXRpb24tYWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHRleHQtcHJpbWFyeSBmb250LXNhbnMgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIChkaXNwbGF5TWVzc2FnZSQgfCBhc3luYykgPyAndmlzaWJsZSBvcGFjaXR5LTEwMCcgOiAnaW52aXNpYmxlIG9wYWNpdHktMCdcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgei1bLTFdIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXByaW1hcnktbGlnaHRlc3Qgb3BhY2l0eS02MFwiXG4gID48L2Rpdj5cbiAgPG5nLWljb25cbiAgICBjbGFzcz1cIiF3LTE2ICFoLTE2IHRleHQtWzY0cHhdIG1iLTRcIlxuICAgIG5hbWU9XCJtYXRTd2lwZU91dGxpbmVcIlxuICA+PC9uZy1pY29uPlxuICA8cCB0cmFuc2xhdGU+bWFwLm5hdmlnYXRpb24ubWVzc2FnZTwvcD5cbjwvZGl2PlxuIl19
|
|
@@ -16,6 +16,10 @@ export class MapLegendComponent {
|
|
|
16
16
|
this.legendStatusChange.emit(true);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
else {
|
|
20
|
+
this.legendHTML = false;
|
|
21
|
+
this.legendStatusChange.emit(false);
|
|
22
|
+
}
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -29,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29
33
|
}], legendStatusChange: [{
|
|
30
34
|
type: Output
|
|
31
35
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQVV0QyxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBVVksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWtCM0Q7SUFmQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDbEQsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQzlELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0xDckIvQix5RUFDQSw0SURrQlksSUFBSTs7NEZBRUgsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxJQUFJLENBQUM7OEJBR04sT0FBTztzQkFBZixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29udGV4dCB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgY3JlYXRlTGVnZW5kRnJvbUxheWVyIH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2xlZ2VuZCdcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IE1hcENvbnRleHQgfCBudWxsXG4gIEBPdXRwdXQoKSBsZWdlbmRTdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgbGVnZW5kSFRNTDogSFRNTEVsZW1lbnQgfCBmYWxzZVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBjaGFuZ2VzWydjb250ZXh0J10uY3VycmVudFZhbHVlXG4gICAgICBpZiAobWFwQ29udGV4dC5sYXllcnMgJiYgbWFwQ29udGV4dC5sYXllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtYXBDb250ZXh0TGF5ZXIgPSBtYXBDb250ZXh0LmxheWVyc1swXVxuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBhd2FpdCBjcmVhdGVMZWdlbmRGcm9tTGF5ZXIobWFwQ29udGV4dExheWVyKVxuICAgICAgICBpZiAodGhpcy5sZWdlbmRIVE1MKSB7XG4gICAgICAgICAgdGhpcy5sZWdlbmRTdGF0dXNDaGFuZ2UuZW1pdCh0cnVlKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBmYWxzZVxuICAgICAgICB0aGlzLmxlZ2VuZFN0YXR1c0NoYW5nZS5lbWl0KGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxlZ2VuZEhUTUxcIiBbaW5uZXJIVE1MXT1cImxlZ2VuZEhUTUwub3V0ZXJIVE1MXCI+PC9kaXY+XG4iXX0=
|
|
@@ -36,7 +36,11 @@ export async function openDataset(url, typeHint, options, cacheActive) {
|
|
|
36
36
|
return reader;
|
|
37
37
|
}
|
|
38
38
|
catch (e) {
|
|
39
|
-
|
|
39
|
+
//WfsReader may already raise a FetchError
|
|
40
|
+
if (e instanceof FetchError)
|
|
41
|
+
throw e;
|
|
42
|
+
else
|
|
43
|
+
throw FetchError.parsingFailed(e.message);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
/**
|
|
@@ -63,4 +67,4 @@ export async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
|
63
67
|
export function readDatasetHeaders(url) {
|
|
64
68
|
return fetch(url).then((response) => parseHeaders(response.headers));
|
|
65
69
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL2RhdGEtZmV0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxFQUE0QixVQUFVLEVBQWlCLE1BQU0sU0FBUyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXpDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQy9CLEdBQVcsRUFDWCxRQUF3QixFQUN4QixPQUlDLEVBQ0QsV0FBcUI7SUFFckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdEQsSUFBSSxNQU1TLENBQUE7SUFDYixJQUFJLENBQUM7UUFDSCxRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssS0FBSztnQkFDUixNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzNCLE1BQUs7WUFDUCxLQUFLLE1BQU07Z0JBQ1QsTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUM1QixNQUFLO1lBQ1AsS0FBSyxTQUFTO2dCQUNaLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDL0IsTUFBSztZQUNQLEtBQUssT0FBTztnQkFDVixNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLEtBQUs7Z0JBQ1IsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtnQkFDbEUsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7Z0JBQ2xFLE1BQUs7UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDYixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsWUFBWSxVQUFVO1lBQUUsTUFBTSxDQUFDLENBQUE7O1lBQy9CLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEQsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUMvQixHQUFXLEVBQ1gsUUFBd0IsRUFDeEIsT0FBYSxFQUNiLFdBQVcsR0FBRyxJQUFJO0lBRWxCLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3JFLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVc7SUFDNUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlSGVhZGVycyB9IGZyb20gJy4vaGVhZGVycydcbmltcG9ydCB7IENzdlJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9jc3YnXG5pbXBvcnQgeyBKc29uUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2pzb24nXG5pbXBvcnQgeyBHZW9qc29uUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2dlb2pzb24nXG5pbXBvcnQgeyBFeGNlbFJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9leGNlbCdcbmltcG9ydCB7IERhdGFJdGVtLCBEYXRhc2V0SGVhZGVycywgRmV0Y2hFcnJvciwgU3VwcG9ydGVkVHlwZSB9IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBpbmZlckRhdGFzZXRUeXBlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IEJhc2VSZWFkZXIgfSBmcm9tICcuL3JlYWRlcnMvYmFzZSdcbmltcG9ydCB7IEdtbFJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9nbWwnXG5pbXBvcnQgeyBXZnNWZXJzaW9uIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IFdmc1JlYWRlciB9IGZyb20gJy4vcmVhZGVycy93ZnMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvcGVuRGF0YXNldChcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGVIaW50PzogU3VwcG9ydGVkVHlwZSxcbiAgb3B0aW9ucz86IHtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmdcbiAgICB3ZnNWZXJzaW9uPzogV2ZzVmVyc2lvblxuICAgIHdmc0ZlYXR1cmVUeXBlPzogc3RyaW5nXG4gIH0sXG4gIGNhY2hlQWN0aXZlPzogYm9vbGVhblxuKTogUHJvbWlzZTxCYXNlUmVhZGVyPiB7XG4gIGNvbnN0IGZpbGVUeXBlID0gYXdhaXQgaW5mZXJEYXRhc2V0VHlwZSh1cmwsIHR5cGVIaW50KVxuICBsZXQgcmVhZGVyOlxuICAgIHwgQ3N2UmVhZGVyXG4gICAgfCBKc29uUmVhZGVyXG4gICAgfCBHZW9qc29uUmVhZGVyXG4gICAgfCBFeGNlbFJlYWRlclxuICAgIHwgR21sUmVhZGVyXG4gICAgfCBXZnNSZWFkZXJcbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKGZpbGVUeXBlKSB7XG4gICAgICBjYXNlICdjc3YnOlxuICAgICAgICByZWFkZXIgPSBuZXcgQ3N2UmVhZGVyKHVybClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgICByZWFkZXIgPSBuZXcgSnNvblJlYWRlcih1cmwpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdnZW9qc29uJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEdlb2pzb25SZWFkZXIodXJsKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZXhjZWwnOlxuICAgICAgICByZWFkZXIgPSBuZXcgRXhjZWxSZWFkZXIodXJsKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZ21sJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEdtbFJlYWRlcih1cmwsIG9wdGlvbnMubmFtZXNwYWNlLCBvcHRpb25zLndmc1ZlcnNpb24pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICd3ZnMnOlxuICAgICAgICByZWFkZXIgPSBhd2FpdCBXZnNSZWFkZXIuY3JlYXRlUmVhZGVyKHVybCwgb3B0aW9ucy53ZnNGZWF0dXJlVHlwZSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVhZGVyLnNldENhY2hlQWN0aXZlKGNhY2hlQWN0aXZlKVxuICAgIHJlYWRlci5sb2FkKClcbiAgICByZXR1cm4gcmVhZGVyXG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIC8vV2ZzUmVhZGVyIG1heSBhbHJlYWR5IHJhaXNlIGEgRmV0Y2hFcnJvclxuICAgIGlmIChlIGluc3RhbmNlb2YgRmV0Y2hFcnJvcikgdGhyb3cgZVxuICAgIGVsc2UgdGhyb3cgRmV0Y2hFcnJvci5wYXJzaW5nRmFpbGVkKGUubWVzc2FnZSlcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgZmV0Y2hlcyB0aGUgZnVsbCBkYXRhc2V0IGF0IHRoZSBnaXZlbiBVUkwgYW5kIHBhcnNlcyBpdCBhY2NvcmRpbmcgdG8gaXRzIG1pbWUgdHlwZS5cbiAqIEFsbCBpdGVtcyBpbiB0aGUgZGF0YXNldCBhcmUgY29udmVydGVkIHRvIEdlb0pTT04gZmVhdHVyZXMsIGV2ZW4gaWYgdGhleSBkbyBub3QgYmVhciBhbnkgc3BhdGlhbCBnZW9tZXRyeS5cbiAqIEZpbGUgdHlwZSBjYW4gYmUgZWl0aGVyIGluZmVycmVkIChmcm9tIHRoZSBIVFRQIGhlYWRlcnMgb3IgdGhlIFVSTCksIG9yIGhpbnRlZCB1c2luZyB0aGUgMm5kIGFyZ3VtZW50XG4gKiBGaWxlIHR5cGUgaXMgZGV0ZXJtaW5lZCBsaWtlZCBzbzpcbiAqICAxLiBpZiBhIHR5cGUgaGludCBpcyBnaXZlbiwgdXNlIGl0XG4gKiAgMi4gb3RoZXJ3aXNlLCBsb29rIGZvciBhIENvbnRlbnQtVHlwZSBoZWFkZXIgaW4gdGhlIHJlc3BvbnNlIHdpdGggYSBzdXBwb3J0ZWQgbWltZSB0eXBlXG4gKiAgMy4gaWYgbm8gdmFsaWQgbWltZSB0eXBlIHdhcyBmb3VuZCwgbG9vayBmb3IgYW4gZXhwbGljaXQgZmlsZSBleHRlbnNpb24gaW4gdGhlIHVybCAoLmNzdiwgLmdlb2pzb24gZXRjLilcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWREYXRhc2V0KFxuICB1cmw6IHN0cmluZyxcbiAgdHlwZUhpbnQ/OiBTdXBwb3J0ZWRUeXBlLFxuICBvcHRpb25zPzogYW55LFxuICBjYWNoZUFjdGl2ZSA9IHRydWVcbik6IFByb21pc2U8RGF0YUl0ZW1bXT4ge1xuICBjb25zdCByZWFkZXIgPSBhd2FpdCBvcGVuRGF0YXNldCh1cmwsIHR5cGVIaW50LCBvcHRpb25zLCBjYWNoZUFjdGl2ZSlcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcmVhZGVyLnJlYWQoKVxuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICB0aHJvdyBGZXRjaEVycm9yLnBhcnNpbmdGYWlsZWQoZS5tZXNzYWdlKVxuICB9XG59XG5cbi8qKlxuICogVGhpcyBmZXRjaGVzIG9ubHkgdGhlIGhlYWRlciBvZiB0aGUgZGF0YXNldCBhdCB0aGUgZ2l2ZW4gVVJMLCBnaXZpbmcgaW5mbyBvbiBzaXplLCBtaW1lLXR5cGUgYW5kIGxhc3QgdXBkYXRlIGlmIGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWREYXRhc2V0SGVhZGVycyh1cmw6IHN0cmluZyk6IFByb21pc2U8RGF0YXNldEhlYWRlcnM+IHtcbiAgcmV0dXJuIGZldGNoKHVybCkudGhlbigocmVzcG9uc2UpID0+IHBhcnNlSGVhZGVycyhyZXNwb25zZS5oZWFkZXJzKSlcbn1cbiJdfQ==
|
|
@@ -13,6 +13,9 @@ ${body}`
|
|
|
13
13
|
: `${code}`;
|
|
14
14
|
return new FetchError('http', info, code);
|
|
15
15
|
}
|
|
16
|
+
static forbidden(code) {
|
|
17
|
+
return new FetchError('forbidden', '', code);
|
|
18
|
+
}
|
|
16
19
|
static corsOrNetwork(message) {
|
|
17
20
|
return new FetchError('network', message, 0);
|
|
18
21
|
}
|
|
@@ -56,4 +59,4 @@ export const AllMimeTypes = {
|
|
|
56
59
|
excel: ExcelMimeTypes,
|
|
57
60
|
gml: GmlMimeTypes,
|
|
58
61
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDUyxJQU1NLEVBRU4sSUFBWSxFQUNaLGFBQWEsQ0FBQztRQVRkLFNBQUksR0FBSixJQUFJLENBTUU7UUFFTixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZUFBVSxHQUFWLFVBQVUsQ0FBSTtRQVp2QixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBY1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxnREFBZ0QsSUFBSSxXQUFXLElBQUksRUFBRSxDQUFBO0lBQ3RGLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxJQUFhO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUMsU0FBUyxJQUFJO0VBQ25CLElBQUksRUFBRTtZQUNGLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFBO1FBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWU7UUFDbEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFDRCxNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWdCO1FBQ3JDLE9BQU8sSUFBSSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVztRQUNoQixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDekMsQ0FBQztDQUNGO0FBRUQsNkdBQTZHO0FBRTdHLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixVQUFVLEVBQUUsZ0RBQWdEO0lBQzVELGlCQUFpQixFQUFFLDBCQUEwQjtDQUNyQyxDQUFBO0FBQ1YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsa0JBQWtCLENBQVUsQ0FBQTtBQUMxRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixzQkFBc0I7SUFDdEIsMEJBQTBCO0NBQ2xCLENBQUE7QUFDVixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsMEJBQTBCLEVBQUUsT0FBTztJQUNuQyxtRUFBbUUsRUFBRSxRQUFRO0NBQ3JFLENBQUE7QUFDVixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBVSxDQUFBO0FBUzVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxPQUFPO0lBQ1AsS0FBSztJQUNMLEtBQUs7Q0FDRyxDQUFBO0FBR1YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLElBQUksRUFBRSxhQUFhO0lBQ25CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsS0FBSyxFQUFFLGNBQWM7SUFDckIsR0FBRyxFQUFFLFlBQVk7Q0FDbEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmVhdHVyZSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCB0eXBlIERhdGFJdGVtID0gRmVhdHVyZVxuXG5leHBvcnQgY2xhc3MgRmV0Y2hFcnJvciB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBzdGFjayA9IG51bGxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHlwZTpcbiAgICAgIHwgJ2h0dHAnXG4gICAgICB8ICdmb3JiaWRkZW4nXG4gICAgICB8ICduZXR3b3JrJ1xuICAgICAgfCAncGFyc2UnXG4gICAgICB8ICd1bnN1cHBvcnRlZFR5cGUnXG4gICAgICB8ICd1bmtub3duJyxcblxuICAgIHB1YmxpYyBpbmZvOiBzdHJpbmcsXG4gICAgcHVibGljIGh0dHBTdGF0dXMgPSAwXG4gICkge1xuICAgIHRoaXMubWVzc2FnZSA9IGBBbiBlcnJvciBoYXBwZW5lZCBpbiB0aGUgZGF0YSBmZXRjaGVyLCB0eXBlOiAke3R5cGV9LCBpbmZvOiAke2luZm99YFxuICB9XG4gIHN0YXRpYyBodHRwKGNvZGU6IG51bWJlciwgYm9keT86IHN0cmluZykge1xuICAgIGNvbnN0IGluZm8gPSBib2R5XG4gICAgICA/IGBFcnJvciAke2NvZGV9XG4ke2JvZHl9YFxuICAgICAgOiBgJHtjb2RlfWBcbiAgICByZXR1cm4gbmV3IEZldGNoRXJyb3IoJ2h0dHAnLCBpbmZvLCBjb2RlKVxuICB9XG4gIHN0YXRpYyBmb3JiaWRkZW4oY29kZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBGZXRjaEVycm9yKCdmb3JiaWRkZW4nLCAnJywgY29kZSlcbiAgfVxuICBzdGF0aWMgY29yc09yTmV0d29yayhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IEZldGNoRXJyb3IoJ25ldHdvcmsnLCBtZXNzYWdlLCAwKVxuICB9XG4gIHN0YXRpYyBwYXJzaW5nRmFpbGVkKGluZm86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgRmV0Y2hFcnJvcigncGFyc2UnLCBpbmZvLCAwKVxuICB9XG4gIHN0YXRpYyB1bnN1cHBvcnRlZFR5cGUobWltZVR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgRmV0Y2hFcnJvcigndW5zdXBwb3J0ZWRUeXBlJywgbWltZVR5cGUsIDApXG4gIH1cbiAgc3RhdGljIHVua25vd25UeXBlKCkge1xuICAgIHJldHVybiBuZXcgRmV0Y2hFcnJvcigndW5rbm93bicsICcnLCAwKVxuICB9XG59XG5cbi8vIFVzZWZ1bCByZWZlcmVuY2U6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvTUlNRV90eXBlcy9Db21tb25fdHlwZXNcblxuZXhwb3J0IGNvbnN0IENzdk1pbWVUeXBlcyA9IFtcbiAgJ3RleHQvY3N2JywgLy8gYXMgcGVyIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0MTgwXG4gICdhcHBsaWNhdGlvbi9jc3YnLCAvLyBzZWVtcyB0byBiZSBhbHNvIGNvbW1vblxuXSBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IEpzb25NaW1lVHlwZXMgPSBbJ2FwcGxpY2F0aW9uL2pzb24nXSBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IEdlb0pzb25NaW1lVHlwZXMgPSBbXG4gICdhcHBsaWNhdGlvbi9nZW8ranNvbicsXG4gICdhcHBsaWNhdGlvbi92bmQuZ2VvK2pzb24nLFxuXSBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IEV4Y2VsTWltZVR5cGVzID0gW1xuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywgLy8gLnhsc1xuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLCAvLyAueHNseFxuXSBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IEdtbE1pbWVUeXBlcyA9IFsnYXBwbGljYXRpb24vZ21sK3htbCddIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFN1cHBvcnRlZE1pbWVUeXBlID1cbiAgfCAodHlwZW9mIENzdk1pbWVUeXBlcylbbnVtYmVyXVxuICB8ICh0eXBlb2YgSnNvbk1pbWVUeXBlcylbbnVtYmVyXVxuICB8ICh0eXBlb2YgR2VvSnNvbk1pbWVUeXBlcylbbnVtYmVyXVxuICB8ICh0eXBlb2YgRXhjZWxNaW1lVHlwZXMpW251bWJlcl1cbiAgfCAodHlwZW9mIEdtbE1pbWVUeXBlcylbbnVtYmVyXVxuXG5leHBvcnQgY29uc3QgU3VwcG9ydGVkVHlwZXMgPSBbXG4gICdjc3YnLFxuICAnanNvbicsXG4gICdnZW9qc29uJyxcbiAgJ2V4Y2VsJyxcbiAgJ2dtbCcsXG4gICd3ZnMnLFxuXSBhcyBjb25zdFxuZXhwb3J0IHR5cGUgU3VwcG9ydGVkVHlwZSA9ICh0eXBlb2YgU3VwcG9ydGVkVHlwZXMpW251bWJlcl1cblxuZXhwb3J0IGNvbnN0IEFsbE1pbWVUeXBlcyA9IHtcbiAgY3N2OiBDc3ZNaW1lVHlwZXMsXG4gIGpzb246IEpzb25NaW1lVHlwZXMsXG4gIGdlb2pzb246IEdlb0pzb25NaW1lVHlwZXMsXG4gIGV4Y2VsOiBFeGNlbE1pbWVUeXBlcyxcbiAgZ21sOiBHbWxNaW1lVHlwZXMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEhlYWRlcnMge1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBzdXBwb3J0ZWRUeXBlPzogU3VwcG9ydGVkVHlwZVxuICBmaWxlU2l6ZUJ5dGVzPzogbnVtYmVyXG4gIGxhc3RVcGRhdGU/OiBEYXRlXG4gIGxhc3RVcGRhdGVJbnZhbGlkPzogdHJ1ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5SW5mbyB7XG4gIG5hbWU6IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG4gIHR5cGU6ICdudW1iZXInIHwgJ2RhdGUnIHwgJ3VybCcgfCAnc3RyaW5nJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRJbmZvIHtcbiAgaXRlbXNDb3VudDogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkTmFtZSA9IHN0cmluZ1xuXG50eXBlIFN1bU9wZXJhdGlvbiA9IFsnc3VtJywgRmllbGROYW1lXVxudHlwZSBBdmVyYWdlT3BlcmF0aW9uID0gWydhdmVyYWdlJywgRmllbGROYW1lXVxudHlwZSBNaW5PcGVyYXRpb24gPSBbJ21pbicsIEZpZWxkTmFtZV1cbnR5cGUgTWF4T3BlcmF0aW9uID0gWydtYXgnLCBGaWVsZE5hbWVdXG50eXBlIENvdW50T3BlcmF0aW9uID0gWydjb3VudCddXG5leHBvcnQgdHlwZSBGaWVsZEFnZ3JlZ2F0aW9uID1cbiAgfCBTdW1PcGVyYXRpb25cbiAgfCBBdmVyYWdlT3BlcmF0aW9uXG4gIHwgTWluT3BlcmF0aW9uXG4gIHwgTWF4T3BlcmF0aW9uXG4gIHwgQ291bnRPcGVyYXRpb25cblxudHlwZSBBbGxPcGVyYXRpb24gPSBbJ2FsbCddXG50eXBlIERpc3RpbmN0T3BlcmF0aW9uID0gWydkaXN0aW5jdCcsIEZpZWxkTmFtZV1cbnR5cGUgUmFuZ2VCdWNrZXRzT3BlcmF0aW9uID0gWydyYW5nZUJ1Y2tldHMnLCBGaWVsZE5hbWUsIG51bWJlcl0gLy8gM3JkIHZhbHVlIGlzIHRoZSBidWNrZXQgY291bnQ7IE5PVCBJTVBMRU1FTlRFRFxuZXhwb3J0IHR5cGUgRmllbGRHcm91cEJ5ID1cbiAgfCBBbGxPcGVyYXRpb25cbiAgfCBEaXN0aW5jdE9wZXJhdGlvblxuICB8IFJhbmdlQnVja2V0c09wZXJhdGlvblxuXG5leHBvcnQgdHlwZSBGaWVsZFNvcnQgPSBbJ2Rlc2MnIHwgJ2FzYycsIEZpZWxkTmFtZV1cblxudHlwZSBDb21wYXJpc29uT3BlcmF0b3IgPSAnPCcgfCAnPicgfCAnPD0nIHwgJz49JyB8ICc9JyB8ICchPSdcbnR5cGUgQ29tcGFyaXNvbiA9IFtDb21wYXJpc29uT3BlcmF0b3IsIEZpZWxkTmFtZSwgc3RyaW5nIHwgbnVtYmVyXVxudHlwZSBBbmRPcGVyYXRpb24gPSBbJ2FuZCcsIC4uLkZpZWxkRmlsdGVyW11dXG50eXBlIE9yT3BlcmF0aW9uID0gWydvcicsIC4uLkZpZWxkRmlsdGVyW11dXG50eXBlIE5vdE9wZXJhdGlvbiA9IFsnbm90JywgRmllbGRGaWx0ZXJdXG50eXBlIEluT3BlcmF0aW9uID0gWydpbicsIEZpZWxkTmFtZSwgLi4uKHN0cmluZ1tdIHwgbnVtYmVyW10pXVxudHlwZSBMaWtlT3BlcmF0aW9uID0gWydsaWtlJywgRmllbGROYW1lLCBzdHJpbmddXG5leHBvcnQgdHlwZSBGaWVsZEZpbHRlciA9XG4gIHwgQ29tcGFyaXNvblxuICB8IEFuZE9wZXJhdGlvblxuICB8IE9yT3BlcmF0aW9uXG4gIHwgTm90T3BlcmF0aW9uXG4gIHwgSW5PcGVyYXRpb25cbiAgfCBMaWtlT3BlcmF0aW9uXG4iXX0=
|