@igo2/geo 18.0.0-next.1 → 18.0.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -9
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +16 -13
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog.module.mjs +5 -5
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasource.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +73 -2
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +4 -4
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +4 -4
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
- package/esm2022/lib/directions/directions.component.mjs +10 -4
- package/esm2022/lib/directions/directions.module.mjs +5 -5
- package/esm2022/lib/directions/shared/directions.service.mjs +4 -4
- package/esm2022/lib/download/download-button/download-button.component.mjs +10 -22
- package/esm2022/lib/download/download.module.mjs +5 -5
- package/esm2022/lib/download/shared/download.service.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw.component.mjs +8 -15
- package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
- package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +4 -4
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +5 -5
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +5 -5
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
- package/esm2022/lib/feature/feature.module.mjs +5 -5
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
- package/esm2022/lib/filter/filter.module.mjs +5 -5
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +5 -5
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -6
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +4 -4
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +11 -4
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +4 -4
- package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +4 -4
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +4 -4
- package/esm2022/lib/filter/shared/time-filter.service.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -11
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +5 -11
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +5 -5
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +15 -12
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +5 -5
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +7 -5
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +7 -18
- package/esm2022/lib/geo.module.mjs +5 -5
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -5
- package/esm2022/lib/geometry/geometry.module.mjs +5 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -20
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +215 -323
- package/esm2022/lib/import-export/import-export.module.mjs +5 -5
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -4
- package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +257 -91
- package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
- package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
- package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
- package/esm2022/lib/layer/index.mjs +10 -5
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +62 -129
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -10
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -9
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +16 -23
- package/esm2022/lib/layer/layer-list/index.mjs +1 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +177 -776
- package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +52 -85
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +57 -17
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +54 -36
- package/esm2022/lib/layer/shared/index.mjs +2 -1
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +73 -27
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
- package/esm2022/lib/layer/shared/layers/layer.mjs +114 -118
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +22 -19
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +4 -4
- package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -9
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +4 -4
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
- package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +4 -4
- package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
- package/esm2022/lib/map/map.module.mjs +5 -5
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +4 -4
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +4 -4
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +4 -4
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -13
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
- package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
- package/esm2022/lib/map/shared/map.mjs +7 -243
- package/esm2022/lib/map/shared/map.service.mjs +4 -4
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +12 -8
- package/esm2022/lib/map/shared/projection.service.mjs +4 -4
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
- package/esm2022/lib/measure/measure.module.mjs +5 -5
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer.component.mjs +10 -28
- package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -23
- package/esm2022/lib/metadata/metadata.module.mjs +5 -5
- package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -8
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +21 -22
- package/esm2022/lib/offline/index.mjs +3 -1
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +16 -17
- package/esm2022/lib/offline/offline.interface.mjs +2 -0
- package/esm2022/lib/offline/offline.provider.mjs +51 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +15 -16
- package/esm2022/lib/overlay/shared/overlay.mjs +3 -2
- package/esm2022/lib/print/print/print.component.mjs +4 -4
- package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
- package/esm2022/lib/print/print.module.mjs +5 -5
- package/esm2022/lib/print/shared/print.service.mjs +6 -6
- package/esm2022/lib/query/query.module.mjs +5 -5
- package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
- package/esm2022/lib/query/shared/query.directive.mjs +12 -8
- package/esm2022/lib/query/shared/query.service.mjs +10 -10
- package/esm2022/lib/query/shared/query.utils.mjs +5 -1
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +4 -4
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +18 -12
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -14
- package/esm2022/lib/search/shared/search.service.mjs +4 -4
- package/esm2022/lib/search/shared/sources/cadastre.mjs +4 -4
- package/esm2022/lib/search/shared/sources/coordinates.mjs +7 -7
- package/esm2022/lib/search/shared/sources/icherche.mjs +10 -10
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/ilayer.mjs +7 -7
- package/esm2022/lib/search/shared/sources/nominatim.mjs +4 -4
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +4 -4
- package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
- package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +4 -4
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +4 -4
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
- package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
- package/esm2022/lib/style/style-service/style.service.mjs +4 -4
- package/esm2022/lib/style/style.module.mjs +5 -5
- package/esm2022/lib/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +4 -4
- package/esm2022/lib/wkt/shared/wkt.service.mjs +4 -4
- package/esm2022/lib/wkt/wkt.module.mjs +5 -5
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +22 -20
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +4 -4
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +20 -5
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +25 -7
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -5
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace.module.mjs +5 -5
- package/fesm2022/igo2-geo.mjs +19275 -18300
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/shared/catalog.enum.d.ts +1 -3
- package/lib/datasource/shared/capabilities.service.d.ts +7 -2
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +16 -0
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
- package/lib/download/download-button/download-button.component.d.ts +4 -8
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +2 -2
- package/lib/environment/environment.interface.d.ts +2 -0
- package/lib/feature/shared/feature-store.utils.d.ts +2 -2
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +2 -2
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
- package/lib/import-export/export-button/export-button.component.d.ts +3 -7
- package/lib/import-export/import-export/import-export.component.d.ts +23 -16
- package/lib/import-export/shared/export.interface.d.ts +10 -3
- package/lib/import-export/shared/export.service.d.ts +28 -15
- package/lib/import-export/shared/export.type.d.ts +8 -16
- package/lib/import-export/shared/export.utils.d.ts +2 -0
- package/lib/layer/index.d.ts +9 -4
- package/lib/layer/layer-group/index.d.ts +1 -0
- package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
- package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
- package/lib/layer/layer-list/index.d.ts +0 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
- package/lib/layer/layer-list-tool/index.d.ts +0 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
- package/lib/layer/layer-search/index.d.ts +1 -0
- package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
- package/lib/layer/layer-unavailable/index.d.ts +2 -0
- package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
- package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
- package/lib/layer/layer-viewer/index.d.ts +2 -0
- package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
- package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
- package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
- package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
- package/lib/layer/layer-visibility-button/index.d.ts +1 -0
- package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
- package/lib/layer/layer.module.d.ts +18 -6
- package/lib/layer/shared/index.d.ts +1 -0
- package/lib/layer/shared/layer-controller.d.ts +81 -0
- package/lib/layer/shared/layer-selection.d.ts +14 -0
- package/lib/layer/shared/layer.service.d.ts +17 -8
- package/lib/layer/shared/layers/any-layer.d.ts +3 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
- package/lib/layer/shared/layers/image-layer.d.ts +5 -2
- package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
- package/lib/layer/shared/layers/index.d.ts +5 -0
- package/lib/layer/shared/layers/layer-base.d.ts +75 -0
- package/lib/layer/shared/layers/layer-group.d.ts +32 -0
- package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
- package/lib/layer/shared/layers/layer.d.ts +28 -49
- package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
- package/lib/layer/shared/layers/linked/index.d.ts +3 -0
- package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
- package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
- package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
- package/lib/layer/shared/layers/vector-layer.d.ts +8 -7
- package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
- package/lib/layer/utils/layer.utils.d.ts +12 -2
- package/lib/layer/utils/outputLegend.d.ts +2 -2
- package/lib/map/shared/hover-feature.directive.d.ts +0 -1
- package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
- package/lib/map/shared/map.abstract.d.ts +12 -29
- package/lib/map/shared/map.d.ts +10 -85
- package/lib/map/shared/map.service.d.ts +1 -1
- package/lib/map/utils/index.d.ts +1 -0
- package/lib/map/utils/layer-watcher.d.ts +18 -8
- package/lib/measure/measurer/measurer.component.d.ts +0 -8
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/index.d.ts +2 -0
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/offline/offline.interface.d.ts +3 -0
- package/lib/offline/offline.provider.d.ts +3 -0
- package/lib/offline/shared/geo-network.service.d.ts +3 -3
- package/lib/overlay/shared/overlay.d.ts +2 -1
- package/lib/query/shared/query.service.d.ts +1 -1
- package/lib/query/shared/query.utils.d.ts +2 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
- package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
- package/lib/utils/id-generator.d.ts +5 -5
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/locale/en.geo.json +27 -3
- package/locale/fr.geo.json +26 -3
- package/package.json +6 -7
- package/src/_index.scss +2 -1
- package/src/geo-theme.scss +1 -1
- package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
- package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
- package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
- package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
- package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
- package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
- package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
- package/src/lib/layer/layer.theming.scss +14 -3
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
- package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
|
@@ -158,13 +158,13 @@ export class WFSService extends DataService {
|
|
|
158
158
|
});
|
|
159
159
|
return sourceFields;
|
|
160
160
|
}
|
|
161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
162
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, providedIn: 'root' });
|
|
163
163
|
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, decorators: [{
|
|
165
165
|
type: Injectable,
|
|
166
166
|
args: [{
|
|
167
167
|
providedIn: 'root'
|
|
168
168
|
}]
|
|
169
169
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDVCxNQUFNLGlCQUFpQixDQUFDOzs7QUFLekIsTUFBTSxPQUFPLFVBQVcsU0FBUSxXQUFXO0lBQ3JCO0lBQXBCLFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUVwQyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNoRCxPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxzQkFBc0IsQ0FDM0IsaUJBQThEO1FBRTlELElBQ0UsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZO1lBQy9CLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUMzQyxDQUFDO1lBQ0QsaUJBQWlCLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENB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QUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzt1R0EzTlUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdEVwc2csXG4gIGRlZmF1bHRNYXhGZWF0dXJlcyxcbiAgZm9ybWF0V0ZTUXVlcnlTdHJpbmcsXG4gIGdldEZvcm1hdEZyb21PcHRpb25zLFxuICBnbWxSZWdleFxufSBmcm9tICcuL3dtcy13ZnMudXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXRlNTZXJ2aWNlIGV4dGVuZHMgRGF0YVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0RGF0YSgpIHtcbiAgICBjb25zb2xlLmxvZygnVGhpcyBpcyBkZWZpbmluZyBhIGRhdGEgc2VydmljZS4nKTtcbiAgICByZXR1cm4gJ1RoaXMgaXMgZGVmaW5pbmcgYSBkYXRhIHNlcnZpY2UuJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTb3VyY2VGaWVsZHNGcm9tV0ZTKFxuICAgIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4gICkge1xuICAgIGlmIChcbiAgICAgICFkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcyA9IFtdO1xuICAgICAgdGhpcy5kZWZpbmVGaWVsZEFuZFZhbHVlZnJvbVdGUyhkYXRhU291cmNlT3B0aW9ucykuc3Vic2NyaWJlKFxuICAgICAgICAoZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkKSA9PiB7XG4gICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzID0gZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmluZUZpZWxkQW5kVmFsdWVmcm9tV0ZTKGRhdGFTb3VyY2VPcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgIChnZXRmZWF0dXJlU291cmNlRmllbGQpID0+IHtcbiAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlZmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChzb3VyY2VmaWVsZC5hbGlhcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHNvdXJjZWZpZWxkLmFsaWFzID0gc291cmNlZmllbGQubmFtZTsgLy8gdG8gYWxsb3cgb25seSBhIGxpc3Qgb2Ygc291cmNlZmllbGQgd2l0aCBuYW1lc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBzb3VyY2VmaWVsZC52YWx1ZXMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICBzb3VyY2VmaWVsZC52YWx1ZXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc291cmNlZmllbGQudmFsdWVzID0gZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkLmZpbmQoXG4gICAgICAgICAgICAgICAgKHNmKSA9PiBzZi5uYW1lID09PSBzb3VyY2VmaWVsZC5uYW1lXG4gICAgICAgICAgICAgICkudmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd2ZzR2V0RmVhdHVyZShcbiAgICBkYXRhU291cmNlT3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBuYjogbnVtYmVyID0gZGVmYXVsdE1heEZlYXR1cmVzLFxuICAgIGVwc2dDb2RlOiBzdHJpbmcgPSBkZWZhdWx0RXBzZyxcbiAgICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmcsXG4gICAgc3RhcnRJbmRleCA9IDAsXG4gICAgZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0ID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBxdWVyeVN0cmluZ1ZhbHVlcyA9IGZvcm1hdFdGU1F1ZXJ5U3RyaW5nKFxuICAgICAgZGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgICBuYixcbiAgICAgIGVwc2dDb2RlLFxuICAgICAgcHJvcGVydHlOYW1lLFxuICAgICAgc3RhcnRJbmRleCxcbiAgICAgIGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdFxuICAgICk7XG4gICAgY29uc3QgYmFzZVVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIGNvbnN0IG91dHB1dEZvcm1hdCA9IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gICAgaWYgKFxuICAgICAgZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0IHx8XG4gICAgICBnbWxSZWdleC50ZXN0KG91dHB1dEZvcm1hdCkgfHxcbiAgICAgICFvdXRwdXRGb3JtYXRcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwpO1xuICAgIH1cbiAgfVxuXG4gIGRlZmluZUZpZWxkQW5kVmFsdWVmcm9tV0ZTKFxuICAgIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VGaWVsZHMgPSBbXTtcbiAgICAgIGxldCBmaWVsZExpc3Q7XG4gICAgICBsZXQgZmllbGRMaXN0V29HZW9tO1xuICAgICAgbGV0IGZpZWxkTGlzdFdvR2VvbVN0cjtcbiAgICAgIGxldCBlZmZlY3RpdmVPbEZvcm1hdHM7XG5cbiAgICAgIGNvbnN0IG9sRm9ybWF0cyA9IGdldEZvcm1hdEZyb21PcHRpb25zKGRhdGFTb3VyY2VPcHRpb25zKTtcbiAgICAgIGNvbnN0IGdtbERhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgICAgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhU291cmNlT3B0aW9ucykpO1xuICAgICAgZGVsZXRlIGdtbERhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gICAgICBkZWxldGUgKGdtbERhdGFTb3VyY2VPcHRpb25zIGFzIFdGU0RhdGFTb3VyY2VPcHRpb25zKS5mb3JtYXRPcHRpb25zO1xuXG4gICAgICBlZmZlY3RpdmVPbEZvcm1hdHMgPSBnZXRGb3JtYXRGcm9tT3B0aW9ucyhnbWxEYXRhU291cmNlT3B0aW9ucyk7XG4gICAgICBsZXQgc291cmNlRmllbGRzVG9SZXRyaWV2ZVZhbHVlcyA9IGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkc1xuICAgICAgICA/LmZpbHRlcigoZikgPT4gIWYudmFsdWVzKVxuICAgICAgICAubWFwKChmKSA9PiBmLm5hbWUpO1xuXG4gICAgICAvLyBWYWxpZGF0ZSBpZiB0aGUgc2VydmljZSBtYW5hZ2Ugbm8gb3V0cHV0Zm9ybWF0ICh3ZnMgMS4wLjAgYW5kIEdNTCBpcyB0aGUgZGVmYXVsdCByZXR1cm4pXG4gICAgICB0aGlzLndmc0dldEZlYXR1cmUoZGF0YVNvdXJjZU9wdGlvbnMsIDEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAwLCB0cnVlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjb25jYXRNYXAoKHJlcykgPT5cbiAgICAgICAgICAgIFN0cmluZyhyZXMpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2V4Y2VwdGlvbicpXG4gICAgICAgICAgICAgID8gb2YoZmFsc2UpXG4gICAgICAgICAgICAgIDogb2YodHJ1ZSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNvbmNhdE1hcCgoYWxsb3dHbWwpID0+IHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBzZXJ2aWNlIHJldHVybiBHTUwgKHJldHVybiBubyBleGNlcHRpb24pXG4gICAgICAgICAgICByZXR1cm4gdGhpcy53ZnNHZXRGZWF0dXJlKGRhdGFTb3VyY2VPcHRpb25zLCAxKS5waXBlKFxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGZpcnN0RmVhdHVyZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGb3JtYXRzLnJlYWRGZWF0dXJlcyhmaXJzdEZlYXR1cmUpO1xuICAgICAgICAgICAgICAgIGZpZWxkTGlzdCA9IGZlYXR1cmVzWzBdLmdldEtleXMoKTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHNvdXJjZUZpZWxkc1RvUmV0cmlldmVWYWx1ZXMgPSBmaWVsZExpc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbSA9IGZpZWxkTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAoZmllbGQpID0+XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUZpZWxkc1RvUmV0cmlldmVWYWx1ZXMuaW5jbHVkZXMoZmllbGQpICYmXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkICE9PSBmZWF0dXJlc1swXS5nZXRHZW9tZXRyeU5hbWUoKSAmJlxuICAgICAgICAgICAgICAgICAgICAhZmllbGQubWF0Y2goL2JvdW5kZWRieS9naSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbVN0ciA9IGZpZWxkTGlzdFdvR2VvbS5qb2luKCcsJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2luZ0FycmF5ID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzZXJ2aWNlIGRvIG5vdCBhbGxvdyBnbWwgcmV0dXJuLCBkaWNlIHRoZSBjYWxsIGluIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgLy8gY2FsbHMgYnkgaW5jcmVtZW50IG9mIGNodW5rU2l6ZSB3aXRoIHRoZSBvcmlnaW5hbCBvdXRwdXRGb3JtYXRcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAhYWxsb3dHbWwgJiZcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy52ZXJzaW9uID09PSAnMi4wLjAnICYmXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMubWF4RmVhdHVyZXMgPiBkZWZhdWx0TWF4RmVhdHVyZXNcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IDEwMDA7XG4gICAgICAgICAgICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA8IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5tYXhGZWF0dXJlcykge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nQXJyYXkucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLndmc0dldEZlYXR1cmUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5zcnNOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRMaXN0V29HZW9tU3RyLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBlZmZlY3RpdmVPbEZvcm1hdHMgPSBvbEZvcm1hdHM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdBcnJheS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndmc0dldEZlYXR1cmUoXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLm1heEZlYXR1cmVzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWF4RmVhdHVyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLnNyc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRMaXN0V29HZW9tU3RyLFxuICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChwcm9jZXNzaW5nQXJyYXkpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICBsZXQgbWZlYXR1cmVzOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSA9IFtdO1xuICAgICAgICAgIHJlc3VsdHMubWFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvb3BGZWF0dXJlcyA9IGVmZmVjdGl2ZU9sRm9ybWF0cy5yZWFkRmVhdHVyZXMocmVzdWx0KTtcbiAgICAgICAgICAgIG1mZWF0dXJlcyA9IG1mZWF0dXJlcy5jb25jYXQobG9vcEZlYXR1cmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmJ1aWx0X3Byb3BlcnRpZXNfdmFsdWUobWZlYXR1cmVzKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBzb3VyY2VGaWVsZHMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkLm5leHQoc291cmNlRmllbGRzKTtcbiAgICAgICAgICBkLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsdF9wcm9wZXJ0aWVzX3ZhbHVlKGZlYXR1cmVzOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGt2ID0gT2JqZWN0LmFzc2lnbih7fSwgZmVhdHVyZXNbMF0uZ2V0UHJvcGVydGllcygpKTtcbiAgICBkZWxldGUga3ZbZmVhdHVyZXNbMF0uZ2V0R2VvbWV0cnlOYW1lKCldO1xuICAgIGRlbGV0ZSBrdi5ib3VuZGVkQnk7XG4gICAgY29uc3Qgc291cmNlRmllbGRzID0gW107XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBrdikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgaWYgKGt2Lmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgICAgICBjb25zdCBmaWVsZFR5cGUgPVxuICAgICAgICAgIHR5cGVvZiBmZWF0dXJlc1swXS5nZXQocHJvcGVydHkpID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogdHlwZW9mIGZlYXR1cmVzWzBdLmdldChwcm9wZXJ0eSk7XG4gICAgICAgIHNvdXJjZUZpZWxkcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBwcm9wZXJ0eSxcbiAgICAgICAgICBhbGlhczogcHJvcGVydHksXG4gICAgICAgICAgdHlwZTogZmllbGRUeXBlLFxuICAgICAgICAgIHZhbHVlczogW2t2W3Byb3BlcnR5XV1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZlYXR1cmVzLmV2ZXJ5KChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlUHJvcGVydGllcyA9IGVsZW1lbnQuZ2V0UHJvcGVydGllcygpO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZmVhdHVyZVByb3BlcnRpZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgICBpZiAoZmVhdHVyZVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBrZXkgaW4ga3YpIHtcbiAgICAgICAgICBzb3VyY2VGaWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGYpID0+IGYubmFtZSA9PT0ga2V5KVxuICAgICAgICAgICAgLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYudmFsdWVzLmluZGV4T2YoZmVhdHVyZVByb3BlcnRpZXNba2V5XSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdi52YWx1ZXMucHVzaChmZWF0dXJlUHJvcGVydGllc1trZXldKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIHJldHVybiBzb3VyY2VGaWVsZHM7XG4gIH1cbn1cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDVCxNQUFNLGlCQUFpQixDQUFDOzs7QUFLekIsTUFBTSxPQUFPLFVBQVcsU0FBUSxXQUFXO0lBQ3JCO0lBQXBCLFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUVwQyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNoRCxPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxzQkFBc0IsQ0FDM0IsaUJBQThEO1FBRTlELElBQ0UsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZO1lBQy9CLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUMzQyxDQUFDO1lBQ0QsaUJBQWlCLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENB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QUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzt3R0EzTlUsVUFBVTs0R0FBVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdEVwc2csXG4gIGRlZmF1bHRNYXhGZWF0dXJlcyxcbiAgZm9ybWF0V0ZTUXVlcnlTdHJpbmcsXG4gIGdldEZvcm1hdEZyb21PcHRpb25zLFxuICBnbWxSZWdleFxufSBmcm9tICcuL3dtcy13ZnMudXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXRlNTZXJ2aWNlIGV4dGVuZHMgRGF0YVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0RGF0YSgpIHtcbiAgICBjb25zb2xlLmxvZygnVGhpcyBpcyBkZWZpbmluZyBhIGRhdGEgc2VydmljZS4nKTtcbiAgICByZXR1cm4gJ1RoaXMgaXMgZGVmaW5pbmcgYSBkYXRhIHNlcnZpY2UuJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTb3VyY2VGaWVsZHNGcm9tV0ZTKFxuICAgIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4gICkge1xuICAgIGlmIChcbiAgICAgICFkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcyA9IFtdO1xuICAgICAgdGhpcy5kZWZpbmVGaWVsZEFuZFZhbHVlZnJvbVdGUyhkYXRhU291cmNlT3B0aW9ucykuc3Vic2NyaWJlKFxuICAgICAgICAoZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkKSA9PiB7XG4gICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzID0gZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmluZUZpZWxkQW5kVmFsdWVmcm9tV0ZTKGRhdGFTb3VyY2VPcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgIChnZXRmZWF0dXJlU291cmNlRmllbGQpID0+IHtcbiAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlZmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChzb3VyY2VmaWVsZC5hbGlhcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHNvdXJjZWZpZWxkLmFsaWFzID0gc291cmNlZmllbGQubmFtZTsgLy8gdG8gYWxsb3cgb25seSBhIGxpc3Qgb2Ygc291cmNlZmllbGQgd2l0aCBuYW1lc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBzb3VyY2VmaWVsZC52YWx1ZXMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICBzb3VyY2VmaWVsZC52YWx1ZXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc291cmNlZmllbGQudmFsdWVzID0gZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkLmZpbmQoXG4gICAgICAgICAgICAgICAgKHNmKSA9PiBzZi5uYW1lID09PSBzb3VyY2VmaWVsZC5uYW1lXG4gICAgICAgICAgICAgICkudmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd2ZzR2V0RmVhdHVyZShcbiAgICBkYXRhU291cmNlT3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBuYjogbnVtYmVyID0gZGVmYXVsdE1heEZlYXR1cmVzLFxuICAgIGVwc2dDb2RlOiBzdHJpbmcgPSBkZWZhdWx0RXBzZyxcbiAgICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmcsXG4gICAgc3RhcnRJbmRleCA9IDAsXG4gICAgZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0ID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBxdWVyeVN0cmluZ1ZhbHVlcyA9IGZvcm1hdFdGU1F1ZXJ5U3RyaW5nKFxuICAgICAgZGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgICBuYixcbiAgICAgIGVwc2dDb2RlLFxuICAgICAgcHJvcGVydHlOYW1lLFxuICAgICAgc3RhcnRJbmRleCxcbiAgICAgIGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdFxuICAgICk7XG4gICAgY29uc3QgYmFzZVVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIGNvbnN0IG91dHB1dEZvcm1hdCA9IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gICAgaWYgKFxuICAgICAgZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0IHx8XG4gICAgICBnbWxSZWdleC50ZXN0KG91dHB1dEZvcm1hdCkgfHxcbiAgICAgICFvdXRwdXRGb3JtYXRcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwpO1xuICAgIH1cbiAgfVxuXG4gIGRlZmluZUZpZWxkQW5kVmFsdWVmcm9tV0ZTKFxuICAgIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VGaWVsZHMgPSBbXTtcbiAgICAgIGxldCBmaWVsZExpc3Q7XG4gICAgICBsZXQgZmllbGRMaXN0V29HZW9tO1xuICAgICAgbGV0IGZpZWxkTGlzdFdvR2VvbVN0cjtcbiAgICAgIGxldCBlZmZlY3RpdmVPbEZvcm1hdHM7XG5cbiAgICAgIGNvbnN0IG9sRm9ybWF0cyA9IGdldEZvcm1hdEZyb21PcHRpb25zKGRhdGFTb3VyY2VPcHRpb25zKTtcbiAgICAgIGNvbnN0IGdtbERhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgICAgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhU291cmNlT3B0aW9ucykpO1xuICAgICAgZGVsZXRlIGdtbERhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gICAgICBkZWxldGUgKGdtbERhdGFTb3VyY2VPcHRpb25zIGFzIFdGU0RhdGFTb3VyY2VPcHRpb25zKS5mb3JtYXRPcHRpb25zO1xuXG4gICAgICBlZmZlY3RpdmVPbEZvcm1hdHMgPSBnZXRGb3JtYXRGcm9tT3B0aW9ucyhnbWxEYXRhU291cmNlT3B0aW9ucyk7XG4gICAgICBsZXQgc291cmNlRmllbGRzVG9SZXRyaWV2ZVZhbHVlcyA9IGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkc1xuICAgICAgICA/LmZpbHRlcigoZikgPT4gIWYudmFsdWVzKVxuICAgICAgICAubWFwKChmKSA9PiBmLm5hbWUpO1xuXG4gICAgICAvLyBWYWxpZGF0ZSBpZiB0aGUgc2VydmljZSBtYW5hZ2Ugbm8gb3V0cHV0Zm9ybWF0ICh3ZnMgMS4wLjAgYW5kIEdNTCBpcyB0aGUgZGVmYXVsdCByZXR1cm4pXG4gICAgICB0aGlzLndmc0dldEZlYXR1cmUoZGF0YVNvdXJjZU9wdGlvbnMsIDEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAwLCB0cnVlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjb25jYXRNYXAoKHJlcykgPT5cbiAgICAgICAgICAgIFN0cmluZyhyZXMpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2V4Y2VwdGlvbicpXG4gICAgICAgICAgICAgID8gb2YoZmFsc2UpXG4gICAgICAgICAgICAgIDogb2YodHJ1ZSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNvbmNhdE1hcCgoYWxsb3dHbWwpID0+IHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBzZXJ2aWNlIHJldHVybiBHTUwgKHJldHVybiBubyBleGNlcHRpb24pXG4gICAgICAgICAgICByZXR1cm4gdGhpcy53ZnNHZXRGZWF0dXJlKGRhdGFTb3VyY2VPcHRpb25zLCAxKS5waXBlKFxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGZpcnN0RmVhdHVyZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGb3JtYXRzLnJlYWRGZWF0dXJlcyhmaXJzdEZlYXR1cmUpO1xuICAgICAgICAgICAgICAgIGZpZWxkTGlzdCA9IGZlYXR1cmVzWzBdLmdldEtleXMoKTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHNvdXJjZUZpZWxkc1RvUmV0cmlldmVWYWx1ZXMgPSBmaWVsZExpc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbSA9IGZpZWxkTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAoZmllbGQpID0+XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUZpZWxkc1RvUmV0cmlldmVWYWx1ZXMuaW5jbHVkZXMoZmllbGQpICYmXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkICE9PSBmZWF0dXJlc1swXS5nZXRHZW9tZXRyeU5hbWUoKSAmJlxuICAgICAgICAgICAgICAgICAgICAhZmllbGQubWF0Y2goL2JvdW5kZWRieS9naSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbVN0ciA9IGZpZWxkTGlzdFdvR2VvbS5qb2luKCcsJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2luZ0FycmF5ID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzZXJ2aWNlIGRvIG5vdCBhbGxvdyBnbWwgcmV0dXJuLCBkaWNlIHRoZSBjYWxsIGluIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgLy8gY2FsbHMgYnkgaW5jcmVtZW50IG9mIGNodW5rU2l6ZSB3aXRoIHRoZSBvcmlnaW5hbCBvdXRwdXRGb3JtYXRcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAhYWxsb3dHbWwgJiZcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy52ZXJzaW9uID09PSAnMi4wLjAnICYmXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMubWF4RmVhdHVyZXMgPiBkZWZhdWx0TWF4RmVhdHVyZXNcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IDEwMDA7XG4gICAgICAgICAgICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA8IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5tYXhGZWF0dXJlcykge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nQXJyYXkucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLndmc0dldEZlYXR1cmUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5zcnNOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRMaXN0V29HZW9tU3RyLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBlZmZlY3RpdmVPbEZvcm1hdHMgPSBvbEZvcm1hdHM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdBcnJheS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndmc0dldEZlYXR1cmUoXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLm1heEZlYXR1cmVzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWF4RmVhdHVyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLnNyc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRMaXN0V29HZW9tU3RyLFxuICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChwcm9jZXNzaW5nQXJyYXkpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICBsZXQgbWZlYXR1cmVzOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSA9IFtdO1xuICAgICAgICAgIHJlc3VsdHMubWFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvb3BGZWF0dXJlcyA9IGVmZmVjdGl2ZU9sRm9ybWF0cy5yZWFkRmVhdHVyZXMocmVzdWx0KTtcbiAgICAgICAgICAgIG1mZWF0dXJlcyA9IG1mZWF0dXJlcy5jb25jYXQobG9vcEZlYXR1cmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmJ1aWx0X3Byb3BlcnRpZXNfdmFsdWUobWZlYXR1cmVzKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBzb3VyY2VGaWVsZHMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkLm5leHQoc291cmNlRmllbGRzKTtcbiAgICAgICAgICBkLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsdF9wcm9wZXJ0aWVzX3ZhbHVlKGZlYXR1cmVzOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGt2ID0gT2JqZWN0LmFzc2lnbih7fSwgZmVhdHVyZXNbMF0uZ2V0UHJvcGVydGllcygpKTtcbiAgICBkZWxldGUga3ZbZmVhdHVyZXNbMF0uZ2V0R2VvbWV0cnlOYW1lKCldO1xuICAgIGRlbGV0ZSBrdi5ib3VuZGVkQnk7XG4gICAgY29uc3Qgc291cmNlRmllbGRzID0gW107XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBrdikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgaWYgKGt2Lmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgICAgICBjb25zdCBmaWVsZFR5cGUgPVxuICAgICAgICAgIHR5cGVvZiBmZWF0dXJlc1swXS5nZXQocHJvcGVydHkpID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogdHlwZW9mIGZlYXR1cmVzWzBdLmdldChwcm9wZXJ0eSk7XG4gICAgICAgIHNvdXJjZUZpZWxkcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBwcm9wZXJ0eSxcbiAgICAgICAgICBhbGlhczogcHJvcGVydHksXG4gICAgICAgICAgdHlwZTogZmllbGRUeXBlLFxuICAgICAgICAgIHZhbHVlczogW2t2W3Byb3BlcnR5XV1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZlYXR1cmVzLmV2ZXJ5KChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlUHJvcGVydGllcyA9IGVsZW1lbnQuZ2V0UHJvcGVydGllcygpO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZmVhdHVyZVByb3BlcnRpZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgICBpZiAoZmVhdHVyZVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBrZXkgaW4ga3YpIHtcbiAgICAgICAgICBzb3VyY2VGaWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGYpID0+IGYubmFtZSA9PT0ga2V5KVxuICAgICAgICAgICAgLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYudmFsdWVzLmluZGV4T2YoZmVhdHVyZVByb3BlcnRpZXNba2V5XSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdi52YWx1ZXMucHVzaChmZWF0dXJlUHJvcGVydGllc1trZXldKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIHJldHVybiBzb3VyY2VGaWVsZHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlcnZlclR5cGUgfSBmcm9tICdvbC9zb3VyY2Uvd21zJztcblxuaW1wb3J0IHR5cGUgeyBPZ2NGaWx0ZXJzT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlcic7XG5pbXBvcnQgdHlwZSB7IFRpbWVGaWx0ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC90aW1lLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtcyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBXTVNEYXRhU291cmNlT3B0aW9ucyBleHRlbmRzIERhdGFTb3VyY2VPcHRpb25zIHtcbiAgLy8gdHlwZT86ICd3bXMnO1xuICBwYXJhbXNXRlM/OiBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtczsgLy8gZm9yIHdtcyBsaW5rZWQgd2l0aCB3ZnNcbiAgdXJsV2ZzPzogc3RyaW5nOyAvLyBpZiB1cmwgZm9yIGxpbmtlZCB3ZnMgZGlmZmVyIGZyb20gdGhlIHVybCBmb3Igd21zLlxuICB1cmw6IHN0cmluZztcbiAgcGFyYW1zOiBXTVNEYXRhU291cmNlT3B0aW9uc1BhcmFtcztcbiAgY3Jvc3NPcmlnaW4/OiBzdHJpbmc7XG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XG4gIHJlc29sdXRpb25zPzogbnVtYmVyW107XG4gIHNlcnZlclR5cGU/OiBTZXJ2ZXJUeXBlO1xuICByYXRpbz86IG51bWJlcjtcbiAgcmVmcmVzaEludGVydmFsU2VjPzogbnVtYmVyO1xuICBjb250ZW50RGVwZW5kZW50TGVnZW5kPzogYm9vbGVhbjtcbiAgZXhjbHVkZUF0dHJpYnV0ZT86IEFycmF5PHN0cmluZz47XG4gIG9nY0ZpbHRlcnM/OiBPZ2NGaWx0ZXJzT3B0aW9ucztcbiAgdGltZUZpbHRlcj86IFRpbWVGaWx0ZXJPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdNU0RhdGFTb3VyY2VPcHRpb25zUGFyYW1zIHtcbiAgTEFZRVJTOiBzdHJpbmc7XG4gIFZFUlNJT04/OiBzdHJpbmc7XG4gIFRJTUU/OiBzdHJpbmc7XG4gIEZFQVRVUkVfQ09VTlQ/OiBudW1iZXI7XG4gIEZJTFRFUj86IHN0cmluZztcbiAgSU5GT19GT1JNQVQ/OiBzdHJpbmc7XG4gIERQST86IG51bWJlcjtcbiAgTUFQX1JFU09MVVRJT04/OiBudW1iZXI7XG4gIEZPUk1BVF9PUFRJT05TPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgZXh0ZW5kcyBXTVNEYXRhU291cmNlT3B0aW9ucyB7XG4gIHRpbWVGaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgdGltZUZpbHRlcj86IFRpbWVGaWx0ZXJPcHRpb25zO1xufVxuIl19
|
|
@@ -37,6 +37,13 @@ export class WMSDataSource extends DataSource {
|
|
|
37
37
|
return this.options.timeFilter;
|
|
38
38
|
}
|
|
39
39
|
timeFilter$ = new BehaviorSubject(undefined);
|
|
40
|
+
get saveableOptions() {
|
|
41
|
+
const baseOptions = super.saveableOptions;
|
|
42
|
+
return {
|
|
43
|
+
...baseOptions,
|
|
44
|
+
params: this.params
|
|
45
|
+
};
|
|
46
|
+
}
|
|
40
47
|
constructor(options, wfsService) {
|
|
41
48
|
super(options);
|
|
42
49
|
this.options = options;
|
|
@@ -217,4 +224,4 @@ export class WMSDataSource extends DataSource {
|
|
|
217
224
|
// empty
|
|
218
225
|
}
|
|
219
226
|
}
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7QUFVekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBdUNsQztJQUNHO0lBckNaLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDMUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsZUFBZTtZQUN2QyxDQUFD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QUMsR0FBRyxDQUFDO1lBQ2xELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEdBQUcsT0FBTyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssRUFBRTtnQkFDL0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzVDLFlBQVksRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLEtBQWdCO2FBQ2xFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xTb3VyY2VJbWFnZVdNUyBmcm9tICdvbC9zb3VyY2UvSW1hZ2VXTVMnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7XG4gIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgT2djRmlsdGVyc09wdGlvbnNcbn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaW1lRmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvdGltZS1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sZWdlbmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFF1ZXJ5SHRtbFRhcmdldCB9IGZyb20gJy4uLy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5lbnVtcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IExlZ2VuZCB9IGZyb20gJy4vZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV0ZTU2VydmljZSB9IGZyb20gJy4vd2ZzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2tXZnNQYXJhbXMsXG4gIGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeSxcbiAgZm9ybWF0V0ZTUXVlcnlTdHJpbmdcbn0gZnJvbSAnLi93bXMtd2ZzLnV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UgZXh0ZW5kcyBXTVNEYXRhU291cmNlIHtcbiAgb3B0aW9uczogVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgdGltZUZpbHRlciQ6IEJlaGF2aW9yU3ViamVjdDxUaW1lRmlsdGVyT3B0aW9ucz47XG4gIHNldFRpbWVGaWx0ZXIob2djRmlsdGVyczogVGltZUZpbHRlck9wdGlvbnMsIHRyaWdnZXJFdmVudD86IGJvb2xlYW4pO1xuICBmaWx0ZXJCeURhdGUoZGF0ZTogRGF0ZSB8IFtEYXRlLCBEYXRlXSk7XG4gIGZpbHRlckJ5WWVhcih5ZWFyOiBzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddKTtcbn1cblxuZXhwb3J0IGNsYXNzIFdNU0RhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlSW1hZ2VXTVM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgc2V0IG9nY0ZpbHRlcnModmFsdWU6IE9nY0ZpbHRlcnNPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgb2djRmlsdGVycygpOiBPZ2NGaWx0ZXJzT3B0aW9ucyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzO1xuICB9XG5cbiAgc2V0IHRpbWVGaWx0ZXIodmFsdWU6IFRpbWVGaWx0ZXJPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS50aW1lRmlsdGVyID0gdmFsdWU7XG4gIH1cbiAgZ2V0IHRpbWVGaWx0ZXIoKTogVGltZUZpbHRlck9wdGlvbnMge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLnRpbWVGaWx0ZXI7XG4gIH1cbiAgcmVhZG9ubHkgdGltZUZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBwcm90ZWN0ZWQgd2ZzU2VydmljZTogV0ZTU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICBjb25zdCBzb3VyY2VQYXJhbXM6IGFueSA9IG9wdGlvbnMucGFyYW1zO1xuXG4gICAgY29uc3QgZHBpID0gc291cmNlUGFyYW1zLkRQSSB8fCA5NjtcbiAgICBzb3VyY2VQYXJhbXMuRFBJID0gZHBpO1xuICAgIHNvdXJjZVBhcmFtcy5NQVBfUkVTT0xVVElPTiA9IGRwaTtcbiAgICBzb3VyY2VQYXJhbXMuRk9STUFUX09QVElPTlMgPSAnZHBpOicgKyBkcGk7XG5cbiAgICBpZiAob3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgJiYgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgPiAwKSB7XG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSwgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgKiAxMDAwKTsgLy8gQ29udmVydCBzZWNvbmRzIHRvIE1TXG4gICAgfVxuXG4gICAgbGV0IGZpZWxkTmFtZUdlb21ldHJ5ID0gZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgLy8gIyMjIyAgIFNUQVJUIGlmIHBhcmFtc1dGU1xuICAgIGlmIChvcHRpb25zLnBhcmFtc1dGUykge1xuICAgICAgY29uc3Qgd2ZzQ2hlY2t1cCA9IGNoZWNrV2ZzUGFyYW1zKG9wdGlvbnMsICd3bXMnKTtcbiAgICAgIE9iamVjdFV0aWxzLm1lcmdlRGVlcChvcHRpb25zLnBhcmFtc1dGUywgd2ZzQ2hlY2t1cC5wYXJhbXNXRlMpO1xuXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgICAgIG9wdGlvbnMucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgICBvcHRpb25zLmRvd25sb2FkID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5kb3dubG9hZCwge1xuICAgICAgICBkeW5hbWljVXJsOiB0aGlzLmJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhvcHRpb25zKVxuICAgICAgfSk7XG4gICAgfSAvLyAgIyMjIyAgIEVORCAgaWYgcGFyYW1zV0ZTXG5cbiAgICBpZiAoIW9wdGlvbnMuc291cmNlRmllbGRzIHx8IG9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlRmllbGQpID0+IHtcbiAgICAgICAgc291cmNlRmllbGQuYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhc1xuICAgICAgICAgID8gc291cmNlRmllbGQuYWxpYXNcbiAgICAgICAgICA6IHNvdXJjZUZpZWxkLm5hbWU7XG4gICAgICAgIC8vIHRvIGFsbG93IG9ubHkgYSBsaXN0IG9mIHNvdXJjZWZpZWxkIHdpdGggbmFtZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpbml0T2djRmlsdGVycyA9IChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcblxuICAgIGlmICghaW5pdE9nY0ZpbHRlcnMpIHtcbiAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICAgIG9nY0ZpbHRlcldyaXRlci5kZWZpbmVPZ2NGaWx0ZXJzRGVmYXVsdE9wdGlvbnMoXG4gICAgICAgICAgaW5pdE9nY0ZpbHRlcnMsXG4gICAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgICAgJ3dtcydcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID1cbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcyB8fFxuICAgICAgICBpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuc2VsZWN0IHx8XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmF1dG9jb21wbGV0ZVxuICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICA6IHRydWU7XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzICYmIGluaXRPZ2NGaWx0ZXJzLmZpbHRlcnMpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRHVyaW5nID0gaW5pdE9nY0ZpbHRlcnMuZmlsdGVycyBhcyBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zO1xuICAgICAgICBpZiAoZmlsdGVyRHVyaW5nLmNhbGVuZGFyTW9kZVllYXIpIHtcbiAgICAgICAgICBpbml0T2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdwdXNoQnV0dG9uJztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5jaGVja2JveGVzKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucmFkaW9CdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdyYWRpb0J1dHRvbic7XG4gICAgICB9XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuc2VsZWN0KSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnNlbGVjdC5zZWxlY3RvclR5cGUgPSAnc2VsZWN0JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNvdXJjZVBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKS5sZW5ndGggPiAxICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZFxuICAgICkge1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnQkUgQ0FSRUZVTEwsIFlPVVIgV01TIExBWUVSUyAoJyArXG4gICAgICAgICAgc291cmNlUGFyYW1zLkxBWUVSUyArXG4gICAgICAgICAgJykgTVVTVCBTSEFSRSBUSEUgU0FNRSBGSUVMRFMgVE8gQUxMT1cgb2djRmlsdGVycyBUTyBXT1JLICEhICdcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygnKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMucGFyYW1zV0ZTICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZWRpdGFibGUgJiZcbiAgICAgIChvcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXSkuZmlsdGVyKChzZikgPT4gIXNmLnZhbHVlcykubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy53ZnNTZXJ2aWNlLmdldFNvdXJjZUZpZWxkc0Zyb21XRlMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUXVlcnlTdHJpbmcgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICk7XG4gICAgc291cmNlUGFyYW1zLkZJTFRFUiA9IGZpbHRlclF1ZXJ5U3RyaW5nO1xuICAgIHRoaXMub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBzb3VyY2VQYXJhbXMuRklMVEVSIH0pO1xuICAgIHRoaXMuc2V0T2djRmlsdGVycyhpbml0T2djRmlsdGVycywgdHJ1ZSk7XG5cbiAgICBjb25zdCB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgIG9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICBpZiAoXG4gICAgICB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zPy50aW1lRmlsdGVyYWJsZSAmJlxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlclxuICAgICkge1xuICAgICAgdGhpcy5zZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMudGltZUZpbHRlciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLm9sLnVwZGF0ZVBhcmFtcyh7IGlnb1JlZnJlc2g6IE1hdGgucmFuZG9tKCkgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKTtcbiAgICBjb25zdCBkb3dubG9hZFVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIHJldHVybiBkb3dubG9hZFVybDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZUltYWdlV01TIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlSW1hZ2VXTVMoT2JqZWN0LmFzc2lnbih7IHJhdGlvOiAxIH0sIHRoaXMub3B0aW9ucykpO1xuICB9XG5cbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50ID0gZmFsc2UpIHtcbiAgICB0aGlzLm9nY0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzO1xuICAgIGlmICh0cmlnZ2VyRXZlbnQpIHtcbiAgICAgIHRoaXMub2wubm90aWZ5KCdvZ2NGaWx0ZXJzJywgdGhpcy5vZ2NGaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXI6IFRpbWVGaWx0ZXJPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMudGltZUZpbHRlciA9IHRpbWVGaWx0ZXI7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy50aW1lRmlsdGVyJC5uZXh0KHRoaXMudGltZUZpbHRlcik7XG4gICAgICB0aGlzLm9sLm5vdGlmeSgndGltZUZpbHRlcicsIHRoaXMub2djRmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGVnZW5kKHN0eWxlPzogc3RyaW5nLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBMZWdlbmRbXSB7XG4gICAgbGV0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmQubGVuZ3RoID4gMCAmJiBzdHlsZSA9PT0gdW5kZWZpbmVkICYmICF2aWV3Py5zY2FsZSkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBsZXQgY29udGVudERlcGVuZGVudCA9IGZhbHNlO1xuICAgIGxldCBwcm9qUGFyYW07XG5cbiAgICBpZiAoXG4gICAgICB2aWV3Py5zaXplICYmXG4gICAgICB2aWV3Py5leHRlbnQgJiZcbiAgICAgIHZpZXc/LnByb2plY3Rpb24gJiZcbiAgICAgIHRoaXMub3B0aW9ucy5jb250ZW50RGVwZW5kZW50TGVnZW5kXG4gICAgKSB7XG4gICAgICBwcm9qUGFyYW0gPVxuICAgICAgICB0aGlzLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnIHx8IHRoaXMucGFyYW1zLlZFUlNJT04gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gJ0NSUydcbiAgICAgICAgICA6ICdTUlMnO1xuICAgICAgY29udGVudERlcGVuZGVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5wYXJhbXM7XG5cbiAgICBsZXQgbGF5ZXJzID0gW107XG4gICAgaWYgKHNvdXJjZVBhcmFtcy5MQVlFUlMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGF5ZXJzID0gc291cmNlUGFyYW1zLkxBWUVSUy5zcGxpdCgnLCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLm9wdGlvbnMudXJsLnJlcGxhY2UoL1xcPyQvLCAnJyk7XG4gICAgY29uc3QgcGFyYW1zID0gW1xuICAgICAgJ1JFUVVFU1Q9R2V0TGVnZW5kR3JhcGhpYycsXG4gICAgICAnU0VSVklDRT1XTVMnLFxuICAgICAgJ0ZPUk1BVD1pbWFnZS9wbmcnLFxuICAgICAgJ1NMRF9WRVJTSU9OPTEuMS4wJyxcbiAgICAgIGBWRVJTSU9OPSR7c291cmNlUGFyYW1zLlZFUlNJT04gfHwgJzEuMy4wJ31gXG4gICAgXTtcbiAgICBpZiAoc3R5bGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFyYW1zLnB1c2goYFNUWUxFPSR7c3R5bGV9YCk7XG4gICAgfVxuICAgIGlmICh2aWV3Py5zY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJhbXMucHVzaChgU0NBTEU9JHt2aWV3LnNjYWxlfWApO1xuICAgIH1cbiAgICBpZiAoY29udGVudERlcGVuZGVudCkge1xuICAgICAgcGFyYW1zLnB1c2goYFdJRFRIPSR7dmlldy5zaXplWzBdfWApO1xuICAgICAgcGFyYW1zLnB1c2goYEhFSUdIVD0ke3ZpZXcuc2l6ZVsxXX1gKTtcbiAgICAgIHBhcmFtcy5wdXNoKGBCQk9YPSR7dmlldy5leHRlbnQuam9pbignLCcpfWApO1xuICAgICAgcGFyYW1zLnB1c2goYCR7cHJvalBhcmFtfT0ke3ZpZXcucHJvamVjdGlvbn1gKTtcbiAgICB9XG5cbiAgICBsZWdlbmQgPSBsYXllcnMubWFwKChsYXllcjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzZXBhcmF0b3IgPSBiYXNlVXJsLm1hdGNoKC9cXD8vKSA/ICcmJyA6ICc/JztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYCR7YmFzZVVybH0ke3NlcGFyYXRvcn0ke3BhcmFtcy5qb2luKCcmJyl9JkxBWUVSPSR7bGF5ZXJ9YCxcbiAgICAgICAgdGl0bGU6IGxheWVycy5sZW5ndGggPiAxID8gbGF5ZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRTdHlsZTogc3R5bGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChzdHlsZSBhcyBzdHJpbmcpXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxlZ2VuZDtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSBleHRlbmRzIFdNU0RhdGFTb3VyY2Uge1xuICBvcHRpb25zOiBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICB0aW1lRmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPjtcbiAgc2V0VGltZUZpbHRlcihvZ2NGaWx0ZXJzOiBUaW1lRmlsdGVyT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG4gIGZpbHRlckJ5RGF0ZShkYXRlOiBEYXRlIHwgW0RhdGUsIERhdGVdKTtcbiAgZmlsdGVyQnlZZWFyKHllYXI6IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ10pO1xufVxuIl19
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7QUFVekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBK0NsQztJQUNHO0lBN0NaLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDMUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsZUFBZTtZQUN2QyxDQUFD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TUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNsRCxPQUFPO2dCQUNMLEdBQUcsRUFBRSxHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLEVBQUU7Z0JBQy9ELEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUM1QyxZQUFZLEVBQUUsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxLQUFnQjthQUNsRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sU0FBUztRQUNkLFFBQVE7SUFDVixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sU291cmNlSW1hZ2VXTVMgZnJvbSAnb2wvc291cmNlL0ltYWdlV01TJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQge1xuICBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zLFxuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXG4gIE9nY0ZpbHRlcnNPcHRpb25zXG59IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGltZUZpbHRlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL3RpbWUtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMZWdlbmRNYXBWaWV3T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGVnZW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRdWVyeUh0bWxUYXJnZXQgfSBmcm9tICcuLi8uLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuZW51bXMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdGU1NlcnZpY2UgfSBmcm9tICcuL3dmcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXG4gIFdNU0RhdGFTb3VyY2VPcHRpb25zXG59IGZyb20gJy4vd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIGNoZWNrV2ZzUGFyYW1zLFxuICBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnksXG4gIGZvcm1hdFdGU1F1ZXJ5U3RyaW5nXG59IGZyb20gJy4vd21zLXdmcy51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUZpbHRlcmFibGVEYXRhU291cmNlIGV4dGVuZHMgV01TRGF0YVNvdXJjZSB7XG4gIG9wdGlvbnM6IFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHRpbWVGaWx0ZXIkOiBCZWhhdmlvclN1YmplY3Q8VGltZUZpbHRlck9wdGlvbnM+O1xuICBzZXRUaW1lRmlsdGVyKG9nY0ZpbHRlcnM6IFRpbWVGaWx0ZXJPcHRpb25zLCB0cmlnZ2VyRXZlbnQ/OiBib29sZWFuKTtcbiAgZmlsdGVyQnlEYXRlKGRhdGU6IERhdGUgfCBbRGF0ZSwgRGF0ZV0pO1xuICBmaWx0ZXJCeVllYXIoeWVhcjogc3RyaW5nIHwgW3N0cmluZywgc3RyaW5nXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBXTVNEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZUltYWdlV01TO1xuXG4gIGdldCBwYXJhbXMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnBhcmFtcyBhcyBhbnk7XG4gIH1cblxuICBnZXQgcXVlcnlUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgPyAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgOiAndGl0bGUnO1xuICB9XG5cbiAgZ2V0IG1hcExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5tYXBMYWJlbDtcbiAgfVxuXG4gIGdldCBxdWVyeUh0bWxUYXJnZXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLnF1ZXJ5SHRtbFRhcmdldFxuICAgICAgPyAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA6IFF1ZXJ5SHRtbFRhcmdldC5CTEFOSztcbiAgfVxuXG4gIHNldCBvZ2NGaWx0ZXJzKHZhbHVlOiBPZ2NGaWx0ZXJzT3B0aW9ucykge1xuICAgICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IG9nY0ZpbHRlcnMoKTogT2djRmlsdGVyc09wdGlvbnMge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycztcbiAgfVxuXG4gIHNldCB0aW1lRmlsdGVyKHZhbHVlOiBUaW1lRmlsdGVyT3B0aW9ucykge1xuICAgICh0aGlzLm9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykudGltZUZpbHRlciA9IHZhbHVlO1xuICB9XG4gIGdldCB0aW1lRmlsdGVyKCk6IFRpbWVGaWx0ZXJPcHRpb25zIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS50aW1lRmlsdGVyO1xuICB9XG4gIHJlYWRvbmx5IHRpbWVGaWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUaW1lRmlsdGVyT3B0aW9ucz4odW5kZWZpbmVkKTtcblxuICBnZXQgc2F2ZWFibGVPcHRpb25zKCk6IFBhcnRpYWw8V01TRGF0YVNvdXJjZU9wdGlvbnM+IHtcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IHN1cGVyLnNhdmVhYmxlT3B0aW9ucztcbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZU9wdGlvbnMsXG4gICAgICBwYXJhbXM6IHRoaXMucGFyYW1zXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBwcm90ZWN0ZWQgd2ZzU2VydmljZTogV0ZTU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICBjb25zdCBzb3VyY2VQYXJhbXM6IGFueSA9IG9wdGlvbnMucGFyYW1zO1xuXG4gICAgY29uc3QgZHBpID0gc291cmNlUGFyYW1zLkRQSSB8fCA5NjtcbiAgICBzb3VyY2VQYXJhbXMuRFBJID0gZHBpO1xuICAgIHNvdXJjZVBhcmFtcy5NQVBfUkVTT0xVVElPTiA9IGRwaTtcbiAgICBzb3VyY2VQYXJhbXMuRk9STUFUX09QVElPTlMgPSAnZHBpOicgKyBkcGk7XG5cbiAgICBpZiAob3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgJiYgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgPiAwKSB7XG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSwgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgKiAxMDAwKTsgLy8gQ29udmVydCBzZWNvbmRzIHRvIE1TXG4gICAgfVxuXG4gICAgbGV0IGZpZWxkTmFtZUdlb21ldHJ5ID0gZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgLy8gIyMjIyAgIFNUQVJUIGlmIHBhcmFtc1dGU1xuICAgIGlmIChvcHRpb25zLnBhcmFtc1dGUykge1xuICAgICAgY29uc3Qgd2ZzQ2hlY2t1cCA9IGNoZWNrV2ZzUGFyYW1zKG9wdGlvbnMsICd3bXMnKTtcbiAgICAgIE9iamVjdFV0aWxzLm1lcmdlRGVlcChvcHRpb25zLnBhcmFtc1dGUywgd2ZzQ2hlY2t1cC5wYXJhbXNXRlMpO1xuXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgICAgIG9wdGlvbnMucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgICBvcHRpb25zLmRvd25sb2FkID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5kb3dubG9hZCwge1xuICAgICAgICBkeW5hbWljVXJsOiB0aGlzLmJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhvcHRpb25zKVxuICAgICAgfSk7XG4gICAgfSAvLyAgIyMjIyAgIEVORCAgaWYgcGFyYW1zV0ZTXG5cbiAgICBpZiAoIW9wdGlvbnMuc291cmNlRmllbGRzIHx8IG9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlRmllbGQpID0+IHtcbiAgICAgICAgc291cmNlRmllbGQuYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhc1xuICAgICAgICAgID8gc291cmNlRmllbGQuYWxpYXNcbiAgICAgICAgICA6IHNvdXJjZUZpZWxkLm5hbWU7XG4gICAgICAgIC8vIHRvIGFsbG93IG9ubHkgYSBsaXN0IG9mIHNvdXJjZWZpZWxkIHdpdGggbmFtZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpbml0T2djRmlsdGVycyA9IChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcblxuICAgIGlmICghaW5pdE9nY0ZpbHRlcnMpIHtcbiAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICAgIG9nY0ZpbHRlcldyaXRlci5kZWZpbmVPZ2NGaWx0ZXJzRGVmYXVsdE9wdGlvbnMoXG4gICAgICAgICAgaW5pdE9nY0ZpbHRlcnMsXG4gICAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgICAgJ3dtcydcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID1cbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcyB8fFxuICAgICAgICBpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuc2VsZWN0IHx8XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmF1dG9jb21wbGV0ZVxuICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICA6IHRydWU7XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzICYmIGluaXRPZ2NGaWx0ZXJzLmZpbHRlcnMpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRHVyaW5nID0gaW5pdE9nY0ZpbHRlcnMuZmlsdGVycyBhcyBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zO1xuICAgICAgICBpZiAoZmlsdGVyRHVyaW5nLmNhbGVuZGFyTW9kZVllYXIpIHtcbiAgICAgICAgICBpbml0T2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdwdXNoQnV0dG9uJztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5jaGVja2JveGVzKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucmFkaW9CdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdyYWRpb0J1dHRvbic7XG4gICAgICB9XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuc2VsZWN0KSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnNlbGVjdC5zZWxlY3RvclR5cGUgPSAnc2VsZWN0JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNvdXJjZVBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKS5sZW5ndGggPiAxICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZFxuICAgICkge1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnQkUgQ0FSRUZVTEwsIFlPVVIgV01TIExBWUVSUyAoJyArXG4gICAgICAgICAgc291cmNlUGFyYW1zLkxBWUVSUyArXG4gICAgICAgICAgJykgTVVTVCBTSEFSRSBUSEUgU0FNRSBGSUVMRFMgVE8gQUxMT1cgb2djRmlsdGVycyBUTyBXT1JLICEhICdcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygnKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMucGFyYW1zV0ZTICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZWRpdGFibGUgJiZcbiAgICAgIChvcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXSkuZmlsdGVyKChzZikgPT4gIXNmLnZhbHVlcykubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy53ZnNTZXJ2aWNlLmdldFNvdXJjZUZpZWxkc0Zyb21XRlMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUXVlcnlTdHJpbmcgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICk7XG4gICAgc291cmNlUGFyYW1zLkZJTFRFUiA9IGZpbHRlclF1ZXJ5U3RyaW5nO1xuICAgIHRoaXMub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBzb3VyY2VQYXJhbXMuRklMVEVSIH0pO1xuICAgIHRoaXMuc2V0T2djRmlsdGVycyhpbml0T2djRmlsdGVycywgdHJ1ZSk7XG5cbiAgICBjb25zdCB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgIG9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICBpZiAoXG4gICAgICB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zPy50aW1lRmlsdGVyYWJsZSAmJlxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlclxuICAgICkge1xuICAgICAgdGhpcy5zZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMudGltZUZpbHRlciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLm9sLnVwZGF0ZVBhcmFtcyh7IGlnb1JlZnJlc2g6IE1hdGgucmFuZG9tKCkgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKTtcbiAgICBjb25zdCBkb3dubG9hZFVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIHJldHVybiBkb3dubG9hZFVybDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZUltYWdlV01TIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlSW1hZ2VXTVMoT2JqZWN0LmFzc2lnbih7IHJhdGlvOiAxIH0sIHRoaXMub3B0aW9ucykpO1xuICB9XG5cbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50ID0gZmFsc2UpIHtcbiAgICB0aGlzLm9nY0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzO1xuICAgIGlmICh0cmlnZ2VyRXZlbnQpIHtcbiAgICAgIHRoaXMub2wubm90aWZ5KCdvZ2NGaWx0ZXJzJywgdGhpcy5vZ2NGaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXI6IFRpbWVGaWx0ZXJPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMudGltZUZpbHRlciA9IHRpbWVGaWx0ZXI7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy50aW1lRmlsdGVyJC5uZXh0KHRoaXMudGltZUZpbHRlcik7XG4gICAgICB0aGlzLm9sLm5vdGlmeSgndGltZUZpbHRlcicsIHRoaXMub2djRmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGVnZW5kKHN0eWxlPzogc3RyaW5nLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBMZWdlbmRbXSB7XG4gICAgbGV0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmQubGVuZ3RoID4gMCAmJiBzdHlsZSA9PT0gdW5kZWZpbmVkICYmICF2aWV3Py5zY2FsZSkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBsZXQgY29udGVudERlcGVuZGVudCA9IGZhbHNlO1xuICAgIGxldCBwcm9qUGFyYW07XG5cbiAgICBpZiAoXG4gICAgICB2aWV3Py5zaXplICYmXG4gICAgICB2aWV3Py5leHRlbnQgJiZcbiAgICAgIHZpZXc/LnByb2plY3Rpb24gJiZcbiAgICAgIHRoaXMub3B0aW9ucy5jb250ZW50RGVwZW5kZW50TGVnZW5kXG4gICAgKSB7XG4gICAgICBwcm9qUGFyYW0gPVxuICAgICAgICB0aGlzLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnIHx8IHRoaXMucGFyYW1zLlZFUlNJT04gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gJ0NSUydcbiAgICAgICAgICA6ICdTUlMnO1xuICAgICAgY29udGVudERlcGVuZGVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5wYXJhbXM7XG5cbiAgICBsZXQgbGF5ZXJzID0gW107XG4gICAgaWYgKHNvdXJjZVBhcmFtcy5MQVlFUlMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGF5ZXJzID0gc291cmNlUGFyYW1zLkxBWUVSUy5zcGxpdCgnLCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLm9wdGlvbnMudXJsLnJlcGxhY2UoL1xcPyQvLCAnJyk7XG4gICAgY29uc3QgcGFyYW1zID0gW1xuICAgICAgJ1JFUVVFU1Q9R2V0TGVnZW5kR3JhcGhpYycsXG4gICAgICAnU0VSVklDRT1XTVMnLFxuICAgICAgJ0ZPUk1BVD1pbWFnZS9wbmcnLFxuICAgICAgJ1NMRF9WRVJTSU9OPTEuMS4wJyxcbiAgICAgIGBWRVJTSU9OPSR7c291cmNlUGFyYW1zLlZFUlNJT04gfHwgJzEuMy4wJ31gXG4gICAgXTtcbiAgICBpZiAoc3R5bGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFyYW1zLnB1c2goYFNUWUxFPSR7c3R5bGV9YCk7XG4gICAgfVxuICAgIGlmICh2aWV3Py5zY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJhbXMucHVzaChgU0NBTEU9JHt2aWV3LnNjYWxlfWApO1xuICAgIH1cbiAgICBpZiAoY29udGVudERlcGVuZGVudCkge1xuICAgICAgcGFyYW1zLnB1c2goYFdJRFRIPSR7dmlldy5zaXplWzBdfWApO1xuICAgICAgcGFyYW1zLnB1c2goYEhFSUdIVD0ke3ZpZXcuc2l6ZVsxXX1gKTtcbiAgICAgIHBhcmFtcy5wdXNoKGBCQk9YPSR7dmlldy5leHRlbnQuam9pbignLCcpfWApO1xuICAgICAgcGFyYW1zLnB1c2goYCR7cHJvalBhcmFtfT0ke3ZpZXcucHJvamVjdGlvbn1gKTtcbiAgICB9XG5cbiAgICBsZWdlbmQgPSBsYXllcnMubWFwKChsYXllcjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzZXBhcmF0b3IgPSBiYXNlVXJsLm1hdGNoKC9cXD8vKSA/ICcmJyA6ICc/JztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYCR7YmFzZVVybH0ke3NlcGFyYXRvcn0ke3BhcmFtcy5qb2luKCcmJyl9JkxBWUVSPSR7bGF5ZXJ9YCxcbiAgICAgICAgdGl0bGU6IGxheWVycy5sZW5ndGggPiAxID8gbGF5ZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRTdHlsZTogc3R5bGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChzdHlsZSBhcyBzdHJpbmcpXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxlZ2VuZDtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSBleHRlbmRzIFdNU0RhdGFTb3VyY2Uge1xuICBvcHRpb25zOiBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICB0aW1lRmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPjtcbiAgc2V0VGltZUZpbHRlcihvZ2NGaWx0ZXJzOiBUaW1lRmlsdGVyT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG4gIGZpbHRlckJ5RGF0ZShkYXRlOiBEYXRlIHwgW0RhdGUsIERhdGVdKTtcbiAgZmlsdGVyQnlZZWFyKHllYXI6IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ10pO1xufVxuIl19
|
|
@@ -29,13 +29,15 @@ export function buildUrl(options, extent, proj, ogcFilters, randomParam) {
|
|
|
29
29
|
const filterOrBox = ogcFilterWriter.buildFilter(igoFilters, extent, proj, ogcFilters?.geometryName, options);
|
|
30
30
|
let filterOrPush = ogcFilterWriter.handleOgcFiltersAppliedValue(options, ogcFilters?.geometryName, extent, proj);
|
|
31
31
|
let prefix = 'filter';
|
|
32
|
-
if (!filterOrPush) {
|
|
32
|
+
if (extent && !filterOrPush) {
|
|
33
33
|
prefix = 'bbox';
|
|
34
34
|
filterOrPush = extent.join(',') + ',' + proj.getCode();
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
if (ogcFilters?.advancedOgcFilters || filterOrPush) {
|
|
37
|
+
paramsWFS.xmlFilter = ogcFilters?.advancedOgcFilters
|
|
38
|
+
? filterOrBox
|
|
39
|
+
: `${prefix}=${filterOrPush}`;
|
|
40
|
+
}
|
|
39
41
|
let baseUrl = queryStringValues.find((f) => f.name === 'getfeature').value;
|
|
40
42
|
const patternFilter = /(filter|bbox)=.*/gi;
|
|
41
43
|
baseUrl = patternFilter.test(paramsWFS.xmlFilter)
|
|
@@ -219,4 +221,4 @@ export function getFormatFromOptions(options) {
|
|
|
219
221
|
}
|
|
220
222
|
return new olFormatCls();
|
|
221
223
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdmcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy13ZnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE9BQTZCLEVBQzdCLE1BQWMsRUFDZCxJQUFrQixFQUNsQixVQUE2QixFQUM3QixXQUFxQjtJQUVyQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQzVDLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxP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QUFjLENBQUM7UUFDN0IsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztTQUFNLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25ELFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4dGVudCB9IGZyb20gJ29sL2V4dGVudCc7XG5pbXBvcnQgKiBhcyBPbEZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IG9sRm9ybWF0R01MMiBmcm9tICdvbC9mb3JtYXQvR01MMic7XG5pbXBvcnQgb2xGb3JtYXRHTUwzIGZyb20gJ29sL2Zvcm1hdC9HTUwzJztcbmltcG9ydCBvbEZvcm1hdEdNTDMyIGZyb20gJ29sL2Zvcm1hdC9HTUwzMic7XG5pbXBvcnQgb2xGb3JtYXRPU01YTUwgZnJvbSAnb2wvZm9ybWF0L09TTVhNTCc7XG5pbXBvcnQgb2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJzT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRFcHNnID0gJ0VQU0c6Mzg1Nyc7XG5leHBvcnQgY29uc3QgZGVmYXVsdE1heEZlYXR1cmVzID0gNTAwMDtcbmV4cG9ydCBjb25zdCBkZWZhdWx0V2ZzVmVyc2lvbiA9ICcyLjAuMCc7XG5leHBvcnQgY29uc3QgZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5ID0gJ2dlb21ldHJ5JztcbmV4cG9ydCBjb25zdCBnbWxSZWdleCA9IG5ldyBSZWdFeHAoLyguKik/Z21sKC4qKT8vZ2kpO1xuZXhwb3J0IGNvbnN0IGpzb25SZWdleCA9IG5ldyBSZWdFeHAoLyguKik/anNvbiguKik/L2dpKTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBidWlsZCB0aGUgV0ZTIFVSTCBiYXNlZCBvbiB0aGUgbGF5ZXIgcHJvcGVydHkuXG4gKiBAcGFyYW0gb3B0aW9ucyAgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgVGhlIGNvbW1vbiB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZVxuICogQHBhcmFtIGV4dGVudCAgQW4gZXh0ZW50IGxpa2UgYXJyYXkgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAqIEBwYXJhbSBwcm9qICBvbFByb2plY3Rpb25cbiAqIEBwYXJhbSBvZ2NGaWx0ZXJzICBPZ2NGaWx0ZXJzT3B0aW9uc1xuICogQHJldHVybnMgQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBkYXRhc291cmNlIG9wdGlvbnMsIGJhc2VkIG9uIGZpbHRlciBhbmQgdmlld3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVXJsKFxuICBvcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyxcbiAgZXh0ZW50OiBFeHRlbnQsXG4gIHByb2o6IG9sUHJvamVjdGlvbixcbiAgb2djRmlsdGVyczogT2djRmlsdGVyc09wdGlvbnMsXG4gIHJhbmRvbVBhcmFtPzogYm9vbGVhblxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFyYW1zV0ZTID0gb3B0aW9ucy5wYXJhbXNXRlM7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nVmFsdWVzID0gZm9ybWF0V0ZTUXVlcnlTdHJpbmcoXG4gICAgb3B0aW9ucyxcbiAgICB1bmRlZmluZWQsXG4gICAgb3B0aW9ucy5wYXJhbXNXRlMuc3JzTmFtZVxuICApO1xuICBsZXQgaWdvRmlsdGVycztcbiAgaWYgKG9nY0ZpbHRlcnM/LmVuYWJsZWQpIHtcbiAgICBpZ29GaWx0ZXJzID0gb2djRmlsdGVycz8uZmlsdGVycztcbiAgfVxuICBjb25zdCBvZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gIGNvbnN0IGZpbHRlck9yQm94ID0gb2djRmlsdGVyV3JpdGVyLmJ1aWxkRmlsdGVyKFxuICAgIGlnb0ZpbHRlcnMsXG4gICAgZXh0ZW50LFxuICAgIHByb2osXG4gICAgb2djRmlsdGVycz8uZ2VvbWV0cnlOYW1lLFxuICAgIG9wdGlvbnNcbiAgKTtcbiAgbGV0IGZpbHRlck9yUHVzaCA9IG9nY0ZpbHRlcldyaXRlci5oYW5kbGVPZ2NGaWx0ZXJzQXBwbGllZFZhbHVlKFxuICAgIG9wdGlvbnMsXG4gICAgb2djRmlsdGVycz8uZ2VvbWV0cnlOYW1lLFxuICAgIGV4dGVudCxcbiAgICBwcm9qXG4gICk7XG5cbiAgbGV0IHByZWZpeCA9ICdmaWx0ZXInO1xuICBpZiAoIWZpbHRlck9yUHVzaCkge1xuICAgIHByZWZpeCA9ICdiYm94JztcbiAgICBmaWx0ZXJPclB1c2ggPSBleHRlbnQuam9pbignLCcpICsgJywnICsgcHJvai5nZXRDb2RlKCk7XG4gIH1cblxuICBwYXJhbXNXRlMueG1sRmlsdGVyID0gb2djRmlsdGVycz8uYWR2YW5jZWRPZ2NGaWx0ZXJzXG4gICAgPyBmaWx0ZXJPckJveFxuICAgIDogYCR7cHJlZml4fT0ke2ZpbHRlck9yUHVzaH1gO1xuICBsZXQgYmFzZVVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gJ2dldGZlYXR1cmUnKS52YWx1ZTtcbiAgY29uc3QgcGF0dGVybkZpbHRlciA9IC8oZmlsdGVyfGJib3gpPS4qL2dpO1xuICBiYXNlVXJsID0gcGF0dGVybkZpbHRlci50ZXN0KHBhcmFtc1dGUy54bWxGaWx0ZXIpXG4gICAgPyBgJHtiYXNlVXJsfSYke3BhcmFtc1dGUy54bWxGaWx0ZXJ9YFxuICAgIDogYmFzZVVybDtcbiAgb3B0aW9ucy5kb3dubG9hZCA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZG93bmxvYWQsIHtcbiAgICBkeW5hbWljVXJsOiBiYXNlVXJsXG4gIH0pO1xuICBpZiAocmFuZG9tUGFyYW0pIHtcbiAgICBiYXNlVXJsICs9IGAkJl90JHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gO1xuICB9XG4gIHJldHVybiBiYXNlVXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG59XG5cbi8qKlxuICogVGhpcyBtZXRob2QgYnVpbGQvc3RhbmRhcmRpemUgV0ZTIGNhbGwgcXVlcnkgcGFyYW1zIGJhc2VkIG9uIHRoZSBsYXllciBwcm9wZXJ0eS5cbiAqIEBwYXJhbSB3ZnNEYXRhU291cmNlT3B0aW9ucyAgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgVGhlIGNvbW1vbiB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZVxuICogQHBhcmFtIGNvdW50ICBOdW1iZXI6IFVzZWQgdG8gY29udHJvbCB0aGUgbnVtYmVyIG9mIGZlYXR1cmUuIFVzZWQgdG8gYnlwYXNzIHdoZSB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZSAobWF4RmVhdHVyZXMpXG4gKiBAcGFyYW0gZXBzZyAgU3RyaW5nOiBVc2VkIHRvIGNvbnRyb2wgdGhlIEVQU0cgY29kZSAoZXM6ICdFUFNHMzg1NycpLiBVc2VkIHRvIGJ5cGFzcyB3aGUgd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2UgKHNyc05hbWUpXG4gKiBAcGFyYW0gcHJvcGVydGllcyAgU3RyaW5nOiBVc2VkIHRvIGNvbnRyb2wgdGhlIHF1ZXJpZWQgZmllbGRzICAoV0ZTIHNlcnZpY2UpLlxuICogQHJldHVybnMgQW4gYXJyYXkgYXJyYXkgb2Yge25hbWU6ICcnLCB2YWx1ZTogJyd9IG9mIHByZWRlZmluZWQgcXVlcnkgcGFyYW1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0V0ZTUXVlcnlTdHJpbmcoXG4gIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zLFxuICBjb3VudD86IG51bWJlcixcbiAgZXBzZz86IHN0cmluZyxcbiAgcHJvcGVydGllcz86IHN0cmluZyxcbiAgc3RhcnRJbmRleCA9IDAsXG4gIGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdCA9IGZhbHNlXG4pOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10ge1xuICBjb25zdCB2ZXJzaW9uV2ZzMjAwID0gJzIuMC4wJzsgLy8gbm90IHRoZSBzYW1lIHVzYWdlIGFzIGRlZmF1bHRXZnNWZXJzaW9uLlxuICBjb25zdCB1cmwgPSBkYXRhU291cmNlT3B0aW9ucy51cmxXZnM7XG4gIGNvbnN0IHBhcmFtc1dGUyA9IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUztcbiAgY29uc3QgZWZmZWN0aXZlQ291bnQgPSBjb3VudCB8fCBkZWZhdWx0TWF4RmVhdHVyZXM7XG4gIGNvbnN0IGVmZmVjdGl2ZVN0YXJ0SW5kZXggPVxuICAgIHBhcmFtc1dGUy52ZXJzaW9uID09PSB2ZXJzaW9uV2ZzMjAwID8gYHN0YXJ0SW5kZXg9JHtzdGFydEluZGV4fWAgOiAnJztcbiAgY29uc3QgZXBzZ0NvZGUgPSBlcHNnIHx8IGRlZmF1bHRFcHNnO1xuICBsZXQgb3V0cHV0Rm9ybWF0ID0gcGFyYW1zV0ZTLm91dHB1dEZvcm1hdFxuICAgID8gYG91dHB1dEZvcm1hdD0ke3BhcmFtc1dGUy5vdXRwdXRGb3JtYXR9YFxuICAgIDogJyc7XG4gIGxldCB2ZXJzaW9uID0gcGFyYW1zV0ZTLnZlcnNpb25cbiAgICA/IGB2ZXJzaW9uPSR7cGFyYW1zV0ZTLnZlcnNpb259YFxuICAgIDogYHZlcnNpb249JHtkZWZhdWx0V2ZzVmVyc2lvbn1gO1xuICBjb25zdCBwYXJhbVR5cGVuYW1lID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/ICd0eXBlbmFtZXMnIDogJ3R5cGVuYW1lJztcbiAgY29uc3QgZmVhdHVyZVR5cGVzID0gYCR7cGFyYW1UeXBlbmFtZX09JHtwYXJhbXNXRlMuZmVhdHVyZVR5cGVzfWA7XG4gIGNvbnN0IHBhcmFtTWF4RmVhdHVyZXMgPVxuICAgIHBhcmFtc1dGUy52ZXJzaW9uID09PSB2ZXJzaW9uV2ZzMjAwID8gJ2NvdW50JyA6ICdtYXhGZWF0dXJlcyc7XG4gIGxldCBjbnQgPSBjb3VudFxuICAgID8gYCR7cGFyYW1NYXhGZWF0dXJlc309JHtlZmZlY3RpdmVDb3VudH1gXG4gICAgOiBwYXJhbXNXRlMubWF4RmVhdHVyZXNcbiAgICAgID8gYCR7cGFyYW1NYXhGZWF0dXJlc309JHtwYXJhbXNXRlMubWF4RmVhdHVyZXN9YFxuICAgICAgOiBgJHtwYXJhbU1heEZlYXR1cmVzfT0ke2VmZmVjdGl2ZUNvdW50fWA7XG4gIGlmIChmb3JjZURlZmF1bHRPdXRwdXRGb3JtYXQpIHtcbiAgICBvdXRwdXRGb3JtYXQgPSAnJztcbiAgICB2ZXJzaW9uID0gJ3ZlcnNpb249MS4xLjAnO1xuICAgIGNudCA9IGNudC5yZXBsYWNlKCdjb3VudCcsICdtYXhGZWF0dXJlcycpO1xuICB9XG5cbiAgY29uc3Qgc3JzID0gZXBzZ1xuICAgID8gYHNyc25hbWU9JHtlcHNnQ29kZX1gXG4gICAgOiBwYXJhbXNXRlMuc3JzTmFtZVxuICAgICAgPyAnc3JzbmFtZT0nICsgcGFyYW1zV0ZTLnNyc05hbWVcbiAgICAgIDogYHNyc25hbWU9JHtlcHNnQ29kZX1gO1xuXG4gIGxldCBwcm9wZXJ0eU5hbWUgPSAnJztcbiAgbGV0IHZhbHVlUmVmZXJlbmNlID0gJyc7XG4gIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgcHJvcGVydHlOYW1lID0gYHByb3BlcnR5TmFtZT0ke3Byb3BlcnRpZXN9YDtcbiAgICB2YWx1ZVJlZmVyZW5jZSA9IGB2YWx1ZVJlZmVyZW5jZT0ke3Byb3BlcnRpZXN9YDtcbiAgfVxuICBjb25zdCBzb3VyY2VGaWVsZHMgPSBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHM7XG4gIGlmICghcHJvcGVydHlOYW1lICYmIHNvdXJjZUZpZWxkcyAmJiBzb3VyY2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpZWxkc05hbWVzID0gW107XG4gICAgZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzLmZvckVhY2goKHNvdXJjZWZpZWxkKSA9PiB7XG4gICAgICBmaWVsZHNOYW1lcy5wdXNoKHNvdXJjZWZpZWxkLm5hbWUpO1xuICAgIH0pO1xuICAgIHByb3BlcnR5TmFtZSA9IGBwcm9wZXJ0eU5hbWU9JHtmaWVsZHNOYW1lcy5qb2luKCcsJyl9LCR7XG4gICAgICBwYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnlcbiAgICB9YDtcbiAgfVxuXG4gIGNvbnN0IHNlcGFyYXRvciA9IHVybC5pbmRleE9mKCc/JykgPT09IC0xID8gJz8nIDogJyYnO1xuICBjb25zdCBnZXRDYXBhYmlsaXRpZXMgPSBgJHt1cmx9JHtzZXBhcmF0b3J9c2VydmljZT1XRlMmcmVxdWVzdD1HZXRDYXBhYmlsaXRpZXMmJHt2ZXJzaW9ufWA7XG4gIGxldCBnZXRGZWF0dXJlID0gYCR7dXJsfSR7c2VwYXJhdG9yfXNlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0RmVhdHVyZSYke3ZlcnNpb259JiR7ZmVhdHVyZVR5cGVzfSZgO1xuICBnZXRGZWF0dXJlICs9IGAke291dHB1dEZvcm1hdH0mJHtzcnN9JiR7Y250fSYke3Byb3BlcnR5TmFtZX0mJHtlZmZlY3RpdmVTdGFydEluZGV4fWA7XG5cbiAgbGV0IGdldHByb3BlcnR5dmFsdWUgPSBgJHt1cmx9P3NlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0UHJvcGVydHlWYWx1ZSZ2ZXJzaW9uPSR7dmVyc2lvbldmczIwMH0mJHtmZWF0dXJlVHlwZXN9JmA7XG4gIGdldHByb3BlcnR5dmFsdWUgKz0gYCYke2NudH0mJHt2YWx1ZVJlZmVyZW5jZX1gO1xuXG4gIHJldHVybiBbXG4gICAgeyBuYW1lOiAnb3V0cHV0Zm9ybWF0JywgdmFsdWU6IG91dHB1dEZvcm1hdCB9LFxuICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB2YWx1ZTogdmVyc2lvbiB9LFxuICAgIHsgbmFtZTogJ3R5cGVuYW1lJywgdmFsdWU6IGZlYXR1cmVUeXBlcyB9LFxuICAgIHsgbmFtZTogJ2NvdW50JywgdmFsdWU6IGNudCB9LFxuICAgIHsgbmFtZTogJ3Nyc25hbWUnLCB2YWx1ZTogc3JzIH0sXG4gICAgeyBuYW1lOiAncHJvcGVydHluYW1lJywgdmFsdWU6IHByb3BlcnR5TmFtZSB9LFxuICAgIHsgbmFtZTogJ3ZhbHVlcmVmZXJlbmNlJywgdmFsdWU6IHZhbHVlUmVmZXJlbmNlIH0sXG4gICAgeyBuYW1lOiAnZ2V0Y2FwYWJpbGl0aWVzJywgdmFsdWU6IGdldENhcGFiaWxpdGllcy5yZXBsYWNlKC8mJi9nLCAnJicpIH0sXG4gICAgeyBuYW1lOiAnZ2V0ZmVhdHVyZScsIHZhbHVlOiBnZXRGZWF0dXJlLnJlcGxhY2UoLyYmL2csICcmJykgfSxcbiAgICB7IG5hbWU6ICdnZXRwcm9wZXJ0eXZhbHVlJywgdmFsdWU6IGdldHByb3BlcnR5dmFsdWUucmVwbGFjZSgvJiYvZywgJyYnKSB9XG4gIF07XG59XG5cbi8qKlxuICogVmFsaWRhdGUvTW9kaWZ5IGxheWVyJ3Mgd2ZzIG9wdGlvbnMgYmFzZWQgb24gOlxuICogMS0gYW4gT3BlbmxheWVycydzIGlzc3VlIHdpdGggR01MIHByb3ZpZGVkIGZyb20gV0ZTLiBSZWZlciB0b1xuICogaHR0cHM6Ly9naXRodWIuY29tL29wZW5sYXllcnMvb3BlbmxheWVycy9wdWxsLzY0MDBcbiAqIDItIFNldCBkZWZhdWx0IHZhbHVlcyBmb3Igb3B0aW9uYWxzIHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gd2ZzRGF0YVNvdXJjZU9wdGlvbnMgIFdGU0RhdGFTb3VyY2VPcHRpb25zIFRoZSBjb21tb24gd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEByZXR1cm5zIEFuIGFycmF5IGFycmF5IG9mIHtuYW1lOiAnJywgdmFsdWU6ICcnfSBvZiBwcmVkZWZpbmVkIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrV2ZzUGFyYW1zKHdmc0RhdGFTb3VyY2VPcHRpb25zLCBzcmNUeXBlPzogc3RyaW5nKSB7XG4gIGlmIChzcmNUeXBlICYmIHNyY1R5cGUgPT09ICd3ZnMnKSB7XG4gICAgLy8gcmVhc3NpZ25hdGlvbiBvZiBwYXJhbXMgdG8gcGFyYW1zV0ZTIGFuZCB1cmwgdG8gdXJsV0ZTIHRvIGhhdmUgYSBjb21tb24gaW50ZXJmYWNlIHdpdGggd21zLXdmcyBkYXRhc291cmNlc1xuICAgIHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUyA9IHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtcztcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1dGUyA9IHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUztcbiAgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzID1cbiAgICB3ZnNEYXRhU291cmNlT3B0aW9ucy51cmxXZnMgfHwgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsO1xuXG4gIHBhcmFtc1dGUy52ZXJzaW9uID0gcGFyYW1zV0ZTLnZlcnNpb24gfHwgZGVmYXVsdFdmc1ZlcnNpb247XG4gIHBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgcGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeTtcbiAgcGFyYW1zV0ZTLm1heEZlYXR1cmVzID0gcGFyYW1zV0ZTLm1heEZlYXR1cmVzIHx8IGRlZmF1bHRNYXhGZWF0dXJlcztcblxuICBsZXQgb3V0cHV0Rm9ybWF0O1xuICBpZiAocGFyYW1zV0ZTLm91dHB1dEZvcm1hdCkge1xuICAgIG91dHB1dEZvcm1hdCA9IHBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gIH1cblxuICBpZiAoZ21sUmVnZXgudGVzdChvdXRwdXRGb3JtYXQpIHx8ICFvdXRwdXRGb3JtYXQpIHtcbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9ICcxLjEuMCc7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHdmc0RhdGFTb3VyY2VPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdEZyb21PcHRpb25zKFxuICBvcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4pIHtcbiAgY29uc3Qgd2ZzT3B0aW9ucyA9IG9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgbGV0IG9sRm9ybWF0Q2xzO1xuICBjb25zdCBvdXRwdXRGb3JtYXQgPSB3ZnNPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA/IHdmc09wdGlvbnMucGFyYW1zV0ZTLm91dHB1dEZvcm1hdFxuICAgIDogdW5kZWZpbmVkO1xuXG4gIGlmICghb3V0cHV0Rm9ybWF0KSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9XG5cbiAgaWYgKE9sRm9ybWF0W291dHB1dEZvcm1hdF0pIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0W291dHB1dEZvcm1hdF07XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwyJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldGUztcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHtcbiAgICAgIC4uLndmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyxcbiAgICAgIC4uLnsgZ21sRm9ybWF0OiBvbEZvcm1hdEdNTDIgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwzMicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh7XG4gICAgICAuLi53ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMsXG4gICAgICAuLi57IGdtbEZvcm1hdDogb2xGb3JtYXRHTUwzMiB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2dtbDMnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoe1xuICAgICAgLi4ud2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zLFxuICAgICAgLi4ueyBnbWxGb3JtYXQ6IG9sRm9ybWF0R01MMyB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ3RvcG9qc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LlRvcG9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ2VvanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5HZW9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZXNyaWpzb24nKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuRXNyaUpTT047XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdqc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0Lkdlb0pTT047XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdncHgnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuR1BYO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnV0tUJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldLVDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ29zbXhtbCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBvbEZvcm1hdE9TTVhNTDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2ttbCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5LTUw7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBvbEZvcm1hdENscygpO1xufVxuIl19
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdmcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy13ZnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE9BQTZCLEVBQzdCLE1BQWMsRUFDZCxJQUFrQixFQUNsQixVQUE2QixFQUM3QixXQUFxQjtJQUVyQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQzVDLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxP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LENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEQsV0FBVyxHQUFHLGNBQWMsQ0FBQztRQUM3QixPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO1NBQU0sSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkQsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDM0IsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZW50IH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCAqIGFzIE9sRm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgb2xGb3JtYXRHTUwyIGZyb20gJ29sL2Zvcm1hdC9HTUwyJztcbmltcG9ydCBvbEZvcm1hdEdNTDMgZnJvbSAnb2wvZm9ybWF0L0dNTDMnO1xuaW1wb3J0IG9sRm9ybWF0R01MMzIgZnJvbSAnb2wvZm9ybWF0L0dNTDMyJztcbmltcG9ydCBvbEZvcm1hdE9TTVhNTCBmcm9tICdvbC9mb3JtYXQvT1NNWE1MJztcbmltcG9ydCBvbFByb2plY3Rpb24gZnJvbSAnb2wvcHJvai9Qcm9qZWN0aW9uJztcblxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7IE9nY0ZpbHRlcnNPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVwc2cgPSAnRVBTRzozODU3JztcbmV4cG9ydCBjb25zdCBkZWZhdWx0TWF4RmVhdHVyZXMgPSA1MDAwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRXZnNWZXJzaW9uID0gJzIuMC4wJztcbmV4cG9ydCBjb25zdCBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnkgPSAnZ2VvbWV0cnknO1xuZXhwb3J0IGNvbnN0IGdtbFJlZ2V4ID0gbmV3IFJlZ0V4cCgvKC4qKT9nbWwoLiopPy9naSk7XG5leHBvcnQgY29uc3QganNvblJlZ2V4ID0gbmV3IFJlZ0V4cCgvKC4qKT9qc29uKC4qKT8vZ2kpO1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGJ1aWxkIHRoZSBXRlMgVVJMIGJhc2VkIG9uIHRoZSBsYXllciBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBvcHRpb25zICBXRlNEYXRhU291cmNlT3B0aW9ucyBUaGUgY29tbW9uIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAcGFyYW0gZXh0ZW50ICBBbiBleHRlbnQgbGlrZSBhcnJheSBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuICogQHBhcmFtIHByb2ogIG9sUHJvamVjdGlvblxuICogQHBhcmFtIG9nY0ZpbHRlcnMgIE9nY0ZpbHRlcnNPcHRpb25zXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGRhdGFzb3VyY2Ugb3B0aW9ucywgYmFzZWQgb24gZmlsdGVyIGFuZCB2aWV3c1xuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVcmwoXG4gIG9wdGlvbnM6IFdGU0RhdGFTb3VyY2VPcHRpb25zLFxuICBleHRlbnQ6IEV4dGVudCxcbiAgcHJvajogb2xQcm9qZWN0aW9uLFxuICBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyxcbiAgcmFuZG9tUGFyYW0/OiBib29sZWFuXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJhbXNXRlMgPSBvcHRpb25zLnBhcmFtc1dGUztcbiAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhcbiAgICBvcHRpb25zLFxuICAgIHVuZGVmaW5lZCxcbiAgICBvcHRpb25zLnBhcmFtc1dGUy5zcnNOYW1lXG4gICk7XG4gIGxldCBpZ29GaWx0ZXJzO1xuICBpZiAob2djRmlsdGVycz8uZW5hYmxlZCkge1xuICAgIGlnb0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzPy5maWx0ZXJzO1xuICB9XG4gIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcbiAgY29uc3QgZmlsdGVyT3JCb3ggPSBvZ2NGaWx0ZXJXcml0ZXIuYnVpbGRGaWx0ZXIoXG4gICAgaWdvRmlsdGVycyxcbiAgICBleHRlbnQsXG4gICAgcHJvaixcbiAgICBvZ2NGaWx0ZXJzPy5nZW9tZXRyeU5hbWUsXG4gICAgb3B0aW9uc1xuICApO1xuICBsZXQgZmlsdGVyT3JQdXNoID0gb2djRmlsdGVyV3JpdGVyLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXG4gICAgb3B0aW9ucyxcbiAgICBvZ2NGaWx0ZXJzPy5nZW9tZXRyeU5hbWUsXG4gICAgZXh0ZW50LFxuICAgIHByb2pcbiAgKTtcblxuICBsZXQgcHJlZml4ID0gJ2ZpbHRlcic7XG4gIGlmIChleHRlbnQgJiYgIWZpbHRlck9yUHVzaCkge1xuICAgIHByZWZpeCA9ICdiYm94JztcbiAgICBmaWx0ZXJPclB1c2ggPSBleHRlbnQuam9pbignLCcpICsgJywnICsgcHJvai5nZXRDb2RlKCk7XG4gIH1cblxuICBpZiAob2djRmlsdGVycz8uYWR2YW5jZWRPZ2NGaWx0ZXJzIHx8IGZpbHRlck9yUHVzaCkge1xuICAgIHBhcmFtc1dGUy54bWxGaWx0ZXIgPSBvZ2NGaWx0ZXJzPy5hZHZhbmNlZE9nY0ZpbHRlcnNcbiAgICAgID8gZmlsdGVyT3JCb3hcbiAgICAgIDogYCR7cHJlZml4fT0ke2ZpbHRlck9yUHVzaH1gO1xuICB9XG5cbiAgbGV0IGJhc2VVcmwgPSBxdWVyeVN0cmluZ1ZhbHVlcy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdnZXRmZWF0dXJlJykudmFsdWU7XG4gIGNvbnN0IHBhdHRlcm5GaWx0ZXIgPSAvKGZpbHRlcnxiYm94KT0uKi9naTtcbiAgYmFzZVVybCA9IHBhdHRlcm5GaWx0ZXIudGVzdChwYXJhbXNXRlMueG1sRmlsdGVyKVxuICAgID8gYCR7YmFzZVVybH0mJHtwYXJhbXNXRlMueG1sRmlsdGVyfWBcbiAgICA6IGJhc2VVcmw7XG4gIG9wdGlvbnMuZG93bmxvYWQgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLmRvd25sb2FkLCB7XG4gICAgZHluYW1pY1VybDogYmFzZVVybFxuICB9KTtcbiAgaWYgKHJhbmRvbVBhcmFtKSB7XG4gICAgYmFzZVVybCArPSBgJCZfdCR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YDtcbiAgfVxuICByZXR1cm4gYmFzZVVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGJ1aWxkL3N0YW5kYXJkaXplIFdGUyBjYWxsIHF1ZXJ5IHBhcmFtcyBiYXNlZCBvbiB0aGUgbGF5ZXIgcHJvcGVydHkuXG4gKiBAcGFyYW0gd2ZzRGF0YVNvdXJjZU9wdGlvbnMgIFdGU0RhdGFTb3VyY2VPcHRpb25zIFRoZSBjb21tb24gd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBwYXJhbSBjb3VudCAgTnVtYmVyOiBVc2VkIHRvIGNvbnRyb2wgdGhlIG51bWJlciBvZiBmZWF0dXJlLiBVc2VkIHRvIGJ5cGFzcyB3aGUgd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2UgKG1heEZlYXR1cmVzKVxuICogQHBhcmFtIGVwc2cgIFN0cmluZzogVXNlZCB0byBjb250cm9sIHRoZSBFUFNHIGNvZGUgKGVzOiAnRVBTRzM4NTcnKS4gVXNlZCB0byBieXBhc3Mgd2hlIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlIChzcnNOYW1lKVxuICogQHBhcmFtIHByb3BlcnRpZXMgIFN0cmluZzogVXNlZCB0byBjb250cm9sIHRoZSBxdWVyaWVkIGZpZWxkcyAgKFdGUyBzZXJ2aWNlKS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IGFycmF5IG9mIHtuYW1lOiAnJywgdmFsdWU6ICcnfSBvZiBwcmVkZWZpbmVkIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFdGU1F1ZXJ5U3RyaW5nKFxuICBkYXRhU291cmNlT3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgY291bnQ/OiBudW1iZXIsXG4gIGVwc2c/OiBzdHJpbmcsXG4gIHByb3BlcnRpZXM/OiBzdHJpbmcsXG4gIHN0YXJ0SW5kZXggPSAwLFxuICBmb3JjZURlZmF1bHRPdXRwdXRGb3JtYXQgPSBmYWxzZVxuKTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgY29uc3QgdmVyc2lvbldmczIwMCA9ICcyLjAuMCc7IC8vIG5vdCB0aGUgc2FtZSB1c2FnZSBhcyBkZWZhdWx0V2ZzVmVyc2lvbi5cbiAgY29uc3QgdXJsID0gZGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzO1xuICBjb25zdCBwYXJhbXNXRlMgPSBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlM7XG4gIGNvbnN0IGVmZmVjdGl2ZUNvdW50ID0gY291bnQgfHwgZGVmYXVsdE1heEZlYXR1cmVzO1xuICBjb25zdCBlZmZlY3RpdmVTdGFydEluZGV4ID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/IGBzdGFydEluZGV4PSR7c3RhcnRJbmRleH1gIDogJyc7XG4gIGNvbnN0IGVwc2dDb2RlID0gZXBzZyB8fCBkZWZhdWx0RXBzZztcbiAgbGV0IG91dHB1dEZvcm1hdCA9IHBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA/IGBvdXRwdXRGb3JtYXQ9JHtwYXJhbXNXRlMub3V0cHV0Rm9ybWF0fWBcbiAgICA6ICcnO1xuICBsZXQgdmVyc2lvbiA9IHBhcmFtc1dGUy52ZXJzaW9uXG4gICAgPyBgdmVyc2lvbj0ke3BhcmFtc1dGUy52ZXJzaW9ufWBcbiAgICA6IGB2ZXJzaW9uPSR7ZGVmYXVsdFdmc1ZlcnNpb259YDtcbiAgY29uc3QgcGFyYW1UeXBlbmFtZSA9XG4gICAgcGFyYW1zV0ZTLnZlcnNpb24gPT09IHZlcnNpb25XZnMyMDAgPyAndHlwZW5hbWVzJyA6ICd0eXBlbmFtZSc7XG4gIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGAke3BhcmFtVHlwZW5hbWV9PSR7cGFyYW1zV0ZTLmZlYXR1cmVUeXBlc31gO1xuICBjb25zdCBwYXJhbU1heEZlYXR1cmVzID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/ICdjb3VudCcgOiAnbWF4RmVhdHVyZXMnO1xuICBsZXQgY250ID0gY291bnRcbiAgICA/IGAke3BhcmFtTWF4RmVhdHVyZXN9PSR7ZWZmZWN0aXZlQ291bnR9YFxuICAgIDogcGFyYW1zV0ZTLm1heEZlYXR1cmVzXG4gICAgICA/IGAke3BhcmFtTWF4RmVhdHVyZXN9PSR7cGFyYW1zV0ZTLm1heEZlYXR1cmVzfWBcbiAgICAgIDogYCR7cGFyYW1NYXhGZWF0dXJlc309JHtlZmZlY3RpdmVDb3VudH1gO1xuICBpZiAoZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0KSB7XG4gICAgb3V0cHV0Rm9ybWF0ID0gJyc7XG4gICAgdmVyc2lvbiA9ICd2ZXJzaW9uPTEuMS4wJztcbiAgICBjbnQgPSBjbnQucmVwbGFjZSgnY291bnQnLCAnbWF4RmVhdHVyZXMnKTtcbiAgfVxuXG4gIGNvbnN0IHNycyA9IGVwc2dcbiAgICA/IGBzcnNuYW1lPSR7ZXBzZ0NvZGV9YFxuICAgIDogcGFyYW1zV0ZTLnNyc05hbWVcbiAgICAgID8gJ3Nyc25hbWU9JyArIHBhcmFtc1dGUy5zcnNOYW1lXG4gICAgICA6IGBzcnNuYW1lPSR7ZXBzZ0NvZGV9YDtcblxuICBsZXQgcHJvcGVydHlOYW1lID0gJyc7XG4gIGxldCB2YWx1ZVJlZmVyZW5jZSA9ICcnO1xuICBpZiAocHJvcGVydGllcykge1xuICAgIHByb3BlcnR5TmFtZSA9IGBwcm9wZXJ0eU5hbWU9JHtwcm9wZXJ0aWVzfWA7XG4gICAgdmFsdWVSZWZlcmVuY2UgPSBgdmFsdWVSZWZlcmVuY2U9JHtwcm9wZXJ0aWVzfWA7XG4gIH1cbiAgY29uc3Qgc291cmNlRmllbGRzID0gZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzO1xuICBpZiAoIXByb3BlcnR5TmFtZSAmJiBzb3VyY2VGaWVsZHMgJiYgc291cmNlRmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaWVsZHNOYW1lcyA9IFtdO1xuICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5mb3JFYWNoKChzb3VyY2VmaWVsZCkgPT4ge1xuICAgICAgZmllbGRzTmFtZXMucHVzaChzb3VyY2VmaWVsZC5uYW1lKTtcbiAgICB9KTtcbiAgICBwcm9wZXJ0eU5hbWUgPSBgcHJvcGVydHlOYW1lPSR7ZmllbGRzTmFtZXMuam9pbignLCcpfSwke1xuICAgICAgcGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5XG4gICAgfWA7XG4gIH1cblxuICBjb25zdCBzZXBhcmF0b3IgPSB1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJztcbiAgY29uc3QgZ2V0Q2FwYWJpbGl0aWVzID0gYCR7dXJsfSR7c2VwYXJhdG9yfXNlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0Q2FwYWJpbGl0aWVzJiR7dmVyc2lvbn1gO1xuICBsZXQgZ2V0RmVhdHVyZSA9IGAke3VybH0ke3NlcGFyYXRvcn1zZXJ2aWNlPVdGUyZyZXF1ZXN0PUdldEZlYXR1cmUmJHt2ZXJzaW9ufSYke2ZlYXR1cmVUeXBlc30mYDtcbiAgZ2V0RmVhdHVyZSArPSBgJHtvdXRwdXRGb3JtYXR9JiR7c3JzfSYke2NudH0mJHtwcm9wZXJ0eU5hbWV9JiR7ZWZmZWN0aXZlU3RhcnRJbmRleH1gO1xuXG4gIGxldCBnZXRwcm9wZXJ0eXZhbHVlID0gYCR7dXJsfT9zZXJ2aWNlPVdGUyZyZXF1ZXN0PUdldFByb3BlcnR5VmFsdWUmdmVyc2lvbj0ke3ZlcnNpb25XZnMyMDB9JiR7ZmVhdHVyZVR5cGVzfSZgO1xuICBnZXRwcm9wZXJ0eXZhbHVlICs9IGAmJHtjbnR9JiR7dmFsdWVSZWZlcmVuY2V9YDtcblxuICByZXR1cm4gW1xuICAgIHsgbmFtZTogJ291dHB1dGZvcm1hdCcsIHZhbHVlOiBvdXRwdXRGb3JtYXQgfSxcbiAgICB7IG5hbWU6ICd2ZXJzaW9uJywgdmFsdWU6IHZlcnNpb24gfSxcbiAgICB7IG5hbWU6ICd0eXBlbmFtZScsIHZhbHVlOiBmZWF0dXJlVHlwZXMgfSxcbiAgICB7IG5hbWU6ICdjb3VudCcsIHZhbHVlOiBjbnQgfSxcbiAgICB7IG5hbWU6ICdzcnNuYW1lJywgdmFsdWU6IHNycyB9LFxuICAgIHsgbmFtZTogJ3Byb3BlcnR5bmFtZScsIHZhbHVlOiBwcm9wZXJ0eU5hbWUgfSxcbiAgICB7IG5hbWU6ICd2YWx1ZXJlZmVyZW5jZScsIHZhbHVlOiB2YWx1ZVJlZmVyZW5jZSB9LFxuICAgIHsgbmFtZTogJ2dldGNhcGFiaWxpdGllcycsIHZhbHVlOiBnZXRDYXBhYmlsaXRpZXMucmVwbGFjZSgvJiYvZywgJyYnKSB9LFxuICAgIHsgbmFtZTogJ2dldGZlYXR1cmUnLCB2YWx1ZTogZ2V0RmVhdHVyZS5yZXBsYWNlKC8mJi9nLCAnJicpIH0sXG4gICAgeyBuYW1lOiAnZ2V0cHJvcGVydHl2YWx1ZScsIHZhbHVlOiBnZXRwcm9wZXJ0eXZhbHVlLnJlcGxhY2UoLyYmL2csICcmJykgfVxuICBdO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlL01vZGlmeSBsYXllcidzIHdmcyBvcHRpb25zIGJhc2VkIG9uIDpcbiAqIDEtIGFuIE9wZW5sYXllcnMncyBpc3N1ZSB3aXRoIEdNTCBwcm92aWRlZCBmcm9tIFdGUy4gUmVmZXIgdG9cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVubGF5ZXJzL29wZW5sYXllcnMvcHVsbC82NDAwXG4gKiAyLSBTZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIG9wdGlvbmFscyBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHdmc0RhdGFTb3VyY2VPcHRpb25zICBXRlNEYXRhU291cmNlT3B0aW9ucyBUaGUgY29tbW9uIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAcmV0dXJucyBBbiBhcnJheSBhcnJheSBvZiB7bmFtZTogJycsIHZhbHVlOiAnJ30gb2YgcHJlZGVmaW5lZCBxdWVyeSBwYXJhbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1dmc1BhcmFtcyh3ZnNEYXRhU291cmNlT3B0aW9ucywgc3JjVHlwZT86IHN0cmluZykge1xuICBpZiAoc3JjVHlwZSAmJiBzcmNUeXBlID09PSAnd2ZzJykge1xuICAgIC8vIHJlYXNzaWduYXRpb24gb2YgcGFyYW1zIHRvIHBhcmFtc1dGUyBhbmQgdXJsIHRvIHVybFdGUyB0byBoYXZlIGEgY29tbW9uIGludGVyZmFjZSB3aXRoIHdtcy13ZnMgZGF0YXNvdXJjZXNcbiAgICB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMgPSB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXM7XG4gIH1cblxuICBjb25zdCBwYXJhbXNXRlMgPSB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlM7XG4gIHdmc0RhdGFTb3VyY2VPcHRpb25zLnVybFdmcyA9XG4gICAgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzIHx8IHdmc0RhdGFTb3VyY2VPcHRpb25zLnVybDtcblxuICBwYXJhbXNXRlMudmVyc2lvbiA9IHBhcmFtc1dGUy52ZXJzaW9uIHx8IGRlZmF1bHRXZnNWZXJzaW9uO1xuICBwYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnkgPVxuICAgIHBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeSB8fCBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnk7XG4gIHBhcmFtc1dGUy5tYXhGZWF0dXJlcyA9IHBhcmFtc1dGUy5tYXhGZWF0dXJlcyB8fCBkZWZhdWx0TWF4RmVhdHVyZXM7XG5cbiAgbGV0IG91dHB1dEZvcm1hdDtcbiAgaWYgKHBhcmFtc1dGUy5vdXRwdXRGb3JtYXQpIHtcbiAgICBvdXRwdXRGb3JtYXQgPSBwYXJhbXNXRlMub3V0cHV0Rm9ybWF0O1xuICB9XG5cbiAgaWYgKGdtbFJlZ2V4LnRlc3Qob3V0cHV0Rm9ybWF0KSB8fCAhb3V0cHV0Rm9ybWF0KSB7XG4gICAgcGFyYW1zV0ZTLnZlcnNpb24gPSAnMS4xLjAnO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB3ZnNEYXRhU291cmNlT3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXRGcm9tT3B0aW9ucyhcbiAgb3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9uc1xuKSB7XG4gIGNvbnN0IHdmc09wdGlvbnMgPSBvcHRpb25zIGFzIFdGU0RhdGFTb3VyY2VPcHRpb25zO1xuXG4gIGxldCBvbEZvcm1hdENscztcbiAgY29uc3Qgb3V0cHV0Rm9ybWF0ID0gd2ZzT3B0aW9ucy5wYXJhbXNXRlMub3V0cHV0Rm9ybWF0XG4gICAgPyB3ZnNPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA6IHVuZGVmaW5lZDtcblxuICBpZiAoIW91dHB1dEZvcm1hdCkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfVxuXG4gIGlmIChPbEZvcm1hdFtvdXRwdXRGb3JtYXRdKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdFtvdXRwdXRGb3JtYXRdO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ21sMicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh7XG4gICAgICAuLi53ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMsXG4gICAgICAuLi57IGdtbEZvcm1hdDogb2xGb3JtYXRHTUwyIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ21sMzInKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoe1xuICAgICAgLi4ud2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zLFxuICAgICAgLi4ueyBnbWxGb3JtYXQ6IG9sRm9ybWF0R01MMzIgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwzJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldGUztcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHtcbiAgICAgIC4uLndmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyxcbiAgICAgIC4uLnsgZ21sRm9ybWF0OiBvbEZvcm1hdEdNTDMgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCd0b3BvanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5Ub3BvSlNPTjtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2dlb2pzb24nKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuR2VvSlNPTjtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2Vzcmlqc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LkVzcmlKU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5HZW9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ3B4JykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LkdQWDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ1dLVCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XS1Q7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdvc214bWwnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gb2xGb3JtYXRPU01YTUw7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdrbWwnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuS01MO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtdHMtZGF0YXNvdXJjZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV01UU0RhdGFTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xuICAvLyB0eXBlPzogJ3dtdHMnO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICBsYXllcjogc3RyaW5nO1xuICBzdHlsZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgZm9ybWF0Pzogc3RyaW5nO1xuICBtYXRyaXhTZXQ/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgdXJscz86IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -15,4 +15,4 @@ export class WMTSDataSource extends DataSource {
|
|
|
15
15
|
// empty
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBSTVDLFlBQVksT0FBOEI7UUFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDO1lBQ0UsUUFBUSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztTQUNuRSxFQUNELElBQUksQ0FBQyxPQUFPLENBQ0YsQ0FBQztRQUViLE9BQU8sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ29sL3NvdXJjZS9XTVRTJztcbmltcG9ydCBvbFNvdXJjZVdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnO1xuXG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGlsZUdyaWQgfSBmcm9tICcuLi8uLi91dGlscy90aWxlZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXTVRTRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBkZWNsYXJlIHB1YmxpYyBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZVdNVFM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VXTVRTIHtcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgdGlsZUdyaWQ6IGNyZWF0ZURlZmF1bHRUaWxlR3JpZCh0aGlzLm9wdGlvbnMucHJvamVjdGlvbiBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKSBhcyBPcHRpb25zO1xuXG4gICAgcmV0dXJuIG5ldyBvbFNvdXJjZVdNVFMoc291cmNlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMveHl6LWRhdGFzb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFhZWkRhdGFTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xuICAvLyB0eXBlPzogJ3h5eic7XG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgdXJscz86IHN0cmluZ1tdO1xuICBwYXRoT2ZmbGluZT86IHN0cmluZztcbiAgZXhjbHVkZUF0dHJpYnV0ZT86IHN0cmluZ1tdO1xuICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZT86IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -8,4 +8,4 @@ export class XYZDataSource extends DataSource {
|
|
|
8
8
|
// empty
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUztRQUNkLFFBQVE7SUFDVixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VYWVogZnJvbSAnb2wvc291cmNlL1hZWic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgWFlaRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBYWVpEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9wdGlvbnM6IFhZWkRhdGFTb3VyY2VPcHRpb25zO1xuICBkZWNsYXJlIHB1YmxpYyBvbDogb2xTb3VyY2VYWVo7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlWFlaIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlWFlaKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
|
|
@@ -70,10 +70,10 @@ export class OptionsApiService extends OptionsService {
|
|
|
70
70
|
return res.sourceOptions;
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
74
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, deps: [{ token: i1.HttpClient }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, providedIn: 'root' });
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, decorators: [{
|
|
77
77
|
type: Injectable,
|
|
78
78
|
args: [{
|
|
79
79
|
providedIn: 'root'
|
|
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
82
82
|
type: Inject,
|
|
83
83
|
args: ['options']
|
|
84
84
|
}] }] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL29wdGlvbnMvb3B0aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS25ELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBS3pDO0lBSkYsTUFBTSxDQUFTO0lBQ2YsaUJBQWlCLENBQVU7SUFFbkMsWUFDVSxJQUFnQixFQUNMLFVBQTZCLEVBQUU7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsT0FBTyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxDQUFDO0lBRUQsYUFBYSxDQUNYLFdBQWlDLEVBQ2pDLGtCQUEyQjtRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQTBCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2xDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN6QyxNQUFNO1NBQ1AsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQ0QsQ0FBQyxHQUdBLEVBQUUsRUFBRTtZQUNILElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sRUFBMEIsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JCLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUMvRCxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBQzNCLENBQUMsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFdBR21DLEVBQ25DLGtCQUEyQjtRQU0zQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQXNDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUs7YUFDMUI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLGtCQUFrQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2pELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pDLE1BQU07U0FDUCxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FDRCxDQUFDLEdBTUEsRUFBRSxFQUFFO1lBQ0gsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxFQUc0QixDQUFDO1lBQ3RDLENBQUM7WUFDRCxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDckIsR0FBRyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1lBQy9ELENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDM0IsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBM0dVLGlCQUFpQiw0Q0FNbEIsU0FBUzs0R0FOUixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMsXG4gIEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zLFxuICBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICBXTVNEYXRhU291cmNlT3B0aW9uc1xufSBmcm9tICcuLi9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBPcHRpb25zQXBpT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucy1hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zQXBpU2VydmljZSBleHRlbmRzIE9wdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB1cmxBcGk6IHN0cmluZztcbiAgcHJpdmF0ZSBwcm92aWRlQ29udGV4dFVyaTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IE9wdGlvbnNBcGlPcHRpb25zID0ge31cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnVybEFwaSA9IG9wdGlvbnMudXJsIHx8IHRoaXMudXJsQXBpO1xuICAgIHRoaXMucHJvdmlkZUNvbnRleHRVcmkgPVxuICAgICAgb3B0aW9ucy5wcm92aWRlQ29udGV4dFVyaSB8fCB0aGlzLnByb3ZpZGVDb250ZXh0VXJpO1xuICB9XG5cbiAgZ2V0V01TT3B0aW9ucyhcbiAgICBiYXNlT3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8V01TRGF0YVNvdXJjZU9wdGlvbnM+IHtcbiAgICBpZiAoIXRoaXMudXJsQXBpKSB7XG4gICAgICByZXR1cm4gb2Yoe30gYXMgV01TRGF0YVNvdXJjZU9wdGlvbnMpO1xuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgZnJvbU9iamVjdDoge1xuICAgICAgICB0eXBlOiBiYXNlT3B0aW9ucy50eXBlLFxuICAgICAgICB1cmw6IGJhc2VPcHRpb25zLnVybCxcbiAgICAgICAgbGF5ZXJzOiBiYXNlT3B0aW9ucy5wYXJhbXMuTEFZRVJTXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoZGV0YWlsZWRDb250ZXh0VXJpICYmIHRoaXMucHJvdmlkZUNvbnRleHRVcmkpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NvbnRleHQnLCBkZXRhaWxlZENvbnRleHRVcmkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLmh0dHAuZ2V0KHRoaXMudXJsQXBpLCB7XG4gICAgICBwYXJhbXNcbiAgICB9KTtcblxuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChyZXM6IHtcbiAgICAgICAgICBzb3VyY2VPcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucztcbiAgICAgICAgICBsYXllck9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgICAgIH0pID0+IHtcbiAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLnNvdXJjZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiB7fSBhcyBXTVNEYXRhU291cmNlT3B0aW9ucztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlcy5sYXllck9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJlcy5zb3VyY2VPcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlID0gcmVzLmxheWVyT3B0aW9ucztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlcy5zb3VyY2VPcHRpb25zO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEFyY2dpc1Jlc3RPcHRpb25zKFxuICAgIGJhc2VPcHRpb25zOlxuICAgICAgfCBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgIHwgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxcbiAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcbiAgPiB7XG4gICAgaWYgKCF0aGlzLnVybEFwaSkge1xuICAgICAgcmV0dXJuIG9mKHt9IGFzIEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zKTtcbiAgICB9XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgdHlwZTogYmFzZU9wdGlvbnMudHlwZSxcbiAgICAgICAgdXJsOiBiYXNlT3B0aW9ucy51cmwsXG4gICAgICAgIGxheWVyczogYmFzZU9wdGlvbnMubGF5ZXJcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkZXRhaWxlZENvbnRleHRVcmkgJiYgdGhpcy5wcm92aWRlQ29udGV4dFVyaSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY29udGV4dCcsIGRldGFpbGVkQ29udGV4dFVyaSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodGhpcy51cmxBcGksIHtcbiAgICAgIHBhcmFtc1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKHJlczoge1xuICAgICAgICAgIHNvdXJjZU9wdGlvbnM6XG4gICAgICAgICAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgICAgICAgICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgICAgICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgICAgIGxheWVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgICAgfSkgPT4ge1xuICAgICAgICAgIGlmICghcmVzIHx8ICFyZXMuc291cmNlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHt9IGFzXG4gICAgICAgICAgICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXG4gICAgICAgICAgICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgICAgICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzLmxheWVyT3B0aW9ucykge1xuICAgICAgICAgICAgcmVzLnNvdXJjZU9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UgPSByZXMubGF5ZXJPcHRpb25zO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzLnNvdXJjZU9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|