@igo2/geo 18.0.0-next.9 → 18.0.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/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +4 -6
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +13 -10
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +2 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +151 -102
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +177 -83
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +93 -44
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions.component.mjs +55 -31
- package/esm2022/lib/directions/shared/directions.enum.mjs +51 -7
- package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +122 -96
- package/esm2022/lib/directions/shared/directions.utils.mjs +281 -318
- package/esm2022/lib/directions/shared/store.mjs +2 -2
- package/esm2022/lib/download/download-button/download-button.component.mjs +8 -20
- package/esm2022/lib/download/shared/download.service.mjs +1 -1
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +1 -1
- package/esm2022/lib/draw/draw/draw.component.mjs +5 -12
- package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +2 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +5 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +1 -1
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +8 -1
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1 -1
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -8
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -8
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +13 -10
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +4 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -16
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +4 -17
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +23 -12
- package/esm2022/lib/import-export/shared/export.service.mjs +7 -4
- package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
- package/esm2022/lib/layer/index.mjs +10 -5
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +76 -161
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +5 -8
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +5 -6
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +14 -21
- package/esm2022/lib/layer/layer-list/index.mjs +1 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +176 -785
- package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +51 -84
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +56 -16
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +51 -33
- package/esm2022/lib/layer/shared/index.mjs +2 -1
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +31 -16
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
- package/esm2022/lib/layer/shared/layers/layer.mjs +108 -117
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +9 -3
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
- package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -6
- package/esm2022/lib/map/map-center/map-center.component.mjs +1 -2
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +1 -9
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
- package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
- package/esm2022/lib/map/shared/map.mjs +7 -243
- package/esm2022/lib/map/shared/map.service.mjs +1 -1
- package/esm2022/lib/map/shared/map.utils.mjs +3 -3
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -5
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +1 -3
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +7 -25
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +6 -18
- package/esm2022/lib/offline/offline.provider.mjs +10 -11
- package/esm2022/lib/print/shared/print.service.mjs +3 -3
- package/esm2022/lib/query/shared/query.directive.mjs +9 -5
- package/esm2022/lib/query/shared/query.service.mjs +7 -7
- package/esm2022/lib/query/shared/query.utils.mjs +5 -1
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +15 -9
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +1 -10
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +19 -17
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +17 -2
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +22 -4
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -2
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -3
- package/fesm2022/igo2-geo.mjs +22952 -22018
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/capabilities.service.d.ts +7 -2
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +5 -5
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
- package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
- package/lib/directions/directions-sources/directions-source.d.ts +2 -2
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
- package/lib/directions/directions.component.d.ts +5 -5
- package/lib/directions/shared/directions.enum.d.ts +42 -1
- package/lib/directions/shared/directions.interface.d.ts +50 -25
- package/lib/directions/shared/directions.service.d.ts +46 -8
- package/lib/directions/shared/directions.utils.d.ts +102 -23
- package/lib/directions/shared/store.d.ts +3 -3
- package/lib/download/download-button/download-button.component.d.ts +4 -8
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +2 -2
- package/lib/draw/shared/draw.utils.d.ts +2 -1
- package/lib/environment/environment.interface.d.ts +2 -0
- package/lib/feature/shared/feature-store.utils.d.ts +1 -1
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
- package/lib/import-export/export-button/export-button.component.d.ts +3 -7
- package/lib/import-export/import-export/import-export.component.d.ts +1 -2
- package/lib/import-export/shared/export.service.d.ts +2 -2
- package/lib/layer/index.d.ts +9 -4
- package/lib/layer/layer-group/index.d.ts +1 -0
- package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +19 -42
- package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
- package/lib/layer/layer-list/index.d.ts +0 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +51 -128
- package/lib/layer/layer-list-tool/index.d.ts +0 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
- package/lib/layer/layer-search/index.d.ts +1 -0
- package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
- package/lib/layer/layer-unavailable/index.d.ts +2 -0
- package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
- package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
- package/lib/layer/layer-viewer/index.d.ts +2 -0
- package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
- package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
- package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
- package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
- package/lib/layer/layer-visibility-button/index.d.ts +1 -0
- package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
- package/lib/layer/layer.module.d.ts +18 -6
- package/lib/layer/shared/index.d.ts +1 -0
- package/lib/layer/shared/layer-controller.d.ts +81 -0
- package/lib/layer/shared/layer-selection.d.ts +14 -0
- package/lib/layer/shared/layer.service.d.ts +9 -5
- package/lib/layer/shared/layers/any-layer.d.ts +3 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
- package/lib/layer/shared/layers/image-layer.d.ts +5 -2
- package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
- package/lib/layer/shared/layers/index.d.ts +5 -0
- package/lib/layer/shared/layers/layer-base.d.ts +75 -0
- package/lib/layer/shared/layers/layer-group.d.ts +32 -0
- package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
- package/lib/layer/shared/layers/layer.d.ts +27 -45
- package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
- package/lib/layer/shared/layers/linked/index.d.ts +3 -0
- package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
- package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
- package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
- package/lib/layer/shared/layers/vector-layer.d.ts +7 -3
- package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
- package/lib/layer/utils/layer.utils.d.ts +12 -2
- package/lib/layer/utils/outputLegend.d.ts +2 -2
- package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
- package/lib/map/shared/hover-feature.directive.d.ts +0 -1
- package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
- package/lib/map/shared/map.abstract.d.ts +12 -29
- package/lib/map/shared/map.d.ts +10 -85
- package/lib/map/shared/map.service.d.ts +1 -1
- package/lib/map/shared/map.utils.d.ts +5 -3
- package/lib/map/utils/index.d.ts +1 -0
- package/lib/map/utils/layer-watcher.d.ts +18 -8
- package/lib/measure/measurer/measurer.component.d.ts +0 -8
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
- package/lib/offline/offline.provider.d.ts +1 -1
- package/lib/query/shared/query.service.d.ts +1 -1
- package/lib/query/shared/query.utils.d.ts +2 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
- package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/locale/en.geo.json +104 -89
- package/locale/fr.geo.json +103 -89
- package/package.json +5 -5
- package/src/geo-theme.scss +1 -1
- package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
- package/src/lib/directions/directions.theming.scss +2 -0
- package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
- package/src/lib/layer/layer-item/layer-item.theme.scss +4 -9
- package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
- package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
- package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
- package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
- package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
- package/src/lib/layer/layer.theming.scss +14 -3
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
- package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
+
import { isLayerGroup } from '../utils/layer.utils';
|
|
3
|
+
export class LayerSelectionModel {
|
|
4
|
+
selection = new SelectionModel(true);
|
|
5
|
+
descendantSelection = new SelectionModel(true);
|
|
6
|
+
get selected() {
|
|
7
|
+
return this.selection.selected;
|
|
8
|
+
}
|
|
9
|
+
get hasSelection() {
|
|
10
|
+
return this.selection.hasValue();
|
|
11
|
+
}
|
|
12
|
+
get isSelectionEmpty() {
|
|
13
|
+
return this.selection.isEmpty();
|
|
14
|
+
}
|
|
15
|
+
clearSelection() {
|
|
16
|
+
this.selection.clear();
|
|
17
|
+
this.descendantSelection.clear();
|
|
18
|
+
}
|
|
19
|
+
select(...layers) {
|
|
20
|
+
this.selection.select(...layers);
|
|
21
|
+
this.descendantSelection.select(...this.getDescendants(...layers));
|
|
22
|
+
}
|
|
23
|
+
deselect(...layers) {
|
|
24
|
+
this.selection.deselect(...layers);
|
|
25
|
+
this.descendantSelection.deselect(...this.getDescendants(...layers));
|
|
26
|
+
}
|
|
27
|
+
isSelected = (layer) => this.selection.isSelected(layer);
|
|
28
|
+
isDescendantSelection = (layer) => this.descendantSelection.isSelected(layer);
|
|
29
|
+
getDescendants(...layers) {
|
|
30
|
+
return layers.reduce((descendants, layer) => {
|
|
31
|
+
if (isLayerGroup(layer)) {
|
|
32
|
+
return descendants.concat(layer.descendants);
|
|
33
|
+
}
|
|
34
|
+
return descendants;
|
|
35
|
+
}, []);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItc2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVyLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsU0FBUyxHQUFHLElBQUksY0FBYyxDQUFXLElBQUksQ0FBQyxDQUFDO0lBQy9DLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFXLElBQUksQ0FBQyxDQUFDO0lBRWpFLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLE1BQWtCO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxNQUFrQjtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsVUFBVSxHQUFHLENBQUMsS0FBZSxFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxxQkFBcUIsR0FBRyxDQUFDLEtBQWUsRUFBVyxFQUFFLENBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsY0FBYyxDQUFDLEdBQUcsTUFBa0I7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBdUIsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN0RCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFDRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IGlzTGF5ZXJHcm91cCB9IGZyb20gJy4uL3V0aWxzL2xheWVyLnV0aWxzJztcbmltcG9ydCB7IEFueUxheWVyIH0gZnJvbSAnLi9sYXllcnMvYW55LWxheWVyJztcblxuZXhwb3J0IGNsYXNzIExheWVyU2VsZWN0aW9uTW9kZWwge1xuICBwcml2YXRlIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxBbnlMYXllcj4odHJ1ZSk7XG4gIHByaXZhdGUgZGVzY2VuZGFudFNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxBbnlMYXllcj4odHJ1ZSk7XG5cbiAgZ2V0IHNlbGVjdGVkKCk6IEFueUxheWVyW10ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgfVxuXG4gIGdldCBoYXNTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uLmhhc1ZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXNTZWxlY3Rpb25FbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24uaXNFbXB0eSgpO1xuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB0aGlzLmRlc2NlbmRhbnRTZWxlY3Rpb24uY2xlYXIoKTtcbiAgfVxuXG4gIHNlbGVjdCguLi5sYXllcnM6IEFueUxheWVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4ubGF5ZXJzKTtcbiAgICB0aGlzLmRlc2NlbmRhbnRTZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuZ2V0RGVzY2VuZGFudHMoLi4ubGF5ZXJzKSk7XG4gIH1cblxuICBkZXNlbGVjdCguLi5sYXllcnM6IEFueUxheWVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5kZXNlbGVjdCguLi5sYXllcnMpO1xuICAgIHRoaXMuZGVzY2VuZGFudFNlbGVjdGlvbi5kZXNlbGVjdCguLi50aGlzLmdldERlc2NlbmRhbnRzKC4uLmxheWVycykpO1xuICB9XG5cbiAgaXNTZWxlY3RlZCA9IChsYXllcjogQW55TGF5ZXIpOiBib29sZWFuID0+IHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQobGF5ZXIpO1xuICBpc0Rlc2NlbmRhbnRTZWxlY3Rpb24gPSAobGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiA9PlxuICAgIHRoaXMuZGVzY2VuZGFudFNlbGVjdGlvbi5pc1NlbGVjdGVkKGxheWVyKTtcblxuICBwcml2YXRlIGdldERlc2NlbmRhbnRzKC4uLmxheWVyczogQW55TGF5ZXJbXSk6IEFueUxheWVyW10ge1xuICAgIHJldHVybiBsYXllcnMucmVkdWNlKChkZXNjZW5kYW50czogQW55TGF5ZXJbXSwgbGF5ZXIpID0+IHtcbiAgICAgIGlmIChpc0xheWVyR3JvdXAobGF5ZXIpKSB7XG4gICAgICAgIHJldHVybiBkZXNjZW5kYW50cy5jb25jYXQobGF5ZXIuZGVzY2VuZGFudHMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlc2NlbmRhbnRzO1xuICAgIH0sIFtdKTtcbiAgfVxufVxuIl19
|
|
@@ -12,8 +12,9 @@ import { ArcGISRestDataSource, CartoDataSource, ClusterDataSource, FeatureDataSo
|
|
|
12
12
|
import { LayerDBService } from '../../offline/layerDB/layerDB.service';
|
|
13
13
|
import { GeoNetworkService } from '../../offline/shared/geo-network.service';
|
|
14
14
|
import { StyleService } from '../../style/style-service/style.service';
|
|
15
|
-
import { computeMVTOptionsOnHover } from '../utils/layer.utils';
|
|
15
|
+
import { computeMVTOptionsOnHover, isLayerGroupOptions } from '../utils/layer.utils';
|
|
16
16
|
import { ImageLayer, TileLayer, VectorLayer, VectorTileLayer } from './layers';
|
|
17
|
+
import { LayerGroup } from './layers/layer-group';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
import * as i1 from "@angular/common/http";
|
|
19
20
|
import * as i2 from "../../style/style-service/style.service";
|
|
@@ -40,12 +41,16 @@ export class LayerService {
|
|
|
40
41
|
this.layerDBService = layerDBService;
|
|
41
42
|
this.authInterceptor = authInterceptor;
|
|
42
43
|
}
|
|
44
|
+
createLayers(layersOption, contextUri) {
|
|
45
|
+
const arrayObsLayers = layersOption.map((option) => {
|
|
46
|
+
return isLayerGroupOptions(option)
|
|
47
|
+
? this.createAsyncGroup(option)
|
|
48
|
+
: this.createAsyncLayer(option, contextUri);
|
|
49
|
+
});
|
|
50
|
+
return combineLatest(arrayObsLayers);
|
|
51
|
+
}
|
|
43
52
|
createLayer(layerOptions) {
|
|
44
|
-
if (
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (layerOptions.source.options &&
|
|
48
|
-
layerOptions.source.options._layerOptionsFromSource) {
|
|
53
|
+
if (layerOptions.source?.options?._layerOptionsFromSource) {
|
|
49
54
|
layerOptions = ObjectUtils.mergeDeep(layerOptions.source.options._layerOptionsFromSource, layerOptions || {});
|
|
50
55
|
}
|
|
51
56
|
let layer;
|
|
@@ -79,24 +84,35 @@ export class LayerService {
|
|
|
79
84
|
}
|
|
80
85
|
return layer;
|
|
81
86
|
}
|
|
82
|
-
createAsyncLayer(
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
87
|
+
createAsyncLayer(options, detailedContextUri) {
|
|
88
|
+
const optionsCloned = { ...options };
|
|
89
|
+
computeMVTOptionsOnHover(optionsCloned);
|
|
90
|
+
if (optionsCloned.source) {
|
|
91
|
+
return new Observable((d) => d.next(this.createLayer(optionsCloned)));
|
|
86
92
|
}
|
|
87
93
|
return this.dataSourceService
|
|
88
|
-
.createAsyncDataSource(
|
|
94
|
+
.createAsyncDataSource(optionsCloned.sourceOptions, detailedContextUri)
|
|
89
95
|
.pipe(map((source) => {
|
|
90
96
|
if (source === undefined) {
|
|
91
|
-
const found = this.unavailableLayers.some((el) => el ===
|
|
97
|
+
const found = this.unavailableLayers.some((el) => el === optionsCloned);
|
|
92
98
|
if (!found) {
|
|
93
|
-
this.unavailableLayers.push(
|
|
99
|
+
this.unavailableLayers.push(optionsCloned);
|
|
94
100
|
}
|
|
95
101
|
return undefined;
|
|
96
102
|
}
|
|
97
|
-
return this.createLayer(Object.assign(
|
|
103
|
+
return this.createLayer(Object.assign(optionsCloned, { source }));
|
|
98
104
|
}));
|
|
99
105
|
}
|
|
106
|
+
createAsyncGroup(options, detailedContextUri) {
|
|
107
|
+
if (!options.children?.length) {
|
|
108
|
+
return of(this.createGroup(null, options));
|
|
109
|
+
}
|
|
110
|
+
return this.createLayers(options.children, detailedContextUri).pipe(map((layers) => this.createGroup(layers.filter(Boolean), options)));
|
|
111
|
+
}
|
|
112
|
+
createGroup(layers, options) {
|
|
113
|
+
const group = new LayerGroup(layers, options);
|
|
114
|
+
return group;
|
|
115
|
+
}
|
|
100
116
|
createImageLayer(layerOptions) {
|
|
101
117
|
return new ImageLayer(layerOptions, this.messageService, this.authInterceptor);
|
|
102
118
|
}
|
|
@@ -124,7 +140,6 @@ export class LayerService {
|
|
|
124
140
|
}
|
|
125
141
|
else if (layerOptions.igoStyle.igoStyleObject &&
|
|
126
142
|
layerOptions.idbInfo?.storeToIdb) {
|
|
127
|
-
// temporary fix todo : handle it with geostyler.
|
|
128
143
|
style = this.styleService.parseStyle('style', layerOptions.igoStyle.igoStyleObject);
|
|
129
144
|
}
|
|
130
145
|
if (layerOptions.source instanceof ArcGISRestDataSource) {
|
|
@@ -297,4 +312,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
297
312
|
}] }, { type: i7.AuthInterceptor, decorators: [{
|
|
298
313
|
type: Optional
|
|
299
314
|
}] }] });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUdMLG9CQUFvQixFQUVwQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUVkLG1CQUFtQixFQUNuQixhQUFhLEVBQ2QsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENB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Q0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUNsRCxDQUFDO2dCQUNELE9BQU8saUJBQWlCLENBQUMsS0FBSyxLQUFLLHFCQUFxQixDQUFDLEtBQUssQ0FBQztZQUNqRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsYUFBbUM7UUFFbkMsT0FBTyxRQUFRLElBQUksYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFRCxzQkFBc0IsQ0FDcEIsYUFBbUM7UUFFbkMsT0FBTyxPQUFPLElBQUksYUFBYSxDQUFDO0lBQ2xDLENBQUM7d0dBL1lVLFlBQVk7NEdBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbExheWVyVmVjdG9yVGlsZSBmcm9tICdvbC9sYXllci9WZWN0b3JUaWxlJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgeyBTdHlsZUxpa2UgYXMgT2xTdHlsZUxpa2UgfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5cbmltcG9ydCB7IHN0eWxlZnVuY3Rpb24gfSBmcm9tICdvbC1tYXBib3gtc3R5bGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBBbnlEYXRhU291cmNlT3B0aW9ucyxcbiAgQW55RGF0YVNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zLFxuICBBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICBDYXJ0b0RhdGFTb3VyY2UsXG4gIENsdXN0ZXJEYXRhU291cmNlLFxuICBGZWF0dXJlRGF0YVNvdXJjZSxcbiAgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgTVZURGF0YVNvdXJjZSxcbiAgT1NNRGF0YVNvdXJjZSxcbiAgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlLFxuICBUaWxlRGVidWdEYXRhU291cmNlLFxuICBXRlNEYXRhU291cmNlLFxuICBXTVNEYXRhU291cmNlLFxuICBXTVRTRGF0YVNvdXJjZSxcbiAgV01UU0RhdGFTb3VyY2VPcHRpb25zLFxuICBXZWJTb2NrZXREYXRhU291cmNlLFxuICBYWVpEYXRhU291cmNlXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IExheWVyREJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vb2ZmbGluZS9sYXllckRCL2xheWVyREIuc2VydmljZSc7XG5pbXBvcnQgeyBHZW9OZXR3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL29mZmxpbmUvc2hhcmVkL2dlby1uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlciB9IGZyb20gJy4uL3V0aWxzL2xheWVyLnV0aWxzJztcbmltcG9ydCB7XG4gIEFueUxheWVyT3B0aW9ucyxcbiAgSW1hZ2VMYXllcixcbiAgSW1hZ2VMYXllck9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllck9wdGlvbnMsXG4gIFRpbGVMYXllcixcbiAgVGlsZUxheWVyT3B0aW9ucyxcbiAgVmVjdG9yTGF5ZXIsXG4gIFZlY3RvckxheWVyT3B0aW9ucyxcbiAgVmVjdG9yVGlsZUxheWVyLFxuICBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG59IGZyb20gJy4vbGF5ZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJTZXJ2aWNlIHtcbiAgcHVibGljIHVuYXZhaWxhYmxlTGF5ZXJzOiBBbnlMYXllck9wdGlvbnNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZ2VvTmV0d29ya1NlcnZpY2U/OiBHZW9OZXR3b3JrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxheWVyREJTZXJ2aWNlPzogTGF5ZXJEQlNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7fVxuXG4gIGNyZWF0ZUxheWVyKGxheWVyT3B0aW9uczogQW55TGF5ZXJPcHRpb25zKTogTGF5ZXIge1xuICAgIGlmICghbGF5ZXJPcHRpb25zLnNvdXJjZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucyAmJlxuICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlXG4gICAgKSB7XG4gICAgICBsYXllck9wdGlvbnMgPSBPYmplY3RVdGlscy5tZXJnZURlZXAoXG4gICAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZSxcbiAgICAgICAgbGF5ZXJPcHRpb25zIHx8IHt9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsYXllcjtcbiAgICBzd2l0Y2ggKGxheWVyT3B0aW9ucy5zb3VyY2UuY29uc3RydWN0b3IpIHtcbiAgICAgIGNhc2UgT1NNRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV01UU0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIFhZWkRhdGFTb3VyY2U6XG4gICAgICBjYXNlIFRpbGVEZWJ1Z0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIENhcnRvRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVGlsZUxheWVyKGxheWVyT3B0aW9ucyBhcyBUaWxlTGF5ZXJPcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEZlYXR1cmVEYXRhU291cmNlOlxuICAgICAgY2FzZSBXRlNEYXRhU291cmNlOlxuICAgICAgY2FzZSBBcmNHSVNSZXN0RGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV2ViU29ja2V0RGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgQ2x1c3RlckRhdGFTb3VyY2U6XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JMYXllcihsYXllck9wdGlvbnMgYXMgVmVjdG9yTGF5ZXJPcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdNU0RhdGFTb3VyY2U6XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVJbWFnZUxheWVyKGxheWVyT3B0aW9ucyBhcyBJbWFnZUxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBNVlREYXRhU291cmNlOiB7XG4gICAgICAgIGNvbnN0IF9sYXllck9wdGlvbnMgPSBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIobGF5ZXJPcHRpb25zKTtcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVZlY3RvclRpbGVMYXllcihcbiAgICAgICAgICBfbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gbGF5ZXI7XG4gIH1cblxuICBjcmVhdGVBc3luY0xheWVyKFxuICAgIF9sYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucyxcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxMYXllcj4ge1xuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihfbGF5ZXJPcHRpb25zKTtcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSkge1xuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkKSA9PiBkLm5leHQodGhpcy5jcmVhdGVMYXllcihsYXllck9wdGlvbnMpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0RhdGFTb3VyY2UobGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnMsIGRldGFpbGVkQ29udGV4dFVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHNvdXJjZSkgPT4ge1xuICAgICAgICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnVuYXZhaWxhYmxlTGF5ZXJzLnNvbWUoXG4gICAgICAgICAgICAgIChlbCkgPT4gZWwgPT09IGxheWVyT3B0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgdGhpcy51bmF2YWlsYWJsZUxheWVycy5wdXNoKGxheWVyT3B0aW9ucyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUxheWVyKE9iamVjdC5hc3NpZ24obGF5ZXJPcHRpb25zLCB7IHNvdXJjZSB9KSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUxheWVyKGxheWVyT3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMpOiBJbWFnZUxheWVyIHtcbiAgICByZXR1cm4gbmV3IEltYWdlTGF5ZXIoXG4gICAgICBsYXllck9wdGlvbnMsXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUaWxlTGF5ZXIobGF5ZXJPcHRpb25zOiBUaWxlTGF5ZXJPcHRpb25zKTogVGlsZUxheWVyIHtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcihcbiAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zKTogVmVjdG9yTGF5ZXIge1xuICAgIGxldCBzdHlsZTogU3R5bGVbXSB8IFN0eWxlIHwgT2xTdHlsZUxpa2UgPSBsYXllck9wdGlvbnMuc3R5bGU7XG4gICAgbGV0IGlnb0xheWVyOiBWZWN0b3JMYXllcjtcblxuICAgIGlmICghbGF5ZXJPcHRpb25zLmlnb1N0eWxlKSB7XG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUgPSB7fTtcbiAgICB9XG4gICAgY29uc3QgbGVnYWN5U3R5bGVPcHRpb25zID0gW1xuICAgICAgJ3N0eWxlQnlBdHRyaWJ1dGUnLFxuICAgICAgJ2hvdmVyU3R5bGUnLFxuICAgICAgJ21hcGJveFN0eWxlJyxcbiAgICAgICdjbHVzdGVyQmFzZVN0eWxlJyxcbiAgICAgICdzdHlsZSdcbiAgICBdO1xuICAgIC8vIGhhbmRsaW5nIGxlZ2FjeSBwcm9wZXJ0eS5cbiAgICB0aGlzLmhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9ucyk7XG4gICAgaWYgKFxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0ICYmXG4gICAgICAhbGF5ZXJPcHRpb25zLmlkYkluZm8/LnN0b3JlVG9JZGJcbiAgICApIHtcbiAgICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+XG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCxcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0ICYmXG4gICAgICBsYXllck9wdGlvbnMuaWRiSW5mbz8uc3RvcmVUb0lkYlxuICAgICkge1xuICAgICAgLy8gdGVtcG9yYXJ5IGZpeCB0b2RvIDogaGFuZGxlIGl0IHdpdGggZ2Vvc3R5bGVyLlxuICAgICAgc3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5wYXJzZVN0eWxlKFxuICAgICAgICAnc3R5bGUnLFxuICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2UgaW5zdGFuY2VvZiBBcmNHSVNSZXN0RGF0YVNvdXJjZSkge1xuICAgICAgY29uc3Qgc291cmNlID0gbGF5ZXJPcHRpb25zLnNvdXJjZSBhcyBBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgICAgIHN0eWxlID0gc291cmNlLm9wdGlvbnMucGFyYW1zLnN0eWxlO1xuICAgIH0gZWxzZSBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlPy5zdHlsZUJ5QXR0cmlidXRlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnMsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlPy5nZW9EQlNlcnZpY2UsXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2UgaW5zdGFuY2VvZiBDbHVzdGVyRGF0YVNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XG4gICAgICBjb25zdCBiYXNlU3R5bGUgPSBsYXllck9wdGlvbnMuaWdvU3R5bGUuY2x1c3RlckJhc2VTdHlsZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlQ2x1c3RlclN0eWxlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgcmVzb2x1dGlvbixcbiAgICAgICAgICBsYXllck9wdGlvbnMuY2x1c3RlclBhcmFtLFxuICAgICAgICAgIGJhc2VTdHlsZVxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2U/Lmdlb0RCU2VydmljZSxcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXllck9wdGlvbnNPbCA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyT3B0aW9ucywge1xuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIGlmICghaWdvTGF5ZXIpIHtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnNPbCxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2U/Lmdlb0RCU2VydmljZSxcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGx5TWFwYm94U3R5bGUoaWdvTGF5ZXIsIGxheWVyT3B0aW9uc09sIGFzIGFueSk7XG5cbiAgICByZXR1cm4gaWdvTGF5ZXI7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9uczogc3RyaW5nW10pIHtcbiAgICBsZWdhY3lTdHlsZU9wdGlvbnMubWFwKChsZWdhY3lPcHRpb24pID0+IHtcbiAgICAgIGlmIChsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXSkge1xuICAgICAgICBsZXQgbmV3S2V5ID0gbGVnYWN5T3B0aW9uO1xuICAgICAgICBpZiAobGVnYWN5T3B0aW9uID09PSAnc3R5bGUnKSB7XG4gICAgICAgICAgaWYgKGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dIGluc3RhbmNlb2Ygb2xTdHlsZS5TdHlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgbmV3S2V5ID0gJ2lnb1N0eWxlT2JqZWN0JztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGVbbmV3S2V5XSA9IGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dO1xuICAgICAgICBkZWxldGUgbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl07XG4gICAgICAgIGNvbnNvbGUud2FybihgXG4gICAgICAgIFRoZSBsb2NhdGlvbiBvZiB0aGlzIHN0eWxlIG9wdGlvbiAoJHtsZWdhY3lPcHRpb259KSBpcyBkZXByZWNhdGVkLlxuICAgICAgICBQbGVhc2UgbW92ZSB0aGlzIHByb3BlcnR5IHdpdGhpbiBpZ29TdHlsZSBwcm9wZXJ0eS5cbiAgICAgICAgRXg6ICR7bGVnYWN5T3B0aW9ufTogey4uLn0gbXVzdCBiZSB0cmFuc2ZlcmVkIHRvIGlnb1N0eWxlOiB7ICR7bmV3S2V5fTogey4uLn0gfVxuICAgICAgICBUaGlzIGxlZ2FjeSBjb252ZXJzaW9uIHdpbGwgYmUgZGVsZXRlZCBpbiAyMDI0LlxuICAgICAgICBgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVmVjdG9yVGlsZUxheWVyKFxuICAgIGxheWVyT3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xuICApOiBWZWN0b3JUaWxlTGF5ZXIge1xuICAgIGxldCBzdHlsZTogU3R5bGVbXSB8IFN0eWxlIHwgT2xTdHlsZUxpa2U7XG4gICAgbGV0IGlnb0xheWVyOiBWZWN0b3JUaWxlTGF5ZXI7XG5cbiAgICBpZiAoIWxheWVyT3B0aW9ucy5pZ29TdHlsZSkge1xuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlID0ge307XG4gICAgfVxuICAgIGNvbnN0IGxlZ2FjeVN0eWxlT3B0aW9ucyA9IFtcbiAgICAgICdzdHlsZUJ5QXR0cmlidXRlJyxcbiAgICAgICdob3ZlclN0eWxlJyxcbiAgICAgICdtYXBib3hTdHlsZScsXG4gICAgICAnc3R5bGUnXG4gICAgXTtcbiAgICAvLyBoYW5kbGluZyBsZWdhY3kgcHJvcGVydHkuXG4gICAgdGhpcy5oYW5kbGVMZWdhY3lTdHlsZXMobGF5ZXJPcHRpb25zLCBsZWdhY3lTdHlsZU9wdGlvbnMpO1xuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCkge1xuICAgICAgc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT5cbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0LFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGUuc3R5bGVCeUF0dHJpYnV0ZSkge1xuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gc2VydmljZVN0eWxlLmNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuc3R5bGVCeUF0dHJpYnV0ZSxcbiAgICAgICAgICByZXNvbHV0aW9uXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yVGlsZUxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnMsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxheWVyT3B0aW9uc09sID0gT2JqZWN0LmFzc2lnbih7fSwgbGF5ZXJPcHRpb25zLCB7XG4gICAgICBzdHlsZVxuICAgIH0pO1xuXG4gICAgaWYgKCFpZ29MYXllcikge1xuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yVGlsZUxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnNPbCxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseU1hcGJveFN0eWxlKGlnb0xheWVyLCBsYXllck9wdGlvbnNPbCk7XG4gICAgcmV0dXJuIGlnb0xheWVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseU1hcGJveFN0eWxlKGxheWVyOiBMYXllciwgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zKSB7XG4gICAgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZT8ubWFwYm94U3R5bGUpIHtcbiAgICAgIHRoaXMuZ2V0U3R1ZmYobGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnVybCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5zcHJpdGUpIHtcbiAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldEFic29sdXRlVXJsKFxuICAgICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnVybCxcbiAgICAgICAgICAgIHJlcy5zcHJpdGVcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuZ2V0U3R1ZmYodXJsICsgJy5qc29uJykuc3Vic2NyaWJlKChyZXMyKSA9PiB7XG4gICAgICAgICAgICBzdHlsZWZ1bmN0aW9uKFxuICAgICAgICAgICAgICBsYXllci5vbCBhcyBvbExheWVyVmVjdG9yVGlsZSxcbiAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUuc291cmNlLFxuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHJlczIsXG4gICAgICAgICAgICAgIHVybCArICcucG5nJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHlsZWZ1bmN0aW9uKFxuICAgICAgICAgICAgbGF5ZXIub2wgYXMgb2xMYXllclZlY3RvclRpbGUsXG4gICAgICAgICAgICByZXMsXG4gICAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUuc291cmNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHVmZih1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcyksXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ05vIHN0eWxlIHdhcyBmb3VuZCcpO1xuICAgICAgICByZXR1cm4gb2YoZXJyKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWJzb2x1dGVVcmwoc291cmNlLCB1cmwpIHtcbiAgICBjb25zdCByID0gbmV3IFJlZ0V4cCgnXmh0dHB8Ly8nLCAnaScpO1xuICAgIGlmIChyLnRlc3QodXJsKSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHNvdXJjZS5zdWJzdHIoc291cmNlLmxlbmd0aCAtIDEpID09PSAnLycpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZSArIHVybDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UgKyAnLycgKyB1cmw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlQXN5bmNJZGJMYXllcnMoY29udGV4dFVyaSA9ICcqJyk6IE9ic2VydmFibGU8TGF5ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmxheWVyREJTZXJ2aWNlPy5nZXRBbGwoKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChyZXMpID0+IHtcbiAgICAgICAgY29uc3QgaWRiTGF5ZXJzID1cbiAgICAgICAgICBjb250ZXh0VXJpICE9PSAnKidcbiAgICAgICAgICAgID8gcmVzLmZpbHRlcigobCkgPT4gbC5kZXRhaWxlZENvbnRleHRVcmkgPT09IGNvbnRleHRVcmkpXG4gICAgICAgICAgICA6IHJlcztcbiAgICAgICAgY29uc3QgbGF5ZXJzT3B0aW9uczogTGF5ZXJPcHRpb25zW10gPSBpZGJMYXllcnMubWFwKChpZGJsKSA9PlxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGlkYmwubGF5ZXJPcHRpb25zLCB7XG4gICAgICAgICAgICBzb3VyY2VPcHRpb25zOiBpZGJsLnNvdXJjZU9wdGlvbnNcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICBsYXllcnNPcHRpb25zLm1hcCgobGF5ZXJPcHRpb25zKSA9PlxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBc3luY0xheWVyKGxheWVyT3B0aW9ucylcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBkZWxldGVVbmF2YWlsYWJsZUxheWVycyhhbnlMYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucykge1xuICAgIGNvbnN0IGFueUxheWVyU291cmNlT3B0aW9ucyA9IGFueUxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy51bmF2YWlsYWJsZUxheWVycy5maW5kSW5kZXgoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGJhc2VTb3VyY2VPcHRpb25zID0gaXRlbS5zb3VyY2VPcHRpb25zO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKGJhc2VTb3VyY2VPcHRpb25zKSAmJlxuICAgICAgICB0aGlzLnNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKGFueUxheWVyU291cmNlT3B0aW9ucylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIGJhc2VTb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlMgPT09XG4gICAgICAgICAgYW55TGF5ZXJTb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc291cmNlT3B0aW9uc1dpdGhMYXllcihiYXNlU291cmNlT3B0aW9ucykgJiZcbiAgICAgICAgdGhpcy5zb3VyY2VPcHRpb25zV2l0aExheWVyKGFueUxheWVyU291cmNlT3B0aW9ucylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gYmFzZVNvdXJjZU9wdGlvbnMubGF5ZXIgPT09IGFueUxheWVyU291cmNlT3B0aW9ucy5sYXllcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnVuYXZhaWxhYmxlTGF5ZXJzLnNwbGljZShpbmRleCwgaW5kZXggPj0gMCA/IDEgOiAwKTtcbiAgfVxuXG4gIHNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKFxuICAgIHNvdXJjZU9wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zXG4gICk6IHNvdXJjZU9wdGlvbnMgaXMgQW55RGF0YVNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zIHtcbiAgICByZXR1cm4gJ3BhcmFtcycgaW4gc291cmNlT3B0aW9ucztcbiAgfVxuXG4gIHNvdXJjZU9wdGlvbnNXaXRoTGF5ZXIoXG4gICAgc291cmNlT3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnNcbiAgKTogc291cmNlT3B0aW9ucyBpcyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfCBXTVRTRGF0YVNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiAnbGF5ZXInIGluIHNvdXJjZU9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUdMLG9CQUFvQixFQUVwQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUVkLG1CQUFtQixFQUNuQixhQUFhLEVBQ2QsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENB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LENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLGFBQW1DO1FBRW5DLE9BQU8sUUFBUSxJQUFJLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsc0JBQXNCLENBQ3BCLGFBQW1DO1FBRW5DLE9BQU8sT0FBTyxJQUFJLGFBQWEsQ0FBQztJQUNsQyxDQUFDO3dHQTNhVSxZQUFZOzRHQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xMYXllclZlY3RvclRpbGUgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yVGlsZSc7XG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgU3R5bGVMaWtlIGFzIE9sU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuXG5pbXBvcnQgeyBzdHlsZWZ1bmN0aW9uIH0gZnJvbSAnb2wtbWFwYm94LXN0eWxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQW55RGF0YVNvdXJjZU9wdGlvbnMsXG4gIEFueURhdGFTb3VyY2VPcHRpb25zV2l0aFBhcmFtcyxcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgQ2FydG9EYXRhU291cmNlLFxuICBDbHVzdGVyRGF0YVNvdXJjZSxcbiAgRmVhdHVyZURhdGFTb3VyY2UsXG4gIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIE1WVERhdGFTb3VyY2UsXG4gIE9TTURhdGFTb3VyY2UsXG4gIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgVGlsZURlYnVnRGF0YVNvdXJjZSxcbiAgV0ZTRGF0YVNvdXJjZSxcbiAgV01TRGF0YVNvdXJjZSxcbiAgV01UU0RhdGFTb3VyY2UsXG4gIFdNVFNEYXRhU291cmNlT3B0aW9ucyxcbiAgV2ViU29ja2V0RGF0YVNvdXJjZSxcbiAgWFlaRGF0YVNvdXJjZVxufSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBMYXllckRCU2VydmljZSB9IGZyb20gJy4uLy4uL29mZmxpbmUvbGF5ZXJEQi9sYXllckRCLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VvTmV0d29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9vZmZsaW5lL3NoYXJlZC9nZW8tbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5pbXBvcnQge1xuICBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIsXG4gIGlzTGF5ZXJHcm91cE9wdGlvbnNcbn0gZnJvbSAnLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xuaW1wb3J0IHtcbiAgQW55TGF5ZXIsXG4gIEFueUxheWVySXRlbU9wdGlvbnMsXG4gIEFueUxheWVyT3B0aW9ucyxcbiAgSW1hZ2VMYXllcixcbiAgSW1hZ2VMYXllck9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllckdyb3VwT3B0aW9ucyxcbiAgTGF5ZXJPcHRpb25zLFxuICBUaWxlTGF5ZXIsXG4gIFRpbGVMYXllck9wdGlvbnMsXG4gIFZlY3RvckxheWVyLFxuICBWZWN0b3JMYXllck9wdGlvbnMsXG4gIFZlY3RvclRpbGVMYXllcixcbiAgVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xufSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBMYXllckdyb3VwIH0gZnJvbSAnLi9sYXllcnMvbGF5ZXItZ3JvdXAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICBwdWJsaWMgdW5hdmFpbGFibGVMYXllcnM6IEFueUxheWVySXRlbU9wdGlvbnNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZ2VvTmV0d29ya1NlcnZpY2U/OiBHZW9OZXR3b3JrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxheWVyREJTZXJ2aWNlPzogTGF5ZXJEQlNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7fVxuXG4gIGNyZWF0ZUxheWVycyhcbiAgICBsYXllcnNPcHRpb246IEFueUxheWVyT3B0aW9uc1tdLFxuICAgIGNvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTwoQW55TGF5ZXIgfCB1bmRlZmluZWQpW10+IHtcbiAgICBjb25zdCBhcnJheU9ic0xheWVycyA9IGxheWVyc09wdGlvbi5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGlzTGF5ZXJHcm91cE9wdGlvbnMob3B0aW9uKVxuICAgICAgICA/IHRoaXMuY3JlYXRlQXN5bmNHcm91cChvcHRpb24pXG4gICAgICAgIDogdGhpcy5jcmVhdGVBc3luY0xheWVyKG9wdGlvbiwgY29udGV4dFVyaSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChhcnJheU9ic0xheWVycyk7XG4gIH1cblxuICBjcmVhdGVMYXllcihsYXllck9wdGlvbnM6IEFueUxheWVySXRlbU9wdGlvbnMpOiBMYXllciB7XG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2U/Lm9wdGlvbnM/Ll9sYXllck9wdGlvbnNGcm9tU291cmNlKSB7XG4gICAgICBsYXllck9wdGlvbnMgPSBPYmplY3RVdGlscy5tZXJnZURlZXAoXG4gICAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZSxcbiAgICAgICAgbGF5ZXJPcHRpb25zIHx8IHt9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsYXllcjogTGF5ZXI7XG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMuc291cmNlLmNvbnN0cnVjdG9yKSB7XG4gICAgICBjYXNlIE9TTURhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdNVFNEYXRhU291cmNlOlxuICAgICAgY2FzZSBYWVpEYXRhU291cmNlOlxuICAgICAgY2FzZSBUaWxlRGVidWdEYXRhU291cmNlOlxuICAgICAgY2FzZSBDYXJ0b0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTpcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnMgYXMgVGlsZUxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBGZWF0dXJlRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV0ZTRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgQXJjR0lTUmVzdERhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdlYlNvY2tldERhdGFTb3VyY2U6XG4gICAgICBjYXNlIENsdXN0ZXJEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFZlY3RvckxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlOlxuICAgICAgY2FzZSBXTVNEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnMgYXMgSW1hZ2VMYXllck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTVZURGF0YVNvdXJjZToge1xuICAgICAgICBjb25zdCBfbGF5ZXJPcHRpb25zID0gY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyKGxheWVyT3B0aW9ucyk7XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgICAgX2xheWVyT3B0aW9ucyBhcyBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVyO1xuICB9XG5cbiAgY3JlYXRlQXN5bmNMYXllcihcbiAgICBvcHRpb25zOiBBbnlMYXllckl0ZW1PcHRpb25zLFxuICAgIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPExheWVyIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgb3B0aW9uc0Nsb25lZCA9IHsgLi4ub3B0aW9ucyB9O1xuXG4gICAgY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyKG9wdGlvbnNDbG9uZWQpO1xuICAgIGlmIChvcHRpb25zQ2xvbmVkLnNvdXJjZSkge1xuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkKSA9PiBkLm5leHQodGhpcy5jcmVhdGVMYXllcihvcHRpb25zQ2xvbmVkKSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKG9wdGlvbnNDbG9uZWQuc291cmNlT3B0aW9ucywgZGV0YWlsZWRDb250ZXh0VXJpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoc291cmNlKSA9PiB7XG4gICAgICAgICAgaWYgKHNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMudW5hdmFpbGFibGVMYXllcnMuc29tZShcbiAgICAgICAgICAgICAgKGVsKSA9PiBlbCA9PT0gb3B0aW9uc0Nsb25lZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgdGhpcy51bmF2YWlsYWJsZUxheWVycy5wdXNoKG9wdGlvbnNDbG9uZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYXllcihPYmplY3QuYXNzaWduKG9wdGlvbnNDbG9uZWQsIHsgc291cmNlIH0pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVBc3luY0dyb3VwKFxuICAgIG9wdGlvbnM6IExheWVyR3JvdXBPcHRpb25zLFxuICAgIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPExheWVyR3JvdXA+IHtcbiAgICBpZiAoIW9wdGlvbnMuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuY3JlYXRlR3JvdXAobnVsbCwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUxheWVycyhvcHRpb25zLmNoaWxkcmVuLCBkZXRhaWxlZENvbnRleHRVcmkpLnBpcGUoXG4gICAgICBtYXAoKGxheWVycykgPT4gdGhpcy5jcmVhdGVHcm91cChsYXllcnMuZmlsdGVyKEJvb2xlYW4pLCBvcHRpb25zKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVHcm91cChcbiAgICBsYXllcnM6IEFueUxheWVyW10sXG4gICAgb3B0aW9uczogTGF5ZXJHcm91cE9wdGlvbnNcbiAgKTogTGF5ZXJHcm91cCB7XG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgTGF5ZXJHcm91cChsYXllcnMsIG9wdGlvbnMpO1xuICAgIHJldHVybiBncm91cDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnM6IEltYWdlTGF5ZXJPcHRpb25zKTogSW1hZ2VMYXllciB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZUxheWVyKFxuICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGlsZUxheWVyKGxheWVyT3B0aW9uczogVGlsZUxheWVyT3B0aW9ucyk6IFRpbGVMYXllciB7XG4gICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoXG4gICAgICBsYXllck9wdGlvbnMsXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWZWN0b3JMYXllcihsYXllck9wdGlvbnM6IFZlY3RvckxheWVyT3B0aW9ucyk6IFZlY3RvckxheWVyIHtcbiAgICBsZXQgc3R5bGU6IFN0eWxlW10gfCBTdHlsZSB8IE9sU3R5bGVMaWtlID0gbGF5ZXJPcHRpb25zLnN0eWxlO1xuICAgIGxldCBpZ29MYXllcjogVmVjdG9yTGF5ZXI7XG5cbiAgICBpZiAoIWxheWVyT3B0aW9ucy5pZ29TdHlsZSkge1xuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlID0ge307XG4gICAgfVxuICAgIGNvbnN0IGxlZ2FjeVN0eWxlT3B0aW9ucyA9IFtcbiAgICAgICdzdHlsZUJ5QXR0cmlidXRlJyxcbiAgICAgICdob3ZlclN0eWxlJyxcbiAgICAgICdtYXBib3hTdHlsZScsXG4gICAgICAnY2x1c3RlckJhc2VTdHlsZScsXG4gICAgICAnc3R5bGUnXG4gICAgXTtcbiAgICAvLyBoYW5kbGluZyBsZWdhY3kgcHJvcGVydHkuXG4gICAgdGhpcy5oYW5kbGVMZWdhY3lTdHlsZXMobGF5ZXJPcHRpb25zLCBsZWdhY3lTdHlsZU9wdGlvbnMpO1xuICAgIGlmIChcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCAmJlxuICAgICAgIWxheWVyT3B0aW9ucy5pZGJJbmZvPy5zdG9yZVRvSWRiXG4gICAgKSB7XG4gICAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxuICAgICAgICB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QsXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uXG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCAmJlxuICAgICAgbGF5ZXJPcHRpb25zLmlkYkluZm8/LnN0b3JlVG9JZGJcbiAgICApIHtcbiAgICAgIHN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2UucGFyc2VTdHlsZShcbiAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgQXJjR0lTUmVzdERhdGFTb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGxheWVyT3B0aW9ucy5zb3VyY2UgYXMgQXJjR0lTUmVzdERhdGFTb3VyY2U7XG4gICAgICBzdHlsZSA9IHNvdXJjZS5vcHRpb25zLnBhcmFtcy5zdHlsZTtcbiAgICB9IGVsc2UgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZT8uc3R5bGVCeUF0dHJpYnV0ZSkge1xuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gc2VydmljZVN0eWxlLmNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuc3R5bGVCeUF0dHJpYnV0ZSxcbiAgICAgICAgICByZXNvbHV0aW9uXG4gICAgICAgICk7XG4gICAgICB9O1xuXG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZT8uZ2VvREJTZXJ2aWNlLFxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgQ2x1c3RlckRhdGFTb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xuICAgICAgY29uc3QgYmFzZVN0eWxlID0gbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmNsdXN0ZXJCYXNlU3R5bGU7XG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gc2VydmljZVN0eWxlLmNyZWF0ZUNsdXN0ZXJTdHlsZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmNsdXN0ZXJQYXJhbSxcbiAgICAgICAgICBiYXNlU3R5bGVcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnMsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlPy5nZW9EQlNlcnZpY2UsXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcbiAgICAgIHN0eWxlXG4gICAgfSk7XG5cbiAgICBpZiAoIWlnb0xheWVyKSB7XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zT2wsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlPy5nZW9EQlNlcnZpY2UsXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseU1hcGJveFN0eWxlKGlnb0xheWVyLCBsYXllck9wdGlvbnNPbCBhcyBhbnkpO1xuXG4gICAgcmV0dXJuIGlnb0xheWVyO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMZWdhY3lTdHlsZXMobGF5ZXJPcHRpb25zLCBsZWdhY3lTdHlsZU9wdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgbGVnYWN5U3R5bGVPcHRpb25zLm1hcCgobGVnYWN5T3B0aW9uKSA9PiB7XG4gICAgICBpZiAobGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0pIHtcbiAgICAgICAgbGV0IG5ld0tleSA9IGxlZ2FjeU9wdGlvbjtcbiAgICAgICAgaWYgKGxlZ2FjeU9wdGlvbiA9PT0gJ3N0eWxlJykge1xuICAgICAgICAgIGlmIChsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXSBpbnN0YW5jZW9mIG9sU3R5bGUuU3R5bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIG5ld0tleSA9ICdpZ29TdHlsZU9iamVjdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlW25ld0tleV0gPSBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXTtcbiAgICAgICAgZGVsZXRlIGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dO1xuICAgICAgICBjb25zb2xlLndhcm4oYFxuICAgICAgICBUaGUgbG9jYXRpb24gb2YgdGhpcyBzdHlsZSBvcHRpb24gKCR7bGVnYWN5T3B0aW9ufSkgaXMgZGVwcmVjYXRlZC5cbiAgICAgICAgUGxlYXNlIG1vdmUgdGhpcyBwcm9wZXJ0eSB3aXRoaW4gaWdvU3R5bGUgcHJvcGVydHkuXG4gICAgICAgIEV4OiAke2xlZ2FjeU9wdGlvbn06IHsuLi59IG11c3QgYmUgdHJhbnNmZXJlZCB0byBpZ29TdHlsZTogeyAke25ld0tleX06IHsuLi59IH1cbiAgICAgICAgVGhpcyBsZWdhY3kgY29udmVyc2lvbiB3aWxsIGJlIGRlbGV0ZWQgaW4gMjAyNC5cbiAgICAgICAgYCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZlY3RvclRpbGVMYXllcihcbiAgICBsYXllck9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnNcbiAgKTogVmVjdG9yVGlsZUxheWVyIHtcbiAgICBsZXQgc3R5bGU6IFN0eWxlW10gfCBTdHlsZSB8IE9sU3R5bGVMaWtlO1xuICAgIGxldCBpZ29MYXllcjogVmVjdG9yVGlsZUxheWVyO1xuXG4gICAgaWYgKCFsYXllck9wdGlvbnMuaWdvU3R5bGUpIHtcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZSA9IHt9O1xuICAgIH1cbiAgICBjb25zdCBsZWdhY3lTdHlsZU9wdGlvbnMgPSBbXG4gICAgICAnc3R5bGVCeUF0dHJpYnV0ZScsXG4gICAgICAnaG92ZXJTdHlsZScsXG4gICAgICAnbWFwYm94U3R5bGUnLFxuICAgICAgJ3N0eWxlJ1xuICAgIF07XG4gICAgLy8gaGFuZGxpbmcgbGVnYWN5IHByb3BlcnR5LlxuICAgIHRoaXMuaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zKTtcblxuICAgIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QpIHtcbiAgICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+XG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCxcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgICAgfTtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXllck9wdGlvbnNPbCA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyT3B0aW9ucywge1xuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIGlmICghaWdvTGF5ZXIpIHtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zT2wsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wpO1xuICAgIHJldHVybiBpZ29MYXllcjtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNYXBib3hTdHlsZShsYXllcjogTGF5ZXIsIGxheWVyT3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9ucykge1xuICAgIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGU/Lm1hcGJveFN0eWxlKSB7XG4gICAgICB0aGlzLmdldFN0dWZmKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMuc3ByaXRlKSB7XG4gICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRBYnNvbHV0ZVVybChcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwsXG4gICAgICAgICAgICByZXMuc3ByaXRlXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmdldFN0dWZmKHVybCArICcuanNvbicpLnN1YnNjcmliZSgocmVzMikgPT4ge1xuICAgICAgICAgICAgc3R5bGVmdW5jdGlvbihcbiAgICAgICAgICAgICAgbGF5ZXIub2wgYXMgb2xMYXllclZlY3RvclRpbGUsXG4gICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnNvdXJjZSxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICByZXMyLFxuICAgICAgICAgICAgICB1cmwgKyAnLnBuZydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3R5bGVmdW5jdGlvbihcbiAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxuICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnNvdXJjZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3R1ZmYodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBtYXAoKHJlczogYW55KSA9PiByZXMpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdObyBzdHlsZSB3YXMgZm91bmQnKTtcbiAgICAgICAgcmV0dXJuIG9mKGVycik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEFic29sdXRlVXJsKHNvdXJjZSwgdXJsKSB7XG4gICAgY29uc3QgciA9IG5ldyBSZWdFeHAoJ15odHRwfC8vJywgJ2knKTtcbiAgICBpZiAoci50ZXN0KHVybCkpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzb3VyY2Uuc3Vic3RyKHNvdXJjZS5sZW5ndGggLSAxKSA9PT0gJy8nKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UgKyB1cmw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc291cmNlICsgJy8nICsgdXJsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUFzeW5jSWRiTGF5ZXJzKGNvbnRleHRVcmkgPSAnKicpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5sYXllckRCU2VydmljZT8uZ2V0QWxsKCkucGlwZShcbiAgICAgIGNvbmNhdE1hcCgocmVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkYkxheWVycyA9XG4gICAgICAgICAgY29udGV4dFVyaSAhPT0gJyonXG4gICAgICAgICAgICA/IHJlcy5maWx0ZXIoKGwpID0+IGwuZGV0YWlsZWRDb250ZXh0VXJpID09PSBjb250ZXh0VXJpKVxuICAgICAgICAgICAgOiByZXM7XG4gICAgICAgIGNvbnN0IGxheWVyc09wdGlvbnM6IExheWVyT3B0aW9uc1tdID0gaWRiTGF5ZXJzLm1hcCgoaWRibCkgPT5cbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBpZGJsLmxheWVyT3B0aW9ucywge1xuICAgICAgICAgICAgc291cmNlT3B0aW9uczogaWRibC5zb3VyY2VPcHRpb25zXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgbGF5ZXJzT3B0aW9ucy5tYXAoKGxheWVyT3B0aW9ucykgPT5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlVW5hdmFpbGFibGVMYXllcnMoYW55TGF5ZXJPcHRpb25zOiBBbnlMYXllckl0ZW1PcHRpb25zKSB7XG4gICAgY29uc3QgYW55TGF5ZXJTb3VyY2VPcHRpb25zID0gYW55TGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnM7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnVuYXZhaWxhYmxlTGF5ZXJzLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgYmFzZVNvdXJjZU9wdGlvbnMgPSBpdGVtLnNvdXJjZU9wdGlvbnM7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc291cmNlT3B0aW9uc1dpdGhQYXJhbXMoYmFzZVNvdXJjZU9wdGlvbnMpICYmXG4gICAgICAgIHRoaXMuc291cmNlT3B0aW9uc1dpdGhQYXJhbXMoYW55TGF5ZXJTb3VyY2VPcHRpb25zKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgYmFzZVNvdXJjZU9wdGlvbnMucGFyYW1zLkxBWUVSUyA9PT1cbiAgICAgICAgICBhbnlMYXllclNvdXJjZU9wdGlvbnMucGFyYW1zLkxBWUVSU1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5zb3VyY2VPcHRpb25zV2l0aExheWVyKGJhc2VTb3VyY2VPcHRpb25zKSAmJlxuICAgICAgICB0aGlzLnNvdXJjZU9wdGlvbnNXaXRoTGF5ZXIoYW55TGF5ZXJTb3VyY2VPcHRpb25zKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBiYXNlU291cmNlT3B0aW9ucy5sYXllciA9PT0gYW55TGF5ZXJTb3VyY2VPcHRpb25zLmxheWVyO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudW5hdmFpbGFibGVMYXllcnMuc3BsaWNlKGluZGV4LCBpbmRleCA+PSAwID8gMSA6IDApO1xuICB9XG5cbiAgc291cmNlT3B0aW9uc1dpdGhQYXJhbXMoXG4gICAgc291cmNlT3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnNcbiAgKTogc291cmNlT3B0aW9ucyBpcyBBbnlEYXRhU291cmNlT3B0aW9uc1dpdGhQYXJhbXMge1xuICAgIHJldHVybiAncGFyYW1zJyBpbiBzb3VyY2VPcHRpb25zO1xuICB9XG5cbiAgc291cmNlT3B0aW9uc1dpdGhMYXllcihcbiAgICBzb3VyY2VPcHRpb25zOiBBbnlEYXRhU291cmNlT3B0aW9uc1xuICApOiBzb3VyY2VPcHRpb25zIGlzIEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyB8IFdNVFNEYXRhU291cmNlT3B0aW9ucyB7XG4gICAgcmV0dXJuICdsYXllcicgaW4gc291cmNlT3B0aW9ucztcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvYW55LWxheWVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJbWFnZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cE9wdGlvbnMgfSBmcm9tICcuL2xheWVyLWdyb3VwLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0eXBlIExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHR5cGUgVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vdGlsZS1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdHlwZSBWZWN0b3JMYXllck9wdGlvbnMgfSBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdHlwZSBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi92ZWN0b3J0aWxlLWxheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIEFueUxheWVyT3B0aW9ucyA9IEFueUxheWVySXRlbU9wdGlvbnMgfCBMYXllckdyb3VwT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQW55TGF5ZXJJdGVtT3B0aW9ucyA9XG4gIHwgTGF5ZXJPcHRpb25zXG4gIHwgSW1hZ2VMYXllck9wdGlvbnNcbiAgfCBUaWxlTGF5ZXJPcHRpb25zXG4gIHwgVmVjdG9yTGF5ZXJPcHRpb25zXG4gIHwgVmVjdG9yVGlsZUxheWVyT3B0aW9ucztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9hbnktbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cCB9IGZyb20gJy4vbGF5ZXItZ3JvdXAnO1xuXG5leHBvcnQgdHlwZSBBbnlMYXllciA9IExheWVyIHwgTGF5ZXJHcm91cDtcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHtcbiAgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnMsXG4gIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIFdNU0RhdGFTb3VyY2UsXG4gIFdNU0RhdGFTb3VyY2VPcHRpb25zXG59IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUxheWVyT3B0aW9ucyBleHRlbmRzIExheWVyT3B0aW9ucyB7XG4gIHNvdXJjZT86IFdNU0RhdGFTb3VyY2UgfCBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlO1xuICBzb3VyY2VPcHRpb25zPzogV01TRGF0YVNvdXJjZU9wdGlvbnMgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucztcbiAgdG9rZW5LZXk/OiBzdHJpbmc7XG4gIG9sPzogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+O1xuICBtZXRhZGF0YT86IHtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgZXh0ZXJuPzogYm9vbGVhbjtcbiAgICBhYnN0cmFjdD86IHN0cmluZztcbiAgICBrZXl3b3JkTGlzdD86IHN0cmluZ1tdO1xuICB9O1xufVxuIl19
|
|
@@ -4,6 +4,7 @@ import { Layer } from './layer';
|
|
|
4
4
|
export class ImageLayer extends Layer {
|
|
5
5
|
messageService;
|
|
6
6
|
authInterceptor;
|
|
7
|
+
type = 'raster';
|
|
7
8
|
watcher;
|
|
8
9
|
constructor(options, messageService, authInterceptor) {
|
|
9
10
|
super(options, messageService, authInterceptor);
|
|
@@ -29,14 +30,18 @@ export class ImageLayer extends Layer {
|
|
|
29
30
|
}
|
|
30
31
|
return image;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
init(map) {
|
|
33
34
|
if (map === undefined) {
|
|
34
35
|
this.watcher.unsubscribe();
|
|
35
36
|
}
|
|
36
37
|
else {
|
|
37
38
|
this.watcher.subscribe(() => void 1);
|
|
38
39
|
}
|
|
39
|
-
super.
|
|
40
|
+
super.init(map);
|
|
41
|
+
}
|
|
42
|
+
remove() {
|
|
43
|
+
this.watcher.unsubscribe();
|
|
44
|
+
super.remove();
|
|
40
45
|
}
|
|
41
46
|
customLoader(tile, src, interceptor, messageService) {
|
|
42
47
|
const xhr = new XMLHttpRequest();
|
|
@@ -67,4 +72,4 @@ export class ImageLayer extends Layer {
|
|
|
67
72
|
xhr.send();
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBTTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2hDLE1BQU0sT0FBTyxVQUFXLFNBQVEsS0FBSztJQVUxQjtJQUNBO0lBVlQsSUFBSSxHQUFjLFFBQVEsQ0FBQztJQUtuQixPQUFPLENBQWU7SUFFOUIsWUFDRSxPQUEwQixFQUNuQixjQUE4QixFQUM5QixlQUFpQztRQUV4QyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUh6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBR3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxTQUFTLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZ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LElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5cbmltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyB0eXBlIE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBJbWFnZVdhdGNoZXIgfSBmcm9tICcuLi8uLi91dGlscy9pbWFnZS13YXRjaGVyJztcbmltcG9ydCB7IEltYWdlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IExheWVyVHlwZSB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEltYWdlTGF5ZXIgZXh0ZW5kcyBMYXllciB7XG4gIHR5cGU6IExheWVyVHlwZSA9ICdyYXN0ZXInO1xuICBkZWNsYXJlIHB1YmxpYyBkYXRhU291cmNlOiBXTVNEYXRhU291cmNlIHwgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbExheWVySW1hZ2U8b2xTb3VyY2VJbWFnZT47XG5cbiAgcHJpdmF0ZSB3YXRjaGVyOiBJbWFnZVdhdGNoZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMsXG4gICAgcHVibGljIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aEludGVyY2VwdG9yPzogQXV0aEludGVyY2VwdG9yXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIG1lc3NhZ2VTZXJ2aWNlLCBhdXRoSW50ZXJjZXB0b3IpO1xuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBJbWFnZVdhdGNoZXIodGhpcywgdGhpcy5tZXNzYWdlU2VydmljZSk7XG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy53YXRjaGVyLnN0YXR1cyQ7XG4gICAgdGhpcy5zdGF0dXMkLnN1YnNjcmliZSgodmFsU3RhdHVzKSA9PiB7XG4gICAgICBpZiAodmFsU3RhdHVzID09PSAwKSB7XG4gICAgICAgIHRoaXMub2xMb2FkaW5nUHJvYmxlbSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xMYXllcigpOiBvbExheWVySW1hZ2U8b2xTb3VyY2VJbWFnZT4ge1xuICAgIGNvbnN0IG9sT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMub3B0aW9ucywge1xuICAgICAgc291cmNlOiB0aGlzLm9wdGlvbnMuc291cmNlLm9sIGFzIG9sU291cmNlSW1hZ2VcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlID0gbmV3IG9sTGF5ZXJJbWFnZShvbE9wdGlvbnMpO1xuICAgIGlmICh0aGlzLmF1dGhJbnRlcmNlcHRvcikge1xuICAgICAgKGltYWdlLmdldFNvdXJjZSgpIGFzIGFueSkuc2V0SW1hZ2VMb2FkRnVuY3Rpb24oKHRpbGUsIHNyYykgPT4ge1xuICAgICAgICB0aGlzLmN1c3RvbUxvYWRlcih0aWxlLCBzcmMsIHRoaXMuYXV0aEludGVyY2VwdG9yLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBpbWFnZTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KG1hcDogTWFwQmFzZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy53YXRjaGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4gdm9pZCAxKTtcbiAgICB9XG4gICAgc3VwZXIuaW5pdChtYXApO1xuICB9XG5cbiAgcmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xuICAgIHN1cGVyLnJlbW92ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21Mb2FkZXIoXG4gICAgdGlsZSxcbiAgICBzcmM6IHN0cmluZyxcbiAgICBpbnRlcmNlcHRvcjogQXV0aEludGVyY2VwdG9yLFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHtcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgIGNvbnN0IGFsdGVyZWRVcmxXaXRoS2V5QXV0aCA9IGludGVyY2VwdG9yLmFsdGVyVXJsV2l0aEtleUF1dGgoc3JjKTtcbiAgICBsZXQgdXJsID0gc3JjO1xuICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcbiAgICAgIHVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcbiAgICB9XG4gICAgeGhyLm9wZW4oJ0dFVCcsIHVybCk7XG4gICAgY29uc3QgaW50ZXJjZXB0ZWQgPSBpbnRlcmNlcHRvci5pbnRlcmNlcHRYaHIoeGhyLCB1cmwpO1xuICAgIGlmICghaW50ZXJjZXB0ZWQpIHtcbiAgICAgIHhoci5hYm9ydCgpO1xuICAgICAgdGlsZS5nZXRJbWFnZSgpLnNyYyA9IHVybDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcblxuICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheSgodGhpcyBhcyBhbnkpLnJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlU3RyaW5nID0gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGFycmF5QnVmZmVyVmlldyk7XG4gICAgICBpZiAocmVzcG9uc2VTdHJpbmcuaW5jbHVkZXMoJ1NlcnZpY2VFeGNlcHRpb25SZXBvcnQnKSkge1xuICAgICAgICBtZXNzYWdlU2VydmljZS5lcnJvcihcbiAgICAgICAgICAnaWdvLmdlby5kYXRhU291cmNlLm9wdGlvbnNBcGlVbmF2YWlsYWJsZScsXG4gICAgICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZVRpdGxlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJheUJ1ZmZlclZpZXddLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuICAgICAgY29uc3QgdXJsQ3JlYXRvciA9IHdpbmRvdy5VUkw7XG4gICAgICBjb25zdCBpbWFnZVVybCA9IHVybENyZWF0b3IuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgdGlsZS5nZXRJbWFnZSgpLnNyYyA9IGltYWdlVXJsO1xuICAgIH07XG4gICAgeGhyLnNlbmQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
export * from './linked';
|
|
1
2
|
export * from './layer';
|
|
3
|
+
export * from './layer-base';
|
|
2
4
|
export * from './layer.interface';
|
|
5
|
+
export * from './legend.interface';
|
|
3
6
|
export * from './image-layer';
|
|
4
7
|
export * from './image-layer.interface';
|
|
5
8
|
export * from './tile-layer';
|
|
@@ -10,4 +13,6 @@ export * from './vectortile-layer';
|
|
|
10
13
|
export * from './vectortile-layer.interface';
|
|
11
14
|
export * from './any-layer';
|
|
12
15
|
export * from './any-layer.interface';
|
|
13
|
-
|
|
16
|
+
export * from './layer-group.interface';
|
|
17
|
+
export * from './layer-group';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpbmtlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xlZ2VuZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3J0aWxlLWxheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItZ3JvdXAuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItZ3JvdXAnO1xuIl19
|