@igo2/geo 16.0.2 → 16.1.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-group.component.mjs +28 -132
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +22 -86
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +22 -65
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +42 -47
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +13 -129
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +14 -55
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +27 -57
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +46 -54
- package/esm2022/lib/catalog/catalog.module.mjs +28 -29
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +14 -14
- package/esm2022/lib/datasource/datasource.module.mjs +12 -12
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +9 -0
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -17
- package/esm2022/lib/datasource/shared/datasource.service.mjs +11 -11
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +9 -9
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/index.mjs +2 -1
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +12 -12
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +19 -102
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +21 -122
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +11 -103
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +6 -6
- package/esm2022/lib/directions/directions.component.mjs +25 -47
- package/esm2022/lib/directions/directions.module.mjs +61 -62
- package/esm2022/lib/directions/shared/directions.service.mjs +15 -14
- package/esm2022/lib/download/download-button/download-button.component.mjs +11 -26
- package/esm2022/lib/download/download.module.mjs +22 -23
- package/esm2022/lib/download/shared/download.service.mjs +9 -9
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +9 -35
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +20 -299
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +7 -40
- package/esm2022/lib/draw/draw/draw.component.mjs +56 -322
- package/esm2022/lib/draw/draw/draw.module.mjs +64 -65
- package/esm2022/lib/draw/drawingTool.module.mjs +12 -13
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +9 -9
- package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +21 -171
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +17 -19
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +22 -23
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +16 -34
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +12 -13
- package/esm2022/lib/feature/feature.module.mjs +13 -14
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +2 -2
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
- package/esm2022/lib/filter/filter.module.mjs +158 -197
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +24 -49
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +32 -397
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +39 -625
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +20 -47
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +44 -340
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +36 -58
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +26 -126
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +11 -11
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +17 -40
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +9 -9
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +6 -6
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +6 -6
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +9 -9
- package/esm2022/lib/filter/shared/time-filter.service.mjs +6 -6
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +73 -386
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +23 -87
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +37 -86
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +24 -49
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +20 -268
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +20 -72
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +11 -11
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +13 -24
- package/esm2022/lib/geo.module.mjs +54 -55
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +36 -39
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +32 -97
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +30 -31
- package/esm2022/lib/geometry/geometry.module.mjs +13 -14
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +11 -24
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +25 -434
- package/esm2022/lib/import-export/import-export.module.mjs +54 -55
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +20 -22
- package/esm2022/lib/import-export/shared/export.service.mjs +10 -10
- package/esm2022/lib/import-export/shared/import.service.mjs +9 -9
- package/esm2022/lib/layer/index.mjs +1 -1
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +47 -127
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +16 -183
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +16 -26
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +11 -11
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +26 -130
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +13 -13
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +50 -272
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +21 -72
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +9 -9
- package/esm2022/lib/layer/layer.module.mjs +94 -114
- package/esm2022/lib/layer/shared/layer.service.mjs +12 -12
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +2 -2
- package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +2 -2
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +2 -2
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +12 -27
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +18 -60
- package/esm2022/lib/map/baselayers-switcher/index.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +20 -48
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +11 -31
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +17 -26
- package/esm2022/lib/map/index.mjs +1 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +9 -22
- package/esm2022/lib/map/map-browser/index.mjs +1 -1
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +11 -18
- package/esm2022/lib/map/map-center/map-center.component.mjs +9 -13
- package/esm2022/lib/map/map.module.mjs +88 -96
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +11 -19
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +13 -24
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +13 -39
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +18 -20
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +15 -15
- package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
- package/esm2022/lib/map/shared/map.service.mjs +9 -9
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -9
- package/esm2022/lib/map/shared/projection.service.mjs +9 -9
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +9 -16
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +11 -24
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +11 -28
- package/esm2022/lib/measure/measure.module.mjs +12 -13
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +9 -9
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +13 -166
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +19 -51
- package/esm2022/lib/measure/measurer/measurer.component.mjs +74 -241
- package/esm2022/lib/measure/measurer/measurer.module.mjs +46 -59
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +20 -69
- package/esm2022/lib/metadata/metadata.module.mjs +24 -25
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2022/lib/metadata/shared/metadata.service.mjs +9 -9
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +9 -9
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +9 -9
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +9 -9
- package/esm2022/lib/offline/shared/geo-network.service.mjs +9 -9
- package/esm2022/lib/overlay/overlay.module.mjs +12 -13
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +11 -11
- package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.service.mjs +9 -9
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +2 -2
- package/esm2022/lib/print/print/print.component.mjs +21 -27
- package/esm2022/lib/print/print-form/print-form.component.mjs +56 -349
- package/esm2022/lib/print/print.module.mjs +36 -37
- package/esm2022/lib/print/shared/print.service.mjs +14 -14
- package/esm2022/lib/print/shared/print.type.mjs +2 -2
- package/esm2022/lib/query/query.module.mjs +13 -14
- package/esm2022/lib/query/shared/query-search-source.mjs +9 -9
- package/esm2022/lib/query/shared/query.directive.mjs +21 -21
- package/esm2022/lib/query/shared/query.service.mjs +10 -10
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +66 -165
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +38 -39
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +13 -13
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +12 -68
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +23 -66
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +18 -74
- package/esm2022/lib/search/search-results/search-results.component.mjs +41 -238
- package/esm2022/lib/search/search-results/search-results.module.mjs +58 -59
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +13 -43
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +30 -31
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +24 -233
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +32 -33
- package/esm2022/lib/search/search.module.mjs +32 -33
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +18 -20
- package/esm2022/lib/search/shared/search.enums.mjs +3 -3
- package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/search.service.mjs +10 -10
- package/esm2022/lib/search/shared/sources/cadastre.mjs +10 -10
- package/esm2022/lib/search/shared/sources/coordinates.mjs +19 -19
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/icherche.mjs +37 -26
- package/esm2022/lib/search/shared/sources/ilayer.mjs +19 -19
- package/esm2022/lib/search/shared/sources/nominatim.mjs +10 -10
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +18 -18
- package/esm2022/lib/search/shared/sources/workspace.mjs +10 -10
- package/esm2022/lib/style/style-list/style-list.module.mjs +12 -12
- package/esm2022/lib/style/style-list/style-list.service.mjs +9 -9
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +12 -121
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +13 -59
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +9 -17
- package/esm2022/lib/style/style-service/draw-style.service.mjs +9 -9
- package/esm2022/lib/style/style-service/style.service.mjs +9 -9
- package/esm2022/lib/style/style.module.mjs +51 -52
- package/esm2022/lib/toast/toast.component.mjs +15 -44
- package/esm2022/lib/toast/toast.module.mjs +24 -25
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +9 -9
- package/esm2022/lib/wkt/shared/wkt.service.mjs +9 -9
- package/esm2022/lib/wkt/wkt.module.mjs +12 -12
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +10 -27
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +20 -21
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +10 -10
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +14 -13
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +14 -13
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +12 -12
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +15 -19
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +12 -13
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +21 -21
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +12 -13
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +15 -15
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +12 -13
- package/esm2022/lib/workspace/workspace.module.mjs +35 -36
- package/fesm2022/igo2-geo.mjs +16547 -23425
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -2
- package/lib/catalog/shared/catalog.abstract.d.ts +3 -3
- package/lib/catalog/shared/catalog.interface.d.ts +2 -2
- package/lib/catalog/shared/catalog.service.d.ts +1 -1
- package/lib/datasource/shared/capabilities.interface.d.ts +8 -0
- package/lib/datasource/shared/capabilities.service.d.ts +1 -8
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -1
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/index.d.ts +1 -0
- package/lib/directions/shared/directions.service.d.ts +2 -2
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/shared/draw.interface.d.ts +1 -1
- package/lib/environment/environment.interface.d.ts +8 -6
- package/lib/feature/shared/feature.interfaces.d.ts +3 -3
- package/lib/feature/shared/feature.utils.d.ts +2 -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-filter-form/ogc-filter-form.component.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -0
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.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 +1 -1
- package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +2 -2
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
- package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/shared/layers/image-layer.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +2 -1
- package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
- package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/shared/map.abstract.d.ts +5 -4
- package/lib/measure/measurer/measurer.component.d.ts +8 -4
- package/lib/measure/shared/measure.interfaces.d.ts +2 -2
- package/lib/metadata/shared/metadata.interface.d.ts +1 -1
- package/lib/overlay/shared/overlay.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +4 -6
- package/lib/print/shared/print.service.d.ts +2 -1
- package/lib/print/shared/print.type.d.ts +2 -6
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.d.ts +1 -1
- package/lib/search/shared/sources/icherche.d.ts +1 -1
- package/lib/search/shared/sources/icherche.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.d.ts +1 -1
- package/lib/search/shared/sources/source.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/workspace.d.ts +1 -1
- package/lib/utils/id-generator.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.d.ts +3 -3
- package/lib/workspace/shared/edition-workspace.service.d.ts +1 -1
- package/lib/workspace/shared/feature-workspace.d.ts +1 -1
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -2
- package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -2
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -2
- package/lib/workspace/shared/workspace.utils.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/locale/en.geo.json +5 -3
- package/locale/fr.geo.json +5 -3
- package/package.json +26 -29
- package/{lib → src/lib}/search/search-bar/search-bar.theming.scss +1 -0
- package/src/style/style.scss +1 -0
- /package/{geo-theme.scss → src/geo-theme.scss} +0 -0
- /package/{lib → src/lib}/catalog/catalog-browser/catalog-browser.theming.scss +0 -0
- /package/{lib → src/lib}/catalog/catalog.theming.scss +0 -0
- /package/{lib → src/lib}/directions/directions-results/directions-results.theming.scss +0 -0
- /package/{lib → src/lib}/directions/directions.theming.scss +0 -0
- /package/{lib → src/lib}/draw/draw.theming.scss +0 -0
- /package/{lib → src/lib}/feature/feature-details/feature-details.theming.scss +0 -0
- /package/{lib → src/lib}/feature/feature.theming.scss +0 -0
- /package/{lib → src/lib}/filter/filter.theming.scss +0 -0
- /package/{lib → src/lib}/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +0 -0
- /package/{lib → src/lib}/filter/time-filter-form/time-filter-form.theming.scss +0 -0
- /package/{lib → src/lib}/layer/layer-item/layer-item.theme.scss +0 -0
- /package/{lib → src/lib}/layer/layer-legend/layer-legend.theming.scss +0 -0
- /package/{lib → src/lib}/layer/layer-list-tool/layer-list-tool.theming.scss +0 -0
- /package/{lib → src/lib}/layer/layer.theming.scss +0 -0
- /package/{lib → src/lib}/map/map-browser/map-browser.theming.scss +0 -0
- /package/{lib → src/lib}/map/map.theming.scss +0 -0
- /package/{lib → src/lib}/map/menu-button/menu-button.theming.scss +0 -0
- /package/{lib → src/lib}/map/zoom-button/zoom-button.theming.scss +0 -0
- /package/{lib → src/lib}/measure/measure.theming.scss +0 -0
- /package/{lib → src/lib}/measure/measurer/measurer.theming.scss +0 -0
- /package/{lib → src/lib}/search/search-results/search-results-item.theme.scss +0 -0
- /package/{lib → src/lib}/search/search.theming.scss +0 -0
- /package/{lib → src/lib}/workspace/confirmation-popup/confirmation-popup.theming.scss +0 -0
- /package/{lib → src/lib}/workspace/workspace.theming.scss +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { EntityStore } from '@igo2/common';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { IgoMap } from '../../map/shared';
|
|
4
|
+
import { IgoMap } from '../../map/shared/map';
|
|
5
5
|
import { Catalog, CatalogItemType } from '../shared';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
@@ -12,76 +12,6 @@ import * as i5 from "@angular/material/tooltip";
|
|
|
12
12
|
import * as i6 from "@igo2/common";
|
|
13
13
|
import * as i7 from "./catalog-browser-layer.component";
|
|
14
14
|
import * as i8 from "@ngx-translate/core";
|
|
15
|
-
function CatalogBrowserGroupComponent_button_5_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
i0.ɵɵelementStart(0, "mat-icon", 10);
|
|
17
|
-
i0.ɵɵlistener("click", function CatalogBrowserGroupComponent_button_5_mat_icon_1_Template_mat_icon_click_0_listener($event) { return $event.stopPropagation(); });
|
|
18
|
-
i0.ɵɵpipe(1, "translate");
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
} if (rf & 2) {
|
|
21
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.geo.catalog.externalProvider.group"));
|
|
22
|
-
} }
|
|
23
|
-
function CatalogBrowserGroupComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
i0.ɵɵelementStart(0, "button", 8);
|
|
25
|
-
i0.ɵɵtemplate(1, CatalogBrowserGroupComponent_button_5_mat_icon_1_Template, 2, 3, "mat-icon", 9);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} if (rf & 2) {
|
|
28
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
29
|
-
i0.ɵɵadvance(1);
|
|
30
|
-
i0.ɵɵproperty("ngIf", ctx_r0.group.externalProvider);
|
|
31
|
-
} }
|
|
32
|
-
function CatalogBrowserGroupComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
const _r9 = i0.ɵɵgetCurrentView();
|
|
34
|
-
i0.ɵɵelementContainerStart(0);
|
|
35
|
-
i0.ɵɵelementStart(1, "button", 11);
|
|
36
|
-
i0.ɵɵlistener("click", function CatalogBrowserGroupComponent_ng_container_6_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onToggleClick($event)); });
|
|
37
|
-
i0.ɵɵpipe(2, "translate");
|
|
38
|
-
i0.ɵɵpipe(3, "async");
|
|
39
|
-
i0.ɵɵelement(4, "mat-icon", 12);
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
41
|
-
i0.ɵɵelementContainerEnd();
|
|
42
|
-
} if (rf & 2) {
|
|
43
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
44
|
-
i0.ɵɵadvance(1);
|
|
45
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 2, "igo.geo.catalog.group.removeFromMap"))("disabled", i0.ɵɵpipeBind1(3, 4, ctx_r1.disabled$));
|
|
46
|
-
} }
|
|
47
|
-
function CatalogBrowserGroupComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
49
|
-
i0.ɵɵelementStart(0, "button", 13);
|
|
50
|
-
i0.ɵɵlistener("click", function CatalogBrowserGroupComponent_ng_template_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.onToggleClick($event)); });
|
|
51
|
-
i0.ɵɵpipe(1, "translate");
|
|
52
|
-
i0.ɵɵpipe(2, "async");
|
|
53
|
-
i0.ɵɵelement(3, "mat-icon", 14);
|
|
54
|
-
i0.ɵɵelementEnd();
|
|
55
|
-
} if (rf & 2) {
|
|
56
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
57
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.catalog.group.addToMap"))("disabled", i0.ɵɵpipeBind1(2, 4, ctx_r3.disabled$));
|
|
58
|
-
} }
|
|
59
|
-
function CatalogBrowserGroupComponent_ng_template_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
-
i0.ɵɵelementContainer(0);
|
|
61
|
-
} }
|
|
62
|
-
function CatalogBrowserGroupComponent_ng_template_13_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
-
const _r16 = i0.ɵɵgetCurrentView();
|
|
64
|
-
i0.ɵɵelementContainerStart(0);
|
|
65
|
-
i0.ɵɵelementStart(1, "igo-catalog-browser-layer", 16);
|
|
66
|
-
i0.ɵɵlistener("addedLayerIsPreview", function CatalogBrowserGroupComponent_ng_template_13_ng_container_1_Template_igo_catalog_browser_layer_addedLayerIsPreview_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.onLayerPreview($event)); })("addedChange", function CatalogBrowserGroupComponent_ng_template_13_ng_container_1_Template_igo_catalog_browser_layer_addedChange_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.onLayerAddedChange($event)); });
|
|
67
|
-
i0.ɵɵelementEnd();
|
|
68
|
-
i0.ɵɵelementContainerEnd();
|
|
69
|
-
} if (rf & 2) {
|
|
70
|
-
const item_r12 = i0.ɵɵnextContext().$implicit;
|
|
71
|
-
const ctx_r14 = i0.ɵɵnextContext();
|
|
72
|
-
i0.ɵɵadvance(1);
|
|
73
|
-
i0.ɵɵproperty("layer", item_r12)("resolution", ctx_r14.resolution)("map", ctx_r14.map)("catalogAllowLegend", ctx_r14.catalogAllowLegend)("added", ctx_r14.state.get(item_r12).added);
|
|
74
|
-
} }
|
|
75
|
-
function CatalogBrowserGroupComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
-
i0.ɵɵtemplate(0, CatalogBrowserGroupComponent_ng_template_13_ng_container_0_Template, 1, 0, "ng-container", 15);
|
|
77
|
-
i0.ɵɵtemplate(1, CatalogBrowserGroupComponent_ng_template_13_ng_container_1_Template, 2, 5, "ng-container", 15);
|
|
78
|
-
} if (rf & 2) {
|
|
79
|
-
const item_r12 = ctx.$implicit;
|
|
80
|
-
const ctx_r5 = i0.ɵɵnextContext();
|
|
81
|
-
i0.ɵɵproperty("ngIf", ctx_r5.isGroup(item_r12));
|
|
82
|
-
i0.ɵɵadvance(1);
|
|
83
|
-
i0.ɵɵproperty("ngIf", ctx_r5.isLayer(item_r12));
|
|
84
|
-
} }
|
|
85
15
|
/**
|
|
86
16
|
* Catalog browser group item
|
|
87
17
|
*/
|
|
@@ -256,65 +186,31 @@ export class CatalogBrowserGroupComponent {
|
|
|
256
186
|
onTitleClick() {
|
|
257
187
|
this.collapsed = !this.collapsed;
|
|
258
188
|
}
|
|
259
|
-
static ɵfac =
|
|
260
|
-
static ɵcmp =
|
|
261
|
-
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 0);
|
|
262
|
-
i0.ɵɵlistener("toggle", function CatalogBrowserGroupComponent_Template_mat_icon_toggle_1_listener($event) { return ctx.onToggleCollapsed($event); });
|
|
263
|
-
i0.ɵɵelementEnd();
|
|
264
|
-
i0.ɵɵelementStart(2, "span", 1);
|
|
265
|
-
i0.ɵɵlistener("click", function CatalogBrowserGroupComponent_Template_span_click_2_listener() { return ctx.onTitleClick(); });
|
|
266
|
-
i0.ɵɵtext(3);
|
|
267
|
-
i0.ɵɵelementEnd();
|
|
268
|
-
i0.ɵɵelementStart(4, "div", 2);
|
|
269
|
-
i0.ɵɵtemplate(5, CatalogBrowserGroupComponent_button_5_Template, 2, 1, "button", 3);
|
|
270
|
-
i0.ɵɵtemplate(6, CatalogBrowserGroupComponent_ng_container_6_Template, 5, 6, "ng-container", 4);
|
|
271
|
-
i0.ɵɵpipe(7, "async");
|
|
272
|
-
i0.ɵɵpipe(8, "async");
|
|
273
|
-
i0.ɵɵtemplate(9, CatalogBrowserGroupComponent_ng_template_9_Template, 4, 6, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
274
|
-
i0.ɵɵelementEnd()();
|
|
275
|
-
i0.ɵɵelementStart(11, "div", null, 6);
|
|
276
|
-
i0.ɵɵtemplate(13, CatalogBrowserGroupComponent_ng_template_13_Template, 2, 2, "ng-template", 7);
|
|
277
|
-
i0.ɵɵpipe(14, "async");
|
|
278
|
-
i0.ɵɵelementEnd();
|
|
279
|
-
} if (rf & 2) {
|
|
280
|
-
const _r2 = i0.ɵɵreference(10);
|
|
281
|
-
const _r4 = i0.ɵɵreference(12);
|
|
282
|
-
i0.ɵɵadvance(1);
|
|
283
|
-
i0.ɵɵproperty("target", _r4)("collapsed", ctx.collapsed);
|
|
284
|
-
i0.ɵɵadvance(1);
|
|
285
|
-
i0.ɵɵproperty("matTooltip", ctx.title);
|
|
286
|
-
i0.ɵɵadvance(1);
|
|
287
|
-
i0.ɵɵtextInterpolate(ctx.title);
|
|
288
|
-
i0.ɵɵadvance(2);
|
|
289
|
-
i0.ɵɵproperty("ngIf", ctx.group.externalProvider);
|
|
290
|
-
i0.ɵɵadvance(1);
|
|
291
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(7, 8, ctx.added$) && i0.ɵɵpipeBind1(8, 10, ctx.preview$) === false)("ngIfElse", _r2);
|
|
292
|
-
i0.ɵɵadvance(7);
|
|
293
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(14, 12, ctx.store.view.all$()));
|
|
294
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatIconButton, i3.MatIcon, i4.MatListItem, i4.MatListItemIcon, i4.MatListItemTitle, i4.MatListItemMeta, i5.MatTooltip, i6.ListItemDirective, i6.CollapseDirective, i7.CatalogBrowserLayerComponent, i1.AsyncPipe, i8.TranslatePipe], styles: [".igo-catalog-group-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloggroup-external-icon[_ngcontent-%COMP%]{cursor:help}.catalog-browser-group-carret[_ngcontent-%COMP%]{margin-right:16px}.igo-catalog-group-title[_ngcontent-%COMP%]{font-weight:500}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
|
|
189
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\r\n <mat-icon\r\n matListItemIcon\r\n svgIcon=\"chevron-up\"\r\n igoCollapse\r\n class=\"igo-chevron catalog-browser-group-carret\"\r\n [target]=\"items\"\r\n [collapsed]=\"collapsed\"\r\n (toggle)=\"onToggleCollapsed($event)\"\r\n >\r\n </mat-icon>\r\n\r\n <span\r\n class=\"igo-catalog-group-title\"\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"title\"\r\n (click)=\"onTitleClick()\"\r\n >{{ title }}</span\r\n >\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloggroup-external-icon\"\r\n *ngIf=\"group.externalProvider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <ng-container\r\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\r\n >\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\r\n color=\"warn\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #notadded>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"plus\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #items>\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <!-- todo: add display ans manage CatalogItemGroup -->\r\n </ng-container>\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"item\"\r\n [resolution]=\"resolution\"\r\n [map]=\"map\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"state.get(item).added\"\r\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i6.ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "directive", type: i6.CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "component", type: i7.CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
295
191
|
}
|
|
296
|
-
(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBR0wsT0FBTyxFQUlQLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7O0lDRGIsb0NBU0M7SUFGQyxxSUFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVc7O0lBTFQsMkZBQW1FOzs7SUFOdkUsaUNBQXVFO0lBQ3JFLGdHQVVXO0lBQ2IsaUJBQVM7OztJQVRKLGVBQTRCO0lBQTVCLG9EQUE0Qjs7OztJQVdqQyw2QkFFQztJQUNDLGtDQVFDO0lBREMsd0xBQVMsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDOzs7SUFFL0IsK0JBQXNDO0lBQ3hDLGlCQUFTO0lBQ1gsMEJBQWU7OztJQVBYLGVBQWdFO0lBQWhFLHdGQUFnRSxvREFBQTs7OztJQVVsRSxrQ0FPQztJQURDLHlMQUFTLGVBQUEsNkJBQXFCLENBQUEsSUFBQzs7O0lBRS9CLCtCQUFvQztJQUN0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QUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO3NGQXJNVSw0QkFBNEI7NkRBQTVCLDRCQUE0QjtZQ25DekMscUNBQWUsa0JBQUE7WUFRWCxtSEFBVSw2QkFBeUIsSUFBQztZQUV0QyxpQkFBVztZQUVYLCtCQU1HO1lBREQsdUdBQVMsa0JBQWMsSUFBQztZQUN2QixZQUFXO1lBQUEsaUJBQ2I7WUFFRCw4QkFBcUI7WUFDbkIsbUZBWVM7WUFFVCwrRkFjZTs7O1lBRWYsOEhBV2M7WUFDaEIsaUJBQU0sRUFBQTtZQUdSLHFDQUFZO1lBQ1YsK0ZBaUJjOztZQUNoQixpQkFBTTs7OztZQWhGRixlQUFnQjtZQUFoQiw0QkFBZ0IsNEJBQUE7WUFVaEIsZUFBb0I7WUFBcEIsc0NBQW9CO1lBRW5CLGVBQVc7WUFBWCwrQkFBVztZQUlILGVBQTRCO1lBQTVCLGlEQUE0QjtZQWVsQyxlQUF3RDtZQUF4RCx3R0FBd0QsaUJBQUE7WUErQmpDLGVBQXFDO1lBQXJDLHVFQUFxQzs7O3VGRGpDdEQsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNO2dCQXdCdEMsT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBRUcsR0FBRztrQkFBWCxLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFLRyxlQUFlO2tCQUF2QixLQUFLO1lBU0csS0FBSztrQkFBYixLQUFLO1lBS0ksV0FBVztrQkFBcEIsTUFBTTtZQUtHLGdCQUFnQjtrQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IEVudGl0eVN0YXRlTWFuYWdlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQge1xyXG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcclxuICBBZGRlZENoYW5nZUdyb3VwRW1pdHRlcixcclxuICBDYXRhbG9nLFxyXG4gIENhdGFsb2dJdGVtLFxyXG4gIENhdGFsb2dJdGVtR3JvdXAsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgYnJvd3NlciBncm91cCBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIEdyb3VwJ3MgaXRlbXMgc3RvcmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdG9yZSA9IG5ldyBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbSwgQ2F0YWxvZ0l0ZW1TdGF0ZT4oW10pO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cCBhcmUgYWRkZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBhZGRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByZXZpZXckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgYnV0dG9uIGlzIGRpc2FibGVkXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cDtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdyb3VwIGlzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdyb3VwIGNhbiBiZSB0b2dnbGVkIHdoZW4gaXQncyBjb2xsYXBzZWRcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBQYXJlbnQgY2F0YWxvZydzIGl0ZW1zIHN0b3JlIHN0YXRlLiBHcm91cHMgc2hhcmUgYSB1bmlxdWVcclxuICAgKiBFbnRpdHlTdGF0ZSB0aGF0IHRyYWNrcyB0aGUgZ3JvdXAgYW5kIGl0J3MgbGF5ZXJzIHN0YXRlICh3aGV0aGVyIHRoZXkgYXJlIGFkZGVkIG9yIG5vdCkuXHJcbiAgICogU2hhcmluZyBhIHVuaXF1ZSBzdGF0ZSB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGV4cGFuZCB0aGlzIGNvbXBvbmVudCB0byBhbGxvd1xyXG4gICAqIHRoZSBzZWxlY3Rpb24gb2YgYSBsYXllciB3aGlsZSB1bnNlbGVjdGluZyBhbnkgbGF5ZXIgYWxyZWFkeSBzZWxlY3RlZCBpbiBhbm90aGVyIGdyb3VwLlxyXG4gICAqIFRoaXMgY291bGQgYmUgdXNlZnVsIHRvIGRpc3BsYXkgc29tZSBsYXllciBpbmZvIGJlZm9yZSBhZGRpbmcgaXQsIGZvciBleGFtcGxlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0YXRlOiBFbnRpdHlTdGF0ZU1hbmFnZXI8Q2F0YWxvZ0l0ZW0sIENhdGFsb2dJdGVtU3RhdGU+O1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFkZC9yZW1vdmUgYnV0dG9uIG9mIHRoZSBncm91cCBpcyBjbGlja2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUdyb3VwRW1pdHRlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiBhIGxheWVyIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbGF5ZXJBZGRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkZWRDaGFuZ2VFbWl0dGVyPigpO1xyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0b3JlLmxvYWQodGhpcy5ncm91cC5pdGVtcyk7XHJcbiAgICB0aGlzLmV2YWx1YXRlQWRkZWQoKTtcclxuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZCh0aGlzLmNvbGxhcHNlZCk7XHJcbiAgICBpZiAodGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uLFxyXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuTGF5ZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5hZGRlZCQudmFsdWUgPyB0aGlzLnJlbW92ZShldmVudCkgOiB0aGlzLmFkZChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNvbGxhcHNlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGxheWVyIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGV2YWx1YXRlIGlmIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cFxyXG4gICAqIGFyZSBub3cgYWRkZWQgb3IgcmVtb3ZlZC4gSWYgc28sIGNvbnNpZGVyIHRoYXQgdGhlIGdyb3VwIGl0c2VsZiBpcyBhZGRlZFxyXG4gICAqIG9yIHJlbW92ZWQuXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIG9uTGF5ZXJBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICB0aGlzLmxheWVyQWRkZWRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnRyeVRvZ2dsZUdyb3VwKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmFkZGVkJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHtcclxuICAgICAgYWRkZWQ6IHRydWUsXHJcbiAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxyXG4gICAgICBldmVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5hZGRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBhZGRlZDogZmFsc2UsXHJcbiAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxyXG4gICAgICBldmVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxheWVyUHJldmlldyhldmVudCkge1xyXG4gICAgdGhpcy5wcmV2aWV3JC5uZXh0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cCBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIHRoZSBncm91cCBpdHNlbGYuXHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBsYXN0IGxheWVyIGFkZGVkIGNoYW5nZSBldmVudCB0byBvY2N1clxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJ5VG9nZ2xlR3JvdXAoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xyXG4gICAgY29uc3QgYWRkZWQgPSBldmVudC5hZGRlZDtcclxuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XHJcblxyXG4gICAgY29uc3QgbGF5ZXJzQWRkZWQgPSB0aGlzLnN0b3JlLnZpZXdcclxuICAgICAgLmFsbCgpXHJcbiAgICAgIC5maWx0ZXIoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiBpdGVtLmlkICE9PSBsYXllci5pZClcclxuICAgICAgLm1hcCgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKTtcclxuXHJcbiAgICBpZiAobGF5ZXJzQWRkZWQuZXZlcnkoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gYWRkZWQpKSB7XHJcbiAgICAgIGFkZGVkID8gdGhpcy5hZGQoZXZlbnQuZXZlbnQpIDogdGhpcy5yZW1vdmUoZXZlbnQuZXZlbnQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFkZGVkJC52YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmFkZGVkJC5uZXh0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXZhbHVhdGVBZGRlZCgpIHtcclxuICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5hbGwoKS5ldmVyeSgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuICh0aGlzLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZSkgPT09IHRydWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWRkZWQkLm5leHQoYWRkZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBldmFsdWF0ZURpc2FibGVkKGNvbGxhcHNlZDogYm9vbGVhbikge1xyXG4gICAgbGV0IGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy50b2dnbGVDb2xsYXBzZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIGRpc2FibGVkID0gY29sbGFwc2VkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICBvblRpdGxlQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1pY29uXHJcbiAgICBtYXRMaXN0SXRlbUljb25cclxuICAgIHN2Z0ljb249XCJjaGV2cm9uLXVwXCJcclxuICAgIGlnb0NvbGxhcHNlXHJcbiAgICBjbGFzcz1cImlnby1jaGV2cm9uIGNhdGFsb2ctYnJvd3Nlci1ncm91cC1jYXJyZXRcIlxyXG4gICAgW3RhcmdldF09XCJpdGVtc1wiXHJcbiAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXHJcbiAgICAodG9nZ2xlKT1cIm9uVG9nZ2xlQ29sbGFwc2VkKCRldmVudClcIlxyXG4gID5cclxuICA8L21hdC1pY29uPlxyXG5cclxuICA8c3BhblxyXG4gICAgY2xhc3M9XCJpZ28tY2F0YWxvZy1ncm91cC10aXRsZVwiXHJcbiAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcclxuICAgIChjbGljayk9XCJvblRpdGxlQ2xpY2soKVwiXHJcbiAgICA+e3sgdGl0bGUgfX08L3NwYW5cclxuICA+XHJcblxyXG4gIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgIGNsYXNzPVwiaWdvLWNhdGFsb2dncm91cC1leHRlcm5hbC1pY29uXCJcclxuICAgICAgICAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIlxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmdyb3VwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0lmPVwiKGFkZGVkJCB8IGFzeW5jKSAmJiAocHJldmlldyQgfCBhc3luYykgPT09IGZhbHNlOyBlbHNlIG5vdGFkZGVkXCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5yZW1vdmVGcm9tTWFwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm90YWRkZWQ+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZ3JvdXAuYWRkVG9NYXAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJwbHVzXCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L21hdC1saXN0LWl0ZW0+XHJcblxyXG48ZGl2ICNpdGVtcz5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cclxuICAgICAgPCEtLSB0b2RvOiBhZGQgZGlzcGxheSBhbnMgbWFuYWdlIENhdGFsb2dJdGVtR3JvdXAgLS0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBbbGF5ZXJdPVwiaXRlbVwiXHJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvblwiXHJcbiAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcclxuICAgICAgICBbYWRkZWRdPVwic3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcclxuICAgICAgICAoYWRkZWRMYXllcklzUHJldmlldyk9XCJvbkxheWVyUHJldmlldygkZXZlbnQpXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\r\n <mat-icon\r\n matListItemIcon\r\n svgIcon=\"chevron-up\"\r\n igoCollapse\r\n class=\"igo-chevron catalog-browser-group-carret\"\r\n [target]=\"items\"\r\n [collapsed]=\"collapsed\"\r\n (toggle)=\"onToggleCollapsed($event)\"\r\n >\r\n </mat-icon>\r\n\r\n <span\r\n class=\"igo-catalog-group-title\"\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"title\"\r\n (click)=\"onTitleClick()\"\r\n >{{ title }}</span\r\n >\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloggroup-external-icon\"\r\n *ngIf=\"group.externalProvider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <ng-container\r\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\r\n >\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\r\n color=\"warn\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #notadded>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"plus\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #items>\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <!-- todo: add display ans manage CatalogItemGroup -->\r\n </ng-container>\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"item\"\r\n [resolution]=\"resolution\"\r\n [map]=\"map\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"state.get(item).added\"\r\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
|
|
195
|
+
}], propDecorators: { catalog: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], group: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], map: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], collapsed: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], resolution: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], catalogAllowLegend: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], toggleCollapsed: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], state: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], addedChange: [{
|
|
212
|
+
type: Output
|
|
213
|
+
}], layerAddedChange: [{
|
|
214
|
+
type: Output
|
|
215
|
+
}] } });
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBR0wsT0FBTyxFQUlQLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7QUFFbkI7O0dBRUc7QUFPSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDOzs7T0FHRztJQUNILEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBZ0MsRUFBRSxDQUFDLENBQUM7SUFFM0Q7OztPQUdHO0lBQ0gsTUFBTSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxRQUFRLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFOzs7T0FHRztJQUNILFNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakU7O09BRUc7SUFDTSxPQUFPLENBQVU7SUFFMUI7O09BRUc7SUFDTSxLQUFLLENBQW1CO0lBRXhCLEdB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QyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsU0FBa0I7UUFDekMsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLEVBQUU7WUFDbEMsUUFBUSxHQUFHLFNBQVMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQzt3R0FyTVUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsNFZDbkN6Qyx1dUZBdUZBOzs0RkRwRGEsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs4QkF3QnRDLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFTRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBFbnRpdHlTdGF0ZU1hbmFnZXIgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7XHJcbiAgQWRkZWRDaGFuZ2VFbWl0dGVyLFxyXG4gIEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyLFxyXG4gIENhdGFsb2csXHJcbiAgQ2F0YWxvZ0l0ZW0sXHJcbiAgQ2F0YWxvZ0l0ZW1Hcm91cCxcclxuICBDYXRhbG9nSXRlbVN0YXRlLFxyXG4gIENhdGFsb2dJdGVtVHlwZVxyXG59IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG4vKipcclxuICogQ2F0YWxvZyBicm93c2VyIGdyb3VwIGl0ZW1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogR3JvdXAncyBpdGVtcyBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHN0b3JlID0gbmV3IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPihbXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFyZSBhZGRlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGFkZGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHJldmlldyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIHRvZ2dsZSBidXR0b24gaXMgZGlzYWJsZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZyBncm91cFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgaXMgY29sbGFwc2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcmVzb2x1dGlvbjogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcmVudCBjYXRhbG9nJ3MgaXRlbXMgc3RvcmUgc3RhdGUuIEdyb3VwcyBzaGFyZSBhIHVuaXF1ZVxyXG4gICAqIEVudGl0eVN0YXRlIHRoYXQgdHJhY2tzIHRoZSBncm91cCBhbmQgaXQncyBsYXllcnMgc3RhdGUgKHdoZXRoZXIgdGhleSBhcmUgYWRkZWQgb3Igbm90KS5cclxuICAgKiBTaGFyaW5nIGEgdW5pcXVlIHN0YXRlIHdvdWxkIGFsc28gYWxsb3cgdXMgdG8gZXhwYW5kIHRoaXMgY29tcG9uZW50IHRvIGFsbG93XHJcbiAgICogdGhlIHNlbGVjdGlvbiBvZiBhIGxheWVyIHdoaWxlIHVuc2VsZWN0aW5nIGFueSBsYXllciBhbHJlYWR5IHNlbGVjdGVkIGluIGFub3RoZXIgZ3JvdXAuXHJcbiAgICogVGhpcyBjb3VsZCBiZSB1c2VmdWwgdG8gZGlzcGxheSBzb21lIGxheWVyIGluZm8gYmVmb3JlIGFkZGluZyBpdCwgZm9yIGV4YW1wbGUuXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RhdGU6IEVudGl0eVN0YXRlTWFuYWdlcjxDYXRhbG9nSXRlbSwgQ2F0YWxvZ0l0ZW1TdGF0ZT47XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWRkL3JlbW92ZSBidXR0b24gb2YgdGhlIGdyb3VwIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWRkZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFkZC9yZW1vdmUgYnV0dG9uIG9mIGEgbGF5ZXIgaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUVtaXR0ZXI+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUubG9hZCh0aGlzLmdyb3VwLml0ZW1zKTtcclxuICAgIHRoaXMuZXZhbHVhdGVBZGRlZCgpO1xyXG4gICAgdGhpcy5ldmFsdWF0ZURpc2FibGVkKHRoaXMuY29sbGFwc2VkKTtcclxuICAgIGlmICh0aGlzLmdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmdyb3VwLnNvcnREaXJlY3Rpb24sXHJcbiAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGl0ZW06IENhdGFsb2dJdGVtKSA9PiBpdGVtLnRpdGxlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN0b3JlLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5Hcm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzTGF5ZXIoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmFkZGVkJC52YWx1ZSA/IHRoaXMucmVtb3ZlKGV2ZW50KSA6IHRoaXMuYWRkKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ29sbGFwc2VkKGNvbGxhcHNlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5ldmFsdWF0ZURpc2FibGVkKGNvbGxhcHNlZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgbGF5ZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgZXZhbHVhdGUgaWYgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwXHJcbiAgICogYXJlIG5vdyBhZGRlZCBvciByZW1vdmVkLiBJZiBzbywgY29uc2lkZXIgdGhhdCB0aGUgZ3JvdXAgaXRzZWxmIGlzIGFkZGVkXHJcbiAgICogb3IgcmVtb3ZlZC5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgb25MYXllckFkZGVkQ2hhbmdlKGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcclxuICAgIHRoaXMubGF5ZXJBZGRlZENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMudHJ5VG9nZ2xlR3JvdXAoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMuYWRkZWQkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBhZGRlZDogdHJ1ZSxcclxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXHJcbiAgICAgIGV2ZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmFkZGVkJC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgIGFkZGVkOiBmYWxzZSxcclxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXHJcbiAgICAgIGV2ZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uTGF5ZXJQcmV2aWV3KGV2ZW50KSB7XHJcbiAgICB0aGlzLnByZXZpZXckLm5leHQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgdGhlIGdyb3VwIGl0c2VsZi5cclxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGxhc3QgbGF5ZXIgYWRkZWQgY2hhbmdlIGV2ZW50IHRvIG9jY3VyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0cnlUb2dnbGVHcm91cChldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBhZGRlZCA9IGV2ZW50LmFkZGVkO1xyXG4gICAgY29uc3QgbGF5ZXIgPSBldmVudC5sYXllcjtcclxuXHJcbiAgICBjb25zdCBsYXllcnNBZGRlZCA9IHRoaXMuc3RvcmUudmlld1xyXG4gICAgICAuYWxsKClcclxuICAgICAgLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0uaWQgIT09IGxheWVyLmlkKVxyXG4gICAgICAubWFwKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gdGhpcy5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2UpO1xyXG5cclxuICAgIGlmIChsYXllcnNBZGRlZC5ldmVyeSgodmFsdWUpID0+IHZhbHVlID09PSBhZGRlZCkpIHtcclxuICAgICAgYWRkZWQgPyB0aGlzLmFkZChldmVudC5ldmVudCkgOiB0aGlzLnJlbW92ZShldmVudC5ldmVudCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWRkZWQkLnZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBldmFsdWF0ZUFkZGVkKCkge1xyXG4gICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLmFsbCgpLmV2ZXJ5KChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gKHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKSA9PT0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hZGRlZCQubmV4dChhZGRlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV2YWx1YXRlRGlzYWJsZWQoY29sbGFwc2VkOiBib29sZWFuKSB7XHJcbiAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnRvZ2dsZUNvbGxhcHNlZCA9PT0gZmFsc2UpIHtcclxuICAgICAgZGlzYWJsZWQgPSBjb2xsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGRpc2FibGVkKTtcclxuICB9XHJcblxyXG4gIG9uVGl0bGVDbGljaygpIHtcclxuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWljb25cclxuICAgIG1hdExpc3RJdGVtSWNvblxyXG4gICAgc3ZnSWNvbj1cImNoZXZyb24tdXBcIlxyXG4gICAgaWdvQ29sbGFwc2VcclxuICAgIGNsYXNzPVwiaWdvLWNoZXZyb24gY2F0YWxvZy1icm93c2VyLWdyb3VwLWNhcnJldFwiXHJcbiAgICBbdGFyZ2V0XT1cIml0ZW1zXCJcclxuICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCJcclxuICAgICh0b2dnbGUpPVwib25Ub2dnbGVDb2xsYXBzZWQoJGV2ZW50KVwiXHJcbiAgPlxyXG4gIDwvbWF0LWljb24+XHJcblxyXG4gIDxzcGFuXHJcbiAgICBjbGFzcz1cImlnby1jYXRhbG9nLWdyb3VwLXRpdGxlXCJcclxuICAgIG1hdExpc3RJdGVtVGl0bGVcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwidGl0bGVcIlxyXG4gICAgKGNsaWNrKT1cIm9uVGl0bGVDbGljaygpXCJcclxuICAgID57eyB0aXRsZSB9fTwvc3BhblxyXG4gID5cclxuXHJcbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiZ3JvdXAuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2dyb3VwLWV4dGVybmFsLWljb25cIlxyXG4gICAgICAgICpuZ0lmPVwiZ3JvdXAuZXh0ZXJuYWxQcm92aWRlclwiXHJcbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIuZ3JvdXAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgIHN2Z0ljb249XCJlYXJ0aC1hcnJvdy1yaWdodFwiXHJcbiAgICAgID5cclxuICAgICAgPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nSWY9XCIoYWRkZWQkIHwgYXN5bmMpICYmIChwcmV2aWV3JCB8IGFzeW5jKSA9PT0gZmFsc2U7IGVsc2Ugbm90YWRkZWRcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmdyb3VwLnJlbW92ZUZyb21NYXAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNub3RhZGRlZD5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5hZGRUb01hcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBsdXNcIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LWxpc3QtaXRlbT5cclxuXHJcbjxkaXYgI2l0ZW1zPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cChpdGVtKVwiPlxyXG4gICAgICA8IS0tIHRvZG86IGFkZCBkaXNwbGF5IGFucyBtYW5hZ2UgQ2F0YWxvZ0l0ZW1Hcm91cCAtLT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5ZXIoaXRlbSlcIj5cclxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXJcclxuICAgICAgICBpZ29MaXN0SXRlbVxyXG4gICAgICAgIFtsYXllcl09XCJpdGVtXCJcclxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uXCJcclxuICAgICAgICBbbWFwXT1cIm1hcFwiXHJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxyXG4gICAgICAgIFthZGRlZF09XCJzdGF0ZS5nZXQoaXRlbSkuYWRkZWRcIlxyXG4gICAgICAgIChhZGRlZExheWVySXNQcmV2aWV3KT1cIm9uTGF5ZXJQcmV2aWV3KCRldmVudClcIlxyXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWxheWVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
4
4
|
import { first } from 'rxjs/operators';
|
|
5
5
|
import { LayerService } from '../../layer/shared/layer.service';
|
|
6
6
|
import { TooltipType } from '../../layer/shared/layers';
|
|
7
|
-
import { IgoMap } from '../../map/shared';
|
|
7
|
+
import { IgoMap } from '../../map/shared/map';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "../../layer/shared/layer.service";
|
|
10
10
|
import * as i2 from "@angular/common";
|
|
@@ -17,25 +17,6 @@ import * as i8 from "@igo2/common";
|
|
|
17
17
|
import * as i9 from "../../metadata/metadata-button/metadata-button.component";
|
|
18
18
|
import * as i10 from "../../layer/layer-legend/layer-legend.component";
|
|
19
19
|
import * as i11 from "@ngx-translate/core";
|
|
20
|
-
function CatalogBrowserLayerComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
i0.ɵɵelement(0, "mat-icon", 10);
|
|
22
|
-
} }
|
|
23
|
-
function CatalogBrowserLayerComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
i0.ɵɵelementStart(0, "button", 11)(1, "mat-icon", 12);
|
|
25
|
-
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_button_5_Template_mat_icon_click_1_listener($event) { return $event.stopPropagation(); });
|
|
26
|
-
i0.ɵɵpipe(2, "translate");
|
|
27
|
-
i0.ɵɵelementEnd()();
|
|
28
|
-
} if (rf & 2) {
|
|
29
|
-
i0.ɵɵadvance(1);
|
|
30
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 1, "igo.geo.catalog.externalProvider.layer"));
|
|
31
|
-
} }
|
|
32
|
-
function CatalogBrowserLayerComponent_igo_layer_legend_20_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
i0.ɵɵelement(0, "igo-layer-legend", 4);
|
|
34
|
-
i0.ɵɵpipe(1, "async");
|
|
35
|
-
} if (rf & 2) {
|
|
36
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
37
|
-
i0.ɵɵproperty("layer", i0.ɵɵpipeBind1(1, 1, ctx_r3.igoLayer$));
|
|
38
|
-
} }
|
|
39
20
|
/**
|
|
40
21
|
* Catalog browser layer item
|
|
41
22
|
*/
|
|
@@ -250,70 +231,25 @@ export class CatalogBrowserLayerComponent {
|
|
|
250
231
|
: 'igo.geo.catalog.layer.addToMapOutRange';
|
|
251
232
|
}
|
|
252
233
|
}
|
|
253
|
-
static ɵfac =
|
|
254
|
-
static ɵcmp =
|
|
255
|
-
i0.ɵɵelementStart(0, "mat-list-item");
|
|
256
|
-
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_mat_icon_1_Template, 1, 0, "mat-icon", 0);
|
|
257
|
-
i0.ɵɵelementStart(2, "span", 1);
|
|
258
|
-
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_Template_span_click_2_listener($event) { return ctx.askForLegend($event); });
|
|
259
|
-
i0.ɵɵtext(3);
|
|
260
|
-
i0.ɵɵelementEnd();
|
|
261
|
-
i0.ɵɵelementStart(4, "div", 2);
|
|
262
|
-
i0.ɵɵtemplate(5, CatalogBrowserLayerComponent_button_5_Template, 3, 3, "button", 3);
|
|
263
|
-
i0.ɵɵelement(6, "igo-metadata-button", 4);
|
|
264
|
-
i0.ɵɵelementStart(7, "button", 5);
|
|
265
|
-
i0.ɵɵlistener("mouseenter", function CatalogBrowserLayerComponent_Template_button_mouseenter_7_listener($event) { return ctx.onMouseEvent($event); })("mouseleave", function CatalogBrowserLayerComponent_Template_button_mouseleave_7_listener($event) { return ctx.onMouseEvent($event); })("click", function CatalogBrowserLayerComponent_Template_button_click_7_listener($event) { return ctx.onToggleClick($event); });
|
|
266
|
-
i0.ɵɵpipe(8, "translate");
|
|
267
|
-
i0.ɵɵpipe(9, "async");
|
|
268
|
-
i0.ɵɵelement(10, "mat-icon", 6);
|
|
269
|
-
i0.ɵɵpipe(11, "async");
|
|
270
|
-
i0.ɵɵpipe(12, "async");
|
|
271
|
-
i0.ɵɵpipe(13, "async");
|
|
272
|
-
i0.ɵɵpipe(14, "async");
|
|
273
|
-
i0.ɵɵpipe(15, "async");
|
|
274
|
-
i0.ɵɵpipe(16, "async");
|
|
275
|
-
i0.ɵɵpipe(17, "async");
|
|
276
|
-
i0.ɵɵelementEnd()()();
|
|
277
|
-
i0.ɵɵelementStart(18, "div", 7, 8);
|
|
278
|
-
i0.ɵɵtemplate(20, CatalogBrowserLayerComponent_igo_layer_legend_20_Template, 2, 3, "igo-layer-legend", 9);
|
|
279
|
-
i0.ɵɵpipe(21, "async");
|
|
280
|
-
i0.ɵɵpipe(22, "async");
|
|
281
|
-
i0.ɵɵelementEnd();
|
|
282
|
-
} if (rf & 2) {
|
|
283
|
-
i0.ɵɵadvance(1);
|
|
284
|
-
i0.ɵɵproperty("ngIf", ctx.haveGroup());
|
|
285
|
-
i0.ɵɵadvance(1);
|
|
286
|
-
i0.ɵɵproperty("ngClass", ctx.catalogAllowLegend ? "igo-cataloglayer-title" : "")("matTooltip", ctx.computeTitleTooltip());
|
|
287
|
-
i0.ɵɵadvance(1);
|
|
288
|
-
i0.ɵɵtextInterpolate1(" ", ctx.title, " ");
|
|
289
|
-
i0.ɵɵadvance(2);
|
|
290
|
-
i0.ɵɵproperty("ngIf", ctx.layer.externalProvider);
|
|
291
|
-
i0.ɵɵadvance(1);
|
|
292
|
-
i0.ɵɵproperty("layer", ctx.layer);
|
|
293
|
-
i0.ɵɵadvance(1);
|
|
294
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(8, 13, ctx.computeTooltip()))("color", i0.ɵɵpipeBind1(9, 15, ctx.isPreview$) ? "" : ctx.added ? "warn" : "");
|
|
295
|
-
i0.ɵɵadvance(3);
|
|
296
|
-
i0.ɵɵproperty("igoMatBadgeIcon", ctx.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(11, 17, ctx.inRange$) && i0.ɵɵpipeBind1(12, 19, ctx.isVisible$) === true || i0.ɵɵpipeBind1(13, 21, ctx.inRange$) && !ctx.added || i0.ɵɵpipeBind1(14, 23, ctx.inRange$) && i0.ɵɵpipeBind1(15, 25, ctx.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(16, 27, ctx.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(17, 29, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
|
|
297
|
-
i0.ɵɵadvance(10);
|
|
298
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(21, 31, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(22, 33, ctx.igoLayer$) && ctx.catalogAllowLegend);
|
|
299
|
-
} }, dependencies: [i2.NgClass, i2.NgIf, i3.MatBadge, i4.MatIconButton, i5.MatIcon, i6.MatListItem, i6.MatListItemIcon, i6.MatListItemTitle, i6.MatListItemMeta, i7.MatTooltip, i8.IgoBadgeIconDirective, i9.MetadataButtonComponent, i10.LayerLegendComponent, i2.AsyncPipe, i11.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.catalog-browser-layer-carret[_ngcontent-%COMP%]{margin-right:16px}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
|
|
234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\r\n <mat-icon\r\n *ngIf=\"haveGroup()\"\r\n class=\"catalog-browser-layer-carret\"\r\n matListItemIcon\r\n svgIcon=\"blank\"\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\r\n (click)=\"askForLegend($event)\"\r\n [matTooltip]=\"computeTitleTooltip()\"\r\n >\r\n {{ title }}\r\n </span>\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloglayer-external-icon\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n\r\n <button\r\n (mouseenter)=\"onMouseEvent($event)\"\r\n (mouseleave)=\"onMouseEvent($event)\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"computeTooltip() | translate\"\r\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n matBadge=\"icon\"\r\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\r\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\r\n igoMatBadgeBackgroundColor=\"none\"\r\n igoMatBadgeInverseColor=\"true\"\r\n [matBadgeHidden]=\"\r\n ((inRange$ | async) && (isVisible$ | async) === true) ||\r\n ((inRange$ | async) && !added) ||\r\n ((inRange$ | async) && (isPreview$ | async))\r\n \"\r\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"after\"\r\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\"\r\n >\r\n </mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #legend class=\"igo-cataloglayer-legend-container\">\r\n <igo-layer-legend\r\n *ngIf=\"\r\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\r\n \"\r\n [layer]=\"igoLayer$ | async\"\r\n >\r\n </igo-layer-legend>\r\n</div>\r\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i6.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i6.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i6.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i8.IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: i9.MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: i10.LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
300
236
|
}
|
|
301
|
-
(
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ2hCeEMsK0JBS1k7OztJQVlWLGtDQUF1RSxtQkFBQTtJQU9uRSwwSEFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVcsRUFBQTs7SUFMVCxlQUFtRTtJQUFuRSwyRkFBbUU7OztJQTBDekUsc0NBTW1COzs7O0lBRmpCLDhEQUEyQjs7QURoRC9COztHQUVHO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQXFEbkI7SUFwRGIsUUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxVQUFVLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLFVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsV0FBVyxDQUFlO0lBQzFCLFlBQVksQ0FBZTtJQUMzQixRQUFRLENBQWU7SUFDdkIsa0JBQWtCLENBQUM7SUFFcEIsaUJBQWlCLEdBQTZCLElBQUksZUFBZSxDQUN0RSxLQUFLLENBQ04sQ0FBQztJQUNLLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBUSxTQUFTLENBQUMsQ0FBQztJQUVqRCxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRS9CLFVBQVUsQ0FBUztJQUVuQixrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFcEM7O09BRUc7SUFDTSxLQUFLLENBQW1CO0lBRXhCLEdBQUcsQ0FBUztJQUVyQjs7T0FFRztJQUNNLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdkI7O09BRUc7SUFDTyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFckQsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU1RDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDL0QsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDekIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBSSxZQUFxQyxDQUFDLFFBQVEsQ0FBQztRQUN0RSxRQUFRLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2pDLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDMUIsS0FBSyxXQUFXLENBQUMsUUFBUTtnQkFDdkIsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtvQkFDM0MsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUN6QjtZQUNILEtBQUssV0FBVyxDQUFDLE1BQU07Z0JBQ3JCLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUU7b0JBQ3JDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztpQkFDMUI7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDekI7WUFDSDtnQkFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVk7YUFDZCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFO1lBQ2xELFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0RCxPQUFPO1NBQ1I7UUFDRCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtvQkFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3BCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2pCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDN0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUNUO2dCQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLEdBQUcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsS0FBWTtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLGFBQWEsR0FDakIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FDakIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxRQUFRO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsVUFBVSxJQUFJLGFBQWEsSUFBSSxVQUFVLElBQUksYUFBYSxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsTUFBTTtnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3pCLE9BQU8sZ0NBQWdDLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7b0JBQzFCLENBQUMsQ0FBQyxxQ0FBcUM7b0JBQ3ZDLENBQUMsQ0FBQywrQ0FBK0MsQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxPQUFPLDZDQUE2QyxDQUFDO2FBQ3REO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUN4QixDQUFDLENBQUMsZ0NBQWdDO2dCQUNsQyxDQUFDLENBQUMsd0NBQXdDLENBQUM7U0FDOUM7SUFDSCxDQUFDO3NGQTdPVSw0QkFBNEI7NkRBQTVCLDRCQUE0QjtZQzlCekMscUNBQWU7WUFDYix1RkFLWTtZQUNaLCtCQU1DO1lBRkMsNkdBQVMsd0JBQW9CLElBQUM7WUFHOUIsWUFDRjtZQUFBLGlCQUFPO1lBRVAsOEJBQXFCO1lBQ25CLG1GQVdTO1lBQ1QseUNBQTJEO1lBRTNELGlDQVNDO1lBUkMseUhBQWMsd0JBQW9CLElBQUMsNEdBQ3JCLHdCQUFvQixJQURDLGtHQU8xQix5QkFBcUIsSUFQSzs7O1lBU25DLCtCQWlCVzs7Ozs7Ozs7WUFDYixpQkFBUyxFQUFBLEVBQUE7WUFJYixrQ0FBdUQ7WUFDckQseUdBTW1COzs7WUFDckIsaUJBQU07O1lBdEVELGVBQWlCO1lBQWpCLHNDQUFpQjtZQVFsQixlQUE4RDtZQUE5RCxnRkFBOEQseUNBQUE7WUFJOUQsZUFDRjtZQURFLDBDQUNGO1lBR1csZUFBNEI7WUFBNUIsaURBQTRCO1lBWWhCLGVBQWU7WUFBZixpQ0FBZTtZQVFsQyxlQUEyQztZQUEzQyx3RUFBMkMsK0VBQUE7WUFPekMsZUFBa0M7WUFBbEMsb0RBQWtDLG1QQUFBLG9FQUFBLDRGQUFBO1lBcUJyQyxnQkFFQTtZQUZBLHVJQUVBOzs7dUZEdENRLDRCQUE0QjtjQU54QyxTQUFTOzJCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTsrREFrQnRDLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxHQUFHO2tCQUFYLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLSSxXQUFXO2tCQUFwQixNQUFNO1lBRUcsbUJBQW1CO2tCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBnZXRFbnRpdHlJY29uLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5ZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBZGRlZENoYW5nZUVtaXR0ZXIsIENhdGFsb2dJdGVtTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgYnJvd3NlciBsYXllciBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcclxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHVibGljIGlzVmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgaXNQcmV2aWV3JCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcclxuXHJcbiAgcHVibGljIGxheWVyTGVnZW5kU2hvd24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgZmFsc2VcclxuICApO1xyXG4gIHB1YmxpYyBpZ29MYXllciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyPih1bmRlZmluZWQpO1xyXG5cclxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcjtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFkZGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWRkL3JlbW92ZSBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhZGRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkZWRDaGFuZ2VFbWl0dGVyPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5sYXllcikgfHwgJ2xheWVycyc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQgPSB0aGlzLmlzUHJldmlldyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cclxuICAgICAgdGhpcy5hZGRlZExheWVySXNQcmV2aWV3LmVtaXQodmFsdWUpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZShcclxuICAgICAgKHJlc29sdXRpb24pID0+IHtcclxuICAgICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb24pO1xyXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlVGl0bGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLm9wdGlvbnM7XHJcbiAgICBpZiAoIWxheWVyT3B0aW9ucy50b29sdGlwKSB7XHJcbiAgICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmxheWVyKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGxheWVyVG9vbHRpcCA9IGxheWVyT3B0aW9ucy50b29sdGlwO1xyXG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xyXG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMudG9vbHRpcC50eXBlKSB7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuVElUTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQUJTVFJBQ1Q6XHJcbiAgICAgICAgaWYgKGxheWVyTWV0YWRhdGEgJiYgbGF5ZXJNZXRhZGF0YS5hYnN0cmFjdCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSBUb29sdGlwVHlwZS5DVVNUT006XHJcbiAgICAgICAgaWYgKGxheWVyVG9vbHRpcCAmJiBsYXllclRvb2x0aXAudGV4dCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTW91c2VFdmVudChldmVudCkge1xyXG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGFza0ZvckxlZ2VuZChldmVudCkge1xyXG4gICAgdGhpcy5sYXllckxlZ2VuZFNob3duJC5uZXh0KCF0aGlzLmxheWVyTGVnZW5kU2hvd24kLnZhbHVlKTtcclxuICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHRoaXMubGF5ZXIub3B0aW9ucylcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZSgobGF5ZXIpID0+IHRoaXMuaWdvTGF5ZXIkLm5leHQobGF5ZXIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInICYmIHRoaXMubW91c2VJbnNpZGVBZGQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NsaWNrJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxyXG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlICYmICF0aGlzLmFkZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlKGV2ZW50KTtcclxuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5hZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoeyBhZGRlZDogZmFsc2UsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhdmVHcm91cCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhKCF0aGlzLmxheWVyLmFkZHJlc3MgfHwgdGhpcy5sYXllci5hZGRyZXNzLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKTtcclxuICB9XHJcblxyXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9XHJcbiAgICAgICF0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxyXG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pXHJcbiAgICAgICAgPyAwXHJcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxyXG4gICAgICAhdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24gfHxcclxuICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uKVxyXG4gICAgICAgID8gSW5maW5pdHlcclxuICAgICAgICA6IHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uO1xyXG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxyXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNWaXNpYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubGF5ZXI/LmlkKSB7XHJcbiAgICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyPy5pZCk7XHJcbiAgICAgIG9MYXllclxyXG4gICAgICAgID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpXHJcbiAgICAgICAgOiB0aGlzLmlzVmlzaWJsZSQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRCYWRnZUljb24oKSB7XHJcbiAgICBpZiAodGhpcy5pblJhbmdlJC5nZXRWYWx1ZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQuZ2V0VmFsdWUoKSA/ICcnIDogJ2V5ZS1vZmYnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdleWUtb2ZmJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXHJcbiAgICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcCdcclxuICAgICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwTm90VmlzaWJsZSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE91dFJhbmdlJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW5SYW5nZSQudmFsdWVcclxuICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwT3V0UmFuZ2UnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWljb25cclxuICAgICpuZ0lmPVwiaGF2ZUdyb3VwKClcIlxyXG4gICAgY2xhc3M9XCJjYXRhbG9nLWJyb3dzZXItbGF5ZXItY2FycmV0XCJcclxuICAgIG1hdExpc3RJdGVtSWNvblxyXG4gICAgc3ZnSWNvbj1cImJsYW5rXCJcclxuICA+PC9tYXQtaWNvbj5cclxuICA8c3BhblxyXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbmdDbGFzc109XCJjYXRhbG9nQWxsb3dMZWdlbmQgPyAnaWdvLWNhdGFsb2dsYXllci10aXRsZScgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiYXNrRm9yTGVnZW5kKCRldmVudClcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRpdGxlVG9vbHRpcCgpXCJcclxuICA+XHJcbiAgICB7eyB0aXRsZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2xheWVyLWV4dGVybmFsLWljb25cIlxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmxheWVyJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxpZ28tbWV0YWRhdGEtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLW1ldGFkYXRhLWJ1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbY29sb3JdPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAnJyA6IGFkZGVkID8gJ3dhcm4nIDogJydcIlxyXG4gICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXHJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICAgICAgICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXHJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzVmlzaWJsZSQgfCBhc3luYykgPT09IHRydWUpIHx8XHJcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHxcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzUHJldmlldyQgfCBhc3luYykpXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbbWF0QmFkZ2VEaXNhYmxlZF09XCIoaW5SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlXCJcclxuICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcclxuICAgICAgICBbc3ZnSWNvbl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAncGx1cydcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG5cclxuPGRpdiAjbGVnZW5kIGNsYXNzPVwiaWdvLWNhdGFsb2dsYXllci1sZWdlbmQtY29udGFpbmVyXCI+XHJcbiAgPGlnby1sYXllci1sZWdlbmRcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIChsYXllckxlZ2VuZFNob3duJCB8IGFzeW5jKSAmJiAoaWdvTGF5ZXIkIHwgYXN5bmMpICYmIGNhdGFsb2dBbGxvd0xlZ2VuZFxyXG4gICAgXCJcclxuICAgIFtsYXllcl09XCJpZ29MYXllciQgfCBhc3luY1wiXHJcbiAgPlxyXG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
|
|
238
|
+
type: Component,
|
|
239
|
+
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\r\n <mat-icon\r\n *ngIf=\"haveGroup()\"\r\n class=\"catalog-browser-layer-carret\"\r\n matListItemIcon\r\n svgIcon=\"blank\"\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\r\n (click)=\"askForLegend($event)\"\r\n [matTooltip]=\"computeTitleTooltip()\"\r\n >\r\n {{ title }}\r\n </span>\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloglayer-external-icon\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n\r\n <button\r\n (mouseenter)=\"onMouseEvent($event)\"\r\n (mouseleave)=\"onMouseEvent($event)\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"computeTooltip() | translate\"\r\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n matBadge=\"icon\"\r\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\r\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\r\n igoMatBadgeBackgroundColor=\"none\"\r\n igoMatBadgeInverseColor=\"true\"\r\n [matBadgeHidden]=\"\r\n ((inRange$ | async) && (isVisible$ | async) === true) ||\r\n ((inRange$ | async) && !added) ||\r\n ((inRange$ | async) && (isPreview$ | async))\r\n \"\r\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"after\"\r\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\"\r\n >\r\n </mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #legend class=\"igo-cataloglayer-legend-container\">\r\n <igo-layer-legend\r\n *ngIf=\"\r\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\r\n \"\r\n [layer]=\"igoLayer$ | async\"\r\n >\r\n </igo-layer-legend>\r\n</div>\r\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
|
|
240
|
+
}], ctorParameters: function () { return [{ type: i1.LayerService }]; }, propDecorators: { resolution: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], catalogAllowLegend: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], layer: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], map: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], added: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], addedChange: [{
|
|
251
|
+
type: Output
|
|
252
|
+
}], addedLayerIsPreview: [{
|
|
253
|
+
type: Output
|
|
254
|
+
}] } });
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBSTlDOztHQUVHO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQXFEbkI7SUFwRGIsUUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxVQUFVLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLFVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsV0FBVyxDQUFlO0lBQzFCLFlBQVksQ0FBZTtJQUMzQixRQUFRLENBQWU7SUFDdkIsa0JBQWtCLENBQUM7SUFFcEIsaUJBQWlCLEdBQTZCLElBQUksZUFBZSxDQUN0RSxLQUFLLENBQ04sQ0FBQztJQUNLLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBUSxTQUFTLENBQUMsQ0FBQztJQUVqRCxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRS9CLFVBQVUsQ0FBUztJQUVuQixrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFcEM7O09BRUc7SUFDTSxLQUFLLENBQW1CO0lBRXhCLEdBQUcsQ0FBUztJQUVyQjs7T0FFRztJQUNNLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdkI7O09BRUc7SUFDTyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFckQsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU1RDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDL0QsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDekIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBSSxZQUFxQyxDQUFDLFFBQVEsQ0FBQztRQUN0RSxRQUFRLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2pDLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDMUIsS0FBSyxXQUFXLENBQUMsUUFBUTtnQkFDdkIsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtvQkFDM0MsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUN6QjtZQUNILEtBQUssV0FBVyxDQUFDLE1BQU07Z0JBQ3JCLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUU7b0JBQ3JDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztpQkFDMUI7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDekI7WUFDSDtnQkFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVk7YUFDZCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFO1lBQ2xELFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0RCxPQUFPO1NBQ1I7UUFDRCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtvQkFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3BCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2pCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDN0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUNUO2dCQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLEdBQUcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsS0FBWTtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLGFBQWEsR0FDakIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FDakIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxRQUFRO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsVUFBVSxJQUFJLGFBQWEsSUFBSSxVQUFVLElBQUksYUFBYSxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsTUFBTTtnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3pCLE9BQU8sZ0NBQWdDLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7b0JBQzFCLENBQUMsQ0FBQyxxQ0FBcUM7b0JBQ3ZDLENBQUMsQ0FBQywrQ0FBK0MsQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxPQUFPLDZDQUE2QyxDQUFDO2FBQ3REO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUN4QixDQUFDLENBQUMsZ0NBQWdDO2dCQUNsQyxDQUFDLENBQUMsd0NBQXdDLENBQUM7U0FDOUM7SUFDSCxDQUFDO3dHQTdPVSw0QkFBNEI7NEZBQTVCLDRCQUE0QixrUkM5QnpDLHk2RUF5RUE7OzRGRDNDYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNO21HQWtCdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGdldEVudGl0eUljb24sIGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBZGRlZENoYW5nZUVtaXR0ZXIsIENhdGFsb2dJdGVtTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgYnJvd3NlciBsYXllciBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcclxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHVibGljIGlzVmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgaXNQcmV2aWV3JCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcclxuXHJcbiAgcHVibGljIGxheWVyTGVnZW5kU2hvd24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgZmFsc2VcclxuICApO1xyXG4gIHB1YmxpYyBpZ29MYXllciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyPih1bmRlZmluZWQpO1xyXG5cclxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcjtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFkZGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWRkL3JlbW92ZSBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhZGRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkZWRDaGFuZ2VFbWl0dGVyPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5sYXllcikgfHwgJ2xheWVycyc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQgPSB0aGlzLmlzUHJldmlldyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cclxuICAgICAgdGhpcy5hZGRlZExheWVySXNQcmV2aWV3LmVtaXQodmFsdWUpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZShcclxuICAgICAgKHJlc29sdXRpb24pID0+IHtcclxuICAgICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb24pO1xyXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlVGl0bGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLm9wdGlvbnM7XHJcbiAgICBpZiAoIWxheWVyT3B0aW9ucy50b29sdGlwKSB7XHJcbiAgICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmxheWVyKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGxheWVyVG9vbHRpcCA9IGxheWVyT3B0aW9ucy50b29sdGlwO1xyXG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xyXG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMudG9vbHRpcC50eXBlKSB7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuVElUTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQUJTVFJBQ1Q6XHJcbiAgICAgICAgaWYgKGxheWVyTWV0YWRhdGEgJiYgbGF5ZXJNZXRhZGF0YS5hYnN0cmFjdCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSBUb29sdGlwVHlwZS5DVVNUT006XHJcbiAgICAgICAgaWYgKGxheWVyVG9vbHRpcCAmJiBsYXllclRvb2x0aXAudGV4dCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTW91c2VFdmVudChldmVudCkge1xyXG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGFza0ZvckxlZ2VuZChldmVudCkge1xyXG4gICAgdGhpcy5sYXllckxlZ2VuZFNob3duJC5uZXh0KCF0aGlzLmxheWVyTGVnZW5kU2hvd24kLnZhbHVlKTtcclxuICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHRoaXMubGF5ZXIub3B0aW9ucylcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZSgobGF5ZXIpID0+IHRoaXMuaWdvTGF5ZXIkLm5leHQobGF5ZXIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInICYmIHRoaXMubW91c2VJbnNpZGVBZGQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NsaWNrJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxyXG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlICYmICF0aGlzLmFkZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlKGV2ZW50KTtcclxuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5hZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoeyBhZGRlZDogZmFsc2UsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhdmVHcm91cCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhKCF0aGlzLmxheWVyLmFkZHJlc3MgfHwgdGhpcy5sYXllci5hZGRyZXNzLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKTtcclxuICB9XHJcblxyXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9XHJcbiAgICAgICF0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxyXG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pXHJcbiAgICAgICAgPyAwXHJcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxyXG4gICAgICAhdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24gfHxcclxuICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uKVxyXG4gICAgICAgID8gSW5maW5pdHlcclxuICAgICAgICA6IHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uO1xyXG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxyXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNWaXNpYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubGF5ZXI/LmlkKSB7XHJcbiAgICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyPy5pZCk7XHJcbiAgICAgIG9MYXllclxyXG4gICAgICAgID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpXHJcbiAgICAgICAgOiB0aGlzLmlzVmlzaWJsZSQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRCYWRnZUljb24oKSB7XHJcbiAgICBpZiAodGhpcy5pblJhbmdlJC5nZXRWYWx1ZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQuZ2V0VmFsdWUoKSA/ICcnIDogJ2V5ZS1vZmYnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdleWUtb2ZmJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXHJcbiAgICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcCdcclxuICAgICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwTm90VmlzaWJsZSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE91dFJhbmdlJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW5SYW5nZSQudmFsdWVcclxuICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwT3V0UmFuZ2UnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWljb25cclxuICAgICpuZ0lmPVwiaGF2ZUdyb3VwKClcIlxyXG4gICAgY2xhc3M9XCJjYXRhbG9nLWJyb3dzZXItbGF5ZXItY2FycmV0XCJcclxuICAgIG1hdExpc3RJdGVtSWNvblxyXG4gICAgc3ZnSWNvbj1cImJsYW5rXCJcclxuICA+PC9tYXQtaWNvbj5cclxuICA8c3BhblxyXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbmdDbGFzc109XCJjYXRhbG9nQWxsb3dMZWdlbmQgPyAnaWdvLWNhdGFsb2dsYXllci10aXRsZScgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiYXNrRm9yTGVnZW5kKCRldmVudClcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRpdGxlVG9vbHRpcCgpXCJcclxuICA+XHJcbiAgICB7eyB0aXRsZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2xheWVyLWV4dGVybmFsLWljb25cIlxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmxheWVyJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxpZ28tbWV0YWRhdGEtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLW1ldGFkYXRhLWJ1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbY29sb3JdPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAnJyA6IGFkZGVkID8gJ3dhcm4nIDogJydcIlxyXG4gICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXHJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICAgICAgICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXHJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzVmlzaWJsZSQgfCBhc3luYykgPT09IHRydWUpIHx8XHJcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHxcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzUHJldmlldyQgfCBhc3luYykpXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbbWF0QmFkZ2VEaXNhYmxlZF09XCIoaW5SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlXCJcclxuICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcclxuICAgICAgICBbc3ZnSWNvbl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAncGx1cydcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG5cclxuPGRpdiAjbGVnZW5kIGNsYXNzPVwiaWdvLWNhdGFsb2dsYXllci1sZWdlbmQtY29udGFpbmVyXCI+XHJcbiAgPGlnby1sYXllci1sZWdlbmRcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIChsYXllckxlZ2VuZFNob3duJCB8IGFzeW5jKSAmJiAoaWdvTGF5ZXIkIHwgYXN5bmMpICYmIGNhdGFsb2dBbGxvd0xlZ2VuZFxyXG4gICAgXCJcclxuICAgIFtsYXllcl09XCJpZ29MYXllciQgfCBhc3luY1wiXHJcbiAgPlxyXG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cclxuPC9kaXY+XHJcbiJdfQ==
|