@igo2/integration 1.15.4 → 16.0.0-rc.1
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/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
- package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
- package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
- package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
- package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
- package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
- package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog.module.mjs +19 -0
- package/esm2022/lib/catalog/catalog.state.mjs +58 -0
- package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
- package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
- package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
- package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
- package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
- package/esm2022/lib/context/context.state.mjs +96 -0
- package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
- package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
- package/esm2022/lib/directions/directions.state.mjs +69 -0
- package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
- package/esm2022/lib/draw/draw.module.mjs +18 -0
- package/esm2022/lib/draw/draw.state.mjs +42 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/draw/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
- package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
- package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
- package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
- package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
- package/esm2022/lib/import-export/import-export.state.mjs +39 -0
- package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
- package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
- package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
- package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
- package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
- package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
- package/esm2022/lib/map/map-proximity.state.mjs +180 -0
- package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
- package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
- package/esm2022/lib/map/map.module.mjs +168 -0
- package/esm2022/lib/map/map.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
- package/esm2022/lib/measure/measure.module.mjs +18 -0
- package/esm2022/lib/measure/measure.state.mjs +40 -0
- package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
- package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
- package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
- package/esm2022/lib/search/query.state.mjs +48 -0
- package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
- package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
- package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
- package/esm2022/lib/search/search.module.mjs +19 -0
- package/esm2022/lib/search/search.state.mjs +145 -0
- package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
- package/esm2022/lib/storage/storage.state.mjs +25 -0
- package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
- package/esm2022/lib/tool/tool.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
- package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
- package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
- package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
- package/esm2022/lib/workspace/workspace.module.mjs +38 -0
- package/esm2022/lib/workspace/workspace.state.mjs +204 -0
- package/{esm2020 → esm2022}/public_api.mjs +35 -35
- package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
- package/fesm2022/igo2-integration.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/about/about-tool/about-tool.component.d.ts +34 -34
- package/lib/about/about-tool/index.d.ts +1 -1
- package/lib/about/about.module.d.ts +16 -16
- package/lib/about/index.d.ts +1 -1
- package/lib/analytics/analytics-listener.service.d.ts +33 -33
- package/lib/analytics/analytics.module.d.ts +6 -6
- package/lib/analytics/index.d.ts +1 -1
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
- package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
- package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
- package/lib/catalog/catalog.module.d.ts +8 -8
- package/lib/catalog/catalog.state.d.ts +37 -37
- package/lib/catalog/index.d.ts +5 -5
- package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
- package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
- package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
- package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
- package/lib/context/context.module.d.ts +11 -11
- package/lib/context/context.state.d.ts +37 -37
- package/lib/context/index.d.ts +5 -5
- package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
- package/lib/directions/directions-tool/index.d.ts +1 -1
- package/lib/directions/directions.module.d.ts +10 -10
- package/lib/directions/directions.state.d.ts +28 -28
- package/lib/directions/index.d.ts +2 -2
- package/lib/draw/draw.module.d.ts +8 -8
- package/lib/draw/draw.state.d.ts +16 -16
- package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
- package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
- package/lib/draw/index.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +15 -15
- package/lib/filter/index.d.ts +5 -5
- package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
- package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
- package/lib/filter/time-filter-tool/index.d.ts +1 -1
- package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
- package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
- package/lib/import-export/import-export-tool/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +15 -15
- package/lib/import-export/import-export.state.d.ts +24 -24
- package/lib/import-export/index.d.ts +2 -2
- package/lib/integration.module.d.ts +20 -20
- package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
- package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
- package/lib/map/advanced-map-tool/index.d.ts +1 -1
- package/lib/map/index.d.ts +8 -8
- package/lib/map/layer-list-tool.state.d.ts +19 -19
- package/lib/map/map-details-tool/index.d.ts +1 -1
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
- package/lib/map/map-legend/index.d.ts +1 -1
- package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
- package/lib/map/map-proximity-tool/index.d.ts +1 -1
- package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
- package/lib/map/map-proximity.state.d.ts +31 -31
- package/lib/map/map-tool/index.d.ts +1 -1
- package/lib/map/map-tool/map-tool.component.d.ts +27 -27
- package/lib/map/map-tools/index.d.ts +1 -1
- package/lib/map/map-tools/map-tools.component.d.ts +66 -66
- package/lib/map/map.module.d.ts +38 -38
- package/lib/map/map.state.d.ts +24 -24
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measure.state.d.ts +16 -16
- package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
- package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
- package/lib/print/index.d.ts +1 -1
- package/lib/print/print-tool/index.d.ts +1 -1
- package/lib/print/print-tool/print-tool.component.d.ts +10 -10
- package/lib/print/print.module.d.ts +10 -10
- package/lib/search/index.d.ts +6 -6
- package/lib/search/query.state.d.ts +26 -20
- package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
- package/lib/search/search-bar/search-bar.module.d.ts +11 -11
- package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
- package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
- package/lib/search/search.module.d.ts +8 -8
- package/lib/search/search.state.d.ts +62 -60
- package/lib/storage/index.d.ts +1 -1
- package/lib/storage/storage.module.d.ts +6 -6
- package/lib/storage/storage.state.d.ts +12 -12
- package/lib/tool/index.d.ts +1 -1
- package/lib/tool/tool.module.d.ts +6 -6
- package/lib/tool/tool.state.d.ts +22 -22
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
- package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
- package/lib/workspace/shared/index.d.ts +2 -2
- package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
- package/lib/workspace/shared/workspace.utils.d.ts +9 -2
- package/lib/workspace/workspace-button/index.d.ts +1 -1
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
- package/lib/workspace/workspace.module.d.ts +12 -12
- package/lib/workspace/workspace.state.d.ts +63 -63
- package/locale/en.integration.json +126 -0
- package/locale/fr.integration.json +126 -0
- package/package.json +14 -18
- package/public_api.d.ts +31 -31
- package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
- package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog.module.mjs +0 -24
- package/esm2020/lib/catalog/catalog.state.mjs +0 -54
- package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
- package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
- package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
- package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
- package/esm2020/lib/context/context.state.mjs +0 -88
- package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
- package/esm2020/lib/directions/directions.state.mjs +0 -64
- package/esm2020/lib/draw/draw.module.mjs +0 -21
- package/esm2020/lib/draw/draw.state.mjs +0 -39
- package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
- package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
- package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
- package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
- package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
- package/esm2020/lib/import-export/import-export.state.mjs +0 -41
- package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
- package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
- package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
- package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
- package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
- package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
- package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
- package/esm2020/lib/map/map-proximity.state.mjs +0 -167
- package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
- package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
- package/esm2020/lib/map/map.module.mjs +0 -144
- package/esm2020/lib/map/map.state.mjs +0 -47
- package/esm2020/lib/measure/measure.module.mjs +0 -20
- package/esm2020/lib/measure/measure.state.mjs +0 -35
- package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
- package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
- package/esm2020/lib/search/query.state.mjs +0 -34
- package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
- package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
- package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
- package/esm2020/lib/search/search.module.mjs +0 -24
- package/esm2020/lib/search/search.state.mjs +0 -132
- package/esm2020/lib/storage/storage.state.mjs +0 -23
- package/esm2020/lib/tool/tool.state.mjs +0 -52
- package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
- package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
- package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
- package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
- package/esm2020/lib/workspace/workspace.module.mjs +0 -37
- package/esm2020/lib/workspace/workspace.state.mjs +0 -188
- package/fesm2015/igo2-integration.mjs +0 -6759
- package/fesm2015/igo2-integration.mjs.map +0 -1
- package/fesm2020/igo2-integration.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatBadgeModule } from '@angular/material/badge';
|
|
6
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
8
|
-
import { IgoFlexibleModule, IgoCustomHtmlModule, IgoPanelModule } from '@igo2/common';
|
|
9
|
-
import { IgoFeatureModule, IgoSearchModule, IgoFeatureDetailsModule } from '@igo2/geo';
|
|
10
|
-
import { SearchResultsToolComponent } from './search-results-tool.component';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* @ignore
|
|
14
|
-
*/
|
|
15
|
-
export class IgoAppSearchResultsToolModule {
|
|
16
|
-
}
|
|
17
|
-
IgoAppSearchResultsToolModule.ɵfac = function IgoAppSearchResultsToolModule_Factory(t) { return new (t || IgoAppSearchResultsToolModule)(); };
|
|
18
|
-
IgoAppSearchResultsToolModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchResultsToolModule });
|
|
19
|
-
IgoAppSearchResultsToolModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
|
-
MatIconModule,
|
|
21
|
-
MatBadgeModule,
|
|
22
|
-
MatTooltipModule,
|
|
23
|
-
MatButtonModule,
|
|
24
|
-
IgoLanguageModule,
|
|
25
|
-
IgoFeatureModule,
|
|
26
|
-
IgoSearchModule,
|
|
27
|
-
IgoFlexibleModule,
|
|
28
|
-
IgoPanelModule,
|
|
29
|
-
IgoFeatureDetailsModule,
|
|
30
|
-
IgoCustomHtmlModule] });
|
|
31
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchResultsToolModule, [{
|
|
32
|
-
type: NgModule,
|
|
33
|
-
args: [{
|
|
34
|
-
imports: [
|
|
35
|
-
CommonModule,
|
|
36
|
-
MatIconModule,
|
|
37
|
-
MatBadgeModule,
|
|
38
|
-
MatTooltipModule,
|
|
39
|
-
MatButtonModule,
|
|
40
|
-
IgoLanguageModule,
|
|
41
|
-
IgoFeatureModule,
|
|
42
|
-
IgoSearchModule,
|
|
43
|
-
IgoFlexibleModule,
|
|
44
|
-
IgoPanelModule,
|
|
45
|
-
IgoFeatureDetailsModule,
|
|
46
|
-
IgoCustomHtmlModule
|
|
47
|
-
],
|
|
48
|
-
declarations: [SearchResultsToolComponent],
|
|
49
|
-
exports: [SearchResultsToolComponent],
|
|
50
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
51
|
-
}]
|
|
52
|
-
}], null, null); })();
|
|
53
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchResultsToolModule, { declarations: [SearchResultsToolComponent], imports: [CommonModule,
|
|
54
|
-
MatIconModule,
|
|
55
|
-
MatBadgeModule,
|
|
56
|
-
MatTooltipModule,
|
|
57
|
-
MatButtonModule,
|
|
58
|
-
IgoLanguageModule,
|
|
59
|
-
IgoFeatureModule,
|
|
60
|
-
IgoSearchModule,
|
|
61
|
-
IgoFlexibleModule,
|
|
62
|
-
IgoPanelModule,
|
|
63
|
-
IgoFeatureDetailsModule,
|
|
64
|
-
IgoCustomHtmlModule], exports: [SearchResultsToolComponent] }); })();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLHVCQUF1QixFQUN4QixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0U7O0dBRUc7QUFvQkgsTUFBTSxPQUFPLDZCQUE2Qjs7MEdBQTdCLDZCQUE2QjsrRUFBN0IsNkJBQTZCO21GQWpCdEMsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixtQkFBbUI7dUZBTVYsNkJBQTZCO2NBbkJ6QyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsdUJBQXVCO29CQUN2QixtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDbEM7O3dGQUNZLDZCQUE2QixtQkFKekIsMEJBQTBCLGFBYnZDLFlBQVk7UUFDWixhQUFhO1FBQ2IsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCx1QkFBdUI7UUFDdkIsbUJBQW1CLGFBR1gsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IElnb0ZsZXhpYmxlTW9kdWxlLCBJZ29DdXN0b21IdG1sTW9kdWxlLCBJZ29QYW5lbE1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgSWdvRmVhdHVyZU1vZHVsZSxcclxuICBJZ29TZWFyY2hNb2R1bGUsXHJcbiAgSWdvRmVhdHVyZURldGFpbHNNb2R1bGVcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Rvb2xDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLXRvb2wuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIElnb0ZlYXR1cmVNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hNb2R1bGUsXHJcbiAgICBJZ29GbGV4aWJsZU1vZHVsZSxcclxuICAgIElnb1BhbmVsTW9kdWxlLFxyXG4gICAgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUsXHJcbiAgICBJZ29DdXN0b21IdG1sTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hSZXN1bHRzVG9vbENvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW1NlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { IgoAppSearchBarModule } from './search-bar/search-bar.module';
|
|
3
|
-
import { IgoAppSearchResultsToolModule } from './search-results-tool/search-results-tool.module';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class IgoAppSearchModule {
|
|
6
|
-
}
|
|
7
|
-
IgoAppSearchModule.ɵfac = function IgoAppSearchModule_Factory(t) { return new (t || IgoAppSearchModule)(); };
|
|
8
|
-
IgoAppSearchModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchModule });
|
|
9
|
-
IgoAppSearchModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoAppSearchBarModule,
|
|
10
|
-
IgoAppSearchResultsToolModule] });
|
|
11
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchModule, [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [],
|
|
15
|
-
declarations: [],
|
|
16
|
-
exports: [
|
|
17
|
-
IgoAppSearchBarModule,
|
|
18
|
-
IgoAppSearchResultsToolModule
|
|
19
|
-
],
|
|
20
|
-
}]
|
|
21
|
-
}], null, null); })();
|
|
22
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchModule, { exports: [IgoAppSearchBarModule,
|
|
23
|
-
IgoAppSearchResultsToolModule] }); })();
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFVakcsTUFBTSxPQUFPLGtCQUFrQjs7b0ZBQWxCLGtCQUFrQjtvRUFBbEIsa0JBQWtCO3dFQUo1QixxQkFBcUI7UUFDckIsNkJBQTZCO3VGQUduQixrQkFBa0I7Y0FSOUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1IscUJBQXFCO29CQUNyQiw2QkFBNkI7aUJBQzdCO2FBQ0Y7O3dGQUNZLGtCQUFrQixjQUo1QixxQkFBcUI7UUFDckIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb0FwcFNlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW10sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgIElnb0FwcFNlYXJjaEJhck1vZHVsZSxcclxuICAgSWdvQXBwU2VhcmNoUmVzdWx0c1Rvb2xNb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvQXBwU2VhcmNoTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { EntityStore, EntityStoreFilterCustomFuncStrategy } from '@igo2/common';
|
|
3
|
-
import { FeatureWorkspace } from '@igo2/geo';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@igo2/geo";
|
|
7
|
-
import * as i2 from "@igo2/core";
|
|
8
|
-
import * as i3 from "../workspace/workspace.state";
|
|
9
|
-
import * as i4 from "../map";
|
|
10
|
-
/**
|
|
11
|
-
* Service that holds the state of the search module
|
|
12
|
-
*/
|
|
13
|
-
export class SearchState {
|
|
14
|
-
constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
|
|
15
|
-
this.searchSourceService = searchSourceService;
|
|
16
|
-
this.storageService = storageService;
|
|
17
|
-
this.workspaceState = workspaceState;
|
|
18
|
-
this.configService = configService;
|
|
19
|
-
this.mapState = mapState;
|
|
20
|
-
this.searchLayerStores = [];
|
|
21
|
-
this.searchOverlayStyle = {};
|
|
22
|
-
this.searchOverlayStyleSelection = {};
|
|
23
|
-
this.searchOverlayStyleFocus = {};
|
|
24
|
-
this.searchTermSplitter$ = new BehaviorSubject('|');
|
|
25
|
-
this.searchTerm$ = new BehaviorSubject(undefined);
|
|
26
|
-
this.searchType$ = new BehaviorSubject(undefined);
|
|
27
|
-
this.searchDisabled$ = new BehaviorSubject(false);
|
|
28
|
-
this.searchResultsGeometryEnabled$ = new BehaviorSubject(false);
|
|
29
|
-
this.searchSettingsChange$ = new BehaviorSubject(undefined);
|
|
30
|
-
this.selectedResult$ = new BehaviorSubject(undefined);
|
|
31
|
-
/**
|
|
32
|
-
* Store that holds the search results
|
|
33
|
-
*/
|
|
34
|
-
this.store = new EntityStore([]);
|
|
35
|
-
const searchOverlayStyle = this.configService.getConfig('searchOverlayStyle');
|
|
36
|
-
if (searchOverlayStyle) {
|
|
37
|
-
this.searchOverlayStyle = searchOverlayStyle.base;
|
|
38
|
-
this.searchOverlayStyleSelection = searchOverlayStyle.selection;
|
|
39
|
-
this.searchOverlayStyleFocus = searchOverlayStyle.focus;
|
|
40
|
-
}
|
|
41
|
-
const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
|
|
42
|
-
if (searchResultsGeometryEnabled) {
|
|
43
|
-
this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
|
|
44
|
-
}
|
|
45
|
-
this.store.addStrategy(this.createCustomFilterTermStrategy(), false);
|
|
46
|
-
const wksSource = this.searchSourceService.getSources().find(source => source.getId() === 'workspace');
|
|
47
|
-
this.workspaceState.store.entities$
|
|
48
|
-
.subscribe(e => {
|
|
49
|
-
const searchableWks = e.filter(fw => fw instanceof FeatureWorkspace && fw.layer.options.workspace.searchIndexEnabled);
|
|
50
|
-
this.searchSourceService.setWorkspaces(wksSource, searchableWks);
|
|
51
|
-
});
|
|
52
|
-
this.monitorLayerDeletion();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Search types currently enabled in the search source service
|
|
56
|
-
*/
|
|
57
|
-
get searchTypes() {
|
|
58
|
-
return this.searchSourceService
|
|
59
|
-
.getEnabledSources()
|
|
60
|
-
.map((source) => source.constructor.type);
|
|
61
|
-
}
|
|
62
|
-
monitorLayerDeletion() {
|
|
63
|
-
this.mapState.map.layers$
|
|
64
|
-
.subscribe((layers) => {
|
|
65
|
-
this.searchLayerStores.forEach((store) => {
|
|
66
|
-
let layer = layers.find(l => l.id === store.layer.id);
|
|
67
|
-
if (!layer) {
|
|
68
|
-
const index = this.searchLayerStores.indexOf(store);
|
|
69
|
-
this.searchLayerStores.splice(index, 1);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
createCustomFilterTermStrategy() {
|
|
75
|
-
const filterClauseFunc = (record) => {
|
|
76
|
-
return record.entity.meta.score === 100;
|
|
77
|
-
};
|
|
78
|
-
return new EntityStoreFilterCustomFuncStrategy({ filterClauseFunc });
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Activate custom strategy
|
|
82
|
-
*
|
|
83
|
-
*/
|
|
84
|
-
activateCustomFilterTermStrategy() {
|
|
85
|
-
const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
86
|
-
if (strategy !== undefined) {
|
|
87
|
-
strategy.activate();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Deactivate custom strategy
|
|
92
|
-
*
|
|
93
|
-
*/
|
|
94
|
-
deactivateCustomFilterTermStrategy() {
|
|
95
|
-
const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
96
|
-
if (strategy !== undefined) {
|
|
97
|
-
strategy.deactivate();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
enableSearch() {
|
|
101
|
-
this.searchDisabled$.next(false);
|
|
102
|
-
}
|
|
103
|
-
disableSearch() {
|
|
104
|
-
this.searchDisabled$.next(true);
|
|
105
|
-
}
|
|
106
|
-
setSearchTerm(searchTerm) {
|
|
107
|
-
this.searchTerm$.next(searchTerm);
|
|
108
|
-
}
|
|
109
|
-
setSearchType(searchType) {
|
|
110
|
-
this.searchSourceService.enableSourcesByType(searchType);
|
|
111
|
-
this.searchType$.next(searchType);
|
|
112
|
-
}
|
|
113
|
-
setSearchSettingsChange() {
|
|
114
|
-
this.searchSettingsChange$.next(true);
|
|
115
|
-
}
|
|
116
|
-
setSelectedResult(result) {
|
|
117
|
-
this.selectedResult$.next(result);
|
|
118
|
-
}
|
|
119
|
-
setSearchResultsGeometryStatus(value) {
|
|
120
|
-
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
121
|
-
this.searchResultsGeometryEnabled$.next(value);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i3.WorkspaceState), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i4.MapState)); };
|
|
125
|
-
SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
|
|
126
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
|
|
127
|
-
type: Injectable,
|
|
128
|
-
args: [{
|
|
129
|
-
providedIn: 'root'
|
|
130
|
-
}]
|
|
131
|
-
}], function () { return [{ type: i1.SearchSourceService }, { type: i2.StorageService }, { type: i3.WorkspaceState }, { type: i2.ConfigService }, { type: i4.MapState }]; }, null); })();
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVMLFdBQVcsRUFDWCxtQ0FBbUMsRUFFcEMsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUtMLGdCQUFnQixFQUdqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBSXJEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFxQ3RCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGFBQTRCLEVBQzVCLFFBQWtCO1FBSmxCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBekNyQixzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELHVCQUFrQixHQUE2QixFQUFFLENBQUM7UUFDbEQsZ0NBQTJCLEdBQTZCLEVBQUUsQ0FBQztRQUMzRCw0QkFBdUIsR0FBNkIsRUFBRSxDQUFDO1FBS3JELHdCQUFtQixHQUE0QixJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4RSxnQkFBVyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0RSxnQkFBVyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0RSxvQkFBZSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2RSxr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dUI7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBb0I7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQUs7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOztzRUE1SVUsV0FBVztpRUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNO3VGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBFbnRpdHlSZWNvcmQsXHJcbiAgRW50aXR5U3RvcmUsXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXHJcbiAgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zXHJcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hSZXN1bHQsXHJcbiAgU2VhcmNoU291cmNlU2VydmljZSxcclxuICBTZWFyY2hTb3VyY2UsXHJcbiAgQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxyXG4gIEZlYXR1cmVXb3Jrc3BhY2UsXHJcbiAgRmVhdHVyZVN0b3JlLFxyXG4gIEZlYXR1cmVcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2VTdGF0ZSB9IGZyb20gJy4uL3dvcmtzcGFjZS93b3Jrc3BhY2Uuc3RhdGUnO1xyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uL21hcCc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIG1vZHVsZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xyXG4gIHB1YmxpYyBzZWFyY2hMYXllclN0b3JlczogRmVhdHVyZVN0b3JlPEZlYXR1cmU+W10gPSBbXTtcclxuICBwdWJsaWMgc2VhcmNoT3ZlcmxheVN0eWxlOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcclxuICBwdWJsaWMgc2VhcmNoT3ZlcmxheVN0eWxlU2VsZWN0aW9uOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcclxuICBwdWJsaWMgc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXM6IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyA9IHt9O1xyXG5cclxuICBwdWJsaWMgZm9jdXNlZE9yUmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIHNlbGVjdGVkT3JSZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoVGVybVNwbGl0dGVyJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCd8Jyk7XHJcblxyXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoVHlwZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hEaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHJlYWRvbmx5IHNlYXJjaFNldHRpbmdzQ2hhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICByZWFkb25seSBzZWxlY3RlZFJlc3VsdCQ6IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hSZXN1bHQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSB0aGF0IGhvbGRzIHRoZSBzZWFyY2ggcmVzdWx0c1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+ID0gbmV3IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD4oW10pO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdHlwZXMgY3VycmVudGx5IGVuYWJsZWQgaW4gdGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZVxyXG4gICAqL1xyXG4gIGdldCBzZWFyY2hUeXBlcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXHJcbiAgICAgIC5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiAoc291cmNlLmNvbnN0cnVjdG9yIGFzIGFueSkudHlwZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB3b3Jrc3BhY2VTdGF0ZTogV29ya3NwYWNlU3RhdGUsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSkge1xyXG4gICAgY29uc3Qgc2VhcmNoT3ZlcmxheVN0eWxlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnc2VhcmNoT3ZlcmxheVN0eWxlJykgYXMge1xyXG4gICAgICBiYXNlPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxyXG4gICAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXHJcbiAgICAgIGZvY3VzPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXHJcbiAgICB9O1xyXG4gICAgaWYgKHNlYXJjaE92ZXJsYXlTdHlsZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZSA9IHNlYXJjaE92ZXJsYXlTdHlsZS5iYXNlO1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbiA9IHNlYXJjaE92ZXJsYXlTdHlsZS5zZWxlY3Rpb247XHJcbiAgICAgIHRoaXMuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMgPSBzZWFyY2hPdmVybGF5U3R5bGUuZm9jdXM7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJykgYXMgYm9vbGVhbjtcclxuICAgIGlmIChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmUuYWRkU3RyYXRlZ3kodGhpcy5jcmVhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHdrc1NvdXJjZSA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5nZXRTb3VyY2VzKCkuZmluZChzb3VyY2UgPT4gc291cmNlLmdldElkKCkgPT09ICd3b3Jrc3BhY2UnKTtcclxuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuZW50aXRpZXMkXHJcbiAgICAuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBjb25zdCBzZWFyY2hhYmxlV2tzID0gZS5maWx0ZXIoZncgPT4gZncgaW5zdGFuY2VvZiBGZWF0dXJlV29ya3NwYWNlICYmIGZ3LmxheWVyLm9wdGlvbnMud29ya3NwYWNlLnNlYXJjaEluZGV4RW5hYmxlZCk7XHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5zZXRXb3Jrc3BhY2VzKHdrc1NvdXJjZSwgc2VhcmNoYWJsZVdrcyk7XHJcbiAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5tb25pdG9yTGF5ZXJEZWxldGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb25pdG9yTGF5ZXJEZWxldGlvbigpIHtcclxuICAgIHRoaXMubWFwU3RhdGUubWFwLmxheWVycyRcclxuICAgICAgLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hMYXllclN0b3Jlcy5mb3JFYWNoKChzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGxheWVyID0gbGF5ZXJzLmZpbmQobCA9PiBsLmlkID09PSBzdG9yZS5sYXllci5pZCk7XHJcbiAgICAgICAgICBpZiAoIWxheWVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWFyY2hMYXllclN0b3Jlcy5pbmRleE9mKHN0b3JlKTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hMYXllclN0b3Jlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCk6IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5IHtcclxuICAgIGNvbnN0IGZpbHRlckNsYXVzZUZ1bmMgPSAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8U2VhcmNoUmVzdWx0PikgPT4ge1xyXG4gICAgICByZXR1cm4gcmVjb3JkLmVudGl0eS5tZXRhLnNjb3JlID09PSAxMDA7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG5ldyBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSh7ZmlsdGVyQ2xhdXNlRnVuY30gYXMgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIGN1c3RvbSBzdHJhdGVneVxyXG4gICAqXHJcbiAgICovXHJcbiAgYWN0aXZhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSB7XHJcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpO1xyXG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYWN0aXZhdGUgY3VzdG9tIHN0cmF0ZWd5XHJcbiAgICpcclxuICAgKi9cclxuICBkZWFjdGl2YXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCkge1xyXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcclxuICAgIGlmIChzdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0cmF0ZWd5LmRlYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVuYWJsZVNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQkLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZVNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hUZXJtKHNlYXJjaFRlcm06IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KHNlYXJjaFRlcm0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5lbmFibGVTb3VyY2VzQnlUeXBlKHNlYXJjaFR5cGUpO1xyXG4gICAgdGhpcy5zZWFyY2hUeXBlJC5uZXh0KHNlYXJjaFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoU2V0dGluZ3NDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFNldHRpbmdzQ2hhbmdlJC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRSZXN1bHQocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRSZXN1bHQkLm5leHQocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyh2YWx1ZSkge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoJ3NlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQnLCB2YWx1ZSk7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQkLm5leHQodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@igo2/core";
|
|
4
|
-
/**
|
|
5
|
-
* Service that holds the state of storage service
|
|
6
|
-
*/
|
|
7
|
-
export class StorageState {
|
|
8
|
-
constructor(igoStorageService) {
|
|
9
|
-
this.igoStorageService = igoStorageService;
|
|
10
|
-
}
|
|
11
|
-
get storageService() {
|
|
12
|
-
return this.igoStorageService;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
StorageState.ɵfac = function StorageState_Factory(t) { return new (t || StorageState)(i0.ɵɵinject(i1.StorageService)); };
|
|
16
|
-
StorageState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageState, factory: StorageState.ɵfac, providedIn: 'root' });
|
|
17
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageState, [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{
|
|
20
|
-
providedIn: 'root'
|
|
21
|
-
}]
|
|
22
|
-
}], function () { return [{ type: i1.StorageService }]; }, null); })();
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW9CLGlCQUFpQztRQUFqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO0lBQUcsQ0FBQztJQUp6RCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQzs7d0VBSFUsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNO3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHN0b3JhZ2Ugc2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVN0YXRlIHtcclxuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuaWdvU3RvcmFnZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlnb1N0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSkge31cclxufVxyXG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { ImportExportMode } from '../import-export/import-export.state';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@igo2/common";
|
|
6
|
-
import * as i2 from "../import-export/import-export.state";
|
|
7
|
-
/**
|
|
8
|
-
* Service that holds the state of the search module
|
|
9
|
-
*/
|
|
10
|
-
export class ToolState {
|
|
11
|
-
constructor(toolService, importExportState) {
|
|
12
|
-
this.toolService = toolService;
|
|
13
|
-
this.importExportState = importExportState;
|
|
14
|
-
this.openSidenav$ = new BehaviorSubject(undefined);
|
|
15
|
-
}
|
|
16
|
-
get toolbox() {
|
|
17
|
-
return this.toolService.toolbox;
|
|
18
|
-
}
|
|
19
|
-
toolToActivateFromOptions(toolToActivate) {
|
|
20
|
-
if (!toolToActivate) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (toolToActivate.tool === 'importExport') {
|
|
24
|
-
let exportOptions = this.importExportState.exportOptions$.value;
|
|
25
|
-
if (!exportOptions) {
|
|
26
|
-
exportOptions = {
|
|
27
|
-
layers: toolToActivate.options.layers,
|
|
28
|
-
featureInMapExtent: toolToActivate.options.featureInMapExtent
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
exportOptions.layers = toolToActivate.options.layers;
|
|
33
|
-
exportOptions.featureInMapExtent = toolToActivate.options.featureInMapExtent;
|
|
34
|
-
}
|
|
35
|
-
this.importExportState.setsExportOptions(exportOptions);
|
|
36
|
-
this.importExportState.setMode(ImportExportMode.export);
|
|
37
|
-
}
|
|
38
|
-
if (this.toolbox.getTool(toolToActivate.tool)) {
|
|
39
|
-
this.toolbox.activateTool(toolToActivate.tool);
|
|
40
|
-
this.openSidenav$.next(true);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
ToolState.ɵfac = function ToolState_Factory(t) { return new (t || ToolState)(i0.ɵɵinject(i1.ToolService), i0.ɵɵinject(i2.ImportExportState)); };
|
|
45
|
-
ToolState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToolState, factory: ToolState.ɵfac, providedIn: 'root' });
|
|
46
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolState, [{
|
|
47
|
-
type: Injectable,
|
|
48
|
-
args: [{
|
|
49
|
-
providedIn: 'root'
|
|
50
|
-
}]
|
|
51
|
-
}], function () { return [{ type: i1.ToolService }, { type: i2.ImportExportState }]; }, null); })();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvdG9vbC90b29sLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFFM0Y7O0dBRUc7QUFJSCxNQUFNLE9BQU8sU0FBUztJQU9wQixZQUNVLFdBQXdCLEVBQ3hCLGlCQUFvQztRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSnZDLGlCQUFZLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBSzFFLENBQUM7SUFUTixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFTQyx5QkFBeUIsQ0FBQyxjQUErRDtRQUN6RixJQUFJLENBQUMsY0FBYyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ2hDLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7WUFDMUMsSUFBSSxhQUFhLEdBQWtCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQy9FLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLGFBQWEsR0FBRztvQkFDZCxNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNO29CQUNyQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQjtpQkFDOUQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELGFBQWEsQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2FBQzlFO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekQ7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOztrRUFqQ1UsU0FBUzsrREFBVCxTQUFTLFdBQVQsU0FBUyxtQkFGUixNQUFNO3VGQUVQLFNBQVM7Y0FIckIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbGJveCwgVG9vbFNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRXhwb3J0T3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRNb2RlLCBJbXBvcnRFeHBvcnRTdGF0ZSB9IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIG1vZHVsZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbFN0YXRlIHtcclxuICBnZXQgdG9vbGJveCgpOiBUb29sYm94IHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xTZXJ2aWNlLnRvb2xib3g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNpZGVuYXYkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b29sU2VydmljZTogVG9vbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZVxyXG4gICAgKSB7fVxyXG5cclxuICAgIHRvb2xUb0FjdGl2YXRlRnJvbU9wdGlvbnModG9vbFRvQWN0aXZhdGU6IHsgdG9vbDogc3RyaW5nOyBvcHRpb25zOiB7W2tleTogc3RyaW5nXTogYW55fSB9KSB7XHJcbiAgICBpZiAoIXRvb2xUb0FjdGl2YXRlKSB7IHJldHVybjsgfVxyXG4gICAgaWYgKHRvb2xUb0FjdGl2YXRlLnRvb2wgPT09ICdpbXBvcnRFeHBvcnQnKSB7XHJcbiAgICAgIGxldCBleHBvcnRPcHRpb25zOiBFeHBvcnRPcHRpb25zID0gdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5leHBvcnRPcHRpb25zJC52YWx1ZTtcclxuICAgICAgaWYgKCFleHBvcnRPcHRpb25zKSB7XHJcbiAgICAgICAgZXhwb3J0T3B0aW9ucyA9IHtcclxuICAgICAgICAgIGxheWVyczogdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5sYXllcnMsXHJcbiAgICAgICAgICBmZWF0dXJlSW5NYXBFeHRlbnQ6IHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMuZmVhdHVyZUluTWFwRXh0ZW50XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBleHBvcnRPcHRpb25zLmxheWVycyA9IHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMubGF5ZXJzO1xyXG4gICAgICAgIGV4cG9ydE9wdGlvbnMuZmVhdHVyZUluTWFwRXh0ZW50ID0gdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5mZWF0dXJlSW5NYXBFeHRlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyhleHBvcnRPcHRpb25zKTtcclxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRNb2RlKEltcG9ydEV4cG9ydE1vZGUuZXhwb3J0KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50b29sYm94LmdldFRvb2wodG9vbFRvQWN0aXZhdGUudG9vbCkpIHtcclxuICAgICAgdGhpcy50b29sYm94LmFjdGl2YXRlVG9vbCh0b29sVG9BY3RpdmF0ZS50b29sKTtcclxuICAgICAgdGhpcy5vcGVuU2lkZW5hdiQubmV4dCh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, } from '@igo2/geo';
|
|
5
|
-
import { StorageServiceEventEnum } from '@igo2/core';
|
|
6
|
-
import { map, skipWhile } from 'rxjs/operators';
|
|
7
|
-
import { handleZoomAuto } from './workspace.utils';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../storage/storage.state";
|
|
10
|
-
import * as i2 from "@igo2/core";
|
|
11
|
-
import * as i3 from "../../tool/tool.state";
|
|
12
|
-
import * as i4 from "@igo2/common";
|
|
13
|
-
export class EditionActionsService {
|
|
14
|
-
constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState) {
|
|
15
|
-
this.ogcFilterWidget = ogcFilterWidget;
|
|
16
|
-
this.storageState = storageState;
|
|
17
|
-
this.languageService = languageService;
|
|
18
|
-
this.mediaService = mediaService;
|
|
19
|
-
this.toolState = toolState;
|
|
20
|
-
this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
|
|
21
|
-
this.zoomAuto$ = new BehaviorSubject(false);
|
|
22
|
-
}
|
|
23
|
-
get storageService() {
|
|
24
|
-
return this.storageState.storageService;
|
|
25
|
-
}
|
|
26
|
-
get zoomAuto() {
|
|
27
|
-
return this.storageService.get('zoomAuto');
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
if (this.storageChange$$) {
|
|
31
|
-
this.storageChange$$.unsubscribe();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
35
|
-
const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
|
|
36
|
-
workspace.actionStore.load(actions);
|
|
37
|
-
}
|
|
38
|
-
buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
39
|
-
this.zoomAuto$.next(this.zoomAuto);
|
|
40
|
-
this.storageChange$$ = this.storageService.storageChange$
|
|
41
|
-
.pipe(skipWhile((storageChange) => storageChange?.key !== 'zoomAuto' || storageChange?.event === StorageServiceEventEnum.CLEARED))
|
|
42
|
-
.subscribe(() => {
|
|
43
|
-
this.zoomAuto$.next(this.zoomAuto);
|
|
44
|
-
handleZoomAuto(workspace, this.storageService);
|
|
45
|
-
});
|
|
46
|
-
const actions = [
|
|
47
|
-
{
|
|
48
|
-
id: 'zoomAuto',
|
|
49
|
-
checkbox: true,
|
|
50
|
-
title: 'igo.integration.workspace.zoomAuto.title',
|
|
51
|
-
tooltip: 'igo.integration.workspace.zoomAuto.tooltip',
|
|
52
|
-
checkCondition: this.zoomAuto$,
|
|
53
|
-
handler: () => {
|
|
54
|
-
handleZoomAuto(workspace, this.storageService);
|
|
55
|
-
this.storageService.set('zoomAuto', !this.storageService.get('zoomAuto'));
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
id: 'filterInMapExtent',
|
|
60
|
-
checkbox: true,
|
|
61
|
-
title: 'igo.integration.workspace.inMapExtent.title',
|
|
62
|
-
tooltip: mapExtentStrategyActiveToolTip(workspace),
|
|
63
|
-
checkCondition: rowsInMapExtentCheckCondition$,
|
|
64
|
-
handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
id: 'selectedOnly',
|
|
68
|
-
checkbox: true,
|
|
69
|
-
title: 'igo.integration.workspace.selected.title',
|
|
70
|
-
tooltip: 'igo.integration.workspace.selected.title',
|
|
71
|
-
checkCondition: selectOnlyCheckCondition$,
|
|
72
|
-
handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
id: 'clearselection',
|
|
76
|
-
icon: 'select-off',
|
|
77
|
-
title: 'igo.integration.workspace.clearSelection.title',
|
|
78
|
-
tooltip: 'igo.integration.workspace.clearSelection.tooltip',
|
|
79
|
-
handler: (ws) => {
|
|
80
|
-
ws.entityStore.state.updateMany(ws.entityStore.view.all(), { selected: false });
|
|
81
|
-
},
|
|
82
|
-
args: [workspace],
|
|
83
|
-
availability: (ws) => noElementSelected(ws)
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
id: 'wfsDownload',
|
|
87
|
-
icon: 'file-export',
|
|
88
|
-
title: 'igo.integration.workspace.download.title',
|
|
89
|
-
tooltip: 'igo.integration.workspace.download.tooltip',
|
|
90
|
-
handler: (ws) => {
|
|
91
|
-
const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
92
|
-
const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
93
|
-
const layersWithSelection = filterSelectionStrategy.active ? [ws.layer.id] : [];
|
|
94
|
-
this.toolState.toolToActivateFromOptions({
|
|
95
|
-
tool: 'importExport',
|
|
96
|
-
options: { layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection }
|
|
97
|
-
});
|
|
98
|
-
},
|
|
99
|
-
args: [workspace]
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
id: 'ogcFilter',
|
|
103
|
-
icon: 'filter',
|
|
104
|
-
title: 'igo.integration.workspace.ogcFilter.title',
|
|
105
|
-
tooltip: 'igo.integration.workspace.ogcFilter.tooltip',
|
|
106
|
-
handler: (widget, ws) => {
|
|
107
|
-
ws.activateWidget(widget, {
|
|
108
|
-
map: ws.map,
|
|
109
|
-
layer: ws.layer
|
|
110
|
-
});
|
|
111
|
-
},
|
|
112
|
-
args: [this.ogcFilterWidget, workspace]
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
id: 'maximize',
|
|
116
|
-
title: this.languageService.translate.instant('igo.integration.workspace.maximize'),
|
|
117
|
-
tooltip: this.languageService.translate.instant('igo.integration.workspace.maximizeTooltip'),
|
|
118
|
-
icon: 'resize',
|
|
119
|
-
display: () => {
|
|
120
|
-
return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));
|
|
121
|
-
},
|
|
122
|
-
handler: () => {
|
|
123
|
-
if (!this.mediaService.isMobile()) {
|
|
124
|
-
this.maximize$.next(true);
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
id: 'standardExtent',
|
|
130
|
-
title: this.languageService.translate.instant('igo.integration.workspace.standardExtent'),
|
|
131
|
-
tooltip: this.languageService.translate.instant('igo.integration.workspace.standardExtentTooltip'),
|
|
132
|
-
icon: 'resize',
|
|
133
|
-
display: () => {
|
|
134
|
-
return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));
|
|
135
|
-
},
|
|
136
|
-
handler: () => {
|
|
137
|
-
this.maximize$.next(false);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
];
|
|
141
|
-
return workspace.layer.dataSource.options.ogcFilters?.enabled ?
|
|
142
|
-
actions : actions.filter(action => action.id !== 'ogcFilter');
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
EditionActionsService.ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i3.ToolState)); };
|
|
146
|
-
EditionActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionActionsService, factory: EditionActionsService.ɵfac, providedIn: 'root' });
|
|
147
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionActionsService, [{
|
|
148
|
-
type: Injectable,
|
|
149
|
-
args: [{
|
|
150
|
-
providedIn: 'root'
|
|
151
|
-
}]
|
|
152
|
-
}], function () { return [{ type: i4.Widget, decorators: [{
|
|
153
|
-
type: Inject,
|
|
154
|
-
args: [OgcFilterWidget]
|
|
155
|
-
}] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }]; }, null); })();
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFFbkMsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUVMLDhCQUE4QixFQUM5QixpQkFBaUIsRUFFakIsZUFBZSxHQUVoQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBS25ELE1BQU0sT0FBTyxxQkFBcUI7SUFpQmhDLFlBQ21DLGVBQXVCLEVBQ2hELFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFlBQTBCLEVBQzFCLFNBQW9CO1FBSkssb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFwQnZCLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFZLENBQ3hELENBQUM7UUFFRixjQUFTLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBZ0JoQyxDQUFDO0lBYmxDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFTRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUNULFNBQTJCLEVBQzNCLDhCQUF3RCxFQUN4RCx5QkFBbUQ7UUFFbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDL0IsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsQ0FDeEIsQ0FBQztRQUNKLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBMkIsRUFDM0IsOEJBQXdELEVBQ3hELHlCQUFtRDtRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWtDLEVBQUUsRUFBRSxDQUNyRCxhQUFhLEVBQUUsR0FBRyxLQUFLLFVBQVUsSUFBSSxhQUFhLEVBQUUsS0FBSyxLQUFLLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hHLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDTCxNQUFNLE9BQU8sR0FBRztZQUNkO2dCQUNFLEVBQUUsRUFBRSxVQUFVO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSwwQ0FBMEM7Z0JBQ2pELE9BQU8sRUFBRSw0Q0FBNEM7Z0JBQ3JELGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFZLENBQUMsQ0FBQztnQkFDdkYsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLG1CQUFtQjtnQkFDdkIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLDZDQUE2QztnQkFDcEQsT0FBTyxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQztnQkFDbEQsY0FBYyxFQUFFLDhCQUE4QjtnQkFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQzthQUMxRjtZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsMENBQTBDO2dCQUNqRCxPQUFPLEVBQUUsMENBQTBDO2dCQUNuRCxjQUFjLEVBQUUseUJBQXlCO2dCQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO2FBQ2hGO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxnREFBZ0Q7Z0JBQ3ZELE9BQU8sRUFBRSxrREFBa0Q7Z0JBQzNELE9BQU8sRUFBRSxDQUFDLEVBQW9CLEVBQUUsRUFBRTtvQkFDaEMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ2xGLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNqQixZQUFZLEVBQUUsQ0FBQyxFQUFvQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7YUFDOUQ7WUFDRDtnQkFDRSxFQUFFLEVBQUUsYUFBYTtnQkFDakIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSwwQ0FBMEM7Z0JBQ2pELE9BQU8sRUFBRSw0Q0FBNEM7Z0JBQ3JELE9BQU8sRUFBRSxDQUFDLEVBQW9CLEVBQUUsRUFBRTtvQkFDaEMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO29CQUM3RixNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsa0NBQWtDLENBQUMsQ0FBQztvQkFDckcsTUFBTSxtQkFBbUIsR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNoRixJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDO3dCQUN2QyxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFtQjtxQkFDcEgsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLFdBQVc7Z0JBQ2YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLDJDQUEyQztnQkFDbEQsT0FBTyxFQUFFLDZDQUE2QztnQkFDdEQsT0FBTyxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQW9CLEVBQUUsRUFBRTtvQkFDaEQsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7d0JBQ3hCLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRzt3QkFDWCxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUs7cUJBQ2hCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDO2FBQ3hDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkYsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDN0MsMkNBQTJDLENBQzVDO2dCQUNELElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRTt3QkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzNCO2dCQUNILENBQUM7YUFDRjtZQUNEO2dCQUNFLEVBQUUsRUFBRSxnQkFBZ0I7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNDLDBDQUEwQyxDQUMzQztnQkFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM3QyxpREFBaUQsQ0FDbEQ7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzdFLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsQ0FBQzthQUNGO1NBQ0YsQ0FBQztRQUNGLE9BQVEsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFzQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUYsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQztJQUNoRSxDQUFDOzswRkEvSlUscUJBQXFCLGNBa0J0QixlQUFlOzJFQWxCZCxxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNO3VGQUVQLHFCQUFxQjtjQUhqQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQW1CSSxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBY3Rpb24sXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSxcclxuICBXaWRnZXRcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBFZGl0aW9uV29ya3NwYWNlLFxyXG4gIG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCxcclxuICBub0VsZW1lbnRTZWxlY3RlZCxcclxuICBFeHBvcnRPcHRpb25zLFxyXG4gIE9nY0ZpbHRlcldpZGdldCxcclxuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VFdmVudCwgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sIExhbmd1YWdlU2VydmljZSwgTWVkaWFTZXJ2aWNlfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgU3RvcmFnZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9zdG9yYWdlLnN0YXRlJztcclxuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IGhhbmRsZVpvb21BdXRvIH0gZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdGlvbkFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd3b3Jrc3BhY2VNYXhpbWl6ZScpIGFzIGJvb2xlYW5cclxuICApO1xyXG5cclxuICB6b29tQXV0byQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBzdG9yYWdlU2VydmljZSgpOiBTdG9yYWdlU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChPZ2NGaWx0ZXJXaWRnZXQpIHByaXZhdGUgb2djRmlsdGVyV2lkZ2V0OiBXaWRnZXQsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTdGF0ZTogU3RvcmFnZVN0YXRlLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZUNoYW5nZSQkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkQWN0aW9ucyhcclxuICAgIHdvcmtzcGFjZTogRWRpdGlvbldvcmtzcGFjZSxcclxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxyXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAgICApIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcclxuICAgICAgd29ya3NwYWNlLFxyXG4gICAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXHJcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcclxuICAgICAgKTtcclxuICAgIHdvcmtzcGFjZS5hY3Rpb25TdG9yZS5sb2FkKGFjdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRBY3Rpb25zKFxyXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxyXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXHJcbiAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICAgICk6IEFjdGlvbltdIHtcclxuICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XHJcbiAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJCA9IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUNoYW5nZSRcclxuICAgICAgLnBpcGUoc2tpcFdoaWxlKChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxyXG4gICAgICAgIHN0b3JhZ2VDaGFuZ2U/LmtleSAhPT0gJ3pvb21BdXRvJyB8fCBzdG9yYWdlQ2hhbmdlPy5ldmVudCA9PT0gU3RvcmFnZVNlcnZpY2VFdmVudEVudW0uQ0xFQVJFRCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XHJcbiAgICAgICAgaGFuZGxlWm9vbUF1dG8od29ya3NwYWNlLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlKTtcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICd6b29tQXV0bycsXHJcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRpdGxlJyxcclxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50b29sdGlwJyxcclxuICAgICAgICBjaGVja0NvbmRpdGlvbjogdGhpcy56b29tQXV0byQsXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgaGFuZGxlWm9vbUF1dG8od29ya3NwYWNlLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCd6b29tQXV0bycsICF0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2ZpbHRlckluTWFwRXh0ZW50JyxcclxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuaW5NYXBFeHRlbnQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6IG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCh3b3Jrc3BhY2UpLFxyXG4gICAgICAgIGNoZWNrQ29uZGl0aW9uOiByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLm5leHQoIXJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC52YWx1ZSlcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnc2VsZWN0ZWRPbmx5JyxcclxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc2VsZWN0ZWQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRpdGxlJyxcclxuICAgICAgICBjaGVja0NvbmRpdGlvbjogc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCxcclxuICAgICAgICBoYW5kbGVyOiAoKSA9PiBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLm5leHQoIXNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQudmFsdWUpXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2NsZWFyc2VsZWN0aW9uJyxcclxuICAgICAgICBpY29uOiAnc2VsZWN0LW9mZicsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRpdGxlJyxcclxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50b29sdGlwJyxcclxuICAgICAgICBoYW5kbGVyOiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcclxuICAgICAgICAgIHdzLmVudGl0eVN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkod3MuZW50aXR5U3RvcmUudmlldy5hbGwoKSwgeyBzZWxlY3RlZDogZmFsc2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXSxcclxuICAgICAgICBhdmFpbGFiaWxpdHk6ICh3czogRWRpdGlvbldvcmtzcGFjZSkgPT4gbm9FbGVtZW50U2VsZWN0ZWQod3MpXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ3dmc0Rvd25sb2FkJyxcclxuICAgICAgICBpY29uOiAnZmlsZS1leHBvcnQnLFxyXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5kb3dubG9hZC50aXRsZScsXHJcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuZG93bmxvYWQudG9vbHRpcCcsXHJcbiAgICAgICAgaGFuZGxlcjogKHdzOiBFZGl0aW9uV29ya3NwYWNlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcclxuICAgICAgICAgIGNvbnN0IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5ID0gd3MuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSk7XHJcbiAgICAgICAgICBjb25zdCBsYXllcnNXaXRoU2VsZWN0aW9uID0gZmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kuYWN0aXZlID8gW3dzLmxheWVyLmlkXSA6IFtdO1xyXG4gICAgICAgICAgdGhpcy50b29sU3RhdGUudG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh7XHJcbiAgICAgICAgICAgIHRvb2w6ICdpbXBvcnRFeHBvcnQnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7IGxheWVyczogW3dzLmxheWVyLmlkXSwgZmVhdHVyZUluTWFwRXh0ZW50OiBmaWx0ZXJTdHJhdGVneS5hY3RpdmUsIGxheWVyc1dpdGhTZWxlY3Rpb24gfSBhcyBFeHBvcnRPcHRpb25zXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFyZ3M6IFt3b3Jrc3BhY2VdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ29nY0ZpbHRlcicsXHJcbiAgICAgICAgaWNvbjogJ2ZpbHRlcicsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm9nY0ZpbHRlci50aXRsZScsXHJcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uub2djRmlsdGVyLnRvb2x0aXAnLFxyXG4gICAgICAgIGhhbmRsZXI6ICh3aWRnZXQ6IFdpZGdldCwgd3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcclxuICAgICAgICAgIHdzLmFjdGl2YXRlV2lkZ2V0KHdpZGdldCwge1xyXG4gICAgICAgICAgICBtYXA6IHdzLm1hcCxcclxuICAgICAgICAgICAgbGF5ZXI6IHdzLmxheWVyXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFyZ3M6IFt0aGlzLm9nY0ZpbHRlcldpZGdldCwgd29ya3NwYWNlXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdtYXhpbWl6ZScsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm1heGltaXplJyksXHJcbiAgICAgICAgdG9vbHRpcDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZVRvb2x0aXAnXHJcbiAgICAgICAgKSxcclxuICAgICAgICBpY29uOiAncmVzaXplJyxcclxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+ICF2ICYmICF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dCh0cnVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdzdGFuZGFyZEV4dGVudCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnQnXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50VG9vbHRpcCdcclxuICAgICAgICApLFxyXG4gICAgICAgIGljb246ICdyZXNpemUnLFxyXG4gICAgICAgIGRpc3BsYXk6ICgpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLm1heGltaXplJC5waXBlKG1hcCgodikgPT4gdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gICAgcmV0dXJuICh3b3Jrc3BhY2UubGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub3B0aW9ucy5vZ2NGaWx0ZXJzPy5lbmFibGVkID9cclxuICAgIGFjdGlvbnMgOiBhY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmlkICE9PSAnb2djRmlsdGVyJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|