@igo2/geo 1.15.4 → 16.0.0-rc.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/igo2-geo.mjs +5 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +320 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +319 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +278 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +78 -0
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +223 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +89 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +230 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +91 -0
- package/esm2022/lib/catalog/catalog.module.mjs +48 -0
- package/esm2022/lib/catalog/index.mjs +5 -0
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2022/lib/catalog/shared/catalog.service.mjs +666 -0
- package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
- package/esm2022/lib/catalog/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/datasource.module.mjs +22 -0
- package/esm2022/lib/datasource/index.mjs +3 -0
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +448 -0
- package/esm2022/lib/datasource/shared/datasource.service.mjs +259 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +212 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +109 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +15 -0
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +34 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +43 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +61 -0
- package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +28 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +12 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +51 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +15 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +55 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +79 -0
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +169 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +218 -0
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +222 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +16 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +9 -0
- package/esm2022/lib/datasource/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
- package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2022/lib/datasource/utils/index.mjs +2 -0
- package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +265 -0
- package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +294 -0
- package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +215 -0
- package/esm2022/lib/directions/directions-results/index.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +16 -0
- package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +128 -0
- package/esm2022/lib/directions/directions.component.mjs +349 -0
- package/esm2022/lib/directions/directions.module.mjs +102 -0
- package/esm2022/lib/directions/index.mjs +7 -0
- package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
- package/esm2022/lib/directions/shared/directions.enum.mjs +28 -0
- package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2022/lib/directions/shared/directions.service.mjs +202 -0
- package/esm2022/lib/directions/shared/directions.utils.mjs +559 -0
- package/esm2022/lib/directions/shared/index.mjs +6 -0
- package/esm2022/lib/directions/shared/store.mjs +21 -0
- package/esm2022/lib/download/download-button/download-button.component.mjs +65 -0
- package/esm2022/lib/download/download-button/index.mjs +2 -0
- package/esm2022/lib/download/download.module.mjs +42 -0
- package/esm2022/lib/download/index.mjs +3 -0
- package/esm2022/lib/download/shared/download.interface.mjs +2 -0
- package/esm2022/lib/download/shared/download.service.mjs +67 -0
- package/esm2022/lib/download/shared/index.mjs +3 -0
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +57 -0
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +677 -0
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
- package/esm2022/lib/draw/draw/draw.component.mjs +1369 -0
- package/esm2022/lib/draw/draw/draw.module.mjs +117 -0
- package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
- package/esm2022/lib/draw/index.mjs +3 -0
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
- package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
- package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
- package/esm2022/lib/draw/shared/index.mjs +5 -0
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +440 -0
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +57 -0
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +40 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +120 -0
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +23 -0
- package/esm2022/lib/feature/feature.module.mjs +21 -0
- package/esm2022/lib/feature/index.mjs +4 -0
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +27 -0
- package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2022/lib/feature/shared/feature.utils.mjs +333 -0
- package/esm2022/lib/feature/shared/index.mjs +8 -0
- package/esm2022/lib/feature/shared/store.mjs +143 -0
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +115 -0
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +96 -0
- package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +104 -0
- package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
- package/esm2022/lib/feature/shared/strategies/search.mjs +159 -0
- package/esm2022/lib/feature/shared/strategies/selection.mjs +384 -0
- package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2022/lib/filter/filter.module.mjs +300 -0
- package/esm2022/lib/filter/index.mjs +16 -0
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +153 -0
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +663 -0
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1344 -0
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +226 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +936 -0
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +63 -0
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +320 -0
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +36 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +47 -0
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +55 -0
- package/esm2022/lib/filter/shared/index.mjs +12 -0
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +73 -0
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/ogc-filter.mjs +699 -0
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +48 -0
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +280 -0
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/time-filter.service.mjs +108 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1150 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +244 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +157 -0
- package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +82 -0
- package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +755 -0
- package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +124 -0
- package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +36 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +40 -0
- package/esm2022/lib/geo.module.mjs +106 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +563 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +218 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +56 -0
- package/esm2022/lib/geometry/geometry.module.mjs +20 -0
- package/esm2022/lib/geometry/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
- package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/modify.mjs +541 -0
- package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +26 -0
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +122 -0
- package/esm2022/lib/geometry/shared/index.mjs +5 -0
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +66 -0
- package/esm2022/lib/import-export/export-button/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +1350 -0
- package/esm2022/lib/import-export/import-export/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export.module.mjs +98 -0
- package/esm2022/lib/import-export/index.mjs +4 -0
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +174 -0
- package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/export.service.mjs +205 -0
- package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
- package/esm2022/lib/import-export/shared/export.utils.mjs +47 -0
- package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
- package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
- package/esm2022/lib/import-export/shared/index.mjs +11 -0
- package/esm2022/lib/layer/index.mjs +10 -0
- package/esm2022/lib/layer/layer-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +324 -0
- package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +429 -0
- package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +93 -0
- package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +201 -0
- package/esm2022/lib/layer/layer-list/index.mjs +4 -0
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +69 -0
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +1022 -0
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +19 -0
- package/esm2022/lib/layer/layer-list-tool/index.mjs +5 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +157 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +7 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +22 -0
- package/esm2022/lib/layer/layer.module.mjs +175 -0
- package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2022/lib/layer/shared/index.mjs +5 -0
- package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +268 -0
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/index.mjs +13 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +17 -0
- package/esm2022/lib/layer/shared/layers/layer.mjs +184 -0
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +50 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +562 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +107 -0
- package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +60 -0
- package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2022/lib/layer/utils/index.mjs +6 -0
- package/esm2022/lib/layer/utils/layer.utils.mjs +11 -0
- package/esm2022/lib/layer/utils/outputLegend.mjs +28 -0
- package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
- package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +16 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +120 -0
- package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +155 -0
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +87 -0
- package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +80 -0
- package/esm2022/lib/map/home-extent-button/index.mjs +2 -0
- package/esm2022/lib/map/index.mjs +14 -0
- package/esm2022/lib/map/info-section/index.mjs +2 -0
- package/esm2022/lib/map/info-section/info-section.component.mjs +29 -0
- package/esm2022/lib/map/map-browser/index.mjs +2 -0
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +74 -0
- package/esm2022/lib/map/map-center/index.mjs +2 -0
- package/esm2022/lib/map/map-center/map-center.component.mjs +61 -0
- package/esm2022/lib/map/map.module.mjs +120 -0
- package/esm2022/lib/map/menu-button/index.mjs +2 -0
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +66 -0
- package/esm2022/lib/map/offline-button/index.mjs +2 -0
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +55 -0
- package/esm2022/lib/map/rotation-button/index.mjs +2 -0
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +73 -0
- package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
- package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
- package/esm2022/lib/map/shared/controllers/view.mjs +360 -0
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +493 -0
- package/esm2022/lib/map/shared/index.mjs +15 -0
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +248 -0
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +121 -0
- package/esm2022/lib/map/shared/map.abstract.mjs +23 -0
- package/esm2022/lib/map/shared/map.enums.mjs +6 -0
- package/esm2022/lib/map/shared/map.interface.mjs +2 -0
- package/esm2022/lib/map/shared/map.mjs +434 -0
- package/esm2022/lib/map/shared/map.service.mjs +30 -0
- package/esm2022/lib/map/shared/map.utils.mjs +456 -0
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +107 -0
- package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2022/lib/map/shared/projection.service.mjs +67 -0
- package/esm2022/lib/map/shared/projection.utils.mjs +64 -0
- package/esm2022/lib/map/swipe-control/index.mjs +2 -0
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +219 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +78 -0
- package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +106 -0
- package/esm2022/lib/map/zoom-button/index.mjs +2 -0
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +49 -0
- package/esm2022/lib/measure/index.mjs +4 -0
- package/esm2022/lib/measure/measure.module.mjs +18 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +39 -0
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +184 -0
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +162 -0
- package/esm2022/lib/measure/measurer/measurer.component.mjs +1121 -0
- package/esm2022/lib/measure/measurer/measurer.module.mjs +95 -0
- package/esm2022/lib/measure/shared/index.mjs +4 -0
- package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
- package/esm2022/lib/metadata/index.mjs +3 -0
- package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +140 -0
- package/esm2022/lib/metadata/metadata.module.mjs +47 -0
- package/esm2022/lib/metadata/shared/index.mjs +3 -0
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2022/lib/metadata/shared/metadata.service.mjs +19 -0
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +128 -0
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +175 -0
- package/esm2022/lib/offline/geoDB/index.mjs +5 -0
- package/esm2022/lib/offline/index.mjs +4 -0
- package/esm2022/lib/offline/layerDB/index.mjs +3 -0
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +84 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +87 -0
- package/esm2022/lib/offline/shared/index.mjs +2 -0
- package/esm2022/lib/overlay/index.mjs +2 -0
- package/esm2022/lib/overlay/overlay.module.mjs +23 -0
- package/esm2022/lib/overlay/shared/index.mjs +6 -0
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +38 -0
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2022/lib/overlay/shared/overlay.mjs +138 -0
- package/esm2022/lib/overlay/shared/overlay.service.mjs +26 -0
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
- package/esm2022/lib/print/index.mjs +4 -0
- package/esm2022/lib/print/print/print.component.mjs +122 -0
- package/esm2022/lib/print/print-form/index.mjs +2 -0
- package/esm2022/lib/print/print-form/print-form.component.mjs +580 -0
- package/esm2022/lib/print/print.module.mjs +65 -0
- package/esm2022/lib/print/shared/geopdf.mjs +68 -0
- package/esm2022/lib/print/shared/index.mjs +5 -0
- package/esm2022/lib/print/shared/print.interface.mjs +2 -0
- package/esm2022/lib/print/shared/print.service.mjs +1093 -0
- package/esm2022/lib/print/shared/print.type.mjs +30 -0
- package/esm2022/lib/query/index.mjs +2 -0
- package/esm2022/lib/query/query.module.mjs +29 -0
- package/esm2022/lib/query/shared/index.mjs +7 -0
- package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2022/lib/query/shared/query.directive.mjs +285 -0
- package/esm2022/lib/query/shared/query.enums.mjs +30 -0
- package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2022/lib/query/shared/query.service.mjs +753 -0
- package/esm2022/lib/query/shared/query.utils.mjs +41 -0
- package/esm2022/lib/search/index.mjs +12 -0
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +559 -0
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +73 -0
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +40 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +132 -0
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +456 -0
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +166 -0
- package/esm2022/lib/search/search-results/search-results.component.mjs +480 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +104 -0
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +133 -0
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +56 -0
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +448 -0
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +60 -0
- package/esm2022/lib/search/search.module.mjs +67 -0
- package/esm2022/lib/search/shared/index.mjs +9 -0
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +337 -0
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
- package/esm2022/lib/search/shared/search.enums.mjs +4 -0
- package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/search.service.mjs +130 -0
- package/esm2022/lib/search/shared/search.utils.mjs +92 -0
- package/esm2022/lib/search/shared/sources/cadastre.mjs +139 -0
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +23 -0
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/coordinates.mjs +166 -0
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +40 -0
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/icherche.mjs +796 -0
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +66 -0
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/ilayer.mjs +335 -0
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +46 -0
- package/esm2022/lib/search/shared/sources/index.mjs +23 -0
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +23 -0
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/source.mjs +220 -0
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +455 -0
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +41 -0
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/workspace.mjs +191 -0
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +22 -0
- package/esm2022/lib/style/index.mjs +5 -0
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +359 -0
- package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
- package/esm2022/lib/style/shared/feature/feature-style.mjs +161 -0
- package/esm2022/lib/style/shared/feature/index.mjs +2 -0
- package/esm2022/lib/style/shared/font.enum.mjs +17 -0
- package/esm2022/lib/style/shared/index.mjs +5 -0
- package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +45 -0
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
- package/esm2022/lib/style/shared/vector/index.mjs +4 -0
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/index.mjs +5 -0
- package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
- package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
- package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
- package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
- package/esm2022/lib/style/style-modal/index.mjs +5 -0
- package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +182 -0
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +48 -0
- package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
- package/esm2022/lib/style/style-service/draw-style.service.mjs +256 -0
- package/esm2022/lib/style/style-service/index.mjs +3 -0
- package/esm2022/lib/style/style-service/style.service.mjs +393 -0
- package/esm2022/lib/style/style.module.mjs +92 -0
- package/esm2022/lib/toast/index.mjs +2 -0
- package/esm2022/lib/toast/toast.component.mjs +119 -0
- package/esm2022/lib/toast/toast.module.mjs +45 -0
- package/esm2022/lib/utils/googleLinks.mjs +13 -0
- package/esm2022/lib/utils/id-generator.mjs +110 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/osmLinks.mjs +9 -0
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
- package/esm2022/lib/wkt/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/wkt.service.mjs +236 -0
- package/esm2022/lib/wkt/wkt.module.mjs +22 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +52 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +36 -0
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2022/lib/workspace/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +304 -0
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +711 -0
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +109 -0
- package/esm2022/lib/workspace/shared/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +102 -0
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +225 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +185 -0
- package/esm2022/lib/workspace/widgets/index.mjs +4 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +52 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +25 -0
- package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +167 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +22 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +135 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +22 -0
- package/esm2022/lib/workspace/workspace.module.mjs +58 -0
- package/esm2022/public_api.mjs +57 -0
- package/fesm2022/igo2-geo.mjs +48131 -0
- package/fesm2022/igo2-geo.mjs.map +1 -0
- package/geo-theme.scss +21 -0
- package/index.d.ts +5 -5
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +117 -117
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +77 -77
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +99 -99
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +64 -64
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
- package/lib/catalog/catalog.module.d.ts +14 -14
- package/lib/catalog/index.d.ts +4 -4
- package/lib/catalog/shared/catalog.abstract.d.ts +41 -50
- package/lib/catalog/shared/catalog.enum.d.ts +14 -14
- package/lib/catalog/shared/catalog.interface.d.ts +76 -76
- package/lib/catalog/shared/catalog.service.d.ts +36 -36
- package/lib/catalog/shared/catalogs.d.ts +35 -0
- package/lib/catalog/shared/index.d.ts +4 -4
- package/lib/datasource/datasource.module.d.ts +8 -8
- package/lib/datasource/index.d.ts +2 -2
- package/lib/datasource/shared/capabilities.service.d.ts +37 -37
- package/lib/datasource/shared/datasource.service.d.ts +37 -37
- package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
- package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
- package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +113 -113
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +23 -23
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/index.d.ts +35 -35
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +45 -31
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +37 -32
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
- package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/index.d.ts +4 -4
- package/lib/datasource/shared/options/index.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
- package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
- package/lib/datasource/shared/options/options.service.d.ts +6 -6
- package/lib/datasource/utils/index.d.ts +1 -1
- package/lib/datasource/utils/tilegrid.d.ts +2 -2
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +35 -30
- package/lib/directions/directions-buttons/index.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
- package/lib/directions/directions-inputs/index.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
- package/lib/directions/directions-results/directions-results.theming.scss +10 -0
- package/lib/directions/directions-results/index.d.ts +1 -1
- package/lib/directions/directions-sources/directions-source.d.ts +7 -7
- package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
- package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
- package/lib/directions/directions-sources/index.d.ts +4 -4
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +24 -23
- package/lib/directions/directions.component.d.ts +56 -56
- package/lib/directions/directions.module.d.ts +26 -26
- package/lib/directions/directions.theming.scss +6 -0
- package/lib/directions/index.d.ts +6 -6
- package/lib/directions/shared/directions-source.service.d.ts +11 -11
- package/lib/directions/shared/directions.enum.d.ts +22 -22
- package/lib/directions/shared/directions.interface.d.ts +126 -126
- package/lib/directions/shared/directions.service.d.ts +28 -13
- package/lib/directions/shared/directions.utils.d.ts +42 -42
- package/lib/directions/shared/index.d.ts +5 -5
- package/lib/directions/shared/store.d.ts +18 -18
- package/lib/download/download-button/download-button.component.d.ts +18 -18
- package/lib/download/download-button/index.d.ts +1 -1
- package/lib/download/download.module.d.ts +14 -14
- package/lib/download/index.d.ts +2 -2
- package/lib/download/shared/download.interface.d.ts +10 -10
- package/lib/download/shared/download.service.d.ts +10 -10
- package/lib/download/shared/index.d.ts +2 -2
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
- package/lib/draw/draw/draw-popup.component.d.ts +63 -63
- package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
- package/lib/draw/draw/draw.component.d.ts +240 -240
- package/lib/draw/draw/draw.module.d.ts +33 -34
- package/lib/draw/draw.theming.scss +32 -0
- package/lib/draw/drawingTool.module.d.ts +7 -7
- package/lib/draw/index.d.ts +2 -2
- package/lib/draw/shared/draw-icon.service.d.ts +12 -12
- package/lib/draw/shared/draw.enum.d.ts +17 -17
- package/lib/draw/shared/draw.interface.d.ts +40 -40
- package/lib/draw/shared/draw.utils.d.ts +35 -35
- package/lib/draw/shared/index.d.ts +4 -4
- package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
- package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
- package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
- package/lib/feature/feature-details/feature-details.theming.scss +16 -0
- package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
- package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
- package/lib/feature/feature.module.d.ts +9 -9
- package/lib/feature/feature.theming.scss +4 -0
- package/lib/feature/index.d.ts +3 -3
- package/lib/feature/shared/feature-store.utils.d.ts +10 -0
- package/lib/feature/shared/feature.enums.d.ts +7 -7
- package/lib/feature/shared/feature.interfaces.d.ts +82 -79
- package/lib/feature/shared/feature.utils.d.ts +97 -106
- package/lib/feature/shared/index.d.ts +7 -6
- package/lib/feature/shared/store.d.ts +78 -78
- package/lib/feature/shared/strategies/geo-properties.d.ts +61 -0
- package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
- package/lib/feature/shared/strategies/index.d.ts +7 -6
- package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
- package/lib/feature/shared/strategies/loading.d.ts +75 -75
- package/lib/feature/shared/strategies/search.d.ts +55 -55
- package/lib/feature/shared/strategies/selection.d.ts +176 -176
- package/lib/feature/shared/strategies.utils.d.ts +17 -17
- package/lib/filter/filter.module.d.ts +53 -53
- package/lib/filter/filter.theming.scss +16 -0
- package/lib/filter/index.d.ts +15 -15
- package/lib/filter/ogc-filter-button/index.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
- package/lib/filter/ogc-filter-form/index.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
- package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -0
- package/lib/filter/ogc-filter-time/index.d.ts +2 -2
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +15 -0
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
- package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
- package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
- package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
- package/lib/filter/shared/index.d.ts +11 -11
- package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
- package/lib/filter/shared/ogc-filter.d.ts +29 -29
- package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
- package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
- package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
- package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
- package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
- package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
- package/lib/filter/shared/time-filter.enum.d.ts +10 -10
- package/lib/filter/shared/time-filter.interface.d.ts +15 -29
- package/lib/filter/shared/time-filter.service.d.ts +11 -11
- package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
- package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +57 -57
- package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
- package/lib/filter/time-filter-button/index.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
- package/lib/filter/time-filter-form/index.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
- package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -0
- package/lib/filter/time-filter-item/index.d.ts +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
- package/lib/filter/time-filter-list/index.d.ts +2 -2
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
- package/lib/geo.module.d.ts +29 -29
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +202 -202
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
- package/lib/geometry/geometry.module.d.ts +8 -8
- package/lib/geometry/index.d.ts +3 -3
- package/lib/geometry/shared/controls/draw.d.ts +150 -150
- package/lib/geometry/shared/controls/index.d.ts +3 -3
- package/lib/geometry/shared/controls/modify.d.ts +228 -228
- package/lib/geometry/shared/controls/slice.d.ts +99 -99
- package/lib/geometry/shared/geometry.errors.d.ts +11 -11
- package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
- package/lib/geometry/shared/geometry.utils.d.ts +45 -45
- package/lib/geometry/shared/index.d.ts +4 -4
- package/lib/import-export/export-button/export-button.component.d.ts +16 -16
- package/lib/import-export/export-button/index.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +109 -109
- package/lib/import-export/import-export/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +25 -25
- package/lib/import-export/index.d.ts +3 -3
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +39 -39
- package/lib/import-export/shared/export.errors.d.ts +8 -8
- package/lib/import-export/shared/export.interface.d.ts +11 -11
- package/lib/import-export/shared/export.service.d.ts +30 -30
- package/lib/import-export/shared/export.type.d.ts +16 -16
- package/lib/import-export/shared/export.utils.d.ts +19 -19
- package/lib/import-export/shared/import.errors.d.ts +20 -20
- package/lib/import-export/shared/import.interface.d.ts +10 -10
- package/lib/import-export/shared/import.service.d.ts +31 -31
- package/lib/import-export/shared/import.utils.d.ts +20 -20
- package/lib/import-export/shared/index.d.ts +10 -10
- package/lib/layer/index.d.ts +9 -9
- package/lib/layer/layer-item/index.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
- package/lib/layer/layer-legend/index.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
- package/lib/layer/layer-legend/layer-legend.theming.scss +10 -0
- package/lib/layer/layer-legend-item/index.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
- package/lib/layer/layer-legend-list/index.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
- package/lib/layer/layer-list/index.d.ts +3 -3
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
- package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
- package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
- package/lib/layer/layer-list-tool/index.d.ts +4 -4
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
- package/lib/layer/layer-list-tool/layer-list-tool.theming.scss +22 -0
- package/lib/layer/layer.module.d.ts +34 -35
- package/lib/layer/layer.theming.scss +24 -0
- package/lib/layer/shared/clusterParam.d.ts +13 -13
- package/lib/layer/shared/index.d.ts +4 -4
- package/lib/layer/shared/layer.enums.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +33 -33
- package/lib/layer/shared/layers/any-layer.d.ts +6 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
- package/lib/layer/shared/layers/image-layer.d.ts +21 -21
- package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
- package/lib/layer/shared/layers/index.d.ts +12 -12
- package/lib/layer/shared/layers/layer.d.ts +66 -66
- package/lib/layer/shared/layers/layer.interface.d.ts +90 -109
- package/lib/layer/shared/layers/legend.interface.d.ts +22 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
- package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
- package/lib/layer/shared/layers/vector-layer.d.ts +94 -94
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +42 -42
- package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +16 -16
- package/lib/layer/track-feature-button/index.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
- package/lib/layer/utils/image-watcher.d.ts +16 -16
- package/lib/layer/utils/index.d.ts +5 -5
- package/lib/layer/utils/layer.utils.d.ts +2 -2
- package/lib/layer/utils/outputLegend.d.ts +7 -7
- package/lib/layer/utils/tile-watcher.d.ts +14 -14
- package/lib/layer/utils/vector-watcher.d.ts +13 -13
- package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +22 -21
- package/lib/map/baselayers-switcher/index.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
- package/lib/map/geolocate-button/index.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
- package/lib/map/home-extent-button/index.d.ts +1 -1
- package/lib/map/index.d.ts +13 -13
- package/lib/map/info-section/index.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +7 -7
- package/lib/map/map-browser/index.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +25 -25
- package/lib/map/map-browser/map-browser.theming.scss +46 -0
- package/lib/map/map-center/index.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +31 -31
- package/lib/map/map.module.d.ts +28 -28
- package/lib/map/map.theming.scss +9 -0
- package/lib/map/menu-button/index.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +17 -17
- package/lib/map/menu-button/menu-button.theming.scss +24 -0
- package/lib/map/offline-button/index.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +15 -15
- package/lib/map/rotation-button/index.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
- package/lib/map/shared/controllers/controller.d.ts +29 -29
- package/lib/map/shared/controllers/geolocation.d.ts +95 -127
- package/lib/map/shared/controllers/geolocation.interface.d.ts +30 -0
- package/lib/map/shared/controllers/index.d.ts +4 -3
- package/lib/map/shared/controllers/view.d.ts +200 -200
- package/lib/map/shared/hover-feature.directive.d.ts +124 -124
- package/lib/map/shared/index.d.ts +14 -13
- package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
- package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
- package/lib/map/shared/map.abstract.d.ts +59 -0
- package/lib/map/shared/map.d.ts +140 -135
- package/lib/map/shared/map.enums.d.ts +4 -4
- package/lib/map/shared/map.interface.d.ts +57 -57
- package/lib/map/shared/map.service.d.ts +19 -19
- package/lib/map/shared/map.utils.d.ts +90 -90
- package/lib/map/shared/mapOffline.directive.d.ts +18 -18
- package/lib/map/shared/projection.interfaces.d.ts +29 -29
- package/lib/map/shared/projection.service.d.ts +19 -19
- package/lib/map/shared/projection.utils.d.ts +19 -19
- package/lib/map/swipe-control/index.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
- package/lib/map/utils/layer-watcher.d.ts +20 -20
- package/lib/map/wake-lock-button/index.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +27 -27
- package/lib/map/zoom-button/index.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
- package/lib/map/zoom-button/zoom-button.theming.scss +32 -0
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measure.theming.scss +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
- package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
- package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
- package/lib/measure/measurer/measurer.component.d.ts +405 -405
- package/lib/measure/measurer/measurer.module.d.ts +26 -25
- package/lib/measure/measurer/measurer.theming.scss +26 -0
- package/lib/measure/shared/index.d.ts +3 -3
- package/lib/measure/shared/measure.enum.d.ts +33 -33
- package/lib/measure/shared/measure.interfaces.d.ts +21 -21
- package/lib/measure/shared/measure.utils.d.ts +180 -180
- package/lib/metadata/index.d.ts +2 -2
- package/lib/metadata/metadata-button/index.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
- package/lib/metadata/metadata.module.d.ts +15 -15
- package/lib/metadata/shared/index.d.ts +2 -2
- package/lib/metadata/shared/metadata.interface.d.ts +13 -13
- package/lib/metadata/shared/metadata.service.d.ts +8 -8
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
- package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
- package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
- package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
- package/lib/offline/geoDB/index.d.ts +4 -4
- package/lib/offline/index.d.ts +3 -3
- package/lib/offline/layerDB/index.d.ts +2 -2
- package/lib/offline/layerDB/layerDB.interface.d.ts +7 -7
- package/lib/offline/layerDB/layerDB.service.d.ts +36 -36
- package/lib/offline/shared/geo-network.service.d.ts +28 -28
- package/lib/offline/shared/index.d.ts +1 -1
- package/lib/overlay/index.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +9 -9
- package/lib/overlay/shared/index.d.ts +5 -5
- package/lib/overlay/shared/overlay.d.ts +81 -81
- package/lib/overlay/shared/overlay.directive.d.ts +18 -18
- package/lib/overlay/shared/overlay.enum.d.ts +6 -6
- package/lib/overlay/shared/overlay.service.d.ts +14 -14
- package/lib/overlay/shared/overlay.utils.d.ts +6 -6
- package/lib/print/index.d.ts +3 -3
- package/lib/print/print/print.component.d.ts +35 -35
- package/lib/print/print-form/index.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +99 -99
- package/lib/print/print.module.d.ts +19 -19
- package/lib/print/shared/geopdf.d.ts +1 -1
- package/lib/print/shared/index.d.ts +4 -4
- package/lib/print/shared/print.interface.d.ts +22 -22
- package/lib/print/shared/print.service.d.ts +171 -174
- package/lib/print/shared/print.type.d.ts +45 -45
- package/lib/query/index.d.ts +1 -1
- package/lib/query/query.module.d.ts +11 -11
- package/lib/query/shared/index.d.ts +6 -6
- package/lib/query/shared/query-search-source.d.ts +17 -17
- package/lib/query/shared/query-search-source.providers.d.ts +17 -17
- package/lib/query/shared/query.directive.d.ts +105 -105
- package/lib/query/shared/query.enums.d.ts +26 -26
- package/lib/query/shared/query.interfaces.d.ts +35 -35
- package/lib/query/shared/query.service.d.ts +56 -56
- package/lib/query/shared/query.utils.d.ts +27 -27
- package/lib/search/index.d.ts +11 -11
- package/lib/search/search-bar/search-bar.component.d.ts +231 -230
- package/lib/search/search-bar/search-bar.module.d.ts +24 -23
- package/lib/search/search-bar/search-bar.theming.scss +36 -0
- package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
- package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
- package/lib/search/search-results/search-results-add-button.component.d.ts +84 -84
- package/lib/search/search-results/search-results-item.component.d.ts +52 -52
- package/lib/search/search-results/search-results.component.d.ts +165 -165
- package/lib/search/search-results/search-results.module.d.ts +29 -29
- package/lib/search/search-selector/search-selector.component.d.ts +58 -58
- package/lib/search/search-selector/search-selector.module.d.ts +19 -19
- package/lib/search/search-settings/search-settings.component.d.ts +102 -102
- package/lib/search/search-settings/search-settings.module.d.ts +20 -20
- package/lib/search/search.module.d.ts +14 -14
- package/lib/search/search.theming.scss +5 -0
- package/lib/search/shared/index.d.ts +8 -8
- package/lib/search/shared/search-pointer-summary.directive.d.ts +125 -124
- package/lib/search/shared/search-source-service.providers.d.ts +15 -15
- package/lib/search/shared/search-source.service.d.ts +39 -39
- package/lib/search/shared/search.enums.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +54 -29
- package/lib/search/shared/search.service.d.ts +53 -53
- package/lib/search/shared/search.utils.d.ts +39 -39
- package/lib/search/shared/sources/cadastre.d.ts +34 -33
- package/lib/search/shared/sources/cadastre.providers.d.ts +18 -18
- package/lib/search/shared/sources/coordinates.d.ts +40 -40
- package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
- package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
- package/lib/search/shared/sources/icherche.d.ts +98 -96
- package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
- package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
- package/lib/search/shared/sources/ilayer.d.ts +56 -55
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
- package/lib/search/shared/sources/index.d.ts +22 -22
- package/lib/search/shared/sources/nominatim.d.ts +46 -45
- package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
- package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
- package/lib/search/shared/sources/source.d.ts +86 -114
- package/lib/search/shared/sources/source.interfaces.d.ts +54 -47
- package/lib/search/shared/sources/storedqueries.d.ts +75 -73
- package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
- package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
- package/lib/search/shared/sources/workspace.d.ts +33 -33
- package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -9
- package/lib/search/shared/sources/workspace.providers.d.ts +17 -17
- package/lib/style/index.d.ts +4 -4
- package/lib/style/shared/datasource/esri-style-generator.d.ts +21 -21
- package/lib/style/shared/datasource/index.d.ts +1 -1
- package/lib/style/shared/feature/feature-style.d.ts +18 -18
- package/lib/style/shared/feature/index.d.ts +1 -1
- package/lib/style/shared/font.enum.d.ts +15 -15
- package/lib/style/shared/index.d.ts +4 -4
- package/lib/style/shared/overlay/index.d.ts +2 -2
- package/lib/style/shared/overlay/overlay-marker-style.utils.d.ts +11 -11
- package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -19
- package/lib/style/shared/vector/commonVectorStyle.d.ts +14 -14
- package/lib/style/shared/vector/conversion.utils.d.ts +22 -22
- package/lib/style/shared/vector/index.d.ts +3 -3
- package/lib/style/shared/vector/vector-style.interface.d.ts +69 -69
- package/lib/style/style-list/index.d.ts +4 -4
- package/lib/style/style-list/style-list.interface.d.ts +6 -6
- package/lib/style/style-list/style-list.module.d.ts +8 -8
- package/lib/style/style-list/style-list.provider.d.ts +15 -15
- package/lib/style/style-list/style-list.service.d.ts +18 -18
- package/lib/style/style-modal/drawing/index.d.ts +1 -1
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +33 -31
- package/lib/style/style-modal/index.d.ts +4 -4
- package/lib/style/style-modal/layer/index.d.ts +1 -1
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +32 -30
- package/lib/style/style-modal/layer-button/index.d.ts +1 -1
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -14
- package/lib/style/style-modal/shared/index.d.ts +1 -1
- package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -17
- package/lib/style/style-service/draw-style.service.d.ts +35 -35
- package/lib/style/style-service/index.d.ts +2 -2
- package/lib/style/style-service/style.service.d.ts +57 -57
- package/lib/style/style.module.d.ts +23 -22
- package/lib/toast/index.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +33 -33
- package/lib/toast/toast.module.d.ts +14 -14
- package/lib/utils/googleLinks.d.ts +5 -5
- package/lib/utils/id-generator.d.ts +54 -54
- package/lib/utils/index.d.ts +4 -3
- package/lib/utils/osmLinks.d.ts +4 -4
- package/lib/utils/propertyTypeDetector/index.d.ts +2 -0
- package/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.d.ts +5 -0
- package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +15 -0
- package/lib/wkt/index.d.ts +1 -1
- package/lib/wkt/shared/index.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +19 -19
- package/lib/wkt/wkt.module.d.ts +8 -8
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
- package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -0
- package/lib/workspace/confirmation-popup/index.d.ts +2 -2
- package/lib/workspace/index.d.ts +7 -7
- package/lib/workspace/shared/edition-workspace.d.ts +84 -82
- package/lib/workspace/shared/edition-workspace.service.d.ts +50 -51
- package/lib/workspace/shared/feature-workspace.d.ts +18 -18
- package/lib/workspace/shared/feature-workspace.service.d.ts +22 -19
- package/lib/workspace/shared/index.d.ts +7 -7
- package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
- package/lib/workspace/shared/wfs-workspace.service.d.ts +22 -19
- package/lib/workspace/shared/wms-workspace.service.d.ts +24 -22
- package/lib/workspace/shared/workspace.utils.d.ts +23 -10
- package/lib/workspace/widgets/index.d.ts +3 -3
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
- package/lib/workspace/widgets/widgets.d.ts +9 -9
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
- package/lib/workspace/workspace.module.d.ts +14 -14
- package/lib/workspace/workspace.theming.scss +6 -0
- package/locale/en.geo.json +807 -0
- package/locale/fr.geo.json +808 -0
- package/package.json +38 -38
- package/public_api.d.ts +53 -53
- package/style/style.css +350 -0
- package/esm2020/igo2-geo.mjs +0 -5
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -303
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -306
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -250
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -80
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -209
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -79
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +0 -212
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +0 -95
- package/esm2020/lib/catalog/catalog.module.mjs +0 -53
- package/esm2020/lib/catalog/index.mjs +0 -5
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +0 -95
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +0 -16
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +0 -2
- package/esm2020/lib/catalog/shared/catalog.service.mjs +0 -604
- package/esm2020/lib/catalog/shared/index.mjs +0 -5
- package/esm2020/lib/datasource/datasource.module.mjs +0 -22
- package/esm2020/lib/datasource/index.mjs +0 -3
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +0 -431
- package/esm2020/lib/datasource/shared/datasource.service.mjs +0 -232
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -145
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +0 -109
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -15
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +0 -3
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +0 -29
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +0 -43
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -57
- package/esm2020/lib/datasource/shared/datasources/index.mjs +0 -36
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -28
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +0 -12
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -49
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -15
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -54
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -72
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +0 -152
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +0 -206
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -207
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -16
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -9
- package/esm2020/lib/datasource/shared/index.mjs +0 -5
- package/esm2020/lib/datasource/shared/options/index.mjs +0 -5
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +0 -15
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +0 -81
- package/esm2020/lib/datasource/shared/options/options.service.mjs +0 -3
- package/esm2020/lib/datasource/utils/index.mjs +0 -2
- package/esm2020/lib/datasource/utils/tilegrid.mjs +0 -20
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -218
- package/esm2020/lib/directions/directions-buttons/index.mjs +0 -2
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -290
- package/esm2020/lib/directions/directions-inputs/index.mjs +0 -2
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +0 -196
- package/esm2020/lib/directions/directions-results/index.mjs +0 -2
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +0 -2
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +0 -3
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +0 -16
- package/esm2020/lib/directions/directions-sources/index.mjs +0 -5
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +0 -99
- package/esm2020/lib/directions/directions.component.mjs +0 -311
- package/esm2020/lib/directions/directions.module.mjs +0 -102
- package/esm2020/lib/directions/index.mjs +0 -7
- package/esm2020/lib/directions/shared/directions-source.service.mjs +0 -17
- package/esm2020/lib/directions/shared/directions.enum.mjs +0 -28
- package/esm2020/lib/directions/shared/directions.interface.mjs +0 -2
- package/esm2020/lib/directions/shared/directions.service.mjs +0 -29
- package/esm2020/lib/directions/shared/directions.utils.mjs +0 -509
- package/esm2020/lib/directions/shared/index.mjs +0 -6
- package/esm2020/lib/directions/shared/store.mjs +0 -24
- package/esm2020/lib/download/download-button/download-button.component.mjs +0 -61
- package/esm2020/lib/download/download-button/index.mjs +0 -2
- package/esm2020/lib/download/download.module.mjs +0 -42
- package/esm2020/lib/download/index.mjs +0 -3
- package/esm2020/lib/download/shared/download.interface.mjs +0 -2
- package/esm2020/lib/download/shared/download.service.mjs +0 -62
- package/esm2020/lib/download/shared/index.mjs +0 -3
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +0 -55
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +0 -591
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +0 -48
- package/esm2020/lib/draw/draw/draw.component.mjs +0 -1300
- package/esm2020/lib/draw/draw/draw.module.mjs +0 -113
- package/esm2020/lib/draw/drawingTool.module.mjs +0 -20
- package/esm2020/lib/draw/index.mjs +0 -3
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +0 -27
- package/esm2020/lib/draw/shared/draw.enum.mjs +0 -21
- package/esm2020/lib/draw/shared/draw.interface.mjs +0 -2
- package/esm2020/lib/draw/shared/draw.utils.mjs +0 -122
- package/esm2020/lib/draw/shared/index.mjs +0 -5
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +0 -404
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +0 -54
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +0 -48
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +0 -112
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +0 -34
- package/esm2020/lib/feature/feature.module.mjs +0 -28
- package/esm2020/lib/feature/index.mjs +0 -4
- package/esm2020/lib/feature/shared/feature.enums.mjs +0 -9
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +0 -2
- package/esm2020/lib/feature/shared/feature.utils.mjs +0 -349
- package/esm2020/lib/feature/shared/index.mjs +0 -7
- package/esm2020/lib/feature/shared/store.mjs +0 -133
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +0 -113
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +0 -94
- package/esm2020/lib/feature/shared/strategies/index.mjs +0 -7
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +0 -104
- package/esm2020/lib/feature/shared/strategies/loading.mjs +0 -133
- package/esm2020/lib/feature/shared/strategies/search.mjs +0 -150
- package/esm2020/lib/feature/shared/strategies/selection.mjs +0 -370
- package/esm2020/lib/feature/shared/strategies.utils.mjs +0 -37
- package/esm2020/lib/filter/filter.module.mjs +0 -289
- package/esm2020/lib/filter/index.mjs +0 -16
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -140
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -645
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -1302
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +0 -3
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -177
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -898
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -59
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -307
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +0 -3
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -31
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -44
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +0 -55
- package/esm2020/lib/filter/shared/index.mjs +0 -12
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +0 -30
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/ogc-filter.mjs +0 -692
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +0 -46
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +0 -23
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +0 -269
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +0 -13
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/time-filter.service.mjs +0 -107
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -1089
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -207
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -144
- package/esm2020/lib/filter/time-filter-button/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -78
- package/esm2020/lib/filter/time-filter-form/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -734
- package/esm2020/lib/filter/time-filter-item/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -119
- package/esm2020/lib/filter/time-filter-list/index.mjs +0 -3
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -31
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -39
- package/esm2020/lib/geo.module.mjs +0 -106
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -522
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -189
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -64
- package/esm2020/lib/geometry/geometry.module.mjs +0 -27
- package/esm2020/lib/geometry/index.mjs +0 -4
- package/esm2020/lib/geometry/shared/controls/draw.mjs +0 -314
- package/esm2020/lib/geometry/shared/controls/index.mjs +0 -4
- package/esm2020/lib/geometry/shared/controls/modify.mjs +0 -521
- package/esm2020/lib/geometry/shared/controls/slice.mjs +0 -177
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +0 -26
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +0 -2
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +0 -122
- package/esm2020/lib/geometry/shared/index.mjs +0 -5
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +0 -64
- package/esm2020/lib/import-export/export-button/index.mjs +0 -2
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +0 -1228
- package/esm2020/lib/import-export/import-export/index.mjs +0 -2
- package/esm2020/lib/import-export/import-export.module.mjs +0 -92
- package/esm2020/lib/import-export/index.mjs +0 -4
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +0 -152
- package/esm2020/lib/import-export/shared/export.errors.mjs +0 -15
- package/esm2020/lib/import-export/shared/export.interface.mjs +0 -2
- package/esm2020/lib/import-export/shared/export.service.mjs +0 -195
- package/esm2020/lib/import-export/shared/export.type.mjs +0 -4
- package/esm2020/lib/import-export/shared/export.utils.mjs +0 -46
- package/esm2020/lib/import-export/shared/import.errors.mjs +0 -39
- package/esm2020/lib/import-export/shared/import.interface.mjs +0 -2
- package/esm2020/lib/import-export/shared/import.service.mjs +0 -215
- package/esm2020/lib/import-export/shared/import.utils.mjs +0 -202
- package/esm2020/lib/import-export/shared/index.mjs +0 -11
- package/esm2020/lib/layer/index.mjs +0 -10
- package/esm2020/lib/layer/layer-item/index.mjs +0 -2
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +0 -300
- package/esm2020/lib/layer/layer-legend/index.mjs +0 -2
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +0 -388
- package/esm2020/lib/layer/layer-legend-item/index.mjs +0 -2
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -84
- package/esm2020/lib/layer/layer-legend-list/index.mjs +0 -3
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -48
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -195
- package/esm2020/lib/layer/layer-list/index.mjs +0 -4
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -59
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +0 -1009
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2020/lib/layer/layer-list-tool/index.mjs +0 -5
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -165
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -2
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -22
- package/esm2020/lib/layer/layer.module.mjs +0 -180
- package/esm2020/lib/layer/shared/clusterParam.mjs +0 -2
- package/esm2020/lib/layer/shared/index.mjs +0 -5
- package/esm2020/lib/layer/shared/layer.enums.mjs +0 -2
- package/esm2020/lib/layer/shared/layer.service.mjs +0 -237
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +0 -67
- package/esm2020/lib/layer/shared/layers/index.mjs +0 -13
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +0 -17
- package/esm2020/lib/layer/shared/layers/layer.mjs +0 -166
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +0 -47
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +0 -527
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +0 -104
- package/esm2020/lib/layer/track-feature-button/index.mjs +0 -2
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -59
- package/esm2020/lib/layer/utils/image-watcher.mjs +0 -59
- package/esm2020/lib/layer/utils/index.mjs +0 -6
- package/esm2020/lib/layer/utils/layer.utils.mjs +0 -10
- package/esm2020/lib/layer/utils/outputLegend.mjs +0 -28
- package/esm2020/lib/layer/utils/tile-watcher.mjs +0 -50
- package/esm2020/lib/layer/utils/vector-watcher.mjs +0 -48
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -97
- package/esm2020/lib/map/baselayers-switcher/index.mjs +0 -3
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -142
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +0 -79
- package/esm2020/lib/map/geolocate-button/index.mjs +0 -2
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +0 -63
- package/esm2020/lib/map/home-extent-button/index.mjs +0 -2
- package/esm2020/lib/map/index.mjs +0 -14
- package/esm2020/lib/map/info-section/index.mjs +0 -2
- package/esm2020/lib/map/info-section/info-section.component.mjs +0 -30
- package/esm2020/lib/map/map-browser/index.mjs +0 -2
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +0 -66
- package/esm2020/lib/map/map-center/index.mjs +0 -2
- package/esm2020/lib/map/map-center/map-center.component.mjs +0 -50
- package/esm2020/lib/map/map.module.mjs +0 -127
- package/esm2020/lib/map/menu-button/index.mjs +0 -2
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +0 -62
- package/esm2020/lib/map/offline-button/index.mjs +0 -2
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +0 -53
- package/esm2020/lib/map/rotation-button/index.mjs +0 -2
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +0 -70
- package/esm2020/lib/map/shared/controllers/controller.mjs +0 -42
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +0 -423
- package/esm2020/lib/map/shared/controllers/index.mjs +0 -4
- package/esm2020/lib/map/shared/controllers/view.mjs +0 -351
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +0 -454
- package/esm2020/lib/map/shared/index.mjs +0 -14
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +0 -240
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +0 -107
- package/esm2020/lib/map/shared/map.enums.mjs +0 -6
- package/esm2020/lib/map/shared/map.interface.mjs +0 -2
- package/esm2020/lib/map/shared/map.mjs +0 -409
- package/esm2020/lib/map/shared/map.service.mjs +0 -29
- package/esm2020/lib/map/shared/map.utils.mjs +0 -463
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +0 -98
- package/esm2020/lib/map/shared/projection.interfaces.mjs +0 -2
- package/esm2020/lib/map/shared/projection.service.mjs +0 -65
- package/esm2020/lib/map/shared/projection.utils.mjs +0 -64
- package/esm2020/lib/map/swipe-control/index.mjs +0 -2
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +0 -193
- package/esm2020/lib/map/utils/layer-watcher.mjs +0 -79
- package/esm2020/lib/map/wake-lock-button/index.mjs +0 -2
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
- package/esm2020/lib/map/zoom-button/index.mjs +0 -2
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +0 -40
- package/esm2020/lib/measure/index.mjs +0 -4
- package/esm2020/lib/measure/measure.module.mjs +0 -20
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +0 -37
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +0 -180
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +0 -140
- package/esm2020/lib/measure/measurer/measurer.component.mjs +0 -1042
- package/esm2020/lib/measure/measurer/measurer.module.mjs +0 -94
- package/esm2020/lib/measure/shared/index.mjs +0 -4
- package/esm2020/lib/measure/shared/measure.enum.mjs +0 -37
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +0 -2
- package/esm2020/lib/measure/shared/measure.utils.mjs +0 -489
- package/esm2020/lib/metadata/index.mjs +0 -3
- package/esm2020/lib/metadata/metadata-button/index.mjs +0 -2
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +0 -134
- package/esm2020/lib/metadata/metadata.module.mjs +0 -55
- package/esm2020/lib/metadata/shared/index.mjs +0 -3
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +0 -2
- package/esm2020/lib/metadata/shared/metadata.service.mjs +0 -19
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -105
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +0 -6
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +0 -2
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +0 -167
- package/esm2020/lib/offline/geoDB/index.mjs +0 -5
- package/esm2020/lib/offline/index.mjs +0 -4
- package/esm2020/lib/offline/layerDB/index.mjs +0 -3
- package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +0 -2
- package/esm2020/lib/offline/layerDB/layerDB.service.mjs +0 -76
- package/esm2020/lib/offline/shared/geo-network.service.mjs +0 -66
- package/esm2020/lib/offline/shared/index.mjs +0 -2
- package/esm2020/lib/overlay/index.mjs +0 -2
- package/esm2020/lib/overlay/overlay.module.mjs +0 -23
- package/esm2020/lib/overlay/shared/index.mjs +0 -6
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +0 -33
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +0 -8
- package/esm2020/lib/overlay/shared/overlay.mjs +0 -130
- package/esm2020/lib/overlay/shared/overlay.service.mjs +0 -27
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +0 -17
- package/esm2020/lib/print/index.mjs +0 -4
- package/esm2020/lib/print/print/print.component.mjs +0 -112
- package/esm2020/lib/print/print-form/index.mjs +0 -2
- package/esm2020/lib/print/print-form/print-form.component.mjs +0 -514
- package/esm2020/lib/print/print.module.mjs +0 -65
- package/esm2020/lib/print/shared/geopdf.mjs +0 -58
- package/esm2020/lib/print/shared/index.mjs +0 -5
- package/esm2020/lib/print/shared/print.interface.mjs +0 -2
- package/esm2020/lib/print/shared/print.service.mjs +0 -984
- package/esm2020/lib/print/shared/print.type.mjs +0 -30
- package/esm2020/lib/query/index.mjs +0 -2
- package/esm2020/lib/query/query.module.mjs +0 -29
- package/esm2020/lib/query/shared/index.mjs +0 -7
- package/esm2020/lib/query/shared/query-search-source.mjs +0 -35
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +0 -22
- package/esm2020/lib/query/shared/query.directive.mjs +0 -261
- package/esm2020/lib/query/shared/query.enums.mjs +0 -30
- package/esm2020/lib/query/shared/query.interfaces.mjs +0 -2
- package/esm2020/lib/query/shared/query.service.mjs +0 -731
- package/esm2020/lib/query/shared/query.utils.mjs +0 -37
- package/esm2020/lib/search/index.mjs +0 -12
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +0 -512
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +0 -75
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +0 -35
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +0 -118
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +0 -429
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +0 -147
- package/esm2020/lib/search/search-results/search-results.component.mjs +0 -454
- package/esm2020/lib/search/search-results/search-results.module.mjs +0 -108
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +0 -123
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +0 -56
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +0 -440
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +0 -60
- package/esm2020/lib/search/search.module.mjs +0 -67
- package/esm2020/lib/search/shared/index.mjs +0 -9
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +0 -295
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +0 -20
- package/esm2020/lib/search/shared/search-source.service.mjs +0 -55
- package/esm2020/lib/search/shared/search.enums.mjs +0 -4
- package/esm2020/lib/search/shared/search.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/search.service.mjs +0 -121
- package/esm2020/lib/search/shared/search.utils.mjs +0 -91
- package/esm2020/lib/search/shared/sources/cadastre.mjs +0 -126
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +0 -23
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/coordinates.mjs +0 -153
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +0 -40
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/icherche.mjs +0 -767
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +0 -66
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/ilayer.mjs +0 -320
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +0 -40
- package/esm2020/lib/search/shared/sources/index.mjs +0 -23
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/nominatim.mjs +0 -253
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +0 -23
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/source.mjs +0 -209
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +0 -425
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +0 -41
- package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/workspace.mjs +0 -186
- package/esm2020/lib/search/shared/sources/workspace.providers.mjs +0 -26
- package/esm2020/lib/style/index.mjs +0 -5
- package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +0 -357
- package/esm2020/lib/style/shared/datasource/index.mjs +0 -2
- package/esm2020/lib/style/shared/feature/feature-style.mjs +0 -141
- package/esm2020/lib/style/shared/feature/index.mjs +0 -2
- package/esm2020/lib/style/shared/font.enum.mjs +0 -17
- package/esm2020/lib/style/shared/index.mjs +0 -5
- package/esm2020/lib/style/shared/overlay/index.mjs +0 -3
- package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -43
- package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
- package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +0 -75
- package/esm2020/lib/style/shared/vector/conversion.utils.mjs +0 -27
- package/esm2020/lib/style/shared/vector/index.mjs +0 -4
- package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +0 -2
- package/esm2020/lib/style/style-list/index.mjs +0 -5
- package/esm2020/lib/style/style-list/style-list.interface.mjs +0 -2
- package/esm2020/lib/style/style-list/style-list.module.mjs +0 -23
- package/esm2020/lib/style/style-list/style-list.provider.mjs +0 -21
- package/esm2020/lib/style/style-list/style-list.service.mjs +0 -51
- package/esm2020/lib/style/style-modal/drawing/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -288
- package/esm2020/lib/style/style-modal/index.mjs +0 -5
- package/esm2020/lib/style/style-modal/layer/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -187
- package/esm2020/lib/style/style-modal/layer-button/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
- package/esm2020/lib/style/style-modal/shared/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
- package/esm2020/lib/style/style-service/draw-style.service.mjs +0 -187
- package/esm2020/lib/style/style-service/index.mjs +0 -3
- package/esm2020/lib/style/style-service/style.service.mjs +0 -356
- package/esm2020/lib/style/style.module.mjs +0 -74
- package/esm2020/lib/toast/index.mjs +0 -2
- package/esm2020/lib/toast/toast.component.mjs +0 -113
- package/esm2020/lib/toast/toast.module.mjs +0 -45
- package/esm2020/lib/utils/googleLinks.mjs +0 -13
- package/esm2020/lib/utils/id-generator.mjs +0 -110
- package/esm2020/lib/utils/index.mjs +0 -4
- package/esm2020/lib/utils/osmLinks.mjs +0 -10
- package/esm2020/lib/wkt/index.mjs +0 -2
- package/esm2020/lib/wkt/shared/index.mjs +0 -2
- package/esm2020/lib/wkt/shared/wkt.service.mjs +0 -239
- package/esm2020/lib/wkt/wkt.module.mjs +0 -22
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -48
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -36
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +0 -3
- package/esm2020/lib/workspace/index.mjs +0 -8
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +0 -280
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +0 -642
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +0 -35
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +0 -157
- package/esm2020/lib/workspace/shared/index.mjs +0 -8
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +0 -35
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +0 -150
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +0 -260
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -24
- package/esm2020/lib/workspace/widgets/index.mjs +0 -4
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -47
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -36
- package/esm2020/lib/workspace/widgets/widgets.mjs +0 -15
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -133
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -28
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -113
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -28
- package/esm2020/lib/workspace/workspace.module.mjs +0 -62
- package/esm2020/public_api.mjs +0 -57
- package/fesm2015/igo2-geo.mjs +0 -46894
- package/fesm2015/igo2-geo.mjs.map +0 -1
- package/fesm2020/igo2-geo.mjs +0 -44993
- package/fesm2020/igo2-geo.mjs.map +0 -1
- package/ngcc.config.js +0 -3
- package/style/geo.theming.scss +0 -12
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
import { Component, Input, Optional, Self, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import OlGeoJSON from 'ol/format/GeoJSON';
|
|
4
|
+
import OlFeature from 'ol/Feature';
|
|
5
|
+
import OlVectorSource from 'ol/source/Vector';
|
|
6
|
+
import OlVectorLayer from 'ol/layer/Vector';
|
|
7
|
+
import OlOverlay from 'ol/Overlay';
|
|
8
|
+
import * as olproj from 'ol/proj';
|
|
9
|
+
import Point from 'ol/geom/Point';
|
|
10
|
+
import { IgoMap } from '../../map/shared';
|
|
11
|
+
import { MeasureLengthUnit, updateOlGeometryMidpoints, formatMeasure, measureOlGeometry } from '../../measure';
|
|
12
|
+
import { DrawControl, ModifyControl } from '../shared/controls';
|
|
13
|
+
import { createDrawInteractionStyle } from '../shared/geometry.utils';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@angular/forms";
|
|
16
|
+
function GeometryFormFieldInputComponent_ng_template_0_Template(rf, ctx) { }
|
|
17
|
+
/**
|
|
18
|
+
* This input allows a user to draw a new geometry or to edit
|
|
19
|
+
* an existing one on a map. A text input is also displayed in the
|
|
20
|
+
* form with some instructions.
|
|
21
|
+
* This is still WIP.
|
|
22
|
+
*/
|
|
23
|
+
export class GeometryFormFieldInputComponent {
|
|
24
|
+
cdRef;
|
|
25
|
+
ngControl;
|
|
26
|
+
olOverlayLayer;
|
|
27
|
+
olGeoJSON = new OlGeoJSON();
|
|
28
|
+
ready = false;
|
|
29
|
+
drawControl;
|
|
30
|
+
modifyControl;
|
|
31
|
+
defaultDrawStyleRadius;
|
|
32
|
+
olGeometryEnds$$;
|
|
33
|
+
olGeometryChanges$$;
|
|
34
|
+
olTooltip = this.createMeasureTooltip();
|
|
35
|
+
/**
|
|
36
|
+
* Active control
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
activeControl;
|
|
40
|
+
/**
|
|
41
|
+
* The map to draw the geometry on
|
|
42
|
+
*/
|
|
43
|
+
map;
|
|
44
|
+
/**
|
|
45
|
+
* The geometry type
|
|
46
|
+
*/
|
|
47
|
+
set geometryType(value) {
|
|
48
|
+
this._geometryType = value;
|
|
49
|
+
if (this.ready === false) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.deactivateControl();
|
|
53
|
+
this.createDrawControl();
|
|
54
|
+
this.drawControl.freehand$.next(this.freehandDrawIsActive);
|
|
55
|
+
this.toggleControl();
|
|
56
|
+
}
|
|
57
|
+
get geometryType() {
|
|
58
|
+
return this._geometryType;
|
|
59
|
+
}
|
|
60
|
+
_geometryType;
|
|
61
|
+
/**
|
|
62
|
+
* The drawGuide around the mouse pointer to help drawing
|
|
63
|
+
*/
|
|
64
|
+
drawGuide = null;
|
|
65
|
+
/**
|
|
66
|
+
* Whether a measure tooltip should be displayed
|
|
67
|
+
*/
|
|
68
|
+
measure = false;
|
|
69
|
+
/**
|
|
70
|
+
* Whether draw control should be active or not
|
|
71
|
+
*/
|
|
72
|
+
get drawControlIsActive() {
|
|
73
|
+
return this._drawControlIsActive;
|
|
74
|
+
}
|
|
75
|
+
set drawControlIsActive(value) {
|
|
76
|
+
this._drawControlIsActive = value;
|
|
77
|
+
if (this.ready === false) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this.deactivateControl();
|
|
81
|
+
if (!this._drawControlIsActive) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.toggleControl();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
_drawControlIsActive = true;
|
|
89
|
+
/**
|
|
90
|
+
* Whether freehand draw control should be active or not
|
|
91
|
+
*/
|
|
92
|
+
get freehandDrawIsActive() {
|
|
93
|
+
return this._freehandDrawIsActive;
|
|
94
|
+
}
|
|
95
|
+
set freehandDrawIsActive(value) {
|
|
96
|
+
this._freehandDrawIsActive = value;
|
|
97
|
+
this.deactivateControl();
|
|
98
|
+
this.createDrawControl();
|
|
99
|
+
this.createModifyControl();
|
|
100
|
+
this.drawControl.freehand$.next(this.freehandDrawIsActive);
|
|
101
|
+
if (this.ready === false) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (!this.drawControlIsActive) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.toggleControl();
|
|
108
|
+
}
|
|
109
|
+
_freehandDrawIsActive;
|
|
110
|
+
/**
|
|
111
|
+
* Whether freehand draw control should be active or not
|
|
112
|
+
*/
|
|
113
|
+
get predefinedRadius() {
|
|
114
|
+
return this._predefinedRadius;
|
|
115
|
+
}
|
|
116
|
+
set predefinedRadius(value) {
|
|
117
|
+
this._predefinedRadius = value;
|
|
118
|
+
this.drawControl.ispredefinedRadius$.next(value);
|
|
119
|
+
}
|
|
120
|
+
_predefinedRadius;
|
|
121
|
+
/**
|
|
122
|
+
* Control options
|
|
123
|
+
*/
|
|
124
|
+
controlOptions = {};
|
|
125
|
+
/**
|
|
126
|
+
* Style for the draw control (applies while the geometry is being drawn)
|
|
127
|
+
*/
|
|
128
|
+
set drawStyle(value) {
|
|
129
|
+
if (value === undefined) {
|
|
130
|
+
value = createDrawInteractionStyle();
|
|
131
|
+
}
|
|
132
|
+
this._drawStyle = value;
|
|
133
|
+
const olGuideStyle = this.getGuideStyleFromDrawStyle(value);
|
|
134
|
+
if (olGuideStyle !== undefined) {
|
|
135
|
+
this.defaultDrawStyleRadius = olGuideStyle.getRadius();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.defaultDrawStyleRadius = null;
|
|
139
|
+
}
|
|
140
|
+
if (this.ready === false) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.deactivateControl();
|
|
144
|
+
this.createDrawControl();
|
|
145
|
+
this.createModifyControl();
|
|
146
|
+
this.drawControl.freehand$.next(this.freehandDrawIsActive);
|
|
147
|
+
this.toggleControl();
|
|
148
|
+
}
|
|
149
|
+
get drawStyle() {
|
|
150
|
+
return this._drawStyle;
|
|
151
|
+
}
|
|
152
|
+
_drawStyle;
|
|
153
|
+
/**
|
|
154
|
+
* Style for the overlay layer (applies once the geometry is added to the map)
|
|
155
|
+
* If not specified, drawStyle applies
|
|
156
|
+
*/
|
|
157
|
+
set overlayStyle(value) {
|
|
158
|
+
this._overlayStyle = value;
|
|
159
|
+
}
|
|
160
|
+
get overlayStyle() {
|
|
161
|
+
return this._overlayStyle;
|
|
162
|
+
}
|
|
163
|
+
_overlayStyle;
|
|
164
|
+
/**
|
|
165
|
+
* The geometry value (GeoJSON)
|
|
166
|
+
* Implemented as part of ControlValueAccessor.
|
|
167
|
+
*/
|
|
168
|
+
set value(value) {
|
|
169
|
+
this._value = value;
|
|
170
|
+
if (this.ready === false) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (value) {
|
|
174
|
+
this.addGeoJSONToOverlay(value);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
this.olOverlaySource.clear(true);
|
|
178
|
+
}
|
|
179
|
+
this.onChange(value);
|
|
180
|
+
this.toggleControl();
|
|
181
|
+
this.cdRef.detectChanges();
|
|
182
|
+
}
|
|
183
|
+
get value() {
|
|
184
|
+
return this._value;
|
|
185
|
+
}
|
|
186
|
+
_value;
|
|
187
|
+
/**
|
|
188
|
+
* The vector source to add the geometry to
|
|
189
|
+
* @internal
|
|
190
|
+
*/
|
|
191
|
+
get olOverlaySource() {
|
|
192
|
+
return this.olOverlayLayer.getSource();
|
|
193
|
+
}
|
|
194
|
+
set radius(value) {
|
|
195
|
+
if (this.ready === false) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (this.modifyControl.getSource()) {
|
|
199
|
+
this.modifyControl.getSource().refresh();
|
|
200
|
+
}
|
|
201
|
+
if (this.freehandDrawIsActive) {
|
|
202
|
+
let olModify;
|
|
203
|
+
setTimeout(() => {
|
|
204
|
+
olModify = this.modifyControl.olModifyInteraction;
|
|
205
|
+
if (olModify) {
|
|
206
|
+
if (olModify.features_) {
|
|
207
|
+
olModify.features_.clear();
|
|
208
|
+
this.addGeoJSONToOverlay(this.value);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}, 0);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
constructor(cdRef, ngControl) {
|
|
215
|
+
this.cdRef = cdRef;
|
|
216
|
+
this.ngControl = ngControl;
|
|
217
|
+
if (this.ngControl !== undefined) {
|
|
218
|
+
// Setting the value accessor directly (instead of using
|
|
219
|
+
// the providers) to avoid running into a circular import.
|
|
220
|
+
this.ngControl.valueAccessor = this;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create an overlay layer, add the initial geometry to it (if any)
|
|
225
|
+
* and toggle the right interaction.
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
228
|
+
ngOnInit() {
|
|
229
|
+
if (this.drawStyle === undefined) {
|
|
230
|
+
this.drawStyle = createDrawInteractionStyle();
|
|
231
|
+
}
|
|
232
|
+
if (this.overlayStyle === undefined) {
|
|
233
|
+
this.overlayStyle = this.drawStyle;
|
|
234
|
+
}
|
|
235
|
+
this.addOlOverlayLayer();
|
|
236
|
+
this.createDrawControl();
|
|
237
|
+
this.createModifyControl();
|
|
238
|
+
if (this.value) {
|
|
239
|
+
this.addGeoJSONToOverlay(this.value);
|
|
240
|
+
}
|
|
241
|
+
this.toggleControl();
|
|
242
|
+
this.ready = true;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Clear the overlay layer and any interaction added by this component.
|
|
246
|
+
* @internal
|
|
247
|
+
*/
|
|
248
|
+
ngOnDestroy() {
|
|
249
|
+
// This is mandatory when the form control is reused after
|
|
250
|
+
// this component has been destroyed. It seems like the control
|
|
251
|
+
// keeps a reference to this component even after it's destroyed
|
|
252
|
+
// and it attempts to set it's value
|
|
253
|
+
this.ready = false;
|
|
254
|
+
this.deactivateControl();
|
|
255
|
+
this.olOverlaySource.clear();
|
|
256
|
+
this.map.ol.removeLayer(this.olOverlayLayer);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Implemented as part of ControlValueAccessor.
|
|
260
|
+
*/
|
|
261
|
+
registerOnChange(fn) {
|
|
262
|
+
this.onChange = fn;
|
|
263
|
+
}
|
|
264
|
+
onChange = () => { };
|
|
265
|
+
/**
|
|
266
|
+
* Implemented as part of ControlValueAccessor.
|
|
267
|
+
*/
|
|
268
|
+
registerOnTouched(fn) {
|
|
269
|
+
this.onTouched = fn;
|
|
270
|
+
}
|
|
271
|
+
onTouched = () => { };
|
|
272
|
+
/**
|
|
273
|
+
* Implemented as part of ControlValueAccessor.
|
|
274
|
+
*/
|
|
275
|
+
writeValue(value) {
|
|
276
|
+
this.value = value;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Add an overlay layer to the map
|
|
280
|
+
*/
|
|
281
|
+
addOlOverlayLayer() {
|
|
282
|
+
this.olOverlayLayer = new OlVectorLayer({
|
|
283
|
+
source: new OlVectorSource(),
|
|
284
|
+
zIndex: 500,
|
|
285
|
+
style: null
|
|
286
|
+
});
|
|
287
|
+
this.map.ol.addLayer(this.olOverlayLayer);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Create a draw control and subscribe to it's geometry
|
|
291
|
+
*/
|
|
292
|
+
createDrawControl() {
|
|
293
|
+
const controlOptions = Object.assign({}, this.controlOptions, {
|
|
294
|
+
geometryType: this.geometryType || 'Point',
|
|
295
|
+
drawingLayer: this.olOverlayLayer,
|
|
296
|
+
interactionStyle: typeof this.drawStyle === 'function'
|
|
297
|
+
? this.drawStyle
|
|
298
|
+
: (olFeature, resolution) => {
|
|
299
|
+
const style = this.drawStyle;
|
|
300
|
+
this.updateDrawStyleWithDrawGuide(style, resolution);
|
|
301
|
+
return style;
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
this.drawControl = new DrawControl(controlOptions);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Create a modify control and subscribe to it's geometry
|
|
308
|
+
*/
|
|
309
|
+
createModifyControl() {
|
|
310
|
+
const controlOptions = Object.assign({}, this.controlOptions, {
|
|
311
|
+
layer: this.olOverlayLayer,
|
|
312
|
+
drawStyle: typeof this.drawStyle === 'function'
|
|
313
|
+
? this.drawStyle
|
|
314
|
+
: (olFeature, resolution) => {
|
|
315
|
+
const style = this.drawStyle;
|
|
316
|
+
this.updateDrawStyleWithDrawGuide(style, resolution);
|
|
317
|
+
return style;
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
this.modifyControl = new ModifyControl(controlOptions);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Toggle the proper control (draw or modify)
|
|
324
|
+
*/
|
|
325
|
+
toggleControl() {
|
|
326
|
+
let activate;
|
|
327
|
+
if (!this.value && this.geometryType) {
|
|
328
|
+
activate = this.drawControl;
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
activate = this.modifyControl;
|
|
332
|
+
}
|
|
333
|
+
// If the control that should be activated
|
|
334
|
+
// is not the same as the current active control,
|
|
335
|
+
// deactivate the current control and activate the new one
|
|
336
|
+
// Otherwise, do nothing and keep the current control active
|
|
337
|
+
if (activate !== this.activeControl) {
|
|
338
|
+
this.deactivateControl();
|
|
339
|
+
this.activateControl(activate);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Activate a given control
|
|
344
|
+
* @param control Control
|
|
345
|
+
*/
|
|
346
|
+
activateControl(control) {
|
|
347
|
+
this.activeControl = control;
|
|
348
|
+
this.olGeometryEnds$$ = control.end$.subscribe((olGeometry) => this.onOlGeometryEnds(olGeometry));
|
|
349
|
+
if (this.measure === true && control === this.drawControl) {
|
|
350
|
+
this.olGeometryChanges$$ = control.changes$.subscribe((olGeometry) => this.onOlGeometryChanges(olGeometry));
|
|
351
|
+
}
|
|
352
|
+
control.setOlMap(this.map.ol, false);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Deactivate the active control
|
|
356
|
+
*/
|
|
357
|
+
deactivateControl() {
|
|
358
|
+
this.removeMeasureTooltip();
|
|
359
|
+
if (this.activeControl !== undefined) {
|
|
360
|
+
this.activeControl.setOlMap(undefined);
|
|
361
|
+
}
|
|
362
|
+
if (this.olGeometryEnds$$ !== undefined) {
|
|
363
|
+
this.olGeometryEnds$$.unsubscribe();
|
|
364
|
+
}
|
|
365
|
+
if (this.olGeometryChanges$$ !== undefined) {
|
|
366
|
+
this.olGeometryChanges$$.unsubscribe();
|
|
367
|
+
}
|
|
368
|
+
this.activeControl = undefined;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Update measures observables and map tooltips
|
|
372
|
+
* @param olGeometry Ol linestring or polygon
|
|
373
|
+
*/
|
|
374
|
+
onOlGeometryEnds(olGeometry) {
|
|
375
|
+
this.removeMeasureTooltip();
|
|
376
|
+
this.setOlGeometry(olGeometry);
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Update measures observables and map tooltips
|
|
380
|
+
* @param olGeometry Ol linestring or polygon
|
|
381
|
+
*/
|
|
382
|
+
onOlGeometryChanges(olGeometry) {
|
|
383
|
+
if (olGeometry.getType() !== 'Point') {
|
|
384
|
+
this.updateMeasureTooltip(olGeometry);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* When drawing ends, convert the output value to GeoJSON and keep it.
|
|
389
|
+
* Restore the double click interaction.
|
|
390
|
+
* @param olGeometry OL geometry
|
|
391
|
+
*/
|
|
392
|
+
setOlGeometry(olGeometry) {
|
|
393
|
+
let value;
|
|
394
|
+
if (olGeometry === undefined) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (olGeometry.getType() === 'Circle') {
|
|
398
|
+
// Because Circle doesn't exist as a GeoJSON object
|
|
399
|
+
olGeometry = this.circleToPoint(olGeometry);
|
|
400
|
+
}
|
|
401
|
+
value = this.olGeoJSON.writeGeometryObject(olGeometry, {
|
|
402
|
+
featureProjection: this.map.projection,
|
|
403
|
+
dataProjection: 'EPSG:4326'
|
|
404
|
+
});
|
|
405
|
+
if (olGeometry.get('radius')) {
|
|
406
|
+
value.radius = olGeometry.get('radius');
|
|
407
|
+
olGeometry.set('radius', value.radius);
|
|
408
|
+
}
|
|
409
|
+
this.writeValue(value);
|
|
410
|
+
}
|
|
411
|
+
circleToPoint(olGeometry) {
|
|
412
|
+
const center = olGeometry.getCenter();
|
|
413
|
+
const coordinates = olproj.transform(center, this.map.projection, 'EPSG:4326');
|
|
414
|
+
const radius = Math.round(olGeometry.getRadius() * Math.cos((Math.PI / 180) * coordinates[1]));
|
|
415
|
+
// Convert it to a point object
|
|
416
|
+
olGeometry = new Point(center);
|
|
417
|
+
olGeometry.set('radius', radius, true);
|
|
418
|
+
return olGeometry;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Add a GeoJSON geometry to the overlay
|
|
422
|
+
* @param geometry GeoJSON geometry
|
|
423
|
+
*/
|
|
424
|
+
addGeoJSONToOverlay(geometry) {
|
|
425
|
+
const olGeometry = this.olGeoJSON.readGeometry(geometry, {
|
|
426
|
+
dataProjection: 'EPSG:4326',
|
|
427
|
+
featureProjection: this.map.projection
|
|
428
|
+
});
|
|
429
|
+
const olFeature = new OlFeature({
|
|
430
|
+
geometry: olGeometry
|
|
431
|
+
});
|
|
432
|
+
olFeature.setStyle(this.overlayStyle);
|
|
433
|
+
this.olOverlaySource.clear();
|
|
434
|
+
this.olOverlaySource.addFeature(olFeature);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Create the measure tooltip
|
|
438
|
+
*/
|
|
439
|
+
createMeasureTooltip() {
|
|
440
|
+
return new OlOverlay({
|
|
441
|
+
element: document.createElement('div'),
|
|
442
|
+
offset: [-30, -10],
|
|
443
|
+
className: ['igo-map-tooltip', 'igo-map-tooltip-measure'].join(' '),
|
|
444
|
+
stopEvent: false
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Update the measure tooltip of an OL geometry
|
|
449
|
+
* @param olGeometry OL Geometry
|
|
450
|
+
*/
|
|
451
|
+
updateMeasureTooltip(olGeometry) {
|
|
452
|
+
const measure = measureOlGeometry(olGeometry, this.map.projection);
|
|
453
|
+
const lengths = measure.lengths;
|
|
454
|
+
const lastIndex = olGeometry.getType() === 'Polygon'
|
|
455
|
+
? lengths.length - 2
|
|
456
|
+
: lengths.length - 1;
|
|
457
|
+
const lastLength = lengths[lastIndex];
|
|
458
|
+
const olMidpoints = updateOlGeometryMidpoints(olGeometry);
|
|
459
|
+
const olLastMidpoint = olMidpoints[lastIndex];
|
|
460
|
+
if (olMidpoints.length === 0 || olLastMidpoint === undefined) {
|
|
461
|
+
this.removeMeasureTooltip();
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
this.olTooltip.setPosition(olLastMidpoint.getFlatCoordinates());
|
|
465
|
+
const innerHtml = formatMeasure(lastLength, {
|
|
466
|
+
decimal: 1,
|
|
467
|
+
unit: MeasureLengthUnit.Meters,
|
|
468
|
+
unitAbbr: true,
|
|
469
|
+
locale: 'fr'
|
|
470
|
+
});
|
|
471
|
+
this.olTooltip.getElement().innerHTML = innerHtml;
|
|
472
|
+
if (this.olTooltip.getMap() === undefined) {
|
|
473
|
+
this.map.ol.addOverlay(this.olTooltip);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Remove the measure tooltip from the map
|
|
478
|
+
*/
|
|
479
|
+
removeMeasureTooltip() {
|
|
480
|
+
if (this.olTooltip.getMap && this.olTooltip.getMap() !== undefined) {
|
|
481
|
+
this.map.ol.removeOverlay(this.olTooltip);
|
|
482
|
+
this.olTooltip.setMap(undefined);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Adjust the draw style with the specified draw guide distance, if possible
|
|
487
|
+
* @param olStyle Draw style to update
|
|
488
|
+
* @param resolution Resolution (to make the screen size of symbol fit the drawGuide value)
|
|
489
|
+
*/
|
|
490
|
+
updateDrawStyleWithDrawGuide(olStyle, resolution) {
|
|
491
|
+
const olGuideStyle = this.getGuideStyleFromDrawStyle(olStyle);
|
|
492
|
+
if (olGuideStyle === undefined) {
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
const drawGuide = this.drawGuide;
|
|
496
|
+
let radius;
|
|
497
|
+
if (!drawGuide || drawGuide < 0) {
|
|
498
|
+
radius = this.defaultDrawStyleRadius;
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
radius = drawGuide > 0 ? drawGuide / resolution : drawGuide;
|
|
502
|
+
}
|
|
503
|
+
olGuideStyle.setRadius(radius);
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Returns wether a given Open Layers style has a radius property that can be set (used to set draw guide)
|
|
507
|
+
* @param olStyle The style on which to perform the check
|
|
508
|
+
*/
|
|
509
|
+
getGuideStyleFromDrawStyle(olStyle) {
|
|
510
|
+
let baseStyle;
|
|
511
|
+
if (Array.isArray(olStyle)) {
|
|
512
|
+
baseStyle = olStyle[0];
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
baseStyle = olStyle;
|
|
516
|
+
}
|
|
517
|
+
if (typeof baseStyle.getImage === 'function') {
|
|
518
|
+
baseStyle = baseStyle.getImage();
|
|
519
|
+
}
|
|
520
|
+
let guideStyle;
|
|
521
|
+
if (typeof baseStyle.setRadius === 'function') {
|
|
522
|
+
guideStyle = baseStyle;
|
|
523
|
+
}
|
|
524
|
+
return guideStyle;
|
|
525
|
+
}
|
|
526
|
+
static ɵfac = function GeometryFormFieldInputComponent_Factory(t) { return new (t || GeometryFormFieldInputComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.NgControl, 10)); };
|
|
527
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GeometryFormFieldInputComponent, selectors: [["igo-geometry-form-field-input"]], inputs: { map: "map", geometryType: "geometryType", drawGuide: "drawGuide", measure: "measure", drawControlIsActive: "drawControlIsActive", freehandDrawIsActive: "freehandDrawIsActive", predefinedRadius: "predefinedRadius", controlOptions: "controlOptions", drawStyle: "drawStyle", overlayStyle: "overlayStyle", value: "value", radius: "radius" }, decls: 1, vars: 0, template: function GeometryFormFieldInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
528
|
+
i0.ɵɵtemplate(0, GeometryFormFieldInputComponent_ng_template_0_Template, 0, 0, "ng-template");
|
|
529
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
|
530
|
+
}
|
|
531
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeometryFormFieldInputComponent, [{
|
|
532
|
+
type: Component,
|
|
533
|
+
args: [{ selector: 'igo-geometry-form-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template></ng-template>\r\n" }]
|
|
534
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{
|
|
535
|
+
type: Optional
|
|
536
|
+
}, {
|
|
537
|
+
type: Self
|
|
538
|
+
}] }]; }, { map: [{
|
|
539
|
+
type: Input
|
|
540
|
+
}], geometryType: [{
|
|
541
|
+
type: Input
|
|
542
|
+
}], drawGuide: [{
|
|
543
|
+
type: Input
|
|
544
|
+
}], measure: [{
|
|
545
|
+
type: Input
|
|
546
|
+
}], drawControlIsActive: [{
|
|
547
|
+
type: Input
|
|
548
|
+
}], freehandDrawIsActive: [{
|
|
549
|
+
type: Input
|
|
550
|
+
}], predefinedRadius: [{
|
|
551
|
+
type: Input
|
|
552
|
+
}], controlOptions: [{
|
|
553
|
+
type: Input
|
|
554
|
+
}], drawStyle: [{
|
|
555
|
+
type: Input
|
|
556
|
+
}], overlayStyle: [{
|
|
557
|
+
type: Input
|
|
558
|
+
}], value: [{
|
|
559
|
+
type: Input
|
|
560
|
+
}], radius: [{
|
|
561
|
+
type: Input
|
|
562
|
+
}] }); })();
|
|
563
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktZm9ybS1maWVsZC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9nZW9tZXRyeS9nZW9tZXRyeS1mb3JtLWZpZWxkL2dlb21ldHJ5LWZvcm0tZmllbGQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZ2VvbWV0cnkvZ2VvbWV0cnktZm9ybS1maWVsZC9nZW9tZXRyeS1mb3JtLWZpZWxkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBTWpFLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBRzFDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE1BQU0sZUFBZSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUVkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFZdEU7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sK0JBQStCO0lBK05oQztJQUNtQjtJQTdOckIsY0FBYyxDQUE0QztJQUMxRCxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsV0FBVyxDQUFjO0lBQ3pCLGFBQWEsQ0FBZ0I7SUFDN0Isc0JBQXNCLENBQVM7SUFDL0IsZ0JBQWdCLENBQWU7SUFDL0IsbUJBQW1CLENBQWU7SUFDbEMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBRWhEOzs7T0FHRztJQUNJLGFBQWEsQ0FBOEI7SUFFbEQ7O09BRUc7SUFDTSxHQUFHLENBQVM7SUFFckI7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFXO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDTyxhQUFhLENBQU87SUFFNUI7O09BRUc7SUFDTSxTQUFTLEdBQVcsSUFBSSxDQUFDO0lBRWxDOztPQUVHO0lBQ00sT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVsQzs7T0FFRztJQUNILElBQ0ksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLG1CQUFtQixDQUFDLEtBQWM7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsT0FBTztTQUNSO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBQ08sb0JBQW9CLEdBQVksSUFBSSxDQUFDO0lBRTdDOztPQUVHO0lBQ0gsSUFDSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQUksb0JBQW9CLENBQUMsS0FBYztRQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDTyxxQkFBcUIsQ0FBVTtJQUV2Qzs7T0FFRztJQUNILElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ08saUJBQWlCLENBQVU7SUFFbkM7O09BRUc7SUFDTSxjQUFjLEdBQTJCLEVBQUUsQ0FBQztJQUVyRDs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQXlDO1FBQ3JELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixLQUFLLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN4RDthQUFNO1lBQ0wsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztTQUNwQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDTyxVQUFVLENBQXFDO0lBRXZEOzs7T0FHRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQXlDO1FBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNPLGFBQWEsQ0FBcUM7SUFFMUQ7OztPQUdHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNPLE1BQU0sQ0FBa0I7SUFFaEM7OztPQUdHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsS0FBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxRQUFRLENBQUM7WUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxJQUFJLFFBQVEsRUFBRTtvQkFDWixJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUU7d0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3RDO2lCQUNGO1lBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7SUFDSCxDQUFDO0lBRUQsWUFDVSxLQUF3QixFQUNMLFNBQW9CO1FBRHZDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ0wsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUUvQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ2hDLHdEQUF3RDtZQUN4RCwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLDBCQUEwQixFQUFFLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCwwREFBMEQ7UUFDMUQsK0RBQStEO1FBQy9ELGdFQUFnRTtRQUNoRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNPLFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFakM7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFZO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDTyxTQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksYUFBYSxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUM1QixNQUFNLEVBQUUsR0FBRztZQUNYLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUI7UUFDdkIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM1RCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxPQUFPO1lBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYztZQUNqQyxnQkFBZ0IsRUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVTtnQkFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO2dCQUNoQixDQUFDLENBQUMsQ0FBQyxTQUFnQyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtvQkFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDckQsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztTQUNSLENBQXVCLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM1RCxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDMUIsU0FBUyxFQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVO2dCQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7Z0JBQ2hCLENBQUMsQ0FBQyxDQUFDLFNBQWdDLEVBQUUsVUFBa0IsRUFBRSxFQUFFO29CQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUM3QixJQUFJLENBQUMsNEJBQTRCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNyRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1NBQ1IsQ0FBeUIsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWE7UUFDbkIsSUFBSSxRQUFRLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzdCO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMvQjtRQUVELDBDQUEwQztRQUMxQyxpREFBaUQ7UUFDakQsMERBQTBEO1FBQzFELDREQUE0RDtRQUM1RCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZUFBZSxDQUFDLE9BQW9DO1FBQzFELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQ2xDLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FDbkQsQ0FBQyxVQUF5RCxFQUFFLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUN2QyxDQUFDO1NBQ0g7UUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRTtZQUMxQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZ0JBQWdCLENBQUMsVUFBa0M7UUFDekQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CLENBQ3pCLFVBQXlEO1FBRXpELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRTtZQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGFBQWEsQ0FBQyxVQUFrQztRQUN0RCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7WUFDckMsbURBQW1EO1lBQ25ELFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTtZQUN0QyxjQUFjLEVBQUUsV0FBVztTQUM1QixDQUFDLENBQUM7UUFDSCxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFVO1FBQzlCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUNsQyxNQUFNLEVBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQ25CLFdBQVcsQ0FDWixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdkIsVUFBVSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNwRSxDQUFDO1FBRUYsK0JBQStCO1FBQy9CLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUFDLFFBQXlCO1FBQ25ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN2RCxjQUFjLEVBQUUsV0FBVztZQUMzQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVU7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDOUIsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBNkIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CO1FBQzFCLE9BQU8sSUFBSSxTQUFTLENBQUM7WUFDbkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNuRSxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssb0JBQW9CLENBQzFCLFVBQXlEO1FBRXpELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsTUFBTSxTQUFTLEdBQ2IsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLFNBQVM7WUFDaEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDNUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUVoRSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQzFDLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07WUFDOUIsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyw0QkFBNEIsQ0FDbEMsT0FBMkMsRUFDM0MsVUFBa0I7UUFFbEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDdEM7YUFBTTtZQUNMLE1BQU0sR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDN0Q7UUFDRCxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSywwQkFBMEIsQ0FDaEMsT0FBMkM7UUFFM0MsSUFBSSxTQUFrQixDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hCO2FBQU07WUFDTCxTQUFTLEdBQUcsT0FBTyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxPQUFRLFNBQWlCLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNyRCxTQUFTLEdBQUksU0FBaUIsQ0FBQyxRQUFRLEVBQW1CLENBQUM7U0FDNUQ7UUFFRCxJQUFJLFVBQXFCLENBQUM7UUFDMUIsSUFBSSxPQUFRLFNBQWlCLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUN0RCxVQUFVLEdBQUcsU0FBc0IsQ0FBQztTQUNyQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7eUZBOWtCVSwrQkFBK0I7NkRBQS9CLCtCQUErQjtZQzlENUMsNkZBQTJCOzs7dUZEOERkLCtCQUErQjtjQUwzQyxTQUFTOzJCQUNFLCtCQUErQixtQkFFeEIsdUJBQXVCLENBQUMsTUFBTTs7c0JBa081QyxRQUFROztzQkFBSSxJQUFJO3dCQXpNVixHQUFHO2tCQUFYLEtBQUs7WUFNRixZQUFZO2tCQURmLEtBQUs7WUFvQkcsU0FBUztrQkFBakIsS0FBSztZQUtHLE9BQU87a0JBQWYsS0FBSztZQU1GLG1CQUFtQjtrQkFEdEIsS0FBSztZQXNCRixvQkFBb0I7a0JBRHZCLEtBQUs7WUE0QkYsZ0JBQWdCO2tCQURuQixLQUFLO1lBYUcsY0FBYztrQkFBdEIsS0FBSztZQU1GLFNBQVM7a0JBRFosS0FBSztZQW1DRixZQUFZO2tCQURmLEtBQUs7WUFjRixLQUFLO2tCQURSLEtBQUs7WUE4QkYsTUFBTTtrQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhd0NvbnRyb2xPcHRpb25zIH0gZnJvbSAnLi8uLi9zaGFyZWQvY29udHJvbHMvZHJhdyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgKiBhcyBPbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0IHsgU3R5bGVMaWtlIGFzIE9sU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xyXG5pbXBvcnQgT2xHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuaW1wb3J0IE9sR2VvbWV0cnkgZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCB0eXBlIHsgVHlwZSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgT2xWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XHJcbmltcG9ydCBPbFZlY3RvckxheWVyIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XHJcbmltcG9ydCBPbE92ZXJsYXkgZnJvbSAnb2wvT3ZlcmxheSc7XHJcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0IFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5cclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgdXBkYXRlT2xHZW9tZXRyeU1pZHBvaW50cyxcclxuICBmb3JtYXRNZWFzdXJlLFxyXG4gIG1lYXN1cmVPbEdlb21ldHJ5XHJcbn0gZnJvbSAnLi4vLi4vbWVhc3VyZSc7XHJcbmltcG9ydCB7XHJcbiAgRHJhd0NvbnRyb2wsXHJcbiAgTW9kaWZ5Q29udHJvbCxcclxuICBNb2RpZnlDb250cm9sT3B0aW9uc1xyXG59IGZyb20gJy4uL3NoYXJlZC9jb250cm9scyc7XHJcbmltcG9ydCB7IGNyZWF0ZURyYXdJbnRlcmFjdGlvblN0eWxlIH0gZnJvbSAnLi4vc2hhcmVkL2dlb21ldHJ5LnV0aWxzJztcclxuaW1wb3J0IHsgR2VvSlNPTkdlb21ldHJ5IH0gZnJvbSAnLi4vc2hhcmVkL2dlb21ldHJ5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XHJcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5pbXBvcnQgT2xQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XHJcblxyXG5pbnRlcmZhY2UgSGFzUmFkaXVzIHtcclxuICBnZXRSYWRpdXM6ICgpID0+IG51bWJlcjtcclxuICBzZXRSYWRpdXM6IChyYWRpdXM6IG51bWJlcikgPT4gdm9pZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgaW5wdXQgYWxsb3dzIGEgdXNlciB0byBkcmF3IGEgbmV3IGdlb21ldHJ5IG9yIHRvIGVkaXRcclxuICogYW4gZXhpc3Rpbmcgb25lIG9uIGEgbWFwLiBBIHRleHQgaW5wdXQgaXMgYWxzbyBkaXNwbGF5ZWQgaW4gdGhlXHJcbiAqIGZvcm0gd2l0aCBzb21lIGluc3RydWN0aW9ucy5cclxuICogVGhpcyBpcyBzdGlsbCBXSVAuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1nZW9tZXRyeS1mb3JtLWZpZWxkLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvbWV0cnktZm9ybS1maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5Rm9ybUZpZWxkSW5wdXRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgcHJpdmF0ZSBvbE92ZXJsYXlMYXllcjogT2xWZWN0b3JMYXllcjxPbFZlY3RvclNvdXJjZTxPbEdlb21ldHJ5Pj47XHJcbiAgcHJpdmF0ZSBvbEdlb0pTT04gPSBuZXcgT2xHZW9KU09OKCk7XHJcbiAgcHJpdmF0ZSByZWFkeSA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRyYXdDb250cm9sOiBEcmF3Q29udHJvbDtcclxuICBwcml2YXRlIG1vZGlmeUNvbnRyb2w6IE1vZGlmeUNvbnRyb2w7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0RHJhd1N0eWxlUmFkaXVzOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBvbEdlb21ldHJ5RW5kcyQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBvbEdlb21ldHJ5Q2hhbmdlcyQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBvbFRvb2x0aXAgPSB0aGlzLmNyZWF0ZU1lYXN1cmVUb29sdGlwKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2ZSBjb250cm9sXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHVibGljIGFjdGl2ZUNvbnRyb2w6IERyYXdDb250cm9sIHwgTW9kaWZ5Q29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG1hcCB0byBkcmF3IHRoZSBnZW9tZXRyeSBvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZ2VvbWV0cnkgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGdlb21ldHJ5VHlwZSh2YWx1ZTogVHlwZSkge1xyXG4gICAgdGhpcy5fZ2VvbWV0cnlUeXBlID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5yZWFkeSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGVhY3RpdmF0ZUNvbnRyb2woKTtcclxuICAgIHRoaXMuY3JlYXRlRHJhd0NvbnRyb2woKTtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuZnJlZWhhbmQkLm5leHQodGhpcy5mcmVlaGFuZERyYXdJc0FjdGl2ZSk7XHJcbiAgICB0aGlzLnRvZ2dsZUNvbnRyb2woKTtcclxuICB9XHJcbiAgZ2V0IGdlb21ldHJ5VHlwZSgpOiBUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl9nZW9tZXRyeVR5cGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dlb21ldHJ5VHlwZTogVHlwZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGRyYXdHdWlkZSBhcm91bmQgdGhlIG1vdXNlIHBvaW50ZXIgdG8gaGVscCBkcmF3aW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgZHJhd0d1aWRlOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgbWVhc3VyZSB0b29sdGlwIHNob3VsZCBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBtZWFzdXJlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgZHJhdyBjb250cm9sIHNob3VsZCBiZSBhY3RpdmUgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBnZXQgZHJhd0NvbnRyb2xJc0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kcmF3Q29udHJvbElzQWN0aXZlO1xyXG4gIH1cclxuICBzZXQgZHJhd0NvbnRyb2xJc0FjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZHJhd0NvbnRyb2xJc0FjdGl2ZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMucmVhZHkgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZGVhY3RpdmF0ZUNvbnRyb2woKTtcclxuICAgIGlmICghdGhpcy5fZHJhd0NvbnRyb2xJc0FjdGl2ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNvbnRyb2woKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhd0NvbnRyb2xJc0FjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgZnJlZWhhbmQgZHJhdyBjb250cm9sIHNob3VsZCBiZSBhY3RpdmUgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBnZXQgZnJlZWhhbmREcmF3SXNBY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnJlZWhhbmREcmF3SXNBY3RpdmU7XHJcbiAgfVxyXG4gIHNldCBmcmVlaGFuZERyYXdJc0FjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZnJlZWhhbmREcmF3SXNBY3RpdmUgPSB2YWx1ZTtcclxuICAgIHRoaXMuZGVhY3RpdmF0ZUNvbnRyb2woKTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZURyYXdDb250cm9sKCk7XHJcbiAgICB0aGlzLmNyZWF0ZU1vZGlmeUNvbnRyb2woKTtcclxuXHJcbiAgICB0aGlzLmRyYXdDb250cm9sLmZyZWVoYW5kJC5uZXh0KHRoaXMuZnJlZWhhbmREcmF3SXNBY3RpdmUpO1xyXG5cclxuICAgIGlmICh0aGlzLnJlYWR5ID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmRyYXdDb250cm9sSXNBY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b2dnbGVDb250cm9sKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZyZWVoYW5kRHJhd0lzQWN0aXZlOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGZyZWVoYW5kIGRyYXcgY29udHJvbCBzaG91bGQgYmUgYWN0aXZlIG9yIG5vdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHByZWRlZmluZWRSYWRpdXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJlZGVmaW5lZFJhZGl1cztcclxuICB9XHJcbiAgc2V0IHByZWRlZmluZWRSYWRpdXModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3ByZWRlZmluZWRSYWRpdXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuaXNwcmVkZWZpbmVkUmFkaXVzJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJlZGVmaW5lZFJhZGl1czogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbCBvcHRpb25zXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29udHJvbE9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3R5bGUgZm9yIHRoZSBkcmF3IGNvbnRyb2wgKGFwcGxpZXMgd2hpbGUgdGhlIGdlb21ldHJ5IGlzIGJlaW5nIGRyYXduKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRyYXdTdHlsZSh2YWx1ZTogT2xTdHlsZUxpa2UgfCBPbFN0eWxlLlJlZ3VsYXJTaGFwZSkge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdmFsdWUgPSBjcmVhdGVEcmF3SW50ZXJhY3Rpb25TdHlsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZHJhd1N0eWxlID0gdmFsdWU7XHJcblxyXG4gICAgY29uc3Qgb2xHdWlkZVN0eWxlID0gdGhpcy5nZXRHdWlkZVN0eWxlRnJvbURyYXdTdHlsZSh2YWx1ZSk7XHJcbiAgICBpZiAob2xHdWlkZVN0eWxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0RHJhd1N0eWxlUmFkaXVzID0gb2xHdWlkZVN0eWxlLmdldFJhZGl1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWZhdWx0RHJhd1N0eWxlUmFkaXVzID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZWFkeSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGVhY3RpdmF0ZUNvbnRyb2woKTtcclxuICAgIHRoaXMuY3JlYXRlRHJhd0NvbnRyb2woKTtcclxuICAgIHRoaXMuY3JlYXRlTW9kaWZ5Q29udHJvbCgpO1xyXG5cclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuZnJlZWhhbmQkLm5leHQodGhpcy5mcmVlaGFuZERyYXdJc0FjdGl2ZSk7XHJcbiAgICB0aGlzLnRvZ2dsZUNvbnRyb2woKTtcclxuICB9XHJcbiAgZ2V0IGRyYXdTdHlsZSgpOiBPbFN0eWxlTGlrZSB8IE9sU3R5bGUuUmVndWxhclNoYXBlIHtcclxuICAgIHJldHVybiB0aGlzLl9kcmF3U3R5bGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RyYXdTdHlsZTogT2xTdHlsZUxpa2UgfCBPbFN0eWxlLlJlZ3VsYXJTaGFwZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3R5bGUgZm9yIHRoZSBvdmVybGF5IGxheWVyIChhcHBsaWVzIG9uY2UgdGhlIGdlb21ldHJ5IGlzIGFkZGVkIHRvIHRoZSBtYXApXHJcbiAgICogSWYgbm90IHNwZWNpZmllZCwgZHJhd1N0eWxlIGFwcGxpZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBvdmVybGF5U3R5bGUodmFsdWU6IE9sU3R5bGVMaWtlIHwgT2xTdHlsZS5SZWd1bGFyU2hhcGUpIHtcclxuICAgIHRoaXMuX292ZXJsYXlTdHlsZSA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgb3ZlcmxheVN0eWxlKCk6IE9sU3R5bGVMaWtlIHwgT2xTdHlsZS5SZWd1bGFyU2hhcGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlTdHlsZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheVN0eWxlOiBPbFN0eWxlTGlrZSB8IE9sU3R5bGUuUmVndWxhclNoYXBlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZ2VvbWV0cnkgdmFsdWUgKEdlb0pTT04pXHJcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogR2VvSlNPTkdlb21ldHJ5KSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMucmVhZHkgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5hZGRHZW9KU09OVG9PdmVybGF5KHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2xPdmVybGF5U291cmNlLmNsZWFyKHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnRvZ2dsZUNvbnRyb2woKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBnZXQgdmFsdWUoKTogR2VvSlNPTkdlb21ldHJ5IHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IEdlb0pTT05HZW9tZXRyeTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHZlY3RvciBzb3VyY2UgdG8gYWRkIHRoZSBnZW9tZXRyeSB0b1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBvbE92ZXJsYXlTb3VyY2UoKTogT2xWZWN0b3JTb3VyY2U8T2xHZW9tZXRyeT4ge1xyXG4gICAgcmV0dXJuIHRoaXMub2xPdmVybGF5TGF5ZXIuZ2V0U291cmNlKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCByYWRpdXModmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmVhZHkgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZGlmeUNvbnRyb2wuZ2V0U291cmNlKCkpIHtcclxuICAgICAgdGhpcy5tb2RpZnlDb250cm9sLmdldFNvdXJjZSgpLnJlZnJlc2goKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZyZWVoYW5kRHJhd0lzQWN0aXZlKSB7XHJcbiAgICAgIGxldCBvbE1vZGlmeTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgb2xNb2RpZnkgPSB0aGlzLm1vZGlmeUNvbnRyb2wub2xNb2RpZnlJbnRlcmFjdGlvbjtcclxuICAgICAgICBpZiAob2xNb2RpZnkpIHtcclxuICAgICAgICAgIGlmIChvbE1vZGlmeS5mZWF0dXJlc18pIHtcclxuICAgICAgICAgICAgb2xNb2RpZnkuZmVhdHVyZXNfLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkR2VvSlNPTlRvT3ZlcmxheSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xyXG4gICAgICAvLyB0aGUgcHJvdmlkZXJzKSB0byBhdm9pZCBydW5uaW5nIGludG8gYSBjaXJjdWxhciBpbXBvcnQuXHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIG92ZXJsYXkgbGF5ZXIsIGFkZCB0aGUgaW5pdGlhbCBnZW9tZXRyeSB0byBpdCAoaWYgYW55KVxyXG4gICAqIGFuZCB0b2dnbGUgdGhlIHJpZ2h0IGludGVyYWN0aW9uLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZHJhd1N0eWxlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5kcmF3U3R5bGUgPSBjcmVhdGVEcmF3SW50ZXJhY3Rpb25TdHlsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm92ZXJsYXlTdHlsZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVN0eWxlID0gdGhpcy5kcmF3U3R5bGU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hZGRPbE92ZXJsYXlMYXllcigpO1xyXG4gICAgdGhpcy5jcmVhdGVEcmF3Q29udHJvbCgpO1xyXG4gICAgdGhpcy5jcmVhdGVNb2RpZnlDb250cm9sKCk7XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5hZGRHZW9KU09OVG9PdmVybGF5KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b2dnbGVDb250cm9sKCk7XHJcblxyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgb3ZlcmxheSBsYXllciBhbmQgYW55IGludGVyYWN0aW9uIGFkZGVkIGJ5IHRoaXMgY29tcG9uZW50LlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gVGhpcyBpcyBtYW5kYXRvcnkgd2hlbiB0aGUgZm9ybSBjb250cm9sIGlzIHJldXNlZCBhZnRlclxyXG4gICAgLy8gdGhpcyBjb21wb25lbnQgaGFzIGJlZW4gZGVzdHJveWVkLiBJdCBzZWVtcyBsaWtlIHRoZSBjb250cm9sXHJcbiAgICAvLyBrZWVwcyBhIHJlZmVyZW5jZSB0byB0aGlzIGNvbXBvbmVudCBldmVuIGFmdGVyIGl0J3MgZGVzdHJveWVkXHJcbiAgICAvLyBhbmQgaXQgYXR0ZW1wdHMgdG8gc2V0IGl0J3MgdmFsdWVcclxuICAgIHRoaXMucmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmRlYWN0aXZhdGVDb250cm9sKCk7XHJcbiAgICB0aGlzLm9sT3ZlcmxheVNvdXJjZS5jbGVhcigpO1xyXG4gICAgdGhpcy5tYXAub2wucmVtb3ZlTGF5ZXIodGhpcy5vbE92ZXJsYXlMYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHByaXZhdGUgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAqL1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IEdlb0pTT05HZW9tZXRyeSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGFuIG92ZXJsYXkgbGF5ZXIgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkT2xPdmVybGF5TGF5ZXIoKSB7XHJcbiAgICB0aGlzLm9sT3ZlcmxheUxheWVyID0gbmV3IE9sVmVjdG9yTGF5ZXIoe1xyXG4gICAgICBzb3VyY2U6IG5ldyBPbFZlY3RvclNvdXJjZSgpLFxyXG4gICAgICB6SW5kZXg6IDUwMCxcclxuICAgICAgc3R5bGU6IG51bGxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tYXAub2wuYWRkTGF5ZXIodGhpcy5vbE92ZXJsYXlMYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBkcmF3IGNvbnRyb2wgYW5kIHN1YnNjcmliZSB0byBpdCdzIGdlb21ldHJ5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVEcmF3Q29udHJvbCgpIHtcclxuICAgIGNvbnN0IGNvbnRyb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb250cm9sT3B0aW9ucywge1xyXG4gICAgICBnZW9tZXRyeVR5cGU6IHRoaXMuZ2VvbWV0cnlUeXBlIHx8ICdQb2ludCcsXHJcbiAgICAgIGRyYXdpbmdMYXllcjogdGhpcy5vbE92ZXJsYXlMYXllcixcclxuICAgICAgaW50ZXJhY3Rpb25TdHlsZTpcclxuICAgICAgICB0eXBlb2YgdGhpcy5kcmF3U3R5bGUgPT09ICdmdW5jdGlvbidcclxuICAgICAgICAgID8gdGhpcy5kcmF3U3R5bGVcclxuICAgICAgICAgIDogKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+LCByZXNvbHV0aW9uOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMuZHJhd1N0eWxlO1xyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlRHJhd1N0eWxlV2l0aERyYXdHdWlkZShzdHlsZSwgcmVzb2x1dGlvbik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICB9KSBhcyBEcmF3Q29udHJvbE9wdGlvbnM7XHJcbiAgICB0aGlzLmRyYXdDb250cm9sID0gbmV3IERyYXdDb250cm9sKGNvbnRyb2xPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIG1vZGlmeSBjb250cm9sIGFuZCBzdWJzY3JpYmUgdG8gaXQncyBnZW9tZXRyeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlTW9kaWZ5Q29udHJvbCgpIHtcclxuICAgIGNvbnN0IGNvbnRyb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb250cm9sT3B0aW9ucywge1xyXG4gICAgICBsYXllcjogdGhpcy5vbE92ZXJsYXlMYXllcixcclxuICAgICAgZHJhd1N0eWxlOlxyXG4gICAgICAgIHR5cGVvZiB0aGlzLmRyYXdTdHlsZSA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgICAgPyB0aGlzLmRyYXdTdHlsZVxyXG4gICAgICAgICAgOiAob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sIHJlc29sdXRpb246IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kcmF3U3R5bGU7XHJcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVEcmF3U3R5bGVXaXRoRHJhd0d1aWRlKHN0eWxlLCByZXNvbHV0aW9uKTtcclxuICAgICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgIH0pIGFzIE1vZGlmeUNvbnRyb2xPcHRpb25zO1xyXG4gICAgdGhpcy5tb2RpZnlDb250cm9sID0gbmV3IE1vZGlmeUNvbnRyb2woY29udHJvbE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHRoZSBwcm9wZXIgY29udHJvbCAoZHJhdyBvciBtb2RpZnkpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b2dnbGVDb250cm9sKCkge1xyXG4gICAgbGV0IGFjdGl2YXRlO1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlICYmIHRoaXMuZ2VvbWV0cnlUeXBlKSB7XHJcbiAgICAgIGFjdGl2YXRlID0gdGhpcy5kcmF3Q29udHJvbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGl2YXRlID0gdGhpcy5tb2RpZnlDb250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHRoZSBjb250cm9sIHRoYXQgc2hvdWxkIGJlIGFjdGl2YXRlZFxyXG4gICAgLy8gaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IGFjdGl2ZSBjb250cm9sLFxyXG4gICAgLy8gZGVhY3RpdmF0ZSB0aGUgY3VycmVudCBjb250cm9sIGFuZCBhY3RpdmF0ZSB0aGUgbmV3IG9uZVxyXG4gICAgLy8gT3RoZXJ3aXNlLCBkbyBub3RoaW5nIGFuZCBrZWVwIHRoZSBjdXJyZW50IGNvbnRyb2wgYWN0aXZlXHJcbiAgICBpZiAoYWN0aXZhdGUgIT09IHRoaXMuYWN0aXZlQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmRlYWN0aXZhdGVDb250cm9sKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVDb250cm9sKGFjdGl2YXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIGEgZ2l2ZW4gY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGFjdGl2YXRlQ29udHJvbChjb250cm9sOiBEcmF3Q29udHJvbCB8IE1vZGlmeUNvbnRyb2wpIHtcclxuICAgIHRoaXMuYWN0aXZlQ29udHJvbCA9IGNvbnRyb2w7XHJcbiAgICB0aGlzLm9sR2VvbWV0cnlFbmRzJCQgPSBjb250cm9sLmVuZCQuc3Vic2NyaWJlKChvbEdlb21ldHJ5OiBPbEdlb21ldHJ5KSA9PlxyXG4gICAgICB0aGlzLm9uT2xHZW9tZXRyeUVuZHMob2xHZW9tZXRyeSlcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5tZWFzdXJlID09PSB0cnVlICYmIGNvbnRyb2wgPT09IHRoaXMuZHJhd0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5vbEdlb21ldHJ5Q2hhbmdlcyQkID0gY29udHJvbC5jaGFuZ2VzJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKG9sR2VvbWV0cnk6IE9sUG9seWdvbiB8IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbENpcmNsZSkgPT5cclxuICAgICAgICAgIHRoaXMub25PbEdlb21ldHJ5Q2hhbmdlcyhvbEdlb21ldHJ5KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgY29udHJvbC5zZXRPbE1hcCh0aGlzLm1hcC5vbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVhY3RpdmF0ZSB0aGUgYWN0aXZlIGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGRlYWN0aXZhdGVDb250cm9sKCkge1xyXG4gICAgdGhpcy5yZW1vdmVNZWFzdXJlVG9vbHRpcCgpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlQ29udHJvbCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlQ29udHJvbC5zZXRPbE1hcCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2xHZW9tZXRyeUVuZHMkJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2xHZW9tZXRyeUVuZHMkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2xHZW9tZXRyeUNoYW5nZXMkJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2xHZW9tZXRyeUNoYW5nZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb250cm9sID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIG1lYXN1cmVzIG9ic2VydmFibGVzIGFuZCBtYXAgdG9vbHRpcHNcclxuICAgKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBsaW5lc3RyaW5nIG9yIHBvbHlnb25cclxuICAgKi9cclxuICBwcml2YXRlIG9uT2xHZW9tZXRyeUVuZHMob2xHZW9tZXRyeTogT2xHZW9tZXRyeSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5yZW1vdmVNZWFzdXJlVG9vbHRpcCgpO1xyXG4gICAgdGhpcy5zZXRPbEdlb21ldHJ5KG9sR2VvbWV0cnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIG1lYXN1cmVzIG9ic2VydmFibGVzIGFuZCBtYXAgdG9vbHRpcHNcclxuICAgKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBsaW5lc3RyaW5nIG9yIHBvbHlnb25cclxuICAgKi9cclxuICBwcml2YXRlIG9uT2xHZW9tZXRyeUNoYW5nZXMoXHJcbiAgICBvbEdlb21ldHJ5OiBPbFBvbHlnb24gfCBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xDaXJjbGVcclxuICApIHtcclxuICAgIGlmIChvbEdlb21ldHJ5LmdldFR5cGUoKSAhPT0gJ1BvaW50Jykge1xyXG4gICAgICB0aGlzLnVwZGF0ZU1lYXN1cmVUb29sdGlwKG9sR2VvbWV0cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBkcmF3aW5nIGVuZHMsIGNvbnZlcnQgdGhlIG91dHB1dCB2YWx1ZSB0byBHZW9KU09OIGFuZCBrZWVwIGl0LlxyXG4gICAqIFJlc3RvcmUgdGhlIGRvdWJsZSBjbGljayBpbnRlcmFjdGlvbi5cclxuICAgKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBnZW9tZXRyeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0T2xHZW9tZXRyeShvbEdlb21ldHJ5OiBPbEdlb21ldHJ5IHwgdW5kZWZpbmVkKSB7XHJcbiAgICBsZXQgdmFsdWU7XHJcbiAgICBpZiAob2xHZW9tZXRyeSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2xHZW9tZXRyeS5nZXRUeXBlKCkgPT09ICdDaXJjbGUnKSB7XHJcbiAgICAgIC8vIEJlY2F1c2UgQ2lyY2xlIGRvZXNuJ3QgZXhpc3QgYXMgYSBHZW9KU09OIG9iamVjdFxyXG4gICAgICBvbEdlb21ldHJ5ID0gdGhpcy5jaXJjbGVUb1BvaW50KG9sR2VvbWV0cnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID0gdGhpcy5vbEdlb0pTT04ud3JpdGVHZW9tZXRyeU9iamVjdChvbEdlb21ldHJ5LCB7XHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgICBkYXRhUHJvamVjdGlvbjogJ0VQU0c6NDMyNidcclxuICAgIH0pO1xyXG4gICAgaWYgKG9sR2VvbWV0cnkuZ2V0KCdyYWRpdXMnKSkge1xyXG4gICAgICB2YWx1ZS5yYWRpdXMgPSBvbEdlb21ldHJ5LmdldCgncmFkaXVzJyk7XHJcbiAgICAgIG9sR2VvbWV0cnkuc2V0KCdyYWRpdXMnLCB2YWx1ZS5yYWRpdXMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2lyY2xlVG9Qb2ludChvbEdlb21ldHJ5KSB7XHJcbiAgICBjb25zdCBjZW50ZXIgPSBvbEdlb21ldHJ5LmdldENlbnRlcigpO1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBvbHByb2oudHJhbnNmb3JtKFxyXG4gICAgICBjZW50ZXIsXHJcbiAgICAgIHRoaXMubWFwLnByb2plY3Rpb24sXHJcbiAgICAgICdFUFNHOjQzMjYnXHJcbiAgICApO1xyXG4gICAgY29uc3QgcmFkaXVzID0gTWF0aC5yb3VuZChcclxuICAgICAgb2xHZW9tZXRyeS5nZXRSYWRpdXMoKSAqIE1hdGguY29zKChNYXRoLlBJIC8gMTgwKSAqIGNvb3JkaW5hdGVzWzFdKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBDb252ZXJ0IGl0IHRvIGEgcG9pbnQgb2JqZWN0XHJcbiAgICBvbEdlb21ldHJ5ID0gbmV3IFBvaW50KGNlbnRlcik7XHJcbiAgICBvbEdlb21ldHJ5LnNldCgncmFkaXVzJywgcmFkaXVzLCB0cnVlKTtcclxuICAgIHJldHVybiBvbEdlb21ldHJ5O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgR2VvSlNPTiBnZW9tZXRyeSB0byB0aGUgb3ZlcmxheVxyXG4gICAqIEBwYXJhbSBnZW9tZXRyeSBHZW9KU09OIGdlb21ldHJ5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRHZW9KU09OVG9PdmVybGF5KGdlb21ldHJ5OiBHZW9KU09OR2VvbWV0cnkpIHtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSB0aGlzLm9sR2VvSlNPTi5yZWFkR2VvbWV0cnkoZ2VvbWV0cnksIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBvbEZlYXR1cmUgPSBuZXcgT2xGZWF0dXJlKHtcclxuICAgICAgZ2VvbWV0cnk6IG9sR2VvbWV0cnlcclxuICAgIH0pO1xyXG4gICAgb2xGZWF0dXJlLnNldFN0eWxlKHRoaXMub3ZlcmxheVN0eWxlIGFzIE9sU3R5bGUuU3R5bGUpO1xyXG4gICAgdGhpcy5vbE92ZXJsYXlTb3VyY2UuY2xlYXIoKTtcclxuICAgIHRoaXMub2xPdmVybGF5U291cmNlLmFkZEZlYXR1cmUob2xGZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgbWVhc3VyZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVNZWFzdXJlVG9vbHRpcCgpIHtcclxuICAgIHJldHVybiBuZXcgT2xPdmVybGF5KHtcclxuICAgICAgZWxlbWVudDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksXHJcbiAgICAgIG9mZnNldDogWy0zMCwgLTEwXSxcclxuICAgICAgY2xhc3NOYW1lOiBbJ2lnby1tYXAtdG9vbHRpcCcsICdpZ28tbWFwLXRvb2x0aXAtbWVhc3VyZSddLmpvaW4oJyAnKSxcclxuICAgICAgc3RvcEV2ZW50OiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIG1lYXN1cmUgdG9vbHRpcCBvZiBhbiBPTCBnZW9tZXRyeVxyXG4gICAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVNZWFzdXJlVG9vbHRpcChcclxuICAgIG9sR2VvbWV0cnk6IE9sUG9seWdvbiB8IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbENpcmNsZVxyXG4gICkge1xyXG4gICAgY29uc3QgbWVhc3VyZSA9IG1lYXN1cmVPbEdlb21ldHJ5KG9sR2VvbWV0cnksIHRoaXMubWFwLnByb2plY3Rpb24pO1xyXG4gICAgY29uc3QgbGVuZ3RocyA9IG1lYXN1cmUubGVuZ3RocztcclxuICAgIGNvbnN0IGxhc3RJbmRleCA9XHJcbiAgICAgIG9sR2VvbWV0cnkuZ2V0VHlwZSgpID09PSAnUG9seWdvbidcclxuICAgICAgICA/IGxlbmd0aHMubGVuZ3RoIC0gMlxyXG4gICAgICAgIDogbGVuZ3Rocy5sZW5ndGggLSAxO1xyXG4gICAgY29uc3QgbGFzdExlbmd0aCA9IGxlbmd0aHNbbGFzdEluZGV4XTtcclxuXHJcbiAgICBjb25zdCBvbE1pZHBvaW50cyA9IHVwZGF0ZU9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XHJcbiAgICBjb25zdCBvbExhc3RNaWRwb2ludCA9IG9sTWlkcG9pbnRzW2xhc3RJbmRleF07XHJcbiAgICBpZiAob2xNaWRwb2ludHMubGVuZ3RoID09PSAwIHx8IG9sTGFzdE1pZHBvaW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5yZW1vdmVNZWFzdXJlVG9vbHRpcCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbFRvb2x0aXAuc2V0UG9zaXRpb24ob2xMYXN0TWlkcG9pbnQuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xyXG5cclxuICAgIGNvbnN0IGlubmVySHRtbCA9IGZvcm1hdE1lYXN1cmUobGFzdExlbmd0aCwge1xyXG4gICAgICBkZWNpbWFsOiAxLFxyXG4gICAgICB1bml0OiBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnMsXHJcbiAgICAgIHVuaXRBYmJyOiB0cnVlLFxyXG4gICAgICBsb2NhbGU6ICdmcidcclxuICAgIH0pO1xyXG4gICAgdGhpcy5vbFRvb2x0aXAuZ2V0RWxlbWVudCgpLmlubmVySFRNTCA9IGlubmVySHRtbDtcclxuICAgIGlmICh0aGlzLm9sVG9vbHRpcC5nZXRNYXAoKSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMubWFwLm9sLmFkZE92ZXJsYXkodGhpcy5vbFRvb2x0aXApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBtZWFzdXJlIHRvb2x0aXAgZnJvbSB0aGUgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVNZWFzdXJlVG9vbHRpcCgpIHtcclxuICAgIGlmICh0aGlzLm9sVG9vbHRpcC5nZXRNYXAgJiYgdGhpcy5vbFRvb2x0aXAuZ2V0TWFwKCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLm1hcC5vbC5yZW1vdmVPdmVybGF5KHRoaXMub2xUb29sdGlwKTtcclxuICAgICAgdGhpcy5vbFRvb2x0aXAuc2V0TWFwKHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGp1c3QgdGhlIGRyYXcgc3R5bGUgd2l0aCB0aGUgc3BlY2lmaWVkIGRyYXcgZ3VpZGUgZGlzdGFuY2UsIGlmIHBvc3NpYmxlXHJcbiAgICogQHBhcmFtIG9sU3R5bGUgRHJhdyBzdHlsZSB0byB1cGRhdGVcclxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBSZXNvbHV0aW9uICh0byBtYWtlIHRoZSBzY3JlZW4gc2l6ZSBvZiBzeW1ib2wgZml0IHRoZSBkcmF3R3VpZGUgdmFsdWUpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVEcmF3U3R5bGVXaXRoRHJhd0d1aWRlKFxyXG4gICAgb2xTdHlsZTogT2xTdHlsZUxpa2UgfCBPbFN0eWxlLlJlZ3VsYXJTaGFwZSxcclxuICAgIHJlc29sdXRpb246IG51bWJlclxyXG4gICkge1xyXG4gICAgY29uc3Qgb2xHdWlkZVN0eWxlID0gdGhpcy5nZXRHdWlkZVN0eWxlRnJvbURyYXdTdHlsZShvbFN0eWxlKTtcclxuICAgIGlmIChvbEd1aWRlU3R5bGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkcmF3R3VpZGUgPSB0aGlzLmRyYXdHdWlkZTtcclxuICAgIGxldCByYWRpdXM7XHJcbiAgICBpZiAoIWRyYXdHdWlkZSB8fCBkcmF3R3VpZGUgPCAwKSB7XHJcbiAgICAgIHJhZGl1cyA9IHRoaXMuZGVmYXVsdERyYXdTdHlsZVJhZGl1cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJhZGl1cyA9IGRyYXdHdWlkZSA+IDAgPyBkcmF3R3VpZGUgLyByZXNvbHV0aW9uIDogZHJhd0d1aWRlO1xyXG4gICAgfVxyXG4gICAgb2xHdWlkZVN0eWxlLnNldFJhZGl1cyhyYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3ZXRoZXIgYSBnaXZlbiBPcGVuIExheWVycyBzdHlsZSBoYXMgYSByYWRpdXMgcHJvcGVydHkgdGhhdCBjYW4gYmUgc2V0ICh1c2VkIHRvIHNldCBkcmF3IGd1aWRlKVxyXG4gICAqIEBwYXJhbSBvbFN0eWxlIFRoZSBzdHlsZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBjaGVja1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0R3VpZGVTdHlsZUZyb21EcmF3U3R5bGUoXHJcbiAgICBvbFN0eWxlOiBPbFN0eWxlTGlrZSB8IE9sU3R5bGUuUmVndWxhclNoYXBlXHJcbiAgKTogSGFzUmFkaXVzIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCBiYXNlU3R5bGU6IHVua25vd247XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvbFN0eWxlKSkge1xyXG4gICAgICBiYXNlU3R5bGUgPSBvbFN0eWxlWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYmFzZVN0eWxlID0gb2xTdHlsZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIChiYXNlU3R5bGUgYXMgYW55KS5nZXRJbWFnZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBiYXNlU3R5bGUgPSAoYmFzZVN0eWxlIGFzIGFueSkuZ2V0SW1hZ2UoKSBhcyBPbFN0eWxlLkltYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBndWlkZVN0eWxlOiBIYXNSYWRpdXM7XHJcbiAgICBpZiAodHlwZW9mIChiYXNlU3R5bGUgYXMgYW55KS5zZXRSYWRpdXMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgZ3VpZGVTdHlsZSA9IGJhc2VTdHlsZSBhcyBIYXNSYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGd1aWRlU3R5bGU7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZT48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|