@igo2/geo 1.9.3 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/igo2-geo.umd.js +3569 -1190
- package/bundles/igo2-geo.umd.js.map +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +72 -53
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +7 -6
- package/esm2015/lib/catalog/shared/catalog.service.js +5 -2
- package/esm2015/lib/datasource/shared/capabilities.service.js +26 -12
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +2 -2
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +3 -1
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +7 -1
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +15 -8
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +12 -4
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +3 -1
- package/esm2015/lib/directions/directions.component.js +66 -15
- package/esm2015/lib/directions/shared/directions.enum.js +6 -1
- package/esm2015/lib/directions/shared/directions.interface.js +1 -1
- package/esm2015/lib/directions/shared/directions.utils.js +4 -37
- package/esm2015/lib/draw/draw/draw.component.js +2 -1
- package/esm2015/lib/feature/shared/feature.utils.js +2 -1
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
- package/esm2015/lib/filter/filter.module.js +7 -4
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +15 -1
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +31 -13
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.js +8 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +185 -95
- package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
- package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
- package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
- package/esm2015/lib/import-export/import-export/import-export.component.js +226 -66
- package/esm2015/lib/import-export/shared/export.interface.js +1 -1
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +32 -26
- package/esm2015/lib/layer/layer.module.js +8 -5
- package/esm2015/lib/layer/shared/layer.service.js +20 -17
- package/esm2015/lib/layer/shared/layers/image-layer.js +9 -4
- package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/layer.js +23 -5
- package/esm2015/lib/layer/shared/layers/tile-layer.js +23 -3
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vector-layer.js +32 -14
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +13 -3
- package/esm2015/lib/layer/shared/style.service.js +21 -16
- package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
- package/esm2015/lib/layer/utils/index.js +2 -1
- package/esm2015/lib/layer/utils/layer.utils.js +11 -0
- package/esm2015/lib/layer/utils/layerSync-watcher.js +10 -6
- package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
- package/esm2015/lib/map/home-extent-button/index.js +2 -0
- package/esm2015/lib/map/index.js +3 -1
- package/esm2015/lib/map/info-section/index.js +2 -0
- package/esm2015/lib/map/info-section/info-section.component.js +36 -0
- package/esm2015/lib/map/map-browser/map-browser.component.js +1 -1
- package/esm2015/lib/map/map-center/map-center.component.js +1 -1
- package/esm2015/lib/map/map.module.js +11 -1
- package/esm2015/lib/map/shared/hover-feature.directive.js +229 -78
- package/esm2015/lib/map/shared/map.js +2 -2
- package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
- package/esm2015/lib/measure/measurer/measurer.component.js +8 -2
- package/esm2015/lib/query/shared/query.directive.js +6 -3
- package/esm2015/lib/query/shared/query.interfaces.js +1 -1
- package/esm2015/lib/query/shared/query.service.js +57 -14
- package/esm2015/lib/query/shared/query.utils.js +19 -1
- package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +16 -5
- package/esm2015/lib/search/shared/search.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/icherche.js +3 -2
- package/esm2015/lib/search/shared/sources/source.js +2 -2
- package/esm2015/lib/search/shared/sources/storedqueries.js +3 -7
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
- package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
- package/esm2015/lib/workspace/index.js +2 -1
- package/esm2015/lib/workspace/shared/edition-workspace.js +271 -0
- package/esm2015/lib/workspace/shared/edition-workspace.service.js +619 -0
- package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +27 -6
- package/esm2015/lib/workspace/shared/index.js +3 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +27 -5
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +59 -15
- package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
- package/esm2015/lib/workspace/workspace.module.js +19 -7
- package/fesm2015/igo2-geo.js +2946 -794
- package/fesm2015/igo2-geo.js.map +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +45 -0
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -0
- package/lib/directions/directions.component.d.ts +7 -3
- package/lib/directions/shared/directions.enum.d.ts +4 -0
- package/lib/directions/shared/directions.interface.d.ts +3 -1
- package/lib/directions/shared/directions.utils.d.ts +0 -4
- package/lib/filter/filter.module.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +7 -2
- package/lib/geometry/shared/controls/draw.d.ts +8 -4
- package/lib/geometry/shared/controls/modify.d.ts +3 -4
- package/lib/geometry/shared/controls/slice.d.ts +3 -4
- package/lib/import-export/import-export/import-export.component.d.ts +2 -0
- package/lib/import-export/shared/export.interface.d.ts +2 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +0 -1
- package/lib/layer/layer.module.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +7 -0
- package/lib/layer/shared/layers/layer.interface.d.ts +8 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +10 -1
- package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -0
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +1 -0
- package/lib/layer/shared/style.service.d.ts +4 -1
- package/lib/layer/shared/vector-style.interface.d.ts +9 -5
- package/lib/layer/utils/index.d.ts +1 -0
- package/lib/layer/utils/layer.utils.d.ts +2 -0
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
- package/lib/map/home-extent-button/index.d.ts +1 -0
- package/lib/map/index.d.ts +2 -0
- package/lib/map/info-section/index.d.ts +1 -0
- package/lib/map/info-section/info-section.component.d.ts +7 -0
- package/lib/map/map.module.d.ts +19 -17
- package/lib/map/shared/hover-feature.directive.d.ts +14 -5
- package/lib/map/shared/mapOffline.directive.d.ts +1 -0
- package/lib/query/shared/query.interfaces.d.ts +3 -0
- package/lib/query/shared/query.service.d.ts +9 -1
- package/lib/query/shared/query.utils.d.ts +12 -0
- package/lib/search/shared/search-pointer-summary.directive.d.ts +6 -0
- package/lib/search/shared/search.interfaces.d.ts +1 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
- package/lib/workspace/confirmation-popup/index.d.ts +2 -0
- package/lib/workspace/index.d.ts +1 -0
- package/lib/workspace/shared/edition-workspace.d.ts +81 -0
- package/lib/workspace/shared/edition-workspace.service.d.ts +45 -0
- package/lib/workspace/shared/feature-workspace.d.ts +3 -0
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/index.d.ts +2 -0
- package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/workspace.utils.d.ts +3 -2
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
- package/lib/workspace/workspace.module.d.ts +8 -5
- package/package.json +4 -4
- package/style/geo.theming.scss +1 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2V4cG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydEZvcm1hdCwgRW5jb2RpbmdGb3JtYXQgfSBmcm9tICcuL2V4cG9ydC50eXBlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0T3B0aW9ucyB7XHJcbiAgZm9ybWF0PzogRXhwb3J0Rm9ybWF0O1xyXG4gIGVuY29kaW5nPzogRW5jb2RpbmdGb3JtYXQ7XHJcbiAgbGF5ZXJzOiBzdHJpbmdbXTtcclxuICBsYXllcnNXaXRoU2VsZWN0aW9uPzogc3RyaW5nW107XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBjb21iaW5lTGF5ZXJzPzogYm9vbGVhbjtcclxuICBzZXBhcmF0b3I/OiBib29sZWFuO1xyXG4gIGZlYXR1cmVJbk1hcEV4dGVudD86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -76,6 +76,7 @@ function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2
|
|
|
76
76
|
i0.ɵɵadvance(1);
|
|
77
77
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.geo.layer.legend.noLegendScale"), " ");
|
|
78
78
|
} }
|
|
79
|
+
const _c1 = function (a0) { return [a0]; };
|
|
79
80
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
80
81
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
81
82
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -90,21 +91,22 @@ function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2
|
|
|
90
91
|
const ctx_r22 = i0.ɵɵnextContext(3);
|
|
91
92
|
i0.ɵɵadvance(1);
|
|
92
93
|
i0.ɵɵpropertyInterpolate("id", item_r6.title);
|
|
93
|
-
i0.ɵɵpropertyInterpolate("src",
|
|
94
|
+
i0.ɵɵpropertyInterpolate("src", i0.ɵɵpureFunction1(6, _c1, item_r6.imgGraphValue), i0.ɵɵsanitizeUrl);
|
|
94
95
|
i0.ɵɵpropertyInterpolate("alt", i0.ɵɵpipeBind1(3, 4, "igo.geo.layer.legend.loadingLegendText"));
|
|
95
96
|
i0.ɵɵadvance(3);
|
|
96
97
|
i0.ɵɵproperty("ngIf", ctx_r22.imagesHeight[item_r6.title] < 16);
|
|
97
98
|
} }
|
|
98
99
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
99
100
|
i0.ɵɵelement(0, "div", 15);
|
|
101
|
+
i0.ɵɵpipe(1, "sanitizeHtml");
|
|
100
102
|
} if (rf & 2) {
|
|
101
103
|
const item_r6 = i0.ɵɵnextContext(3).$implicit;
|
|
102
|
-
i0.ɵɵproperty("ngStyle", item_r6.style)("innerHTML", item_r6.html, i0.ɵɵsanitizeHtml);
|
|
104
|
+
i0.ɵɵproperty("ngStyle", item_r6.style)("innerHTML", i0.ɵɵpipeBind1(1, 2, item_r6.html), i0.ɵɵsanitizeHtml);
|
|
103
105
|
} }
|
|
104
106
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
105
107
|
i0.ɵɵelementStart(0, "div");
|
|
106
|
-
i0.ɵɵtemplate(1, LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_1_Template, 5,
|
|
107
|
-
i0.ɵɵtemplate(2, LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_2_Template,
|
|
108
|
+
i0.ɵɵtemplate(1, LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_1_Template, 5, 8, "div", 0);
|
|
109
|
+
i0.ɵɵtemplate(2, LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_div_5_div_2_Template, 2, 4, "div", 12);
|
|
108
110
|
i0.ɵɵelementEnd();
|
|
109
111
|
} if (rf & 2) {
|
|
110
112
|
const item_r6 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -113,7 +115,7 @@ function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2
|
|
|
113
115
|
i0.ɵɵadvance(1);
|
|
114
116
|
i0.ɵɵproperty("ngIf", item_r6.html);
|
|
115
117
|
} }
|
|
116
|
-
const
|
|
118
|
+
const _c2 = function (a0) { return { "with-title": a0 }; };
|
|
117
119
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
118
120
|
i0.ɵɵelementStart(0, "div");
|
|
119
121
|
i0.ɵɵtemplate(1, LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_mat_list_item_1_Template, 5, 5, "mat-list-item", 0);
|
|
@@ -128,7 +130,7 @@ function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2
|
|
|
128
130
|
i0.ɵɵadvance(1);
|
|
129
131
|
i0.ɵɵproperty("ngIf", item_r6.title);
|
|
130
132
|
i0.ɵɵadvance(1);
|
|
131
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4,
|
|
133
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c2, item_r6.title));
|
|
132
134
|
i0.ɵɵadvance(2);
|
|
133
135
|
i0.ɵɵproperty("ngIf", ctx_r8.currentStyle !== undefined);
|
|
134
136
|
i0.ɵɵadvance(1);
|
|
@@ -175,6 +177,9 @@ function LayerLegendComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
175
177
|
i0.ɵɵproperty("ngIf", items_r1.length)("ngIfElse", _r3);
|
|
176
178
|
} }
|
|
177
179
|
export class LayerLegendComponent {
|
|
180
|
+
/**
|
|
181
|
+
* activeLegend
|
|
182
|
+
*/
|
|
178
183
|
constructor(capabilitiesService, languageService, http, cdRef) {
|
|
179
184
|
this.capabilitiesService = capabilitiesService;
|
|
180
185
|
this.languageService = languageService;
|
|
@@ -209,13 +214,11 @@ export class LayerLegendComponent {
|
|
|
209
214
|
let lastlLegend = this.layer.legend;
|
|
210
215
|
this.styles = this.listStyles();
|
|
211
216
|
const sourceOptions = this.layer.options.source.options;
|
|
212
|
-
if (sourceOptions &&
|
|
213
|
-
sourceOptions.params &&
|
|
214
|
-
sourceOptions.params.STYLES) {
|
|
217
|
+
if (sourceOptions && sourceOptions.params && sourceOptions.params.STYLES) {
|
|
215
218
|
// if a styles is provided into the layers wms params
|
|
216
219
|
this.currentStyle = this.styles.find(style => style.name === sourceOptions.params.STYLES).name;
|
|
217
220
|
}
|
|
218
|
-
else if (!
|
|
221
|
+
else if (!lastlLegend) {
|
|
219
222
|
// if no legend is manually provided
|
|
220
223
|
if (this.styles && this.styles.length > 1) {
|
|
221
224
|
this.currentStyle = this.styles[0].name;
|
|
@@ -230,10 +233,9 @@ export class LayerLegendComponent {
|
|
|
230
233
|
else {
|
|
231
234
|
lastlLegend = this.layer.dataSource.getLegend(this.currentStyle, this.view);
|
|
232
235
|
}
|
|
233
|
-
if (this.updateLegendOnResolutionChange
|
|
236
|
+
if (this.updateLegendOnResolutionChange || sourceOptions.contentDependentLegend) {
|
|
234
237
|
const state$ = this.layer.map.viewController.state$;
|
|
235
|
-
this.state$$ = state
|
|
236
|
-
.subscribe(() => this.onViewControllerStateChange());
|
|
238
|
+
this.state$$ = state$.subscribe(() => this.onViewControllerStateChange());
|
|
237
239
|
}
|
|
238
240
|
else if (lastlLegend && lastlLegend.length !== 0) {
|
|
239
241
|
this.legendItems$.next(lastlLegend);
|
|
@@ -251,18 +253,22 @@ export class LayerLegendComponent {
|
|
|
251
253
|
}
|
|
252
254
|
}
|
|
253
255
|
getLegendGraphic(item) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
err.error
|
|
258
|
-
|
|
256
|
+
if (item.url) {
|
|
257
|
+
const secureIMG = new SecureImagePipe(this.http);
|
|
258
|
+
secureIMG.transform(item.url).pipe(catchError((err) => {
|
|
259
|
+
if (err.error) {
|
|
260
|
+
err.error.caught = true;
|
|
261
|
+
this.getLegend = false;
|
|
262
|
+
this.cdRef.detectChanges();
|
|
263
|
+
return err;
|
|
264
|
+
}
|
|
265
|
+
})).subscribe(obsLegGraph => {
|
|
266
|
+
const idx = this.legendItems$.value.findIndex(leg => leg.title === item.title);
|
|
267
|
+
const legendGraph = obsLegGraph;
|
|
268
|
+
this.legendItems$.value[idx].imgGraphValue = legendGraph;
|
|
259
269
|
this.cdRef.detectChanges();
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
})).subscribe((legend) => {
|
|
263
|
-
this.legendGraphic = legend;
|
|
264
|
-
this.cdRef.detectChanges();
|
|
265
|
-
});
|
|
270
|
+
});
|
|
271
|
+
}
|
|
266
272
|
}
|
|
267
273
|
toggleLegendItem(collapsed, item) {
|
|
268
274
|
item.collapsed = collapsed;
|
|
@@ -368,7 +374,7 @@ LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerL
|
|
|
368
374
|
i0.ɵɵpipe(1, "async");
|
|
369
375
|
} if (rf & 2) {
|
|
370
376
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.legendItems$));
|
|
371
|
-
} }, directives: [i4.NgIf, i4.NgForOf, i4.NgClass, i5.MatListItem, i6.MatIcon, i5.MatListAvatarCssMatStyler, i7.CollapseDirective, i8.MatLine, i9.MatFormField, i10.MatSelect, i11.MatTooltip, i12.NgControlStatus, i12.NgModel, i8.MatOption, i4.NgStyle], pipes: [i4.AsyncPipe, i13.TranslatePipe], styles: [".igo-layer-legend.with-title[_ngcontent-%COMP%]{padding-left:18px}img[_ngcontent-%COMP%]:after{content:\" \";position:relative;height:17px;float:left;width:17px;top:-3px;right:19px;background-color:#fff;border:3px solid #f3f3f3;border-radius:50%;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-moz-document url-prefix(){img:after{margin-left:19px}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"], changeDetection: 0 });
|
|
377
|
+
} }, directives: [i4.NgIf, i4.NgForOf, i4.NgClass, i5.MatListItem, i6.MatIcon, i5.MatListAvatarCssMatStyler, i7.CollapseDirective, i8.MatLine, i9.MatFormField, i10.MatSelect, i11.MatTooltip, i12.NgControlStatus, i12.NgModel, i8.MatOption, i4.NgStyle], pipes: [i4.AsyncPipe, i13.TranslatePipe, i7.SanitizeHtmlPipe], styles: [".igo-layer-legend.with-title[_ngcontent-%COMP%]{padding-left:18px}img[_ngcontent-%COMP%]:after{content:\" \";position:relative;height:17px;float:left;width:17px;top:-3px;right:19px;background-color:#fff;border:3px solid #f3f3f3;border-radius:50%;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-moz-document url-prefix(){img:after{margin-left:19px}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"], changeDetection: 0 });
|
|
372
378
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendComponent, [{
|
|
373
379
|
type: Component,
|
|
374
380
|
args: [{
|
|
@@ -385,4 +391,4 @@ LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerL
|
|
|
385
391
|
}], layer: [{
|
|
386
392
|
type: Input
|
|
387
393
|
}] }); })();
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsdUJBQXVCLEVBQUUsWUFBWSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUcxSSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxFQUFFLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFNckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ1R2QyxxQ0FBa0M7SUFDaEMsbUNBUXVCO0lBRHJCLHVVQUF5QztJQUUzQyxpQkFBVztJQUNYLDZCQUFZO0lBQUEsWUFBbUM7O0lBQUEsaUJBQUs7SUFDdEQsaUJBQWdCOzs7Ozs7SUFOWixlQUFpQjtJQUFqQiw2QkFBaUIsZ0NBQUE7SUFLUCxlQUFtQztJQUFuQyxzRkFBbUM7OztJQVF2QyxzQ0FBOEQ7SUFBQSxZQUFlO0lBQUEsaUJBQWE7OztJQUFqRCxzQ0FBb0I7SUFBQyxlQUFlO0lBQWYscUNBQWU7Ozs7SUFMckYsMkJBQXdDO0lBQ3BDLHNDQUFnQjtJQUNkLHFDQUVzQztJQUQwQixrUkFBMEIsNlBBQUE7O0lBRXhGLDZJQUEwRjtJQUM1RixpQkFBYTtJQUNqQixpQkFBaUI7SUFDbkIsaUJBQU07OztJQUxF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QyxjQUFjLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLGFBQWlDLENBQUM7U0FDakk7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQzs7d0ZBck9VLG9CQUFvQjt1RUFBcEIsb0JBQW9COzs7Ozs7UUNyQmpDLHVGQXFEZTs7O1FBckRBLDZEQUEyQjs7dUZEcUI3QixvQkFBb0I7Y0FOaEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7Z0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2dCQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs2SkFHVSw4QkFBOEI7a0JBQXRDLEtBQUs7WUFrQzBCLGVBQWU7a0JBQTlDLFlBQVk7bUJBQUMsZ0JBQWdCO1lBVXJCLEtBQUs7a0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkcmVuLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IExheWVyLCBJdGVtU3R5bGVPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycyc7XHJcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDYXBhYmlsaXRpZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvY2FwYWJpbGl0aWVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlLCBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBTZWN1cmVJbWFnZVBpcGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbGF5ZXItbGVnZW5kJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItbGVnZW5kLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXllci1sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5ZXJMZWdlbmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBsZWdlbmQgaXRlbXNcclxuICAgKi9cclxuICBsZWdlbmRJdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDxMZWdlbmRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBtYXAncyByZXNvbHV0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0ZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBhdmFpbGFibGUgc3R5bGVzXHJcbiAgICovXHJcbiAgcHVibGljIHN0eWxlcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHN0eWxlIHVzZWQgdG8gbWFrZSB0aGUgbGVnZW5kXHJcbiAgICovXHJcbiAgcHVibGljIGN1cnJlbnRTdHlsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHNjYWxlIHVzZWQgdG8gbWFrZSB0aGUgbGVnZW5kXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzY2FsZTogbnVtYmVyID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZXh0ZW50IHVzZWQgdG8gbWFrZSB0aGUgbGVnZW5kXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB2aWV3OiBMZWdlbmRNYXBWaWV3T3B0aW9ucyA9IHVuZGVmaW5lZDtcclxuICAvKipcclxuICAgKiBHZXQgbGlzdCBvZiBpbWFnZXMgZGlzcGxheVxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ3JlbmRlcmVkTGVnZW5kJykgcmVuZGVyZWRMZWdlbmRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3Qgb2Ygc2l6ZSBvZiBpbWFnZXMgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgcHVibGljIGltYWdlc0hlaWdodDogeyBbc3JjS2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBMYXllclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxheWVyOiBMYXllcjtcclxuXHJcbiAgLyoqXHJcbiAgICogaWYgZ2V0TGVnZW5kR3JhcGhpYyBpcyBhdXRob3JpemVkXHJcbiAgICovXHJcbiAgcHVibGljIGdldExlZ2VuZCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIGFjdGl2ZUxlZ2VuZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBsZWdlbmRHcmFwaGljOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBPbiBpbml0LCBzdWJzY3JpYmUgdG8gdGhlIG1hcCdzIHJlc29sdXRpb24gYW5kIHVwZGF0ZSB0aGUgbGVnZW5kIGFjY29yZGluZ2x5XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgbGFzdGxMZWdlbmQgPSB0aGlzLmxheWVyLmxlZ2VuZDtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5saXN0U3R5bGVzKCk7XHJcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueTtcclxuICAgIGlmIChcclxuICAgICAgc291cmNlT3B0aW9ucyAmJlxyXG4gICAgICBzb3VyY2VPcHRpb25zLnBhcmFtcyAmJlxyXG4gICAgICBzb3VyY2VPcHRpb25zLnBhcmFtcy5TVFlMRVMpIHtcclxuICAgICAgLy8gaWYgYSBzdHlsZXMgaXMgcHJvdmlkZWQgaW50byB0aGUgbGF5ZXJzIHdtcyBwYXJhbXNcclxuICAgICAgdGhpcy5jdXJyZW50U3R5bGUgPSB0aGlzLnN0eWxlcy5maW5kKHN0eWxlID0+IHN0eWxlLm5hbWUgPT09IHNvdXJjZU9wdGlvbnMucGFyYW1zLlNUWUxFUykubmFtZTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMubGF5ZXIubGVnZW5kKSB7XHJcbiAgICAgIC8vIGlmIG5vIGxlZ2VuZCBpcyBtYW51YWxseSBwcm92aWRlZFxyXG4gICAgICBpZiAodGhpcy5zdHlsZXMgJiYgdGhpcy5zdHlsZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFN0eWxlID0gdGhpcy5zdHlsZXNbMF0ubmFtZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnN0eWxlcyAmJiB0aGlzLnN0eWxlcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0eWxlID0gbGFzdGxMZWdlbmRbMF0uY3VycmVudFN0eWxlO1xyXG4gICAgfVxyXG4gICAgaWYgKCB0eXBlb2YgdGhpcy5sYXllci5vcHRpb25zLmxlZ2VuZE9wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubGF5ZXIub3B0aW9ucy5sZWdlbmRPcHRpb25zLmRpc3BsYXkgPT09IGZhbHNlKSB7XHJcbiAgICAgIGxhc3RsTGVnZW5kID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsYXN0bExlZ2VuZCA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5nZXRMZWdlbmQodGhpcy5jdXJyZW50U3R5bGUsIHRoaXMudmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlID09PSB0cnVlIHx8IChzb3VyY2VPcHRpb25zIGFzIFdNU0RhdGFTb3VyY2VPcHRpb25zKS5jb250ZW50RGVwZW5kZW50TGVnZW5kKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlJCA9IHRoaXMubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnN0YXRlJDtcclxuICAgICAgdGhpcy5zdGF0ZSQkID0gc3RhdGUkXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblZpZXdDb250cm9sbGVyU3RhdGVDaGFuZ2UoKSk7XHJcbiAgICB9IGVsc2UgaWYgKGxhc3RsTGVnZW5kICYmIGxhc3RsTGVnZW5kLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICB0aGlzLmxlZ2VuZEl0ZW1zJC5uZXh0KGxhc3RsTGVnZW5kKTtcclxuICAgICAgZm9yIChjb25zdCBsZWdlbmQgb2YgbGFzdGxMZWdlbmQpIHtcclxuICAgICAgICB0aGlzLmdldExlZ2VuZEdyYXBoaWMobGVnZW5kKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gZGVzdHJveSwgdW5zdWJzY3JpYmUgdG8gdGhlIG1hcCdzIHZpZXcgc3RhdGVcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlJCQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0YXRlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldExlZ2VuZEdyYXBoaWMoaXRlbTogTGVnZW5kKSB7XHJcbiAgICBjb25zdCBzZWN1cmVJTUcgPSBuZXcgU2VjdXJlSW1hZ2VQaXBlKHRoaXMuaHR0cCk7XHJcbiAgICBzZWN1cmVJTUcudHJhbnNmb3JtKGl0ZW0udXJsKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBpZiAoZXJyLmVycm9yKSB7XHJcbiAgICAgICAgICBlcnIuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZ2V0TGVnZW5kID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHJldHVybiBlcnI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKGxlZ2VuZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMubGVnZW5kR3JhcGhpYyA9IGxlZ2VuZDtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUxlZ2VuZEl0ZW0oY29sbGFwc2VkOiBib29sZWFuLCBpdGVtOiBMZWdlbmQpIHtcclxuICAgIGl0ZW0uY29sbGFwc2VkID0gY29sbGFwc2VkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2ZlcnRUb2dnbGVMZWdlbmRJdGVtKG5ld0xlZ2VuZHM6IExlZ2VuZFtdKTogTGVnZW5kW10ge1xyXG4gICAgY29uc3Qgb3V0TGVnZW5kczogTGVnZW5kW10gPSBuZXdMZWdlbmRzO1xyXG4gICAgY29uc3QgbGFzdExlZ2VuZHMgPSB0aGlzLmxheWVyLmxlZ2VuZDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGFzdExlZ2VuZHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgb3V0TGVnZW5kc1tpXS5jb2xsYXBzZWQgPSBsYXN0TGVnZW5kc1tpXS5jb2xsYXBzZWQ7XHJcbiAgIH1cclxuICAgIHJldHVybiBvdXRMZWdlbmRzO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZUl0ZW1UaXRsZShsYXllckxlZ2VuZCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnk7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnR5cGUgIT09ICd3bXMnKSB7XHJcbiAgICAgIHJldHVybiBvZihsYXllckxlZ2VuZC50aXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF5ZXJzID0gbGF5ZXJPcHRpb25zLnBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKTtcclxuICAgIGNvbnN0IGxvY2FsTGF5ZXJPcHRpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsYXllck9wdGlvbnMpKTsgLy8gdG8gYXZvaWQgdG8gYWx0ZXIgdGhlIG9yaWdpbmFsIG9wdGlvbnMuXHJcbiAgICBsb2NhbExheWVyT3B0aW9ucy5wYXJhbXMuTEFZRVJTID0gbGF5ZXJzLmZpbmQobGF5ZXIgPT4gbGF5ZXIgPT09IGxheWVyTGVnZW5kLnRpdGxlKTtcclxuICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcclxuICAgICAgLmdldFdNU09wdGlvbnMobG9jYWxMYXllck9wdGlvbnMpXHJcbiAgICAgIC5waXBlKG1hcCh3bXNEYXRhU291cmNlT3B0aW9ucyA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHdtc0RhdGFTb3VyY2VPcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlLnRpdGxlO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiByZXNvbHV0aW9uIGNoYW5nZSwgY29tcHV0ZSB0aGUgZWZmZWN0aXZlIHNjYWxlIGxldmVsIGFuZCB1cGRhdGUgdGhlXHJcbiAgICogbGVnZW5kIGFjY29yZGluZ2x5LlxyXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIE1hcCByZXNvbHV0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblZpZXdDb250cm9sbGVyU3RhdGVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnZpZXcgPSB7XHJcbiAgICAgIHJlc29sdXRpb246IHRoaXMubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLmdldFJlc29sdXRpb24oKSxcclxuICAgICAgZXh0ZW50OiB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKSxcclxuICAgICAgcHJvamVjdGlvbjogdGhpcy5sYXllci5tYXAudmlld0NvbnRyb2xsZXIuZ2V0T2xQcm9qZWN0aW9uKCkuZ2V0Q29kZSgpLFxyXG4gICAgICBzY2FsZTogdGhpcy5sYXllci5tYXAudmlld0NvbnRyb2xsZXIuZ2V0U2NhbGUoKSxcclxuICAgICAgc2l6ZTogdGhpcy5sYXllci5tYXAub2wuZ2V0U2l6ZSgpXHJcbiAgICB9IGFzIExlZ2VuZE1hcFZpZXdPcHRpb25zO1xyXG4gICAgdGhpcy51cGRhdGVMZWdlbmQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgbGVnZW5kIHdpdGggc2NhbGUgbGV2ZWwgYW5kIHN0eWxlIGRlZmluZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTGVnZW5kKCkge1xyXG4gICAgbGV0IGxlZ2VuZEl0ZW1zID0gdGhpcy5sYXllci5kYXRhU291cmNlLmdldExlZ2VuZCh0aGlzLmN1cnJlbnRTdHlsZSwgdGhpcy52aWV3KTtcclxuICAgIGlmICh0aGlzLmxheWVyLmxlZ2VuZCAmJiB0aGlzLmxheWVyLmxlZ2VuZC5sZW5ndGggPiAxKSB7IGxlZ2VuZEl0ZW1zID0gdGhpcy50cmFuc2ZlcnRUb2dnbGVMZWdlbmRJdGVtKGxlZ2VuZEl0ZW1zKTsgfVxyXG4gICAgdGhpcy5sYXllci5sZWdlbmQgPSBsZWdlbmRJdGVtcztcclxuXHJcbiAgICBpZiAobGVnZW5kSXRlbXMubGVuZ3RoID09PSAwICYmIHRoaXMubGVnZW5kSXRlbXMkLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmxlZ2VuZEl0ZW1zJC5uZXh0KGxlZ2VuZEl0ZW1zKTtcclxuICAgIGZvciAoY29uc3QgbGVnZW5kIG9mIHRoaXMubGVnZW5kSXRlbXMkLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZ2V0TGVnZW5kR3JhcGhpYyhsZWdlbmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0U3R5bGVzKCkge1xyXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zO1xyXG4gICAgaWYgKGxheWVyT3B0aW9ucyAmJiBsYXllck9wdGlvbnMubGVnZW5kT3B0aW9ucykge1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8ubGF5ZXIubGVnZW5kLmRlZmF1bHQnKTtcclxuICAgICAgbGV0IHN0eWxlc0F2YWlsYWJsZSA9IFt7IG5hbWU6ICcnLCB0aXRsZSB9IGFzIEl0ZW1TdHlsZU9wdGlvbnNdO1xyXG4gICAgICBpZiAobGF5ZXJPcHRpb25zLmxlZ2VuZE9wdGlvbnMuc3R5bGVzQXZhaWxhYmxlKSB7XHJcbiAgICAgICAgc3R5bGVzQXZhaWxhYmxlID0gc3R5bGVzQXZhaWxhYmxlLmNvbmNhdChsYXllck9wdGlvbnMubGVnZW5kT3B0aW9ucy5zdHlsZXNBdmFpbGFibGUuZmlsdGVyKHNBID0+IChcclxuICAgICAgICAgIHNBLm5hbWUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9naSwgJycpICE9PSAnZGVmYXVsdCcgJiZcclxuICAgICAgICAgIHNBLm5hbWUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9naSwgJycpICE9PSAnZGVmYXV0JykpKTtcclxuICAgICAgfVxyXG4gICAgICBzdHlsZXNBdmFpbGFibGUuZmlsdGVyKHNhID0+ICFzYS50aXRsZSkubWFwKChzYSkgPT4gc2EudGl0bGUgPSBzYS5uYW1lKTtcclxuICAgICAgc3R5bGVzQXZhaWxhYmxlLm1hcChzID0+IHMudGl0bGUgPSBzLnRpdGxlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcy50aXRsZS5zbGljZSgxKS5yZXBsYWNlKC9fL2csICcgJykpO1xyXG4gICAgICByZXR1cm4gc3R5bGVzQXZhaWxhYmxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlU3R5bGUoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUxlZ2VuZCgpO1xyXG4gICAgbGV0IFNUWUxFUyA9ICcnO1xyXG4gICAgaWYgKHRoaXMubGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIFdNU0RhdGFTb3VyY2UpIHtcclxuICAgICAgdGhpcy5sYXllci5kYXRhU291cmNlLm9sLmdldFBhcmFtcygpLkxBWUVSUy5zcGxpdCgnLCcpLm1hcChsYXllciA9PlxyXG4gICAgICAgIFNUWUxFUyArPSB0aGlzLmN1cnJlbnRTdHlsZSArICcsJ1xyXG4gICAgICApO1xyXG4gICAgICBTVFlMRVMgPSBTVFlMRVMuc2xpY2UoMCwgLTEpO1xyXG4gICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub2wudXBkYXRlUGFyYW1zKHsgU1RZTEVTIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Mb2FkSW1hZ2UoaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IGVsZW1SZWY6IEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgICBpZiAodGhpcy5yZW5kZXJlZExlZ2VuZHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGVsZW1SZWYgPSB0aGlzLnJlbmRlcmVkTGVnZW5kcy5maXJzdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBlbGVtUmVmID0gdGhpcy5yZW5kZXJlZExlZ2VuZHMuZmluZChyZW5kZXJlZExlZ2VuZCA9PiByZW5kZXJlZExlZ2VuZC5uYXRpdmVFbGVtZW50LmlkID09PSBpZCkubmF0aXZlRWxlbWVudCBhcyBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbWFnZXNIZWlnaHRbaWRdID0gZWxlbVJlZi5oZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsZWdlbmRJdGVtcyQgfCBhc3luYyBhcyBpdGVtc1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcy5sZW5ndGg7IGVsc2Ugbm9JdGVtc1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcy5zbGljZSgpLnJldmVyc2UoKVwiICNyZW5kZXJlZExlZ2VuZHM+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJnZXRMZWdlbmQ7IGVsc2Ugbm9JdGVtc1wiPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwiaXRlbS50aXRsZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgIGlkPVwibGVnZW5kLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWdvLWNoZXZyb25cIlxyXG4gICAgICAgICAgICBtYXQtbGlzdC1hdmF0YXJcclxuICAgICAgICAgICAgaWdvQ29sbGFwc2VcclxuICAgICAgICAgICAgW3RhcmdldF09XCJsZWdlbmRcIlxyXG4gICAgICAgICAgICBbY29sbGFwc2VkXT1cIihpdGVtLmNvbGxhcHNlZClcIlxyXG4gICAgICAgICAgICAodG9nZ2xlKT1cInRvZ2dsZUxlZ2VuZEl0ZW0oJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICAgIHN2Z0ljb249XCJjaGV2cm9uLXVwXCI+XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgPGg0IG1hdExpbmU+e3tjb21wdXRlSXRlbVRpdGxlKGl0ZW0pIHwgYXN5bmN9fSA8L2g0PlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8ZGl2ICNsZWdlbmQgY2xhc3M9XCJpZ28tbGF5ZXItbGVnZW5kXCIgW25nQ2xhc3NdPVwieyd3aXRoLXRpdGxlJzogaXRlbS50aXRsZX1cIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50U3R5bGUgIT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5sYXllci5sZWdlbmQuc2VsZWN0U3R5bGUnIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJjdXJyZW50U3R5bGVcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlU3R5bGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc3R5bGUgb2Ygc3R5bGVzXCIgW3ZhbHVlXT1cInN0eWxlLm5hbWVcIj57e3N0eWxlLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhKGl0ZW0uY29sbGFwc2VkKVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS51cmxcIj5cclxuICAgICAgICAgICAgICA8aW1nICNyZW5kZXJlZExlZ2VuZCBpZD1cInt7aXRlbS50aXRsZX19XCIgKGxvYWQpPVwib25Mb2FkSW1hZ2UoaXRlbS50aXRsZSlcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwie3tsZWdlbmRHcmFwaGljfX1cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwie3snaWdvLmdlby5sYXllci5sZWdlbmQubG9hZGluZ0xlZ2VuZFRleHQnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJpbWFnZXNIZWlnaHRbaXRlbS50aXRsZV08MTZcIj5cclxuICAgICAgICAgICAgICAgICAge3snaWdvLmdlby5sYXllci5sZWdlbmQubm9MZWdlbmRTY2FsZScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaXRlbS5zdHlsZVwiXHJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmh0bWxcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5odG1sXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cclxuICAgIDxzbWFsbD5cclxuICAgICAge3snaWdvLmdlby5sYXllci5sZWdlbmQubm9MZWdlbmRUZXh0JyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3NtYWxsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsdUJBQXVCLEVBQUUsWUFBWSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUcxSSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxFQUFFLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFNckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ1R2QyxxQ0FBa0M7SUFDaEMsbUNBUXVCO0lBRHJCLHVVQUF5QztJQUUzQyxpQkFBVztJQUNYLDZCQUFZO0lBQUEsWUFBbUM7O0lBQUEsaUJBQUs7SUFDdEQsaUJBQWdCOzs7Ozs7SUFOWixlQUFpQjtJQUFqQiw2QkFBaUIsZ0NBQUE7SUFLUCxlQUFtQztJQUFuQyxzRkFBbUM7OztJQVF2QyxzQ0FBOEQ7SUFBQSxZQUFlO0lBQUEsaUJBQWE7OztJQUFqRCxzQ0FBb0I7SUFBQyxlQUFlO0lBQWYscUNBQWU7Ozs7SUFMckYsMkJBQXdDO0lBQ3BDLHNDQUFnQjtJQUNkLHFDQUVzQztJQUQwQixrUkFBMEIsNlBBQUE7O0lBRXhGLDZJQUEwRjtJQUM1RixpQkFBYTtJQUNqQixpQkFBaUI7SUFDbkIsaUJBQU07OztJQUxF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Q0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLElBQUksT0FBeUIsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsYUFBaUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBaUMsQ0FBQztTQUNqSTtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxDQUFDOzt3RkFyT1Usb0JBQW9CO3VFQUFwQixvQkFBb0I7Ozs7OztRQ3JCakMsdUZBcURlOzs7UUFyREEsNkRBQTJCOzt1RkRxQjdCLG9CQUFvQjtjQU5oQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzZKQUdVLDhCQUE4QjtrQkFBdEMsS0FBSztZQWtDMEIsZUFBZTtrQkFBOUMsWUFBWTttQkFBQyxnQkFBZ0I7WUFVckIsS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIEJlaGF2aW9yU3ViamVjdCwgb2YsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IExlZ2VuZCB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGF5ZXIsIEl0ZW1TdHlsZU9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzJztcclxuaW1wb3J0IHsgTGVnZW5kTWFwVmlld09wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UsIFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IFNlY3VyZUltYWdlUGlwZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1sYXllci1sZWdlbmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXllci1sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xheWVyLWxlZ2VuZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXllckxlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGxlZ2VuZCBpdGVtc1xyXG4gICAqL1xyXG4gIGxlZ2VuZEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PExlZ2VuZFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIG1hcCdzIHJlc29sdXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRlJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGF2YWlsYWJsZSBzdHlsZXNcclxuICAgKi9cclxuICBwdWJsaWMgc3R5bGVzO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc3R5bGUgdXNlZCB0byBtYWtlIHRoZSBsZWdlbmRcclxuICAgKi9cclxuICBwdWJsaWMgY3VycmVudFN0eWxlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc2NhbGUgdXNlZCB0byBtYWtlIHRoZSBsZWdlbmRcclxuICAgKi9cclxuICBwcml2YXRlIHNjYWxlOiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBleHRlbnQgdXNlZCB0byBtYWtlIHRoZSBsZWdlbmRcclxuICAgKi9cclxuICBwcml2YXRlIHZpZXc6IExlZ2VuZE1hcFZpZXdPcHRpb25zID0gdW5kZWZpbmVkO1xyXG4gIC8qKlxyXG4gICAqIEdldCBsaXN0IG9mIGltYWdlcyBkaXNwbGF5XHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZHJlbigncmVuZGVyZWRMZWdlbmQnKSByZW5kZXJlZExlZ2VuZHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdCBvZiBzaXplIG9mIGltYWdlcyBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBwdWJsaWMgaW1hZ2VzSGVpZ2h0OiB7IFtzcmNLZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIExheWVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGF5ZXI6IExheWVyO1xyXG5cclxuICAvKipcclxuICAgKiBpZiBnZXRMZWdlbmRHcmFwaGljIGlzIGF1dGhvcml6ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0TGVnZW5kID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogYWN0aXZlTGVnZW5kXHJcbiAgICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBPbiBpbml0LCBzdWJzY3JpYmUgdG8gdGhlIG1hcCdzIHJlc29sdXRpb24gYW5kIHVwZGF0ZSB0aGUgbGVnZW5kIGFjY29yZGluZ2x5XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgbGFzdGxMZWdlbmQgPSB0aGlzLmxheWVyLmxlZ2VuZDtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5saXN0U3R5bGVzKCk7XHJcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueTtcclxuICAgIGlmIChzb3VyY2VPcHRpb25zICYmIHNvdXJjZU9wdGlvbnMucGFyYW1zICYmIHNvdXJjZU9wdGlvbnMucGFyYW1zLlNUWUxFUykge1xyXG4gICAgICAvLyBpZiBhIHN0eWxlcyBpcyBwcm92aWRlZCBpbnRvIHRoZSBsYXllcnMgd21zIHBhcmFtc1xyXG4gICAgICB0aGlzLmN1cnJlbnRTdHlsZSA9IHRoaXMuc3R5bGVzLmZpbmQoc3R5bGUgPT4gc3R5bGUubmFtZSA9PT0gc291cmNlT3B0aW9ucy5wYXJhbXMuU1RZTEVTKS5uYW1lO1xyXG4gICAgfSBlbHNlIGlmICghbGFzdGxMZWdlbmQpIHtcclxuICAgICAgLy8gaWYgbm8gbGVnZW5kIGlzIG1hbnVhbGx5IHByb3ZpZGVkXHJcbiAgICAgIGlmICh0aGlzLnN0eWxlcyAmJiB0aGlzLnN0eWxlcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U3R5bGUgPSB0aGlzLnN0eWxlc1swXS5uYW1lO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3R5bGVzICYmIHRoaXMuc3R5bGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50U3R5bGUgPSBsYXN0bExlZ2VuZFswXS5jdXJyZW50U3R5bGU7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubGF5ZXIub3B0aW9ucy5sZWdlbmRPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmxheWVyLm9wdGlvbnMubGVnZW5kT3B0aW9ucy5kaXNwbGF5ID09PSBmYWxzZSkge1xyXG4gICAgICBsYXN0bExlZ2VuZCA9IFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGFzdGxMZWdlbmQgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2UuZ2V0TGVnZW5kKHRoaXMuY3VycmVudFN0eWxlLCB0aGlzLnZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZSB8fCAoc291cmNlT3B0aW9ucyBhcyBXTVNEYXRhU291cmNlT3B0aW9ucykuY29udGVudERlcGVuZGVudExlZ2VuZCkge1xyXG4gICAgICBjb25zdCBzdGF0ZSQgPSB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5zdGF0ZSQ7XHJcbiAgICAgIHRoaXMuc3RhdGUkJCA9IHN0YXRlJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblZpZXdDb250cm9sbGVyU3RhdGVDaGFuZ2UoKSk7XHJcbiAgICB9IGVsc2UgaWYgKGxhc3RsTGVnZW5kICYmIGxhc3RsTGVnZW5kLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICB0aGlzLmxlZ2VuZEl0ZW1zJC5uZXh0KGxhc3RsTGVnZW5kKTtcclxuICAgICAgZm9yIChjb25zdCBsZWdlbmQgb2YgbGFzdGxMZWdlbmQpIHtcclxuICAgICAgICB0aGlzLmdldExlZ2VuZEdyYXBoaWMobGVnZW5kKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gZGVzdHJveSwgdW5zdWJzY3JpYmUgdG8gdGhlIG1hcCdzIHZpZXcgc3RhdGVcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlJCQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0YXRlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldExlZ2VuZEdyYXBoaWMoaXRlbTogTGVnZW5kKSB7XHJcbiAgICBpZiAoaXRlbS51cmwpIHtcclxuICAgICAgY29uc3Qgc2VjdXJlSU1HID0gbmV3IFNlY3VyZUltYWdlUGlwZSh0aGlzLmh0dHApO1xyXG4gICAgICBzZWN1cmVJTUcudHJhbnNmb3JtKGl0ZW0udXJsKS5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgaWYgKGVyci5lcnJvcikge1xyXG4gICAgICAgICAgICBlcnIuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5nZXRMZWdlbmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICApLnN1YnNjcmliZShvYnNMZWdHcmFwaCA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpZHggPSB0aGlzLmxlZ2VuZEl0ZW1zJC52YWx1ZS5maW5kSW5kZXgobGVnID0+IGxlZy50aXRsZSA9PT0gaXRlbS50aXRsZSk7XHJcbiAgICAgICAgICBjb25zdCBsZWdlbmRHcmFwaCA9IG9ic0xlZ0dyYXBoIGFzIHN0cmluZztcclxuICAgICAgICAgIHRoaXMubGVnZW5kSXRlbXMkLnZhbHVlW2lkeF0uaW1nR3JhcGhWYWx1ZSA9IGxlZ2VuZEdyYXBoO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTGVnZW5kSXRlbShjb2xsYXBzZWQ6IGJvb2xlYW4sIGl0ZW06IExlZ2VuZCkge1xyXG4gICAgaXRlbS5jb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZmVydFRvZ2dsZUxlZ2VuZEl0ZW0obmV3TGVnZW5kczogTGVnZW5kW10pOiBMZWdlbmRbXSB7XHJcbiAgICBjb25zdCBvdXRMZWdlbmRzOiBMZWdlbmRbXSA9IG5ld0xlZ2VuZHM7XHJcbiAgICBjb25zdCBsYXN0TGVnZW5kcyA9IHRoaXMubGF5ZXIubGVnZW5kO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYXN0TGVnZW5kcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBvdXRMZWdlbmRzW2ldLmNvbGxhcHNlZCA9IGxhc3RMZWdlbmRzW2ldLmNvbGxhcHNlZDtcclxuICAgfVxyXG4gICAgcmV0dXJuIG91dExlZ2VuZHM7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlSXRlbVRpdGxlKGxheWVyTGVnZW5kKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueTtcclxuICAgIGlmIChsYXllck9wdGlvbnMudHlwZSAhPT0gJ3dtcycpIHtcclxuICAgICAgcmV0dXJuIG9mKGxheWVyTGVnZW5kLnRpdGxlKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXllcnMgPSBsYXllck9wdGlvbnMucGFyYW1zLkxBWUVSUy5zcGxpdCgnLCcpO1xyXG4gICAgY29uc3QgbG9jYWxMYXllck9wdGlvbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGxheWVyT3B0aW9ucykpOyAvLyB0byBhdm9pZCB0byBhbHRlciB0aGUgb3JpZ2luYWwgb3B0aW9ucy5cclxuICAgIGxvY2FsTGF5ZXJPcHRpb25zLnBhcmFtcy5MQVlFUlMgPSBsYXllcnMuZmluZChsYXllciA9PiBsYXllciA9PT0gbGF5ZXJMZWdlbmQudGl0bGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZVxyXG4gICAgICAuZ2V0V01TT3B0aW9ucyhsb2NhbExheWVyT3B0aW9ucylcclxuICAgICAgLnBpcGUobWFwKHdtc0RhdGFTb3VyY2VPcHRpb25zID0+IHtcclxuICAgICAgICByZXR1cm4gd21zRGF0YVNvdXJjZU9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UudGl0bGU7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHJlc29sdXRpb24gY2hhbmdlLCBjb21wdXRlIHRoZSBlZmZlY3RpdmUgc2NhbGUgbGV2ZWwgYW5kIHVwZGF0ZSB0aGVcclxuICAgKiBsZWdlbmQgYWNjb3JkaW5nbHkuXHJcbiAgICogQHBhcmFtIHJlc29sdXRpb24gTWFwIHJlc29sdXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIG9uVmlld0NvbnRyb2xsZXJTdGF0ZUNoYW5nZSgpIHtcclxuICAgIHRoaXMudmlldyA9IHtcclxuICAgICAgcmVzb2x1dGlvbjogdGhpcy5sYXllci5tYXAudmlld0NvbnRyb2xsZXIuZ2V0UmVzb2x1dGlvbigpLFxyXG4gICAgICBleHRlbnQ6IHRoaXMubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgpLFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKS5nZXRDb2RlKCksXHJcbiAgICAgIHNjYWxlOiB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRTY2FsZSgpLFxyXG4gICAgICBzaXplOiB0aGlzLmxheWVyLm1hcC5vbC5nZXRTaXplKClcclxuICAgIH0gYXMgTGVnZW5kTWFwVmlld09wdGlvbnM7XHJcbiAgICB0aGlzLnVwZGF0ZUxlZ2VuZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBsZWdlbmQgd2l0aCBzY2FsZSBsZXZlbCBhbmQgc3R5bGUgZGVmaW5lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVMZWdlbmQoKSB7XHJcbiAgICBsZXQgbGVnZW5kSXRlbXMgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2UuZ2V0TGVnZW5kKHRoaXMuY3VycmVudFN0eWxlLCB0aGlzLnZpZXcpO1xyXG4gICAgaWYgKHRoaXMubGF5ZXIubGVnZW5kICYmIHRoaXMubGF5ZXIubGVnZW5kLmxlbmd0aCA+IDEpIHsgbGVnZW5kSXRlbXMgPSB0aGlzLnRyYW5zZmVydFRvZ2dsZUxlZ2VuZEl0ZW0obGVnZW5kSXRlbXMpOyB9XHJcbiAgICB0aGlzLmxheWVyLmxlZ2VuZCA9IGxlZ2VuZEl0ZW1zO1xyXG5cclxuICAgIGlmIChsZWdlbmRJdGVtcy5sZW5ndGggPT09IDAgJiYgdGhpcy5sZWdlbmRJdGVtcyQudmFsdWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubGVnZW5kSXRlbXMkLm5leHQobGVnZW5kSXRlbXMpO1xyXG4gICAgZm9yIChjb25zdCBsZWdlbmQgb2YgdGhpcy5sZWdlbmRJdGVtcyQudmFsdWUpIHtcclxuICAgICAgdGhpcy5nZXRMZWdlbmRHcmFwaGljKGxlZ2VuZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxpc3RTdHlsZXMoKSB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLm9wdGlvbnM7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zICYmIGxheWVyT3B0aW9ucy5sZWdlbmRPcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5sYXllci5sZWdlbmQuZGVmYXVsdCcpO1xyXG4gICAgICBsZXQgc3R5bGVzQXZhaWxhYmxlID0gW3sgbmFtZTogJycsIHRpdGxlIH0gYXMgSXRlbVN0eWxlT3B0aW9uc107XHJcbiAgICAgIGlmIChsYXllck9wdGlvbnMubGVnZW5kT3B0aW9ucy5zdHlsZXNBdmFpbGFibGUpIHtcclxuICAgICAgICBzdHlsZXNBdmFpbGFibGUgPSBzdHlsZXNBdmFpbGFibGUuY29uY2F0KGxheWVyT3B0aW9ucy5sZWdlbmRPcHRpb25zLnN0eWxlc0F2YWlsYWJsZS5maWx0ZXIoc0EgPT4gKFxyXG4gICAgICAgICAgc0EubmFtZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2dpLCAnJykgIT09ICdkZWZhdWx0JyAmJlxyXG4gICAgICAgICAgc0EubmFtZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2dpLCAnJykgIT09ICdkZWZhdXQnKSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHN0eWxlc0F2YWlsYWJsZS5maWx0ZXIoc2EgPT4gIXNhLnRpdGxlKS5tYXAoKHNhKSA9PiBzYS50aXRsZSA9IHNhLm5hbWUpO1xyXG4gICAgICBzdHlsZXNBdmFpbGFibGUubWFwKHMgPT4gcy50aXRsZSA9IHMudGl0bGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzLnRpdGxlLnNsaWNlKDEpLnJlcGxhY2UoL18vZywgJyAnKSk7XHJcbiAgICAgIHJldHVybiBzdHlsZXNBdmFpbGFibGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VTdHlsZSgpIHtcclxuICAgIHRoaXMudXBkYXRlTGVnZW5kKCk7XHJcbiAgICBsZXQgU1RZTEVTID0gJyc7XHJcbiAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSkge1xyXG4gICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub2wuZ2V0UGFyYW1zKCkuTEFZRVJTLnNwbGl0KCcsJykubWFwKGxheWVyID0+XHJcbiAgICAgICAgU1RZTEVTICs9IHRoaXMuY3VycmVudFN0eWxlICsgJywnXHJcbiAgICAgICk7XHJcbiAgICAgIFNUWUxFUyA9IFNUWUxFUy5zbGljZSgwLCAtMSk7XHJcbiAgICAgIHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vbC51cGRhdGVQYXJhbXMoeyBTVFlMRVMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxvYWRJbWFnZShpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQgZWxlbVJlZjogSFRNTEltYWdlRWxlbWVudDtcclxuICAgIGlmICh0aGlzLnJlbmRlcmVkTGVnZW5kcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgZWxlbVJlZiA9IHRoaXMucmVuZGVyZWRMZWdlbmRzLmZpcnN0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVsZW1SZWYgPSB0aGlzLnJlbmRlcmVkTGVnZW5kcy5maW5kKHJlbmRlcmVkTGVnZW5kID0+IHJlbmRlcmVkTGVnZW5kLm5hdGl2ZUVsZW1lbnQuaWQgPT09IGlkKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmltYWdlc0hlaWdodFtpZF0gPSBlbGVtUmVmLmhlaWdodDtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxlZ2VuZEl0ZW1zJCB8IGFzeW5jIGFzIGl0ZW1zXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zLmxlbmd0aDsgZWxzZSBub0l0ZW1zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zLnNsaWNlKCkucmV2ZXJzZSgpXCIgI3JlbmRlcmVkTGVnZW5kcz5cclxuICAgICAgPGRpdiAqbmdJZj1cImdldExlZ2VuZDsgZWxzZSBub0l0ZW1zXCI+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJpdGVtLnRpdGxlXCI+XHJcbiAgICAgICAgICA8bWF0LWljb25cclxuICAgICAgICAgICAgaWQ9XCJsZWdlbmQtdG9nZ2xlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpZ28tY2hldnJvblwiXHJcbiAgICAgICAgICAgIG1hdC1saXN0LWF2YXRhclxyXG4gICAgICAgICAgICBpZ29Db2xsYXBzZVxyXG4gICAgICAgICAgICBbdGFyZ2V0XT1cImxlZ2VuZFwiXHJcbiAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiKGl0ZW0uY29sbGFwc2VkKVwiXHJcbiAgICAgICAgICAgICh0b2dnbGUpPVwidG9nZ2xlTGVnZW5kSXRlbSgkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgc3ZnSWNvbj1cImNoZXZyb24tdXBcIj5cclxuICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8aDQgbWF0TGluZT57e2NvbXB1dGVJdGVtVGl0bGUoaXRlbSkgfCBhc3luY319IDwvaDQ+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxkaXYgI2xlZ2VuZCBjbGFzcz1cImlnby1sYXllci1sZWdlbmRcIiBbbmdDbGFzc109XCJ7J3dpdGgtdGl0bGUnOiBpdGVtLnRpdGxlfVwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRTdHlsZSAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLmxlZ2VuZC5zZWxlY3RTdHlsZScgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cImN1cnJlbnRTdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VTdHlsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdHlsZSBvZiBzdHlsZXNcIiBbdmFsdWVdPVwic3R5bGUubmFtZVwiPnt7c3R5bGUudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiEoaXRlbS5jb2xsYXBzZWQpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLnVybFwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgI3JlbmRlcmVkTGVnZW5kIGlkPVwie3tpdGVtLnRpdGxlfX1cIiAobG9hZCk9XCJvbkxvYWRJbWFnZShpdGVtLnRpdGxlKVwiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJ7e1tpdGVtLmltZ0dyYXBoVmFsdWVdfX1cIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwie3snaWdvLmdlby5sYXllci5sZWdlbmQubG9hZGluZ0xlZ2VuZFRleHQnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJpbWFnZXNIZWlnaHRbaXRlbS50aXRsZV08MTZcIj5cclxuICAgICAgICAgICAgICAgICAge3snaWdvLmdlby5sYXllci5sZWdlbmQubm9MZWdlbmRTY2FsZScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaXRlbS5zdHlsZVwiXHJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmh0bWwgfCBzYW5pdGl6ZUh0bWxcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5odG1sXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cclxuICAgIDxzbWFsbD5cclxuICAgICAge3snaWdvLmdlby5sYXllci5sZWdlbmQubm9MZWdlbmRUZXh0JyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3NtYWxsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -15,7 +15,7 @@ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
|
15
15
|
import { MatSliderModule } from '@angular/material/slider';
|
|
16
16
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
17
17
|
import { IgoLanguageModule } from '@igo2/core';
|
|
18
|
-
import { IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule } from '@igo2/common';
|
|
18
|
+
import { IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule } from '@igo2/common';
|
|
19
19
|
import { LayerService } from './shared/layer.service';
|
|
20
20
|
import { StyleService } from './shared/style.service';
|
|
21
21
|
import { LayerListToolService } from './layer-list-tool/layer-list-tool.service';
|
|
@@ -75,7 +75,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
75
75
|
IgoCollapsibleModule,
|
|
76
76
|
IgoImageModule,
|
|
77
77
|
IgoPanelModule,
|
|
78
|
-
IgoMatBadgeIconModule
|
|
78
|
+
IgoMatBadgeIconModule,
|
|
79
|
+
IgoCustomHtmlModule
|
|
79
80
|
]] });
|
|
80
81
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLayerModule, [{
|
|
81
82
|
type: NgModule,
|
|
@@ -101,7 +102,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
101
102
|
IgoCollapsibleModule,
|
|
102
103
|
IgoImageModule,
|
|
103
104
|
IgoPanelModule,
|
|
104
|
-
IgoMatBadgeIconModule
|
|
105
|
+
IgoMatBadgeIconModule,
|
|
106
|
+
IgoCustomHtmlModule
|
|
105
107
|
],
|
|
106
108
|
exports: [
|
|
107
109
|
LayerItemComponent,
|
|
@@ -155,7 +157,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
155
157
|
IgoCollapsibleModule,
|
|
156
158
|
IgoImageModule,
|
|
157
159
|
IgoPanelModule,
|
|
158
|
-
IgoMatBadgeIconModule
|
|
160
|
+
IgoMatBadgeIconModule,
|
|
161
|
+
IgoCustomHtmlModule], exports: [LayerItemComponent,
|
|
159
162
|
LayerLegendItemComponent,
|
|
160
163
|
LayerLegendComponent,
|
|
161
164
|
LayerListComponent,
|
|
@@ -168,4 +171,4 @@ i0.ɵɵsetComponentScope(LayerItemComponent, [i1.MatListItem, i2.NgIf, i3.MatChe
|
|
|
168
171
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i1.MatListItem, i4.MatLine, i5.MatTooltip, LayerLegendComponent], []);
|
|
169
172
|
i0.ɵɵsetComponentScope(LayerListComponent, [i1.MatList, i2.NgIf, LayerListToolComponent, i1.MatListItem, i3.MatCheckbox, i10.MatDivider, i11.ListComponent, i2.NgClass, i2.NgForOf, LayerItemComponent, i11.ListItemDirective, i11.PanelComponent, i6.MatButton, i5.MatTooltip, i7.MatIcon, i8.MatBadge, i12.MatMenuTrigger, i12.MatMenu, i13.MatSlider, i2.NgTemplateOutlet, i14.NgControlStatus, i14.NgModel], [i2.AsyncPipe, i9.TranslatePipe]);
|
|
170
173
|
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i2.NgIf, i15.MatSlideToggle, i5.MatTooltip, i10.MatDivider, i11.ListComponent, i2.NgForOf, LayerLegendItemComponent, i11.ListItemDirective], [i9.TranslatePipe, i2.AsyncPipe]);
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxF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LCtCQUErQjtRQUMvQiwyQkFBMkIsYUEzQzNCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2Isb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCxjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLG1CQUFtQixhQUduQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsK0JBQStCO1FBQy9CLDJCQUEyQjt1QkFHM0Isa0JBQWtCLHNKQUVsQixvQkFBb0I7dUJBRHBCLHdCQUF3Qiw4Q0FDeEIsb0JBQW9CO3VCQUNwQixrQkFBa0Isd0JBQ2xCLHNCQUFzQiw2RkFKdEIsa0JBQWtCO3VCQUtsQix3QkFBd0IsOEZBSnhCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSWdvTGlzdE1vZHVsZSxcclxuICBJZ29Db2xsYXBzaWJsZU1vZHVsZSxcclxuICBJZ29JbWFnZU1vZHVsZSxcclxuICBJZ29QYW5lbE1vZHVsZSxcclxuICBJZ29NYXRCYWRnZUljb25Nb2R1bGUsXHJcbiAgSWdvQ3VzdG9tSHRtbE1vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IExheWVyTGlzdFRvb2xTZXJ2aWNlIH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xheWVyLWl0ZW0vbGF5ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxpc3QvbGF5ZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVyLWxpc3QvbGF5ZXItbGlzdC1iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1saXN0L2xheWVyLWxlZ2VuZC1saXN0LWJpbmRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxlZ2VuZExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1saXN0L2xheWVyLWxlZ2VuZC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGVnZW5kLWl0ZW0vbGF5ZXItbGVnZW5kLWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRTbGlkZXJNb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29MaXN0TW9kdWxlLFxyXG4gICAgSWdvQ29sbGFwc2libGVNb2R1bGUsXHJcbiAgICBJZ29JbWFnZU1vZHVsZSxcclxuICAgIElnb1BhbmVsTW9kdWxlLFxyXG4gICAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxyXG4gICAgSWdvQ3VzdG9tSHRtbE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGF5ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RUb29sQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0QmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTGF5ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RUb29sQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0QmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29MYXllck1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29MYXllck1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0xheWVyTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtMYXllclNlcnZpY2UsIFN0eWxlU2VydmljZSwgTGF5ZXJMaXN0VG9vbFNlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -5,6 +5,7 @@ import stylefunction from 'ol-mapbox-style/dist/stylefunction';
|
|
|
5
5
|
import { ObjectUtils } from '@igo2/utils';
|
|
6
6
|
import { OSMDataSource, FeatureDataSource, XYZDataSource, TileDebugDataSource, WFSDataSource, WMTSDataSource, WMSDataSource, CartoDataSource, ImageArcGISRestDataSource, ArcGISRestDataSource, TileArcGISRestDataSource, WebSocketDataSource, MVTDataSource, ClusterDataSource } from '../../datasource';
|
|
7
7
|
import { ImageLayer, TileLayer, VectorLayer, VectorTileLayer } from './layers';
|
|
8
|
+
import { computeMVTOptionsOnHover } from '../utils/layer.utils';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@angular/common/http";
|
|
10
11
|
import * as i2 from "./style.service";
|
|
@@ -50,14 +51,16 @@ export class LayerService {
|
|
|
50
51
|
layer = this.createImageLayer(layerOptions);
|
|
51
52
|
break;
|
|
52
53
|
case MVTDataSource:
|
|
53
|
-
|
|
54
|
+
const _layerOptions = computeMVTOptionsOnHover(layerOptions);
|
|
55
|
+
layer = this.createVectorTileLayer(_layerOptions);
|
|
54
56
|
break;
|
|
55
57
|
default:
|
|
56
58
|
break;
|
|
57
59
|
}
|
|
58
60
|
return layer;
|
|
59
61
|
}
|
|
60
|
-
createAsyncLayer(
|
|
62
|
+
createAsyncLayer(_layerOptions, detailedContextUri) {
|
|
63
|
+
const layerOptions = computeMVTOptionsOnHover(_layerOptions);
|
|
61
64
|
if (layerOptions.source) {
|
|
62
65
|
return new Observable(d => d.next(this.createLayer(layerOptions)));
|
|
63
66
|
}
|
|
@@ -74,11 +77,11 @@ export class LayerService {
|
|
|
74
77
|
return new ImageLayer(layerOptions, this.messageService, this.languageService, this.authInterceptor);
|
|
75
78
|
}
|
|
76
79
|
createTileLayer(layerOptions) {
|
|
77
|
-
return new TileLayer(layerOptions, this.messageService);
|
|
80
|
+
return new TileLayer(layerOptions, this.messageService, this.authInterceptor);
|
|
78
81
|
}
|
|
79
82
|
createVectorLayer(layerOptions) {
|
|
80
83
|
let style;
|
|
81
|
-
let
|
|
84
|
+
let igoLayer;
|
|
82
85
|
if (layerOptions.style !== undefined) {
|
|
83
86
|
style = this.styleService.createStyle(layerOptions.style);
|
|
84
87
|
}
|
|
@@ -91,7 +94,7 @@ export class LayerService {
|
|
|
91
94
|
layerOptions.style = feature => {
|
|
92
95
|
return serviceStyle.createStyleByAttribute(feature, layerOptions.styleByAttribute);
|
|
93
96
|
};
|
|
94
|
-
|
|
97
|
+
igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor);
|
|
95
98
|
}
|
|
96
99
|
if (layerOptions.source instanceof ClusterDataSource) {
|
|
97
100
|
const serviceStyle = this.styleService;
|
|
@@ -99,20 +102,20 @@ export class LayerService {
|
|
|
99
102
|
layerOptions.style = feature => {
|
|
100
103
|
return serviceStyle.createClusterStyle(feature, layerOptions.clusterParam, baseStyle);
|
|
101
104
|
};
|
|
102
|
-
|
|
105
|
+
igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor);
|
|
103
106
|
}
|
|
104
107
|
const layerOptionsOl = Object.assign({}, layerOptions, {
|
|
105
108
|
style
|
|
106
109
|
});
|
|
107
|
-
if (!
|
|
108
|
-
|
|
110
|
+
if (!igoLayer) {
|
|
111
|
+
igoLayer = new VectorLayer(layerOptionsOl, this.messageService, this.authInterceptor);
|
|
109
112
|
}
|
|
110
|
-
this.applyMapboxStyle(
|
|
111
|
-
return
|
|
113
|
+
this.applyMapboxStyle(igoLayer, layerOptionsOl);
|
|
114
|
+
return igoLayer;
|
|
112
115
|
}
|
|
113
116
|
createVectorTileLayer(layerOptions) {
|
|
114
117
|
let style;
|
|
115
|
-
let
|
|
118
|
+
let igoLayer;
|
|
116
119
|
if (layerOptions.style !== undefined) {
|
|
117
120
|
style = this.styleService.createStyle(layerOptions.style);
|
|
118
121
|
}
|
|
@@ -121,16 +124,16 @@ export class LayerService {
|
|
|
121
124
|
layerOptions.style = feature => {
|
|
122
125
|
return serviceStyle.createStyleByAttribute(feature, layerOptions.styleByAttribute);
|
|
123
126
|
};
|
|
124
|
-
|
|
127
|
+
igoLayer = new VectorTileLayer(layerOptions, this.messageService, this.authInterceptor);
|
|
125
128
|
}
|
|
126
129
|
const layerOptionsOl = Object.assign({}, layerOptions, {
|
|
127
130
|
style
|
|
128
131
|
});
|
|
129
|
-
if (!
|
|
130
|
-
|
|
132
|
+
if (!igoLayer) {
|
|
133
|
+
igoLayer = new VectorTileLayer(layerOptionsOl, this.messageService, this.authInterceptor);
|
|
131
134
|
}
|
|
132
|
-
this.applyMapboxStyle(
|
|
133
|
-
return
|
|
135
|
+
this.applyMapboxStyle(igoLayer, layerOptionsOl);
|
|
136
|
+
return igoLayer;
|
|
134
137
|
}
|
|
135
138
|
applyMapboxStyle(layer, layerOptions) {
|
|
136
139
|
if (layerOptions.mapboxStyle) {
|
|
@@ -156,4 +159,4 @@ LayerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LayerServic
|
|
|
156
159
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.StyleService }, { type: i3.DataSourceService }, { type: i4.MessageService }, { type: i4.LanguageService }, { type: i5.AuthInterceptor, decorators: [{
|
|
157
160
|
type: Optional
|
|
158
161
|
}] }]; }, null); })();
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxhQUFhLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLGlCQUFpQixFQUNsQixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sRUFFTCxVQUFVLEVBRVYsU0FBUyxFQUVULFdBQVcsRUFHWCxlQUFlLEVBRWhCLE1BQU0sVUFBVSxDQUFDOzs7Ozs7O0FBUWxCLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsSUFBZ0IsRUFDaEIsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGNBQThCLEVBQzlCLGVBQWdDLEVBQ3BCLGVBQWdDO1FBTDVDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlC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ZUFBZSxDQUFDLENBQUM7U0FDMUY7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsWUFBb0M7UUFDekUsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDbEUsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUN0QixVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbEMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O3dFQW5MVSxZQUFZO2tFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBzdHlsZWZ1bmN0aW9uIGZyb20gJ29sLW1hcGJveC1zdHlsZS9kaXN0L3N0eWxlZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE9TTURhdGFTb3VyY2UsXHJcbiAgRmVhdHVyZURhdGFTb3VyY2UsXHJcbiAgWFlaRGF0YVNvdXJjZSxcclxuICBUaWxlRGVidWdEYXRhU291cmNlLFxyXG4gIFdGU0RhdGFTb3VyY2UsXHJcbiAgV01UU0RhdGFTb3VyY2UsXHJcbiAgV01TRGF0YVNvdXJjZSxcclxuICBDYXJ0b0RhdGFTb3VyY2UsXHJcbiAgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSxcclxuICBBcmNHSVNSZXN0RGF0YVNvdXJjZSxcclxuICBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2UsXHJcbiAgV2ViU29ja2V0RGF0YVNvdXJjZSxcclxuICBNVlREYXRhU291cmNlLFxyXG4gIENsdXN0ZXJEYXRhU291cmNlXHJcbn0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIExheWVyLFxyXG4gIEltYWdlTGF5ZXIsXHJcbiAgSW1hZ2VMYXllck9wdGlvbnMsXHJcbiAgVGlsZUxheWVyLFxyXG4gIFRpbGVMYXllck9wdGlvbnMsXHJcbiAgVmVjdG9yTGF5ZXIsXHJcbiAgVmVjdG9yTGF5ZXJPcHRpb25zLFxyXG4gIEFueUxheWVyT3B0aW9ucyxcclxuICBWZWN0b3JUaWxlTGF5ZXIsXHJcbiAgVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xyXG59IGZyb20gJy4vbGF5ZXJzJztcclxuXHJcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4vc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExheWVyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGF1dGhJbnRlcmNlcHRvcjogQXV0aEludGVyY2VwdG9yXHJcbiAgKSB7fVxyXG5cclxuICBjcmVhdGVMYXllcihsYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucyk6IExheWVyIHtcclxuICAgIGlmICghbGF5ZXJPcHRpb25zLnNvdXJjZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMgJiZcclxuICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlXHJcbiAgICApIHtcclxuICAgICAgbGF5ZXJPcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKFxyXG4gICAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZSxcclxuICAgICAgICBsYXllck9wdGlvbnMgfHwge31cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGF5ZXI7XHJcbiAgICBzd2l0Y2ggKGxheWVyT3B0aW9ucy5zb3VyY2UuY29uc3RydWN0b3IpIHtcclxuICAgICAgY2FzZSBPU01EYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFdNVFNEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFhZWkRhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgVGlsZURlYnVnRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBDYXJ0b0RhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlOlxyXG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVUaWxlTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFRpbGVMYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZlYXR1cmVEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFdGU0RhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgQXJjR0lTUmVzdERhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgV2ViU29ja2V0RGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBDbHVzdGVyRGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFZlY3RvckxheWVyT3B0aW9ucyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBXTVNEYXRhU291cmNlOlxyXG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVJbWFnZUxheWVyKGxheWVyT3B0aW9ucyBhcyBJbWFnZUxheWVyT3B0aW9ucyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTVZURGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVmVjdG9yVGlsZUxheWVyKFxyXG4gICAgICAgICAgbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnNcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYXllcjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMsIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZyk6IE9ic2VydmFibGU8TGF5ZXI+IHtcclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkID0+IGQubmV4dCh0aGlzLmNyZWF0ZUxheWVyKGxheWVyT3B0aW9ucykpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlU2VydmljZVxyXG4gICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLCBkZXRhaWxlZENvbnRleHRVcmkpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcChzb3VyY2UgPT4ge1xyXG4gICAgICAgICAgaWYgKHNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYXllcihPYmplY3QuYXNzaWduKGxheWVyT3B0aW9ucywgeyBzb3VyY2UgfSkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUltYWdlTGF5ZXIobGF5ZXJPcHRpb25zOiBJbWFnZUxheWVyT3B0aW9ucyk6IEltYWdlTGF5ZXIge1xyXG4gICAgcmV0dXJuIG5ldyBJbWFnZUxheWVyKGxheWVyT3B0aW9ucywgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5sYW5ndWFnZVNlcnZpY2UsIHRoaXMuYXV0aEludGVyY2VwdG9yKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVGlsZUxheWVyKGxheWVyT3B0aW9uczogVGlsZUxheWVyT3B0aW9ucyk6IFRpbGVMYXllciB7XHJcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcihsYXllck9wdGlvbnMsIHRoaXMubWVzc2FnZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVWZWN0b3JMYXllcihsYXllck9wdGlvbnM6IFZlY3RvckxheWVyT3B0aW9ucyk6IFZlY3RvckxheWVyIHtcclxuICAgIGxldCBzdHlsZTtcclxuICAgIGxldCBvbExheWVyO1xyXG4gICAgaWYgKGxheWVyT3B0aW9ucy5zdHlsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUobGF5ZXJPcHRpb25zLnN0eWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEFyY0dJU1Jlc3REYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGxheWVyT3B0aW9ucy5zb3VyY2UgYXMgQXJjR0lTUmVzdERhdGFTb3VyY2U7XHJcbiAgICAgIHN0eWxlID0gc291cmNlLm9wdGlvbnMucGFyYW1zLnN0eWxlO1xyXG4gICAgfSBlbHNlIGlmIChsYXllck9wdGlvbnMuc3R5bGVCeUF0dHJpYnV0ZSkge1xyXG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcclxuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIGxheWVyT3B0aW9ucy5zdHlsZUJ5QXR0cmlidXRlXHJcbiAgICAgICAgKTtcclxuICAgICAgfTtcclxuICAgICAgb2xMYXllciA9IG5ldyBWZWN0b3JMYXllcihsYXllck9wdGlvbnMsIHRoaXMubWVzc2FnZVNlcnZpY2UsIHRoaXMuYXV0aEludGVyY2VwdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xyXG4gICAgICBjb25zdCBiYXNlU3R5bGUgPSBsYXllck9wdGlvbnMuY2x1c3RlckJhc2VTdHlsZTtcclxuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVDbHVzdGVyU3R5bGUoXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmNsdXN0ZXJQYXJhbSxcclxuICAgICAgICAgIGJhc2VTdHlsZVxyXG4gICAgICAgICk7XHJcbiAgICAgIH07XHJcbiAgICAgIG9sTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcclxuICAgICAgc3R5bGVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghb2xMYXllcikge1xyXG4gICAgICBvbExheWVyID0gbmV3IFZlY3RvckxheWVyKGxheWVyT3B0aW9uc09sLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBseU1hcGJveFN0eWxlKG9sTGF5ZXIsIGxheWVyT3B0aW9uc09sIGFzIGFueSk7XHJcblxyXG4gICAgcmV0dXJuIG9sTGF5ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVZlY3RvclRpbGVMYXllcihcclxuICAgIGxheWVyT3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xyXG4gICk6IFZlY3RvclRpbGVMYXllciB7XHJcbiAgICBsZXQgc3R5bGU7XHJcbiAgICBsZXQgb2xMYXllcjtcclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnN0eWxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShsYXllck9wdGlvbnMuc3R5bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllck9wdGlvbnMuc3R5bGVCeUF0dHJpYnV0ZSkge1xyXG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcclxuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIGxheWVyT3B0aW9ucy5zdHlsZUJ5QXR0cmlidXRlXHJcbiAgICAgICAgKTtcclxuICAgICAgfTtcclxuICAgICAgb2xMYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIobGF5ZXJPcHRpb25zLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcclxuICAgICAgc3R5bGVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghb2xMYXllcikge1xyXG4gICAgICBvbExheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihsYXllck9wdGlvbnNPbCwgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5hdXRoSW50ZXJjZXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShvbExheWVyLCBsYXllck9wdGlvbnNPbCk7XHJcbiAgICByZXR1cm4gb2xMYXllcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlNYXBib3hTdHlsZShsYXllcjogTGF5ZXIsIGxheWVyT3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9ucykge1xyXG4gICAgaWYgKGxheWVyT3B0aW9ucy5tYXBib3hTdHlsZSkge1xyXG4gICAgICB0aGlzLmdldE1hcGJveEdsU3R5bGUobGF5ZXJPcHRpb25zLm1hcGJveFN0eWxlLnVybCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgc3R5bGVmdW5jdGlvbihsYXllci5vbCwgcmVzLCBsYXllck9wdGlvbnMubWFwYm94U3R5bGUuc291cmNlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWFwYm94R2xTdHlsZSh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxyXG4gICAgICBtYXAoKHJlczogYW55KSA9PiByZXMpLFxyXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ05vIHN0eWxlIHdhcyBmb3VuZCcpO1xyXG4gICAgICAgIHJldHVybiBvZihlcnIpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxhQUFhLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkxQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLGlCQUFpQixFQUNsQixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sRUFFTCxVQUFVLEVBRVYsU0FBUyxFQUVULFdBQVcsRUFHWCxlQUFlLEVBRWhCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsSUFBZ0IsRUFDaEIsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGNBQThCLEVBQzlCLGVBQWdDLEVBQ3BCLGVBQWdDO1FBTDVDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQkFB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VUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBzdHlsZWZ1bmN0aW9uIGZyb20gJ29sLW1hcGJveC1zdHlsZS9kaXN0L3N0eWxlZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgT1NNRGF0YVNvdXJjZSxcclxuICBGZWF0dXJlRGF0YVNvdXJjZSxcclxuICBYWVpEYXRhU291cmNlLFxyXG4gIFRpbGVEZWJ1Z0RhdGFTb3VyY2UsXHJcbiAgV0ZTRGF0YVNvdXJjZSxcclxuICBXTVRTRGF0YVNvdXJjZSxcclxuICBXTVNEYXRhU291cmNlLFxyXG4gIENhcnRvRGF0YVNvdXJjZSxcclxuICBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlLFxyXG4gIEFyY0dJU1Jlc3REYXRhU291cmNlLFxyXG4gIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSxcclxuICBXZWJTb2NrZXREYXRhU291cmNlLFxyXG4gIE1WVERhdGFTb3VyY2UsXHJcbiAgQ2x1c3RlckRhdGFTb3VyY2VcclxufSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuXHJcbmltcG9ydCB7IERhdGFTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTGF5ZXIsXHJcbiAgSW1hZ2VMYXllcixcclxuICBJbWFnZUxheWVyT3B0aW9ucyxcclxuICBUaWxlTGF5ZXIsXHJcbiAgVGlsZUxheWVyT3B0aW9ucyxcclxuICBWZWN0b3JMYXllcixcclxuICBWZWN0b3JMYXllck9wdGlvbnMsXHJcbiAgQW55TGF5ZXJPcHRpb25zLFxyXG4gIFZlY3RvclRpbGVMYXllcixcclxuICBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXHJcbn0gZnJvbSAnLi9sYXllcnMnO1xyXG5cclxuaW1wb3J0IHsgY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyIH0gZnJvbSAnLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xyXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuL3N0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I6IEF1dGhJbnRlcmNlcHRvclxyXG4gICkge31cclxuXHJcbiAgY3JlYXRlTGF5ZXIobGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMpOiBMYXllciB7XHJcbiAgICBpZiAoIWxheWVyT3B0aW9ucy5zb3VyY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zICYmXHJcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZVxyXG4gICAgKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucyA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcChcclxuICAgICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UsXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zIHx8IHt9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxheWVyO1xyXG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMuc291cmNlLmNvbnN0cnVjdG9yKSB7XHJcbiAgICAgIGNhc2UgT1NNRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBXTVRTRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBYWVpEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFRpbGVEZWJ1Z0RhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgQ2FydG9EYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVGlsZUxheWVyKGxheWVyT3B0aW9ucyBhcyBUaWxlTGF5ZXJPcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGZWF0dXJlRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBXRlNEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIEFyY0dJU1Jlc3REYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFdlYlNvY2tldERhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgQ2x1c3RlckRhdGFTb3VyY2U6XHJcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9ucyBhcyBWZWN0b3JMYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgV01TRGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnMgYXMgSW1hZ2VMYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1WVERhdGFTb3VyY2U6XHJcbiAgICAgICAgY29uc3QgX2xheWVyT3B0aW9ucyA9IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihsYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXHJcbiAgICAgICAgICBfbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnNcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYXllcjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFzeW5jTGF5ZXIoX2xheWVyT3B0aW9uczogQW55TGF5ZXJPcHRpb25zLCBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPExheWVyPiB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIoX2xheWVyT3B0aW9ucyk7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZCA9PiBkLm5leHQodGhpcy5jcmVhdGVMYXllcihsYXllck9wdGlvbnMpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcclxuICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZShsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucywgZGV0YWlsZWRDb250ZXh0VXJpKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoc291cmNlID0+IHtcclxuICAgICAgICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTGF5ZXIoT2JqZWN0LmFzc2lnbihsYXllck9wdGlvbnMsIHsgc291cmNlIH0pKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUxheWVyKGxheWVyT3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMpOiBJbWFnZUxheWVyIHtcclxuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcihsYXllck9wdGlvbnMsIHRoaXMubWVzc2FnZVNlcnZpY2UsIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnM6IFRpbGVMYXllck9wdGlvbnMpOiBUaWxlTGF5ZXIge1xyXG4gICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIobGF5ZXJPcHRpb25zLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zKTogVmVjdG9yTGF5ZXIge1xyXG4gICAgbGV0IHN0eWxlOiBTdHlsZTtcclxuICAgIGxldCBpZ29MYXllcjogVmVjdG9yTGF5ZXI7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnN0eWxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShsYXllck9wdGlvbnMuc3R5bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgQXJjR0lTUmVzdERhdGFTb3VyY2UpIHtcclxuICAgICAgY29uc3Qgc291cmNlID0gbGF5ZXJPcHRpb25zLnNvdXJjZSBhcyBBcmNHSVNSZXN0RGF0YVNvdXJjZTtcclxuICAgICAgc3R5bGUgPSBzb3VyY2Uub3B0aW9ucy5wYXJhbXMuc3R5bGU7XHJcbiAgICB9IGVsc2UgaWYgKGxheWVyT3B0aW9ucy5zdHlsZUJ5QXR0cmlidXRlKSB7XHJcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xyXG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSBmZWF0dXJlID0+IHtcclxuICAgICAgICByZXR1cm4gc2VydmljZVN0eWxlLmNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlQnlBdHRyaWJ1dGVcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JMYXllcihsYXllck9wdGlvbnMsIHRoaXMubWVzc2FnZVNlcnZpY2UsIHRoaXMuYXV0aEludGVyY2VwdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xyXG4gICAgICBjb25zdCBiYXNlU3R5bGUgPSBsYXllck9wdGlvbnMuY2x1c3RlckJhc2VTdHlsZTtcclxuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVDbHVzdGVyU3R5bGUoXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmNsdXN0ZXJQYXJhbSxcclxuICAgICAgICAgIGJhc2VTdHlsZVxyXG4gICAgICAgICk7XHJcbiAgICAgIH07XHJcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKGxheWVyT3B0aW9ucywgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5hdXRoSW50ZXJjZXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxheWVyT3B0aW9uc09sID0gT2JqZWN0LmFzc2lnbih7fSwgbGF5ZXJPcHRpb25zLCB7XHJcbiAgICAgIHN0eWxlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoIWlnb0xheWVyKSB7XHJcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKGxheWVyT3B0aW9uc09sLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmF1dGhJbnRlcmNlcHRvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBseU1hcGJveFN0eWxlKGlnb0xheWVyLCBsYXllck9wdGlvbnNPbCBhcyBhbnkpO1xyXG5cclxuICAgIHJldHVybiBpZ29MYXllcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVmVjdG9yVGlsZUxheWVyKFxyXG4gICAgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXHJcbiAgKTogVmVjdG9yVGlsZUxheWVyIHtcclxuICAgIGxldCBzdHlsZTogU3R5bGU7XHJcbiAgICBsZXQgaWdvTGF5ZXI6IFZlY3RvclRpbGVMYXllcjtcclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnN0eWxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShsYXllck9wdGlvbnMuc3R5bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllck9wdGlvbnMuc3R5bGVCeUF0dHJpYnV0ZSkge1xyXG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcclxuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIGxheWVyT3B0aW9ucy5zdHlsZUJ5QXR0cmlidXRlXHJcbiAgICAgICAgKTtcclxuICAgICAgfTtcclxuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yVGlsZUxheWVyKGxheWVyT3B0aW9ucywgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5hdXRoSW50ZXJjZXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxheWVyT3B0aW9uc09sID0gT2JqZWN0LmFzc2lnbih7fSwgbGF5ZXJPcHRpb25zLCB7XHJcbiAgICAgIHN0eWxlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoIWlnb0xheWVyKSB7XHJcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihsYXllck9wdGlvbnNPbCwgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5hdXRoSW50ZXJjZXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wpO1xyXG4gICAgcmV0dXJuIGlnb0xheWVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseU1hcGJveFN0eWxlKGxheWVyOiBMYXllciwgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zKSB7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLm1hcGJveFN0eWxlKSB7XHJcbiAgICAgIHRoaXMuZ2V0TWFwYm94R2xTdHlsZShsYXllck9wdGlvbnMubWFwYm94U3R5bGUudXJsKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBzdHlsZWZ1bmN0aW9uKGxheWVyLm9sLCByZXMsIGxheWVyT3B0aW9ucy5tYXBib3hTdHlsZS5zb3VyY2UpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNYXBib3hHbFN0eWxlKHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcyksXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnTm8gc3R5bGUgd2FzIGZvdW5kJyk7XHJcbiAgICAgICAgcmV0dXJuIG9mKGVycik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -38,11 +38,16 @@ export class ImageLayer extends Layer {
|
|
|
38
38
|
}
|
|
39
39
|
customLoader(tile, src, interceptor, messageService, languageService) {
|
|
40
40
|
const xhr = new XMLHttpRequest();
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(src);
|
|
42
|
+
let url = src;
|
|
43
|
+
if (alteredUrlWithKeyAuth) {
|
|
44
|
+
url = alteredUrlWithKeyAuth;
|
|
45
|
+
}
|
|
46
|
+
xhr.open('GET', url);
|
|
47
|
+
const intercepted = interceptor.interceptXhr(xhr, url);
|
|
43
48
|
if (!intercepted) {
|
|
44
49
|
xhr.abort();
|
|
45
|
-
tile.getImage().src =
|
|
50
|
+
tile.getImage().src = url;
|
|
46
51
|
return;
|
|
47
52
|
}
|
|
48
53
|
xhr.responseType = 'arraybuffer';
|
|
@@ -60,4 +65,4 @@ export class ImageLayer extends Layer {
|
|
|
60
65
|
xhr.send();
|
|
61
66
|
}
|
|
62
67
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBSzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUtoQyxNQUFNLE9BQU8sVUFBVyxTQUFRLEtBQUs7SUFPbkMsWUFDRSxPQUEwQixFQUNuQixjQUE4QixFQUM3QixlQUFnQyxFQUNqQyxlQUFpQztRQUV4QyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUp6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUd4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxNQUFN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bWFnZSBmcm9tICdvbC9sYXllci9JbWFnZSc7XHJcbmltcG9ydCBvbFNvdXJjZUltYWdlIGZyb20gJ29sL3NvdXJjZS9JbWFnZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcclxuXHJcbmltcG9ydCB7IEltYWdlV2F0Y2hlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vLi4vbWFwJztcclxuXHJcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XHJcblxyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4vbGF5ZXInO1xyXG5pbXBvcnQgeyBJbWFnZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEltYWdlTGF5ZXIgZXh0ZW5kcyBMYXllciB7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U6IFdNU0RhdGFTb3VyY2UgfCBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlO1xyXG4gIHB1YmxpYyBvcHRpb25zOiBJbWFnZUxheWVyT3B0aW9ucztcclxuICBwdWJsaWMgb2w6IG9sTGF5ZXJJbWFnZTxvbFNvdXJjZUltYWdlPjtcclxuXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBJbWFnZVdhdGNoZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgb3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMsXHJcbiAgICBwdWJsaWMgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcclxuICApIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIG1lc3NhZ2VTZXJ2aWNlLCBhdXRoSW50ZXJjZXB0b3IpO1xyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEltYWdlV2F0Y2hlcih0aGlzLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLCB0aGlzLmxhbmd1YWdlU2VydmljZSk7XHJcbiAgICB0aGlzLnN0YXR1cyQgPSB0aGlzLndhdGNoZXIuc3RhdHVzJDtcclxuICAgIHRoaXMuc3RhdHVzJC5zdWJzY3JpYmUodmFsU3RhdHVzID0+IHtcclxuICAgICAgaWYgKHZhbFN0YXR1cyA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMub2xMb2FkaW5nUHJvYmxlbSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+IHtcclxuICAgIGNvbnN0IG9sT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMub3B0aW9ucywge1xyXG4gICAgICBzb3VyY2U6IHRoaXMub3B0aW9ucy5zb3VyY2Uub2wgYXMgb2xTb3VyY2VJbWFnZVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgb2xMYXllckltYWdlKG9sT3B0aW9ucyk7XHJcbiAgICBpZiAodGhpcy5hdXRoSW50ZXJjZXB0b3IpIHtcclxuICAgICAgKGltYWdlLmdldFNvdXJjZSgpIGFzIGFueSkuc2V0SW1hZ2VMb2FkRnVuY3Rpb24oKHRpbGUsIHNyYykgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTG9hZGVyKHRpbGUsIHNyYywgdGhpcy5hdXRoSW50ZXJjZXB0b3IsIHRoaXMubWVzc2FnZVNlcnZpY2UsIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGltYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE1hcChtYXA6IElnb01hcCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKG1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53YXRjaGVyLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5zZXRNYXAobWFwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3VzdG9tTG9hZGVyKHRpbGUsIHNyYzogc3RyaW5nLCBpbnRlcmNlcHRvcjogQXV0aEludGVyY2VwdG9yLCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuXHJcbiAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHNyYyk7XHJcbiAgICBsZXQgdXJsID0gc3JjO1xyXG4gICAgaWYgKGFsdGVyZWRVcmxXaXRoS2V5QXV0aCkge1xyXG4gICAgICB1cmwgPSBhbHRlcmVkVXJsV2l0aEtleUF1dGg7XHJcbiAgICB9XHJcbiAgICB4aHIub3BlbignR0VUJywgdXJsKTtcclxuICAgIGNvbnN0IGludGVyY2VwdGVkID0gaW50ZXJjZXB0b3IuaW50ZXJjZXB0WGhyKHhociwgdXJsKTtcclxuICAgIGlmICghaW50ZXJjZXB0ZWQpIHtcclxuICAgICAgeGhyLmFib3J0KCk7XHJcbiAgICAgIHRpbGUuZ2V0SW1hZ2UoKS5zcmMgPSB1cmw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcclxuXHJcbiAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgIGNvbnN0IGFycmF5QnVmZmVyVmlldyA9IG5ldyBVaW50OEFycmF5KCh0aGlzIGFzIGFueSkucmVzcG9uc2UpO1xyXG4gICAgICBjb25zdCByZXNwb25zZVN0cmluZyA9IG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShhcnJheUJ1ZmZlclZpZXcpO1xyXG4gICAgICBpZiAocmVzcG9uc2VTdHJpbmcuaW5jbHVkZXMoJ1NlcnZpY2VFeGNlcHRpb25SZXBvcnQnKSkge1xyXG4gICAgICAgIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmRhdGFTb3VyY2Uub3B0aW9uc0FwaVVuYXZhaWxhYmxlJ1xyXG4gICAgICAgICksXHJcbiAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZVRpdGxlJ1xyXG4gICAgICAgICkpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYXJyYXlCdWZmZXJWaWV3XSwgeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KTtcclxuICAgICAgY29uc3QgdXJsQ3JlYXRvciA9IHdpbmRvdy5VUkw7XHJcbiAgICAgIGNvbnN0IGltYWdlVXJsID0gdXJsQ3JlYXRvci5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgIHRpbGUuZ2V0SW1hZ2UoKS5zcmMgPSBpbWFnZVVybDtcclxuICAgIH07XHJcbiAgICB4aHIuc2VuZCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|