@igo2/geo 17.0.0-next.6 → 17.0.0-next.8
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/assets/images/north-direction.png +0 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +9 -7
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +8 -7
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +6 -5
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +6 -6
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +7 -7
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +24 -8
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +9 -5
- package/esm2022/lib/catalog/catalog-library/index.mjs +2 -7
- package/esm2022/lib/catalog/catalog.module.mjs +15 -8
- package/esm2022/lib/catalog/index.mjs +2 -7
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/datasource.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +3 -3
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +6 -6
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +6 -6
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +8 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +70 -39
- package/esm2022/lib/directions/directions.component.mjs +73 -19
- package/esm2022/lib/directions/directions.module.mjs +6 -12
- package/esm2022/lib/directions/directions.provider.mjs +16 -0
- package/esm2022/lib/directions/index.mjs +2 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +28 -22
- package/esm2022/lib/directions/shared/directions.utils.mjs +2 -2
- package/esm2022/lib/directions/shared/store.mjs +2 -2
- package/esm2022/lib/download/download-button/download-button.component.mjs +6 -6
- package/esm2022/lib/download/download.module.mjs +4 -4
- package/esm2022/lib/download/shared/download.service.mjs +3 -3
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +6 -6
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +6 -6
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +7 -7
- package/esm2022/lib/draw/draw/draw.component.mjs +7 -7
- package/esm2022/lib/draw/draw/draw.module.mjs +4 -4
- package/esm2022/lib/draw/drawingTool.module.mjs +4 -4
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +3 -3
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +8 -7
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +13 -7
- package/esm2022/lib/feature/feature-details/index.mjs +2 -7
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +6 -6
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +4 -4
- package/esm2022/lib/feature/feature.module.mjs +15 -8
- package/esm2022/lib/feature/index.mjs +2 -7
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
- package/esm2022/lib/feature/shared/store.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
- package/esm2022/lib/filter/filter.module.mjs +8 -8
- package/esm2022/lib/filter/index.mjs +2 -36
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +7 -7
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +6 -6
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +8 -8
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +20 -22
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +5 -5
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +7 -7
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +7 -7
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +3 -3
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +3 -3
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +3 -3
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +3 -3
- package/esm2022/lib/filter/shared/time-filter.service.mjs +3 -3
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +7 -7
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +7 -7
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +7 -7
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +7 -7
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +7 -7
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +3 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -5
- package/esm2022/lib/geo.module.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +3 -3
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +7 -7
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +9 -5
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +3 -8
- package/esm2022/lib/geometry/geometry.module.mjs +4 -4
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +6 -6
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +10 -8
- package/esm2022/lib/import-export/import-export.module.mjs +10 -5
- package/esm2022/lib/import-export/index.mjs +2 -9
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
- package/esm2022/lib/import-export/shared/export.service.mjs +11 -5
- package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
- package/esm2022/lib/import-export/shared/import.service.mjs +3 -3
- package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2022/lib/layer/index.mjs +2 -19
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +6 -6
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +9 -7
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +7 -7
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +3 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +9 -9
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +7 -7
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +3 -3
- package/esm2022/lib/layer/layer.module.mjs +16 -5
- package/esm2022/lib/layer/shared/layer.service.mjs +3 -3
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +6 -6
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +6 -6
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +6 -6
- package/esm2022/lib/map/index.mjs +1 -32
- package/esm2022/lib/map/info-section/info-section.component.mjs +3 -3
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +3 -3
- package/esm2022/lib/map/map-center/map-center.component.mjs +3 -3
- package/esm2022/lib/map/map.module.mjs +36 -36
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +6 -6
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +6 -6
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +6 -6
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -5
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +3 -3
- package/esm2022/lib/map/shared/map.service.mjs +3 -3
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
- package/esm2022/lib/map/shared/projection.service.mjs +3 -3
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +6 -6
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +6 -6
- package/esm2022/lib/measure/measure.module.mjs +4 -4
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +6 -6
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +6 -6
- package/esm2022/lib/measure/measurer/measurer.component.mjs +7 -7
- package/esm2022/lib/measure/measurer/measurer.module.mjs +4 -4
- package/esm2022/lib/metadata/index.mjs +2 -6
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +9 -9
- package/esm2022/lib/metadata/metadata.module.mjs +9 -5
- package/esm2022/lib/metadata/shared/metadata.service.mjs +3 -3
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +3 -3
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +3 -3
- package/esm2022/lib/offline/shared/geo-network.service.mjs +3 -3
- package/esm2022/lib/overlay/overlay.module.mjs +4 -4
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +3 -3
- package/esm2022/lib/overlay/shared/overlay.service.mjs +3 -3
- package/esm2022/lib/print/print/print.component.mjs +5 -5
- package/esm2022/lib/print/print-form/print-form.component.mjs +20 -8
- package/esm2022/lib/print/print.module.mjs +4 -4
- package/esm2022/lib/print/shared/print.interface.mjs +1 -1
- package/esm2022/lib/print/shared/print.service.mjs +171 -124
- package/esm2022/lib/query/query.module.mjs +4 -4
- package/esm2022/lib/query/shared/index.mjs +2 -1
- package/esm2022/lib/query/shared/query-search-source.mjs +3 -3
- package/esm2022/lib/query/shared/query.directive.mjs +3 -3
- package/esm2022/lib/query/shared/query.service.mjs +3 -3
- package/esm2022/lib/search/index.mjs +2 -13
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +11 -8
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +4 -4
- package/esm2022/lib/search/search-results/index.mjs +2 -7
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +7 -7
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +9 -7
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +6 -5
- package/esm2022/lib/search/search-results/search-results.component.mjs +9 -7
- package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +4 -4
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +6 -6
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +4 -4
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +6 -6
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +4 -4
- package/esm2022/lib/search/search.module.mjs +19 -5
- package/esm2022/lib/search/shared/index.mjs +2 -1
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -5
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/search.provider.mjs +20 -0
- package/esm2022/lib/search/shared/search.service.mjs +30 -11
- package/esm2022/lib/search/shared/sources/cadastre.mjs +3 -3
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +8 -1
- package/esm2022/lib/search/shared/sources/coordinates.mjs +6 -6
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +11 -1
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +2 -2
- package/esm2022/lib/search/shared/sources/icherche.mjs +11 -11
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +20 -1
- package/esm2022/lib/search/shared/sources/ilayer.mjs +6 -6
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +11 -1
- package/esm2022/lib/search/shared/sources/nominatim.mjs +3 -3
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +8 -1
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +6 -6
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +14 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +3 -3
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +8 -1
- package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
- package/esm2022/lib/style/style-list/style-list.module.mjs +4 -4
- package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +7 -7
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +7 -7
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +6 -6
- package/esm2022/lib/style/style-service/draw-style.service.mjs +3 -3
- package/esm2022/lib/style/style-service/style.service.mjs +3 -3
- package/esm2022/lib/style/style.module.mjs +4 -4
- package/esm2022/lib/toast/toast.component.mjs +7 -5
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +3 -3
- package/esm2022/lib/wkt/shared/wkt.service.mjs +3 -3
- package/esm2022/lib/wkt/wkt.module.mjs +4 -4
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +6 -5
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -5
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -5
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +6 -5
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +4 -4
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +4 -4
- package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -6
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +4 -4
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -4
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +4 -4
- package/esm2022/lib/workspace/workspace.module.mjs +6 -6
- package/fesm2022/igo2-geo.mjs +30505 -30182
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +2 -2
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -1
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -0
- package/lib/catalog/catalog-library/index.d.ts +1 -3
- package/lib/catalog/catalog.module.d.ts +6 -3
- package/lib/catalog/index.d.ts +1 -2
- package/lib/catalog/shared/catalog.interface.d.ts +1 -1
- package/lib/directions/directions-sources/directions-source.d.ts +7 -3
- package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
- package/lib/directions/directions-sources/directions-source.provider.d.ts +2 -0
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +19 -10
- package/lib/directions/directions.component.d.ts +15 -3
- package/lib/directions/directions.module.d.ts +5 -6
- package/lib/directions/directions.provider.d.ts +3 -0
- package/lib/directions/index.d.ts +1 -0
- package/lib/directions/shared/directions.service.d.ts +4 -2
- package/lib/directions/shared/directions.utils.d.ts +1 -1
- package/lib/directions/shared/store.d.ts +1 -1
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +1 -1
- package/lib/environment/environment.interface.d.ts +2 -1
- package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.module.d.ts +3 -0
- package/lib/feature/feature-details/index.d.ts +1 -3
- package/lib/feature/feature-form/feature-form.component.d.ts +1 -2
- package/lib/feature/feature.module.d.ts +6 -3
- package/lib/feature/index.d.ts +1 -2
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/feature.utils.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +1 -1
- package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
- package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
- package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
- package/lib/feature/shared/strategies/loading.d.ts +1 -1
- package/lib/feature/shared/strategies/search.d.ts +1 -1
- package/lib/feature/shared/strategies/selection.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +19 -0
- package/lib/filter/index.d.ts +1 -16
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -3
- package/lib/filter/shared/ogc-filter.d.ts +7 -0
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +3 -0
- package/lib/geometry/geometry-form-field/index.d.ts +2 -4
- package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +2 -2
- package/lib/import-export/import-export.module.d.ts +4 -0
- package/lib/import-export/index.d.ts +1 -4
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +2 -1
- package/lib/import-export/shared/export.utils.d.ts +1 -1
- package/lib/import-export/shared/import.utils.d.ts +1 -1
- package/lib/layer/index.d.ts +1 -8
- package/lib/layer/layer-list/layer-list.component.d.ts +0 -2
- package/lib/layer/layer.module.d.ts +10 -0
- package/lib/map/index.d.ts +0 -14
- package/lib/map/map.module.d.ts +32 -15
- package/lib/measure/measurer/measurer.component.d.ts +1 -1
- package/lib/metadata/index.d.ts +1 -2
- package/lib/metadata/metadata.module.d.ts +2 -0
- package/lib/print/print-form/print-form.component.d.ts +4 -1
- package/lib/print/shared/print.interface.d.ts +1 -0
- package/lib/print/shared/print.service.d.ts +27 -17
- package/lib/query/shared/index.d.ts +1 -0
- package/lib/search/index.d.ts +1 -5
- package/lib/search/search-bar/search-bar.component.d.ts +2 -1
- package/lib/search/search-results/index.d.ts +1 -3
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/search-results/search-results.directive.d.ts +3 -0
- package/lib/search/search.module.d.ts +8 -0
- package/lib/search/shared/index.d.ts +1 -0
- package/lib/search/shared/search-source.service.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +1 -1
- package/lib/search/shared/search.provider.d.ts +8 -0
- package/lib/search/shared/search.service.d.ts +7 -2
- package/lib/search/shared/sources/cadastre.providers.d.ts +2 -0
- package/lib/search/shared/sources/coordinates.providers.d.ts +2 -0
- package/lib/search/shared/sources/icherche-icons.d.ts +1 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +6 -12
- package/lib/search/shared/sources/ilayer.providers.d.ts +2 -0
- package/lib/search/shared/sources/nominatim.providers.d.ts +2 -0
- package/lib/search/shared/sources/source.d.ts +1 -1
- package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
- package/lib/search/shared/sources/storedqueries.providers.d.ts +3 -0
- package/lib/search/shared/sources/workspace.providers.d.ts +2 -0
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.d.ts +1 -1
- package/lib/workspace/shared/feature-workspace.d.ts +1 -1
- package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
- package/lib/workspace/shared/workspace.utils.d.ts +2 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +2 -1
- package/lib/workspace/widgets/widgets.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/lib/workspace/workspace.module.d.ts +1 -1
- package/locale/en.geo.json +8 -2
- package/locale/fr.geo.json +8 -2
- package/package.json +6 -6
|
@@ -5,7 +5,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
5
5
|
import { MatMenuModule } from '@angular/material/menu';
|
|
6
6
|
import { MatRadioModule } from '@angular/material/radio';
|
|
7
7
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
8
|
-
import {
|
|
8
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
9
9
|
import { BehaviorSubject } from 'rxjs';
|
|
10
10
|
import { distinctUntilChanged } from 'rxjs/operators';
|
|
11
11
|
import { SearchSourceService } from '../shared/search-source.service';
|
|
@@ -93,10 +93,10 @@ export class SearchSelectorComponent {
|
|
|
93
93
|
this.searchSourceService.enableSourcesByType(searchType);
|
|
94
94
|
this.searchTypeChange.emit(searchType);
|
|
95
95
|
}
|
|
96
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
97
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
96
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SearchSelectorComponent, deps: [{ token: i1.SearchSourceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: SearchSelectorComponent, isStandalone: true, selector: "igo-search-selector", inputs: { searchTypes: "searchTypes", searchType: "searchType" }, outputs: { searchTypeChange: "searchTypeChange" }, ngImport: i0, template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\"\n >\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\"\n >\n <mat-radio-button\n *ngFor=\"let searchType of searchTypes\"\n [value]=\"searchType\"\n >\n {{ getSearchTypeTitle(searchType) | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n</div>\n", styles: [":host .igo-search-selector-button{border-radius:0}:host .igo-search-selector-button button{border-radius:0!important}:host .igo-search-selector-button button .mat-ripple,:host .igo-search-selector-button button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-search-selector-radio-group{display:inline-flex;flex-direction:column}:host .igo-search-selector-radio-group mat-radio-button{margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i6.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SearchSelectorComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
101
|
args: [{ selector: 'igo-search-selector', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
102
102
|
MatButtonModule,
|
|
@@ -106,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
106
106
|
MatRadioModule,
|
|
107
107
|
NgFor,
|
|
108
108
|
AsyncPipe,
|
|
109
|
-
|
|
109
|
+
IgoLanguageModule
|
|
110
110
|
], template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\"\n >\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\"\n >\n <mat-radio-button\n *ngFor=\"let searchType of searchTypes\"\n [value]=\"searchType\"\n >\n {{ getSearchTypeTitle(searchType) | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n</div>\n", styles: [":host .igo-search-selector-button{border-radius:0}:host .igo-search-selector-button button{border-radius:0!important}:host .igo-search-selector-button button .mat-ripple,:host .igo-search-selector-button button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-search-selector-radio-group{display:inline-flex;flex-direction:column}:host .igo-search-selector-radio-group mat-radio-button{margin:5px}\n"] }]
|
|
111
111
|
}], ctorParameters: () => [{ type: i1.SearchSourceService }], propDecorators: { searchTypes: [{
|
|
112
112
|
type: Input
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
115
115
|
}], searchTypeChange: [{
|
|
116
116
|
type: Output
|
|
117
117
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBRXREOzs7Ozs7O0dBT0c7QUFrQkgsTUFBTSxPQUFPLHVCQUF1QjtJQStCZDtJQTlCWCxXQUFXLEdBQTRCLElBQUksZUFBZSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztJQUVGOztPQUVHO0lBQ0ssWUFBWSxDQUFlO0lBRW5DOztPQUVHO0lBQ00sV0FBVyxHQUFhLFlBQVksQ0FBQztJQUU5Qzs7T0FFRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXhELFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVzthQUNqQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsVUFBa0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsa0JBQWtCLENBQUMsVUFBa0I7UUFDbkMsT0FBTyxrQkFBa0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGFBQWEsQ0FBQyxVQUE4QjtRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO3VHQTlFVSx1QkFBdUI7MkZBQXZCLHVCQUF1QixvTUNqRHBDLG02QkFpQ0EscWRETUksZUFBZSwySUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEseW1CQUNiLGFBQWEsbUxBQ2IsY0FBYyx1aUJBQ2QsS0FBSyw4R0FDTCxTQUFTLDZDQUNULGlCQUFpQjs7MkZBR1IsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUNkLEtBQUs7d0JBQ0wsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCO3dGQWVRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUYsVUFBVTtzQkFEYixLQUFLO2dCQVdJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmVudW1zJztcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgYSB1c2VyIHRvIHNlbGVjdCBhIHNlYXJjaCB0eXBlIHlvIGVuYWJsZS4gSW4gaXQnc1xuICogY3VycmVudCB2ZXJzaW9uLCBvbmx5IG9uZSBzZWFyY2ggdHlwZSBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZSAocmFkaW8pLiBJZlxuICogdGhpcyBjb21wb25lbnQgd2VyZSB0byBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkIChjaGVja2JveCksXG4gKiB0aGUgc2VhcmNoYmFyIGNvbXBvbmVudCB3b3VsZCByZXF1aXJlIGEgc21hbGwgY2hhbmdlIHRvIGl0J3NcbiAqIHBsYWNlaG9sZGVyIGdldHRlci4gVGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZSBhbHJlYWR5IHN1cHBvcnRzIGhhdmluZ1xuICogbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE5nRm9yLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlYXJjaCB0eXBlXG4gICAqL1xuICBwcml2YXRlIHNlYXJjaFR5cGUkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaFR5cGVzOiBzdHJpbmdbXSA9IFNFQVJDSF9UWVBFUztcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCB0eXBlIGVuYWJsZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzZWFyY2hUeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFNlYXJjaFR5cGUodmFsdWUpO1xuICB9XG4gIGdldCBzZWFyY2hUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlbmFibGVkIHNlYXJjaCB0eXBlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoVHlwZSQkID0gdGhpcy5zZWFyY2hUeXBlJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFR5cGU6IHN0cmluZykgPT4gdGhpcy5vblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZWFyY2hUeXBlJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIHNlbGVjdGVkIHNlYXJjaCB0eXBlXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIFNlYXJjaCB0eXBlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TZWFyY2hUeXBlQ2hhbmdlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzZWFyY2ggdHlwZSdzIHRpdGxlLiBUaGUgdGl0bGVcbiAgICogZm9yIGFsbCBhdmFpbGFibGVzIHNlYXJjaCB0eXBlcnMgbmVlZHMgdG8gYmUgZGVmaW5lZCBpbiB0aGUgbG9jYWxlXG4gICAqIGZpbGVzIG9yIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLlxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBTZWFyY2ggdHlwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldFNlYXJjaFR5cGVUaXRsZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZS50b0xvd2VyQ2FzZSgpfS50aXRsZWA7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCBhbmQgZW5hYmxlIHRoZSBzZWFyY2ggc291cmNlcyBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgU2VhcmNoIHR5cGVcbiAgICovXG4gIHByaXZhdGUgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaFR5cGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZW5hYmxlU291cmNlc0J5VHlwZShzZWFyY2hUeXBlKTtcbiAgICB0aGlzLnNlYXJjaFR5cGVDaGFuZ2UuZW1pdChzZWFyY2hUeXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtc2VsZWN0b3JcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZWxlY3Rvci1idXR0b25cIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2gubWVudS50b29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNlYXJjaFNlbGVjdG9yTWVudVwiXG4gID5cbiAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1tZW51XG4gICAgI3NlYXJjaFNlbGVjdG9yTWVudT1cIm1hdE1lbnVcIlxuICAgIGNsYXNzPVwibm8tYm9yZGVyLXJhZGl1c1wiXG4gICAgeFBvc2l0aW9uPVwiYmVmb3JlXCJcbiAgICB5UG9zaXRpb249XCJhYm92ZVwiXG4gID5cbiAgICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2VsZWN0b3ItcmFkaW8tZ3JvdXBcIlxuICAgICAgW3ZhbHVlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxuICAgICAgKGNoYW5nZSk9XCJvblNlYXJjaFR5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgPlxuICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHNlYXJjaFR5cGUgb2Ygc2VhcmNoVHlwZXNcIlxuICAgICAgICBbdmFsdWVdPVwic2VhcmNoVHlwZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldFNlYXJjaFR5cGVUaXRsZShzZWFyY2hUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated import the SearchSelectorComponent directly
|
|
6
6
|
*/
|
|
7
7
|
export class IgoSearchSelectorModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSelectorModule, imports: [SearchSelectorComponent], exports: [SearchSelectorComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSelectorModule, imports: [SearchSelectorComponent] });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSelectorModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [SearchSelectorComponent],
|
|
@@ -8,9 +8,9 @@ import { MatMenuModule } from '@angular/material/menu';
|
|
|
8
8
|
import { MatRadioModule } from '@angular/material/radio';
|
|
9
9
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
10
10
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
11
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
11
12
|
import { MediaService } from '@igo2/core/media';
|
|
12
13
|
import { StorageService } from '@igo2/core/storage';
|
|
13
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
14
14
|
import { SearchSourceService } from '../shared/search-source.service';
|
|
15
15
|
import { sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch } from '../shared/search.utils';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
@@ -223,10 +223,10 @@ export class SearchSettingsComponent {
|
|
|
223
223
|
this.reverseSearchCoordsFormatEnabled = event.checked;
|
|
224
224
|
this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
|
|
225
225
|
}
|
|
226
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
227
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SearchSettingsComponent, isStandalone: true, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\n {{\n !searchSourcesAllEnabled\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\n : ('igo.geo.search.searchSources.selectAll' | translate)\n }}\n </button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"$any(source)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\"\n >\n </mat-checkbox>\n <button\n *ngIf=\"source.settings.length > 0\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item\n >\n {{ source.title }}\n </button>\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\n {{ source.title }}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\n {{\n 'igo.geo.search.searchSources.settings.' + setting.title\n | translate\n }}\n </button>\n <mat-menu\n #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\"\n >\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\"\n >\n <mat-radio-button\n *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedRadioButton(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\n <button\n mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\"\n >\n {{\n setting.allEnabled || setting.allEnabled === undefined\n ? ('igo.geo.search.searchSources.settings.unselectAll'\n | translate)\n : ('igo.geo.search.searchSources.settings.selectAll'\n | translate)\n }}\n </button>\n </div>\n <div\n class=\"igo-search-settings-sub-menu\"\n mat-menu-item\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\n >\n <mat-checkbox\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"$any(setting)\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedCheckbox(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-checkbox>\n </div>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container\">\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changePointerReverseSearch($event)\"\n tooltip-position=\"below\"\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"pointerSummaryEnabled\"\n >\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changeSearchResultsGeometry($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"searchResultsGeometryEnabled\"\n >\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"reverseSearchCoordsFormat($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n reverseSearchCoordsFormatEnabled\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"reverseSearchCoordsFormatEnabled\"\n >\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\n </mat-slide-toggle>\n </div>\n </span>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SearchSettingsComponent, deps: [{ token: i1.SearchSourceService }, { token: i2.MediaService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
227
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: SearchSettingsComponent, isStandalone: true, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\n {{\n !searchSourcesAllEnabled\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\n : ('igo.geo.search.searchSources.selectAll' | translate)\n }}\n </button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"$any(source)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\"\n >\n </mat-checkbox>\n <button\n *ngIf=\"source.settings.length > 0\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item\n >\n {{ source.title }}\n </button>\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\n {{ source.title }}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\n {{\n 'igo.geo.search.searchSources.settings.' + setting.title\n | translate\n }}\n </button>\n <mat-menu\n #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\"\n >\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\"\n >\n <mat-radio-button\n *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedRadioButton(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\n <button\n mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\"\n >\n {{\n setting.allEnabled || setting.allEnabled === undefined\n ? ('igo.geo.search.searchSources.settings.unselectAll'\n | translate)\n : ('igo.geo.search.searchSources.settings.selectAll'\n | translate)\n }}\n </button>\n </div>\n <div\n class=\"igo-search-settings-sub-menu\"\n mat-menu-item\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\n >\n <mat-checkbox\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"$any(setting)\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedCheckbox(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-checkbox>\n </div>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container\">\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changePointerReverseSearch($event)\"\n tooltip-position=\"below\"\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"pointerSummaryEnabled\"\n >\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changeSearchResultsGeometry($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"searchResultsGeometryEnabled\"\n >\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"reverseSearchCoordsFormat($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n reverseSearchCoordsFormatEnabled\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"reverseSearchCoordsFormatEnabled\"\n >\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\n </mat-slide-toggle>\n </div>\n </span>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
228
228
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SearchSettingsComponent, decorators: [{
|
|
230
230
|
type: Component,
|
|
231
231
|
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
232
232
|
MatButtonModule,
|
|
@@ -241,7 +241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
241
241
|
MatRadioModule,
|
|
242
242
|
MatDividerModule,
|
|
243
243
|
MatSlideToggleModule,
|
|
244
|
-
|
|
244
|
+
IgoLanguageModule
|
|
245
245
|
], template: "<div class=\"igo-search-settings\">\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\n {{\n !searchSourcesAllEnabled\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\n : ('igo.geo.search.searchSources.selectAll' | translate)\n }}\n </button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"$any(source)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\"\n >\n </mat-checkbox>\n <button\n *ngIf=\"source.settings.length > 0\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item\n >\n {{ source.title }}\n </button>\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\n {{ source.title }}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\n {{\n 'igo.geo.search.searchSources.settings.' + setting.title\n | translate\n }}\n </button>\n <mat-menu\n #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\"\n >\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\"\n >\n <mat-radio-button\n *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedRadioButton(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\n <button\n mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\"\n >\n {{\n setting.allEnabled || setting.allEnabled === undefined\n ? ('igo.geo.search.searchSources.settings.unselectAll'\n | translate)\n : ('igo.geo.search.searchSources.settings.selectAll'\n | translate)\n }}\n </button>\n </div>\n <div\n class=\"igo-search-settings-sub-menu\"\n mat-menu-item\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\n >\n <mat-checkbox\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"$any(setting)\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedCheckbox(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-checkbox>\n </div>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container\">\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changePointerReverseSearch($event)\"\n tooltip-position=\"below\"\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"pointerSummaryEnabled\"\n >\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changeSearchResultsGeometry($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"searchResultsGeometryEnabled\"\n >\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"reverseSearchCoordsFormat($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n reverseSearchCoordsFormatEnabled\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"reverseSearchCoordsFormatEnabled\"\n >\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\n </mat-slide-toggle>\n </div>\n </span>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"] }]
|
|
246
246
|
}], ctorParameters: () => [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i3.StorageService }], propDecorators: { pointerSummaryEnabled: [{
|
|
247
247
|
type: Input
|
|
@@ -261,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
261
261
|
type: HostListener,
|
|
262
262
|
args: ['document:keydown', ['$event']]
|
|
263
263
|
}] } });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDL0IsZUFBZSxFQUNoQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9oQzs7Ozs7OztHQU9HO0FBdUJILE1BQU0sT0FBTyx1QkFBdUI7SUE4Q3hCO0lBQ0E7SUFDQTtJQS9DSCw2QkFBNkIsR0FBWSxLQUFLLENBQUM7SUFDL0MsdUJBQXVCLEdBQVksS0FBSyxDQUFDO0lBRXpDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBRyxPQUFPLENBQUM7SUFFOUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFUSxxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFDdkMsNEJBQTRCLEdBQVksS0FBSyxDQUFDO0lBQzlDLGdDQUFnQyxHQUFZLEtBQUssQ0FBQztJQUUzRDs7T0FFRztJQUNPLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBRWhFOztPQUVHO0lBQ08sb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU3RDs7T0FFRztJQUNPLDJCQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFcEU7O09BRUc7SUFDTywrQkFBK0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBR3hFLG1CQUFtQixDQUFDLEtBQW9CO1FBQ3RDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDekQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQ1UsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGNBQThCO1FBRjlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLDZCQUE2QjtZQUNoQyxJQUFJLENBQUMsd0NBQXdDLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCO1FBQ2QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2FBQy9DLFVBQVUsRUFBRTthQUNaLE1BQU0sQ0FBQyxlQUFlLENBQUM7YUFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjthQUNsRCxVQUFVLEVBQUU7YUFDWixNQUFNLENBQUMsc0JBQXNCLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0NBQXdDO1FBQ3RDLElBQ0UsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixpQkFBaUIsRUFBRTthQUNuQixNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQyxNQUFNLEVBQ2pELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILDRCQUE0QixDQUMxQixLQUF3QixFQUN4QixNQUFvQixFQUNwQixPQUE2QixFQUM3QixZQUE0QjtRQUU1QixZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsT0FBNkI7UUFDMUQsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxPQUFPLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDhCQUE4QixDQUFDLE9BQXVCO1FBQ3BELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQ3ZDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzVCLENBQUMsTUFBTSxDQUFDO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QjtZQUMxQixpQkFBaUIsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBb0IsRUFBRSxPQUE2QjtRQUN4RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdEMsWUFBWSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFDLEtBQUs7UUFDMUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsK0JBQStCLENBQzdCLEtBQXFCLEVBQ3JCLE1BQW9CLEVBQ3BCLE9BQTZCLEVBQzdCLFlBQTRCO1FBRTVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUF3QixFQUFFLE1BQW9CO1FBQ2hFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDbkUsRUFBRSxDQUFtQixDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQTZCO1FBQzlDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELDBCQUEwQixDQUFDLE9BQXVCO1FBQ2hELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87SUFDVCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFLO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELDJCQUEyQixDQUFDLEtBQUs7UUFDL0IsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBSztRQUM3QixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN0RCxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUN2QyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RDLENBQUM7SUFDSixDQUFDO3VHQWpPVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qixna0JDckVwQyxzbk5BaUxBLHMxQkQzSEksZUFBZSx3VUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEsNnZCQUNiLGFBQWEsb0xBQ2IsSUFBSSw2RkFDSixLQUFLLGtIQUNMLGlCQUFpQiw4V0FDakIsUUFBUSw2RUFDUixZQUFZLG9GQUNaLGNBQWMsc2lCQUNkLGdCQUFnQixtSUFDaEIsb0JBQW9CLG1XQUNwQixlQUFlOzsyRkFHTix1QkFBdUI7a0JBdEJuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixlQUFlO3FCQUNoQjtnSkFlUSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUtHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFLRywrQkFBK0I7c0JBQXhDLE1BQU07Z0JBR1AsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBNYXRDaGVja2JveENoYW5nZSxcbiAgTWF0Q2hlY2tib3hNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UsIE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lZGlhJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2gsXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnksXG4gIHNvdXJjZUNhblNlYXJjaFxufSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcbiAgU2V0dGluZ09wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXG4gKiBjdXJyZW50IHZlcnNpb24sIG9ubHkgb25lIHNlYXJjaCB0eXBlIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlIChyYWRpbykuIElmXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xuICogcGxhY2Vob2xkZXIgZ2V0dGVyLiBUaGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlIGFscmVhZHkgc3VwcG9ydHMgaGF2aW5nXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBoYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgYnVmZmVyID0gW107XG4gIHB1YmxpYyBsYXN0S2V5VGltZSA9IERhdGUubm93KCk7XG5cbiAgcHVibGljIGRpc3BsYXlCbG9jayA9ICdibG9jayc7XG5cbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmlzVG91Y2hTY3JlZW4oKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hTb3VyY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFNvdXJjZT4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIHN1bW1hcnkgaXMgYWN0aXZhdGVkXG4gICAqL1xuICBAT3V0cHV0KCkgcG9pbnRlclN1bW1hcnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2hvdyBnZW9tZXRyeSBzdW1tYXJ5IGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBpcyBjaGFuZ2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdGMicpIHtcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkID0gIXRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkO1xuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9XG4gICAgICB0aGlzLmhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XG4gICAgY29uc3QgdGV4dFNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxuICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRJZCgpICE9PSAnbWFwJyAmJiBzLnNob3dJblNldHRpbmdzKTtcblxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAuZ2V0U291cmNlcygpXG4gICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2gpXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0ZXh0U2VhcmNoU291cmNlcy5jb25jYXQocmV2ZXJzZVNlYXJjaFNvdXJjZXMpO1xuICAgIHRoaXMuY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXMpO1xuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXMgdXNhYmxlIGZvciBwb2ludGVyIHN1bW1hcnlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBoYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkpLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKGNoZWNrYm94IHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNldHRpbmdzKVxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICBpZiAoc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xuICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc291cmNlcylcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxuICAgKiByZXR1cm4gZmFsc2UgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgdW5jaGVja2VkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdKSB7XG4gICAgY29uc3QgZW5hYmxlZFNvdXJjZXNDbnQgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCkubGVuZ3RoO1xuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKFxuICAgICAgKHNvdXJjZSkgPT4gIXNvdXJjZS5lbmFibGVkXG4gICAgKS5sZW5ndGg7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XG4gICAgICBlbmFibGVkU291cmNlc0NudCA+PSBkaXNhYmxlZFNvdXJjZXNDbnQgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGVja1VuY2hlY2tBbGwoZXZlbnQsIHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmcpO1xuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKHNldHRpbmdWYWx1ZSkgPT4ge1xuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfSk7XG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hlY2tVbmNoZWNrQWxsU291cmNlcyhldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XG4gICAgICBzb3VyY2UuZW5hYmxlZCA9IHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ7XG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKHJhZGlvYnV0dG9uIHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oXG4gICAgZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgaWYgKGNvbmYudmFsdWUgIT09IHNldHRpbmdWYWx1ZS52YWx1ZSkge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSBldmVudC5zb3VyY2UuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcbiAgICBzb3VyY2UuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY29uc3Qgc3RvcmFnZSA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycpIHx8XG4gICAgICB7fSkgYXMgU2V0dGluZ09wdGlvbnM7XG4gICAgc3RvcmFnZS5lbmFibGVkID0gc291cmNlLmVuYWJsZWQ7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnLCBzdG9yYWdlKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gc2V0dGluZy52YWx1ZXMuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZzogU2V0dGluZ09wdGlvbnMpIHtcbiAgICBpZiAoc2V0dGluZy5oYXNodGFncykge1xuICAgICAgcmV0dXJuIHNldHRpbmcuaGFzaHRhZ3MubWFwKChoKSA9PiAnIycgKyBoKS5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGNoYW5nZVBvaW50ZXJSZXZlcnNlU2VhcmNoKGV2ZW50KSB7XG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XG4gIH1cblxuICBjaGFuZ2VTZWFyY2hSZXN1bHRzR2VvbWV0cnkoZXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzLmVtaXQodGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcbiAgfVxuXG4gIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQoZXZlbnQpIHtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMuZW1pdChcbiAgICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5nc1wiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWJ1dHRvblwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5tZW51LnRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoU2V0dGluZ3NNZW51XCJcbiAgPlxuICAgIDxtYXQtaWNvbj5leHBhbmRfbW9yZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI3NlYXJjaFNldHRpbmdzTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm5vLWJvcmRlci1yYWRpdXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cImdldFNlYXJjaFNvdXJjZXMoKS5sZW5ndGggPiA0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGxTb3VyY2VzKCRldmVudClcIj5cbiAgICAgICAge3tcbiAgICAgICAgICAhc2VhcmNoU291cmNlc0FsbEVuYWJsZWRcbiAgICAgICAgICAgID8gKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnVuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2YgZ2V0U2VhcmNoU291cmNlcygpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxuICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWNoZWNrYm94XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXG4gICAgICAgICAgW3ZhbHVlXT1cIiRhbnkoc291cmNlKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInNvdXJjZS5zZXR0aW5ncy5sZW5ndGggPiAwXCJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3ViX21lbnVcIlxuICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNvdXJjZS50aXRsZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIHt7IHNvdXJjZS50aXRsZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxtYXQtbWVudSAjc3ViX21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNldHRpbmcgb2Ygc291cmNlLnNldHRpbmdzXCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZXN0X3N1Yl9tZW51XCI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy4nICsgc2V0dGluZy50aXRsZVxuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtbWVudVxuICAgICAgICAgICAgI3Rlc3Rfc3ViX21lbnU9XCJtYXRNZW51XCJcbiAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJzZXR0aW5nLnR5cGVcIlxuICAgICAgICAgICAgeVBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIncmFkaW9idXR0b24nXCI+XG4gICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtcmFkaW8tZ3JvdXBcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIHNldHRpbmcudmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nVmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ1ZhbHVlXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgc2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja0FsbEJ1dHRvblwiICpuZ0lmPVwic2V0dGluZy52YWx1ZXMubGVuZ3RoID4gM1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hlY2tVbmNoZWNrQWxsKCRldmVudCwgc291cmNlLCBzZXR0aW5nKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZy5hbGxFbmFibGVkIHx8IHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudW5zZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy5zZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXN1Yi1tZW51XCJcbiAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiZGlzcGxheUJsb2NrXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCIkYW55KHNldHRpbmcpXCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxuICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDxzcGFuIGNsYXNzPVwicG9pbnRlci1zdW1tYXJ5LXNsaWRlLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCJcbiAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwicG9pbnRlclN1bW1hcnlFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeSgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFJlc3VsdHNHZW9tZXRyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnaWdvLmdlby5zZWFyY2guc2VhcmNoUmVzdWx0c0dlb21ldHJ5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcbiAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTGF0TG9uJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTG9uTGF0JyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5yZXZlcnNlQ29vcmRGb3JtYXQudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvc3Bhbj5cbiAgPC9tYXQtbWVudT5cbjwvZGl2PlxuIl19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FB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QXRCbkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsaUJBQWlCO3dCQUNqQixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUNsQjtnSkFlUSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUtHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFLRywrQkFBK0I7c0JBQXhDLE1BQU07Z0JBR1AsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBNYXRDaGVja2JveENoYW5nZSxcbiAgTWF0Q2hlY2tib3hNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UsIE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZWRpYSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2gsXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnksXG4gIHNvdXJjZUNhblNlYXJjaFxufSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcbiAgU2V0dGluZ09wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXG4gKiBjdXJyZW50IHZlcnNpb24sIG9ubHkgb25lIHNlYXJjaCB0eXBlIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlIChyYWRpbykuIElmXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xuICogcGxhY2Vob2xkZXIgZ2V0dGVyLiBUaGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlIGFscmVhZHkgc3VwcG9ydHMgaGF2aW5nXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hTb3VyY2VzQWxsRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBidWZmZXIgPSBbXTtcbiAgcHVibGljIGxhc3RLZXlUaW1lID0gRGF0ZS5ub3coKTtcblxuICBwdWJsaWMgZGlzcGxheUJsb2NrID0gJ2Jsb2NrJztcblxuICBnZXQgaXNUb3VjaFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuaXNUb3VjaFNjcmVlbigpO1xuICB9XG5cbiAgQElucHV0KCkgcG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlbmFibGVkIHNlYXJjaCBzb3VyY2UgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFNvdXJjZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoU291cmNlPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgc3VtbWFyeSBpcyBhY3RpdmF0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwb2ludGVyU3VtbWFyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaG93IGdlb21ldHJ5IHN1bW1hcnkgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjb29yZHMgZm9ybWF0IGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0YyJykge1xuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSAhdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQ7XG4gICAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5U3RhdHVzLmVtaXQodGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlID1cbiAgICAgIHRoaXMuaGFzUmV2ZXJzZVNlYXJjaFNvdXJjZXNGb3JQb2ludGVyU3VtbWFyeSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXRTZWFyY2hTb3VyY2VzKCk6IFNlYXJjaFNvdXJjZVtdIHtcbiAgICBjb25zdCB0ZXh0U2VhcmNoU291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgLmdldFNvdXJjZXMoKVxuICAgICAgLmZpbHRlcihzb3VyY2VDYW5TZWFyY2gpXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xuXG4gICAgY29uc3QgcmV2ZXJzZVNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuUmV2ZXJzZVNlYXJjaClcbiAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0SWQoKSAhPT0gJ21hcCcgJiYgcy5zaG93SW5TZXR0aW5ncyk7XG4gICAgY29uc3Qgc291cmNlcyA9IHRleHRTZWFyY2hTb3VyY2VzLmNvbmNhdChyZXZlcnNlU2VhcmNoU291cmNlcyk7XG4gICAgdGhpcy5jb21wdXRlU291cmNlc0NoZWNrQWxsQmVoYXZpb3Ioc291cmNlcyk7XG4gICAgcmV0dXJuIHNvdXJjZXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBzZWFyY2ggc291cmNlcyB1c2FibGUgZm9yIHBvaW50ZXIgc3VtbWFyeVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXG4gICAgICAgIC5maWx0ZXIoc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSkubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiBhIHNldHRpbmcgaXMgY2hlY2tlZCAoY2hlY2tib3ggc3R5bGUpXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRDaGVja2JveChcbiAgICBldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UsXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXG4gICAgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MsXG4gICAgc2V0dGluZ1ZhbHVlOiBTZXR0aW5nT3B0aW9uc1xuICApIHtcbiAgICBzZXR0aW5nVmFsdWUuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc2V0dGluZ3MpXG4gICAqIHJldHVybiB0cnVlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIGNoZWNrZWRcbiAgICogcmV0dXJuIGZhbHNlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIHVuY2hlY2tlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbXB1dGVTZXR0aW5nQ2hlY2tBbGxCZWhhdmlvcihzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIGlmIChzZXR0aW5nLmFsbEVuYWJsZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHNldHRpbmcudmFsdWVzLmZpbmQoKHNldHRpbmdWYWx1ZSkgPT4gc2V0dGluZ1ZhbHVlLmVuYWJsZWQpKSB7XG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0dGluZy5hbGxFbmFibGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0dGluZy5hbGxFbmFibGVkID0gIXNldHRpbmcuYWxsRW5hYmxlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5pbmcgdGhlIGFjdGlvbiB0byBkbyBmb3IgY2hlY2svdW5jaGVjayBjaGVja2JveGVzIChzb3VyY2VzKVxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb21wdXRlU291cmNlc0NoZWNrQWxsQmVoYXZpb3Ioc291cmNlczogU2VhcmNoU291cmNlW10pIHtcbiAgICBjb25zdCBlbmFibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5lbmFibGVkKS5sZW5ndGg7XG4gICAgY29uc3QgZGlzYWJsZWRTb3VyY2VzQ250ID0gc291cmNlcy5maWx0ZXIoXG4gICAgICAoc291cmNlKSA9PiAhc291cmNlLmVuYWJsZWRcbiAgICApLmxlbmd0aDtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZXNBbGxFbmFibGVkID1cbiAgICAgIGVuYWJsZWRTb3VyY2VzQ250ID49IGRpc2FibGVkU291cmNlc0NudCA/IGZhbHNlIDogdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB0aGUgY2hlY2sgYWxsIC8gdW5jaGVjayBhbGwgdHlwZSBpcyBjbGlja2VkLFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNoZWNrVW5jaGVja0FsbChldmVudCwgc291cmNlOiBTZWFyY2hTb3VyY2UsIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZyk7XG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoc2V0dGluZ1ZhbHVlKSA9PiB7XG4gICAgICBzZXR0aW5nVmFsdWUuZW5hYmxlZCA9IHNldHRpbmcuYWxsRW5hYmxlZDtcbiAgICB9KTtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGVja1VuY2hlY2tBbGxTb3VyY2VzKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5nZXRTZWFyY2hTb3VyY2VzKCkubWFwKChzb3VyY2UpID0+IHtcbiAgICAgIHNvdXJjZS5lbmFibGVkID0gdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZDtcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiBhIHNldHRpbmcgaXMgY2hlY2tlZCAocmFkaW9idXR0b24gc3R5bGUpXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcbiAgICBldmVudDogTWF0UmFkaW9DaGFuZ2UsXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXG4gICAgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MsXG4gICAgc2V0dGluZ1ZhbHVlOiBTZXR0aW5nT3B0aW9uc1xuICApIHtcbiAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChjb25mKSA9PiB7XG4gICAgICBpZiAoY29uZi52YWx1ZSAhPT0gc2V0dGluZ1ZhbHVlLnZhbHVlKSB7XG4gICAgICAgIGNvbmYuZW5hYmxlZCA9ICFldmVudC5zb3VyY2UuY2hlY2tlZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmYuZW5hYmxlZCA9IGV2ZW50LnNvdXJjZS5jaGVja2VkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIG9uQ2hlY2tTZWFyY2hTb3VyY2UoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLCBzb3VyY2U6IFNlYXJjaFNvdXJjZSkge1xuICAgIHNvdXJjZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcbiAgICBjb25zdCBzdG9yYWdlID0gKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJykgfHxcbiAgICAgIHt9KSBhcyBTZXR0aW5nT3B0aW9ucztcbiAgICBzdG9yYWdlLmVuYWJsZWQgPSBzb3VyY2UuZW5hYmxlZDtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycsIHN0b3JhZ2UpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIHJldHVybiBzZXR0aW5nLnZhbHVlcy5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nOiBTZXR0aW5nT3B0aW9ucykge1xuICAgIGlmIChzZXR0aW5nLmhhc2h0YWdzKSB7XG4gICAgICByZXR1cm4gc2V0dGluZy5oYXNodGFncy5tYXAoKGgpID0+ICcjJyArIGgpLmpvaW4oJywgJyk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0b3BQcm9wYWdhdGlvbihldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeShldmVudCkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCh0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xuICB9XG5cbiAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdChldmVudCkge1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cy5lbWl0KFxuICAgICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzXCI+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtYnV0dG9uXCJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLm1lbnUudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZWFyY2hTZXR0aW5nc01lbnVcIlxuICA+XG4gICAgPG1hdC1pY29uPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjc2VhcmNoU2V0dGluZ3NNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibm8tYm9yZGVyLXJhZGl1c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGVja0FsbEJ1dHRvblwiICpuZ0lmPVwiZ2V0U2VhcmNoU291cmNlcygpLmxlbmd0aCA+IDRcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbFNvdXJjZXMoJGV2ZW50KVwiPlxuICAgICAgICB7e1xuICAgICAgICAgICFzZWFyY2hTb3VyY2VzQWxsRW5hYmxlZFxuICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMudW5zZWxlY3RBbGwnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBnZXRTZWFyY2hTb3VyY2VzKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1zZWFyY2gtc291cmNlXCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtY2hlY2tib3hcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInNvdXJjZS5lbmFibGVkXCJcbiAgICAgICAgICBbdmFsdWVdPVwiJGFueShzb3VyY2UpXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tTZWFyY2hTb3VyY2UoJGV2ZW50LCBzb3VyY2UpXCJcbiAgICAgICAgPlxuICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA+IDBcIlxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICA+XG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zcGFuPlxuICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBzb3VyY2Uuc2V0dGluZ3NcIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRlc3Rfc3ViX21lbnVcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLicgKyBzZXR0aW5nLnRpdGxlXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPG1hdC1tZW51XG4gICAgICAgICAgICAjdGVzdF9zdWJfbWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgW25nU3dpdGNoXT1cInNldHRpbmcudHlwZVwiXG4gICAgICAgICAgICB5UG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidyYWRpb2J1dHRvbidcIj5cbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1yYWRpby1ncm91cFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZXR0aW5nVmFsdWUgb2Ygc2V0dGluZy52YWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1ZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZFJhZGlvQnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJzZXR0aW5nLnZhbHVlcy5sZW5ndGggPiAzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGwoJGV2ZW50LCBzb3VyY2UsIHNldHRpbmcpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgfHwgc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy51bnNlbGVjdEFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnNlbGVjdEFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc3ViLW1lbnVcIlxuICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5QmxvY2tcIlxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIiRhbnkoc2V0dGluZylcIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdWYWx1ZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHNldHRpbmdWYWx1ZS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPHNwYW4gY2xhc3M9XCJwb2ludGVyLXN1bW1hcnktc2xpZGUtdG9nZ2xlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICpuZ0lmPVwiaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgJiYgIWlzVG91Y2hTY3JlZW5cIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRvb2x0aXAnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJwb2ludGVyU3VtbWFyeUVuYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KCRldmVudClcIlxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAnaWdvLmdlby5zZWFyY2guc2VhcmNoUmVzdWx0c0dlb21ldHJ5LnRvb2x0aXAnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KCRldmVudClcIlxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMb25MYXQnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated import the SearchSettingsComponent directly
|
|
6
6
|
*/
|
|
7
7
|
export class IgoSearchSettingsModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSettingsModule, imports: [SearchSettingsComponent], exports: [SearchSettingsComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSettingsModule, imports: [SearchSettingsComponent] });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchSettingsModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [SearchSettingsComponent],
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { SearchBarComponent } from './search-bar/search-bar.component';
|
|
2
3
|
import { IgoSearchBarModule } from './search-bar/search-bar.module';
|
|
4
|
+
import { SEARCH_RESULTS_DIRECTIVES } from './search-results';
|
|
3
5
|
import { IgoSearchResultsModule } from './search-results/search-results.module';
|
|
6
|
+
import { SearchSelectorComponent } from './search-selector/search-selector.component';
|
|
4
7
|
import { IgoSearchSelectorModule } from './search-selector/search-selector.module';
|
|
8
|
+
import { SearchSettingsComponent } from './search-settings/search-settings.component';
|
|
5
9
|
import { IgoSearchSettingsModule } from './search-settings/search-settings.module';
|
|
6
10
|
import { SearchPointerSummaryDirective } from './shared/search-pointer-summary.directive';
|
|
7
11
|
import { provideSearchSourceService } from './shared/search-source-service.providers';
|
|
@@ -10,7 +14,17 @@ import { provideDefaultCoordinatesSearchResultFormatter } from './shared/sources
|
|
|
10
14
|
import { provideDefaultIChercheSearchResultFormatter } from './shared/sources/icherche.providers';
|
|
11
15
|
import { provideILayerSearchResultFormatter } from './shared/sources/ilayer.providers';
|
|
12
16
|
import * as i0 from "@angular/core";
|
|
17
|
+
export const SEARCH_DIRECTIVES = [
|
|
18
|
+
SearchBarComponent,
|
|
19
|
+
SearchSelectorComponent,
|
|
20
|
+
...SEARCH_RESULTS_DIRECTIVES,
|
|
21
|
+
SearchSettingsComponent,
|
|
22
|
+
SearchPointerSummaryDirective
|
|
23
|
+
];
|
|
13
24
|
export class IgoSearchModule {
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated import the provideSearch() directly and add the source in the provider property
|
|
27
|
+
*/
|
|
14
28
|
static forRoot() {
|
|
15
29
|
return {
|
|
16
30
|
ngModule: IgoSearchModule,
|
|
@@ -23,8 +37,8 @@ export class IgoSearchModule {
|
|
|
23
37
|
]
|
|
24
38
|
};
|
|
25
39
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
27
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
40
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
41
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchModule, imports: [IgoSearchBarModule,
|
|
28
42
|
IgoSearchSelectorModule,
|
|
29
43
|
IgoSearchResultsModule,
|
|
30
44
|
IgoSearchSettingsModule,
|
|
@@ -33,7 +47,7 @@ export class IgoSearchModule {
|
|
|
33
47
|
IgoSearchResultsModule,
|
|
34
48
|
IgoSearchSettingsModule,
|
|
35
49
|
SearchPointerSummaryDirective] });
|
|
36
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
50
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchModule, imports: [IgoSearchBarModule,
|
|
37
51
|
IgoSearchSelectorModule,
|
|
38
52
|
IgoSearchResultsModule,
|
|
39
53
|
IgoSearchSettingsModule, IgoSearchBarModule,
|
|
@@ -41,7 +55,7 @@ export class IgoSearchModule {
|
|
|
41
55
|
IgoSearchResultsModule,
|
|
42
56
|
IgoSearchSettingsModule] });
|
|
43
57
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoSearchModule, decorators: [{
|
|
45
59
|
type: NgModule,
|
|
46
60
|
args: [{
|
|
47
61
|
imports: [
|
|
@@ -60,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
60
74
|
]
|
|
61
75
|
}]
|
|
62
76
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFdkYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0Isa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixHQUFHLHlCQUF5QjtJQUM1Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0NBQ3JCLENBQUM7QUFrQlgsTUFBTSxPQUFPLGVBQWU7SUFDMUI7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYiwwQkFBMEIsRUFBRTtnQkFDNUIsMkNBQTJDLEVBQUU7Z0JBQzdDLDhDQUE4QyxFQUFFO2dCQUNoRCxrQ0FBa0MsRUFBRTthQUNyQztTQUNGLENBQUM7SUFDSixDQUFDO3VHQWZVLGVBQWU7d0dBQWYsZUFBZSxZQWR4QixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsNkJBQTZCLGFBRzdCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7d0dBR3BCLGVBQWUsWUFkeEIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsdUJBQXVCLEVBSXZCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHVCQUF1Qjs7MkZBSWQsZUFBZTtrQkFoQjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IElnb1NlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBTRUFSQ0hfUkVTVUxUU19ESVJFQ1RJVkVTIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cyc7XG5pbXBvcnQgeyBJZ29TZWFyY2hSZXN1bHRzTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1zZWxlY3Rvci9zZWFyY2gtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXNldHRpbmdzL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1zZXR0aW5ncy9zZWFyY2gtc2V0dGluZ3MubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgcHJvdmlkZVNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtc291cmNlLXNlcnZpY2UucHJvdmlkZXJzJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlciB9IGZyb20gJy4vc2hhcmVkL3NvdXJjZXMvaWNoZXJjaGUucHJvdmlkZXJzJztcbmltcG9ydCB7IHByb3ZpZGVJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIgfSBmcm9tICcuL3NoYXJlZC9zb3VyY2VzL2lsYXllci5wcm92aWRlcnMnO1xuXG5leHBvcnQgY29uc3QgU0VBUkNIX0RJUkVDVElWRVMgPSBbXG4gIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG4gIC4uLlNFQVJDSF9SRVNVTFRTX0RJUkVDVElWRVMsXG4gIFNlYXJjaFNldHRpbmdzQ29tcG9uZW50LFxuICBTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZVxuXSBhcyBjb25zdDtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIElnb1NlYXJjaEJhck1vZHVsZSxcbiAgICBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSxcbiAgICBJZ29TZWFyY2hSZXN1bHRzTW9kdWxlLFxuICAgIElnb1NlYXJjaFNldHRpbmdzTW9kdWxlLFxuICAgIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXG4gICAgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUsXG4gICAgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSxcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSxcbiAgICBTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaE1vZHVsZSB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIHByb3ZpZGVTZWFyY2goKSBkaXJlY3RseSBhbmQgYWRkIHRoZSBzb3VyY2UgaW4gdGhlIHByb3ZpZGVyIHByb3BlcnR5XG4gICAqL1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1NlYXJjaE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvU2VhcmNoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIHByb3ZpZGVTZWFyY2hTb3VyY2VTZXJ2aWNlKCksXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKSxcbiAgICAgICAgcHJvdmlkZURlZmF1bHRDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlcigpLFxuICAgICAgICBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKClcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './search.enums';
|
|
2
|
+
export * from './search.provider';
|
|
2
3
|
export * from './search.interfaces';
|
|
3
4
|
export * from './search-pointer-summary.directive';
|
|
4
5
|
export * from './search.service';
|
|
@@ -6,4 +7,4 @@ export * from './search-source.service';
|
|
|
6
7
|
export * from './search-source-service.providers';
|
|
7
8
|
export * from './search.utils';
|
|
8
9
|
export * from './sources';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLmVudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcG9pbnRlci1zdW1tYXJ5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZXMnO1xuIl19
|