@igo2/geo 1.15.4 → 1.15.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog.module.mjs +1 -1
- package/esm2020/lib/catalog/index.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.service.mjs +1 -1
- package/esm2020/lib/datasource/datasource.module.mjs +1 -1
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasource.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2020/lib/datasource/utils/index.mjs +1 -1
- package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions.component.mjs +2 -2
- package/esm2020/lib/directions/directions.module.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.utils.mjs +1 -1
- package/esm2020/lib/directions/shared/store.mjs +1 -1
- package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
- package/esm2020/lib/download/download.module.mjs +1 -1
- package/esm2020/lib/download/shared/download.service.mjs +1 -1
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
- package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.enum.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2020/lib/draw/shared/index.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +2 -2
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
- package/esm2020/lib/feature/feature.module.mjs +1 -1
- package/esm2020/lib/feature/index.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.utils.mjs +1 -1
- package/esm2020/lib/feature/shared/index.mjs +1 -1
- package/esm2020/lib/feature/shared/store.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/index.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/search.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2020/lib/filter/filter.module.mjs +1 -1
- package/esm2020/lib/filter/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
- package/esm2020/lib/filter/shared/index.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +2 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
- package/esm2020/lib/geo.module.mjs +1 -1
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
- package/esm2020/lib/geometry/geometry.module.mjs +1 -1
- package/esm2020/lib/geometry/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +8 -8
- package/esm2020/lib/import-export/import-export.module.mjs +1 -1
- package/esm2020/lib/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +7 -7
- package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.utils.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2020/lib/layer/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
- package/esm2020/lib/layer/layer.module.mjs +1 -1
- package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2020/lib/layer/shared/index.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.service.mjs +6 -6
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
- package/esm2020/lib/layer/utils/image-watcher.mjs +1 -1
- package/esm2020/lib/layer/utils/index.mjs +1 -1
- package/esm2020/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2020/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
- package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -12
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
- package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
- package/esm2020/lib/map/index.mjs +1 -1
- package/esm2020/lib/map/info-section/index.mjs +1 -1
- package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
- package/esm2020/lib/map/map-browser/index.mjs +1 -1
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +2 -2
- package/esm2020/lib/map/map-center/index.mjs +1 -1
- package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
- package/esm2020/lib/map/map.module.mjs +1 -1
- package/esm2020/lib/map/menu-button/index.mjs +1 -1
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
- package/esm2020/lib/map/offline-button/index.mjs +1 -1
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +2 -2
- package/esm2020/lib/map/rotation-button/index.mjs +1 -1
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
- package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +1 -1
- package/esm2020/lib/map/shared/index.mjs +1 -1
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
- package/esm2020/lib/map/shared/map.enums.mjs +1 -1
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/map/shared/map.mjs +1 -1
- package/esm2020/lib/map/shared/map.service.mjs +1 -1
- package/esm2020/lib/map/shared/map.utils.mjs +1 -1
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +1 -1
- package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2020/lib/map/shared/projection.service.mjs +1 -1
- package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2020/lib/map/swipe-control/index.mjs +1 -1
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
- package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
- package/esm2020/lib/map/zoom-button/index.mjs +1 -1
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
- package/esm2020/lib/measure/index.mjs +1 -1
- package/esm2020/lib/measure/measure.module.mjs +1 -1
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2020/lib/metadata/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +2 -2
- package/esm2020/lib/metadata/metadata.module.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +1 -1
- package/esm2020/lib/offline/index.mjs +1 -1
- package/esm2020/lib/offline/layerDB/index.mjs +1 -1
- package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +1 -1
- package/esm2020/lib/offline/layerDB/layerDB.service.mjs +1 -1
- package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
- package/esm2020/lib/overlay/overlay.module.mjs +1 -1
- package/esm2020/lib/overlay/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +1 -1
- package/esm2020/lib/print/print/print.component.mjs +2 -2
- package/esm2020/lib/print/print-form/print-form.component.mjs +2 -2
- package/esm2020/lib/print/print.module.mjs +1 -1
- package/esm2020/lib/print/shared/geopdf.mjs +1 -1
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +1 -1
- package/esm2020/lib/print/shared/print.type.mjs +1 -1
- package/esm2020/lib/query/query.module.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
- package/esm2020/lib/query/shared/query.directive.mjs +1 -1
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +1 -1
- package/esm2020/lib/query/shared/query.utils.mjs +1 -1
- package/esm2020/lib/search/index.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +2 -2
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results.module.mjs +1 -1
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
- package/esm2020/lib/search/search.module.mjs +1 -1
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
- package/esm2020/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2020/lib/search/shared/search.enums.mjs +1 -1
- package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/search.service.mjs +1 -1
- package/esm2020/lib/search/shared/search.utils.mjs +1 -1
- package/esm2020/lib/search/shared/sources/cadastre.mjs +1 -1
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/index.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/workspace.mjs +1 -1
- package/esm2020/lib/search/shared/sources/workspace.providers.mjs +1 -1
- package/esm2020/lib/style/index.mjs +1 -1
- package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
- package/esm2020/lib/style/shared/datasource/index.mjs +1 -1
- package/esm2020/lib/style/shared/feature/feature-style.mjs +1 -1
- package/esm2020/lib/style/shared/feature/index.mjs +1 -1
- package/esm2020/lib/style/shared/font.enum.mjs +1 -1
- package/esm2020/lib/style/shared/index.mjs +1 -1
- package/esm2020/lib/style/shared/overlay/index.mjs +1 -1
- package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
- package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
- package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
- package/esm2020/lib/style/shared/vector/conversion.utils.mjs +1 -1
- package/esm2020/lib/style/shared/vector/index.mjs +1 -1
- package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +1 -1
- package/esm2020/lib/style/style-list/index.mjs +1 -1
- package/esm2020/lib/style/style-list/style-list.interface.mjs +1 -1
- package/esm2020/lib/style/style-list/style-list.module.mjs +1 -1
- package/esm2020/lib/style/style-list/style-list.provider.mjs +1 -1
- package/esm2020/lib/style/style-list/style-list.service.mjs +1 -1
- package/esm2020/lib/style/style-modal/drawing/index.mjs +1 -1
- package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +2 -2
- package/esm2020/lib/style/style-modal/index.mjs +1 -1
- package/esm2020/lib/style/style-modal/layer/index.mjs +1 -1
- package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +2 -2
- package/esm2020/lib/style/style-modal/layer-button/index.mjs +1 -1
- package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
- package/esm2020/lib/style/style-modal/shared/index.mjs +1 -1
- package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
- package/esm2020/lib/style/style-service/draw-style.service.mjs +1 -1
- package/esm2020/lib/style/style-service/index.mjs +1 -1
- package/esm2020/lib/style/style-service/style.service.mjs +1 -1
- package/esm2020/lib/style/style.module.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +2 -2
- package/esm2020/lib/toast/toast.module.mjs +1 -1
- package/esm2020/lib/utils/googleLinks.mjs +1 -1
- package/esm2020/lib/utils/id-generator.mjs +1 -1
- package/esm2020/lib/utils/index.mjs +1 -1
- package/esm2020/lib/utils/osmLinks.mjs +1 -1
- package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
- package/esm2020/lib/wkt/wkt.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace.module.mjs +1 -1
- package/esm2020/public_api.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +116 -116
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +115 -116
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/ngcc.config.js +3 -3
- package/package.json +4 -4
- package/style/geo.theming.scss +12 -12
|
@@ -49,7 +49,7 @@ export class NominatimSearchSource extends SearchSource {
|
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
title: 'igo.geo.search.nominatim.type.entertainment',
|
|
52
|
-
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
52
|
+
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
53
53
|
,public_bookcase,social_centre,stripclub,studio,swingerclub,theatre,internet_cafe',
|
|
54
54
|
enabled: false
|
|
55
55
|
},
|
|
@@ -250,4 +250,4 @@ __decorate([
|
|
|
250
250
|
type: Inject,
|
|
251
251
|
args: ['options']
|
|
252
252
|
}] }, { type: i2.StorageService }]; }, { search: [] }); })();
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL25vbWluYXRpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFJckUsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUFJckQsWUFDVSxJQUFnQixFQUNMLE9BQTRCLEVBQy9DLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUsxQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8scUJBQXFCLENBQUMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRUFBRSw0Q0FBNEM7WUFDdkQsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxVQUFVO29CQUNoQixLQUFLLEVBQUUsY0FBYztvQkFDckIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEtBQUssRUFBRSxvQ0FBb0M7NEJBQzNDLEtBQUssRUFDSCxxRkFBcUY7NEJBQ3ZGLE9BQU8sRUFBRSxLQUFLO3lCQUNmO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxzQ0FBc0M7NEJBQzdDLEtBQUssRUFDSCw2RkFBNkY7NEJBQy9GLE9BQU8sRUFBRSxLQUFLO3lCQUNmO3dCQUNEOzRCQUNFLEtBQUssRUFBRSw2Q0FBNkM7NEJBQ3BELEtBQUssRUFDSDs0R0FDNEY7NEJBQzlGLE9BQU8sRUFBRSxLQUFLO3lCQUNmO3dCQUNEOzRCQUNFLEtBQUssRUFBRSx1Q0FBdUM7NEJBQzlDLEtBQUssRUFBRSwyQkFBMkI7NEJBQ2xDLE9BQU8sRUFBRSxLQUFLO3lCQUNmO3FCQUNGO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxhQUFhO29CQUNuQixLQUFLLEVBQUUsZUFBZTtvQkFDdEIsSUFBSSxFQUFFLE9BQU87b0JBQ2IsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLEtBQUssRUFBRSxFQUFFOzRCQUNULE9BQU8sRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLEtBQUssRUFBRSxFQUFFOzRCQUNULE9BQU8sRUFBRSxLQUFLO3lCQUNmO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLEtBQUssRUFBRSxFQUFFOzRCQUNULE9BQU8sRUFBRSxLQUFLO3lCQUNmO3FCQUNGO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxhQUFhO29CQUNuQixLQUFLLEVBQUUsZ0JBQWdCO29CQUN2QixJQUFJLEVBQUUsY0FBYztvQkFDcEIsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEtBQUssRUFBRSx5Q0FBeUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxzQ0FBc0M7NEJBQzdDLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxLQUFLO3lCQUNmO3FCQUNGO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxhQUFhO29CQUNuQixLQUFLLEVBQUUsaUJBQWlCO29CQUN4QixJQUFJLEVBQUUsUUFBUTtvQkFDZCxNQUFNLEVBQUU7d0JBQ047NEJBQ0UsS0FBSyxFQUFFLDRDQUE0Qzs0QkFDbkQsS0FBSyxFQUFFLENBQUM7NEJBQ1IsT0FBTyxFQUFFLEtBQUs7eUJBQ2Y7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLDZDQUE2Qzs0QkFDcEQsS0FBSyxFQUFFLENBQUM7NEJBQ1IsT0FBTyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUlILE1BQU0sQ0FDSixJQUF3QixFQUN4QixPQUEyQjtRQUUzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU8sMEJBQTBCLENBQ2hDLElBQVksRUFDWixPQUEwQjtRQUUxQixPQUFPLElBQUksVUFBVSxDQUFDO1lBQ3BCLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUN2QjtnQkFDRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU0sRUFBRSxNQUFNO2FBQ2YsRUFDRCxJQUFJLENBQUMsTUFBTSxFQUNYLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUNyQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBeUIsRUFBRSxJQUFZO1FBQzVELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFtQixFQUFFLElBQVk7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1RCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN4QixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsS0FBSyxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzdEO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixRQUFRO2dCQUNSLE1BQU07Z0JBQ04sVUFBVTtnQkFDVixJQUFJLEVBQUU7b0JBQ0osRUFBRTtvQkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQW1CO1FBQzNDLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQW1CO1FBQ3pDLE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFtQjtRQUN2QyxPQUFPO1lBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxJQUFZO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUFDLElBQVk7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTt3QkFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ3ZDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ3ZCLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQzt3QkFDN0IsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQWxRTSx3QkFBRSxHQUFHLFdBQVcsQ0FBQztBQUNqQiwwQkFBSSxHQUFHLE9BQU8sQ0FBQzswRkFGWCxxQkFBcUIsMENBTXRCLFNBQVM7MkVBTlIscUJBQXFCLFdBQXJCLHFCQUFxQjs7SUE0SC9CLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7bURBWUQ7dUZBMUlVLHFCQUFxQjtjQURqQyxVQUFVOztzQkFPTixNQUFNO3VCQUFDLFNBQVM7cURBeUhuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcclxuXHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlLCBUZXh0U2VhcmNoIH0gZnJvbSAnLi9zb3VyY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VPcHRpb25zLCBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBOb21pbmF0aW1EYXRhIH0gZnJvbSAnLi9ub21pbmF0aW0uaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGNvbXB1dGVUZXJtU2ltaWxhcml0eSB9IGZyb20gJy4uL3NlYXJjaC51dGlscyc7XHJcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcblxyXG4vKipcclxuICogTm9taW5hdGltIHNlYXJjaCBzb3VyY2VcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vbWluYXRpbVNlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2gge1xyXG4gIHN0YXRpYyBpZCA9ICdub21pbmF0aW0nO1xyXG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucyxcclxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOb21pbmF0aW1TZWFyY2hTb3VyY2UuaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTm9taW5hdGltU2VhcmNoU291cmNlLnR5cGU7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFNvdXJjZSA6IGh0dHBzOi8vd2lraS5vcGVuc3RyZWV0bWFwLm9yZy93aWtpL0tleTphbWVuaXR5XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGl0bGU6ICdOb21pbmF0aW0gKE9TTSknLFxyXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2gnLFxyXG4gICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgdHlwZScsXHJcbiAgICAgICAgICBuYW1lOiAnYW1lbml0eScsXHJcbiAgICAgICAgICB2YWx1ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZm9vZCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICAnYmFyLGJicSxiaWVyZ2F0ZW4sY2FmZSxkcmlua2luZ193YXRlcixmYXN0X2Zvb2QsZm9vZF9jb3VydCxpY2VfY3JlYW0scHViLHJlc3RhdXJhbnQnLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmhlYWx0aCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICAnYmFieV9oYXRjaCxjbGluaWMsZGVudGlzdCxkb2N0b3JzLGhvc3BpdGFsLG51cnNpbmdfaG9tZSxwaGFybWFjeSxzb2NpYWxfZmFjaWxpdHksdmV0ZXJpbmFyeScsXHJcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZW50ZXJ0YWlubWVudCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICAnYXJ0c19jZW50cmUsYnJvdGhlbCxjYXNpbm8sY2luZW1hLGNvbW11bml0eV9jZW50ZXJfZm91bnRhaW4sZ2FtYmxpbmcsbmlnaHRjbHViLHBsYW5ldGFyaXVtIFxcXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLHB1YmxpY19ib29rY2FzZSxzb2NpYWxfY2VudHJlLHN0cmlwY2x1YixzdHVkaW8sc3dpbmdlcmNsdWIsdGhlYXRyZSxpbnRlcm5ldF9jYWZlJyxcclxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5ub21pbmF0aW0udHlwZS5maW5hbmNlJyxcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2F0bSxiYW5rLGJ1cmVhdV9kZV9jaGFuZ2UnLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXHJcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgbGltaXQnLFxyXG4gICAgICAgICAgbmFtZTogJ2xpbWl0JyxcclxuICAgICAgICAgIHZhbHVlczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6ICcxMCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IDEwLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpdGxlOiAnMjAnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiAyMCxcclxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6ICc1MCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXHJcbiAgICAgICAgICB0aXRsZTogJ3Jlc3RyaWN0RXh0ZW50JyxcclxuICAgICAgICAgIG5hbWU6ICdjb3VudHJ5Y29kZXMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS5jb3VudHJ5LmNhbmFkYScsXHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdDQScsXHJcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5ub21pbmF0aW0uY291bnRyeS5hbGwnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXHJcbiAgICAgICAgICB0aXRsZTogJ211bHRpcGxlIG9iamVjdCcsXHJcbiAgICAgICAgICBuYW1lOiAnZGVkdXBlJyxcclxuICAgICAgICAgIHZhbHVlczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnRydWUnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiAwLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MuZmFsc2UnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiAxLFxyXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBhIHBsYWNlIGJ5IG5hbWVcclxuICAgKiBAcGFyYW0gdGVybSBQbGFjZSBuYW1lXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cclxuICAgKi9cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwXHJcbiAgfSlcclxuICBzZWFyY2goXHJcbiAgICB0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmNvbXB1dGVTZWFyY2hSZXF1ZXN0UGFyYW1zKHRlcm0sIG9wdGlvbnMgfHwge30pO1xyXG4gICAgaWYgKCFwYXJhbXMuZ2V0KCdxJykpIHtcclxuICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogTm9taW5hdGltRGF0YVtdKSA9PiB0aGlzLmV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlLCB0ZXJtKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyhcclxuICAgIHRlcm06IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zXHJcbiAgKTogSHR0cFBhcmFtcyB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHE6IHRoaXMuY29tcHV0ZVRlcm0odGVybSksXHJcbiAgICAgICAgICBmb3JtYXQ6ICdqc29uJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cclxuICAgICAgKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlOiBOb21pbmF0aW1EYXRhW10sIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcclxuICAgIHJldHVybiByZXNwb25zZS5tYXAoKGRhdGE6IE5vbWluYXRpbURhdGEpID0+IHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEsIHRlcm0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IE5vbWluYXRpbURhdGEsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5jb21wdXRlUHJvcGVydGllcyhkYXRhKTtcclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gdGhpcy5jb21wdXRlR2VvbWV0cnkoZGF0YSk7XHJcbiAgICBjb25zdCBleHRlbnQgPSB0aGlzLmNvbXB1dGVFeHRlbnQoZGF0YSk7XHJcbiAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksICdwbGFjZScsIGRhdGEucGxhY2VfaWRdLmpvaW4oJy4nKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgIG1ldGE6IHtcclxuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcclxuICAgICAgICBpZCxcclxuICAgICAgICB0aXRsZTogZGF0YS5kaXNwbGF5X25hbWUsXHJcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxyXG4gICAgICAgIHNjb3JlOiBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEuZGlzcGxheV9uYW1lKVxyXG4gICAgICB9LFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgICBnZW9tZXRyeSxcclxuICAgICAgICBleHRlbnQsXHJcbiAgICAgICAgcHJvcGVydGllcyxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZCxcclxuICAgICAgICAgIHRpdGxlOiBkYXRhLmRpc3BsYXlfbmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoZGF0YTogTm9taW5hdGltRGF0YSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlzcGxheV9uYW1lOiBkYXRhLmRpc3BsYXlfbmFtZSxcclxuICAgICAgcGxhY2VfaWQ6IGRhdGEucGxhY2VfaWQsXHJcbiAgICAgIG9zbV90eXBlOiBkYXRhLm9zbV90eXBlLFxyXG4gICAgICBjbGFzczogZGF0YS5jbGFzcyxcclxuICAgICAgdHlwZTogZGF0YS50eXBlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wdXRlR2VvbWV0cnkoZGF0YTogTm9taW5hdGltRGF0YSk6IEZlYXR1cmVHZW9tZXRyeSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiAnUG9pbnQnLFxyXG4gICAgICBjb29yZGluYXRlczogW3BhcnNlRmxvYXQoZGF0YS5sb24pLCBwYXJzZUZsb2F0KGRhdGEubGF0KV1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVFeHRlbnQoZGF0YTogTm9taW5hdGltRGF0YSk6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsyXSksXHJcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFswXSksXHJcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFszXSksXHJcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsxXSlcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVUZXJtKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlVGVybVRhZ3ModGVybSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgaGFzaHRhZyBmcm9tIHF1ZXJ5IGluIE5vbWluYXRpbSdzIGZvcm1hdCAoK1tdKVxyXG4gICAqIEBwYXJhbSB0ZXJtIFF1ZXJ5IHdpdGggaGFzaHRhZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcHV0ZVRlcm1UYWdzKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBoYXNodGFncyA9IHN1cGVyLmdldEhhc2h0YWdzVmFsaWQodGVybSwgJ2FtZW5pdHknKTtcclxuICAgIGlmICghaGFzaHRhZ3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZVRlcm1TZXR0aW5ncyh0ZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWhhc2h0YWdzLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICB0ZXJtID0gdGVybS5yZXBsYWNlKC8oI1teXFxzXSopL2csICcnKTtcclxuICAgIGhhc2h0YWdzLmZvckVhY2godGFnID0+IHtcclxuICAgICAgdGVybSArPSAnK1snICsgdGFnICsgJ10nO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRlcm07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgaGFzaHRhZyBmcm9tIHNldHRpbmdzIGluIE5vbWluYXRpbSdzIGZvcm1hdCAoK1tdKVxyXG4gICAqIEBwYXJhbSB0ZXJtIFF1ZXJ5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb21wdXRlVGVybVNldHRpbmdzKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0aGlzLm9wdGlvbnMuc2V0dGluZ3MuZm9yRWFjaChzZXR0aW5ncyA9PiB7XHJcbiAgICAgIGlmIChzZXR0aW5ncy5uYW1lID09PSAnYW1lbml0eScpIHtcclxuICAgICAgICBzZXR0aW5ncy52YWx1ZXMuZm9yRWFjaChjb25mID0+IHtcclxuICAgICAgICAgIGlmIChjb25mLmVuYWJsZWQgJiYgdHlwZW9mIGNvbmYudmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkID0gY29uZi52YWx1ZS5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICBzcGxpdHRlZC5mb3JFYWNoKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICB0ZXJtICs9ICcrWycgKyB2YWx1ZSArICddJztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRlcm07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL25vbWluYXRpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFJckUsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUFJckQsWUFDVSxJQUFnQixFQUNMLE9BQTRCLEVBQy9DLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUsxQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8scUJBQXFCLENBQUMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRUFBRSw0Q0FBNEM7WUFDdkQsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFB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RkFGWCxxQkFBcUIsMENBTXRCLFNBQVM7MkVBTlIscUJBQXFCLFdBQXJCLHFCQUFxQjs7SUE0SC9CLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7bURBWUQ7dUZBMUlVLHFCQUFxQjtjQURqQyxVQUFVOztzQkFPTixNQUFNO3VCQUFDLFNBQVM7cURBeUhuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSwgVGV4dFNlYXJjaCB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMsIFRleHRTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOb21pbmF0aW1EYXRhIH0gZnJvbSAnLi9ub21pbmF0aW0uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjb21wdXRlVGVybVNpbWlsYXJpdHkgfSBmcm9tICcuLi9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcblxuLyoqXG4gKiBOb21pbmF0aW0gc2VhcmNoIHNvdXJjZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm9taW5hdGltU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdub21pbmF0aW0nO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBOb21pbmF0aW1TZWFyY2hTb3VyY2UuaWQ7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE5vbWluYXRpbVNlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgLypcbiAgICogU291cmNlIDogaHR0cHM6Ly93aWtpLm9wZW5zdHJlZXRtYXAub3JnL3dpa2kvS2V5OmFtZW5pdHlcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdOb21pbmF0aW0gKE9TTSknLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmcvc2VhcmNoJyxcbiAgICAgIHNldHRpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIHRpdGxlOiAncmVzdWx0cyB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnYW1lbml0eScsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZm9vZCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdiYXIsYmJxLGJpZXJnYXRlbixjYWZlLGRyaW5raW5nX3dhdGVyLGZhc3RfZm9vZCxmb29kX2NvdXJ0LGljZV9jcmVhbSxwdWIscmVzdGF1cmFudCcsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLm5vbWluYXRpbS50eXBlLmhlYWx0aCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdiYWJ5X2hhdGNoLGNsaW5pYyxkZW50aXN0LGRvY3RvcnMsaG9zcGl0YWwsbnVyc2luZ19ob21lLHBoYXJtYWN5LHNvY2lhbF9mYWNpbGl0eSx2ZXRlcmluYXJ5JyxcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZW50ZXJ0YWlubWVudCcsXG4gICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICdhcnRzX2NlbnRyZSxicm90aGVsLGNhc2lubyxjaW5lbWEsY29tbXVuaXR5X2NlbnRlcl9mb3VudGFpbixnYW1ibGluZyxuaWdodGNsdWIscGxhbmV0YXJpdW0gXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLHB1YmxpY19ib29rY2FzZSxzb2NpYWxfY2VudHJlLHN0cmlwY2x1YixzdHVkaW8sc3dpbmdlcmNsdWIsdGhlYXRyZSxpbnRlcm5ldF9jYWZlJyxcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLnR5cGUuZmluYW5jZScsXG4gICAgICAgICAgICAgIHZhbHVlOiAnYXRtLGJhbmssYnVyZWF1X2RlX2NoYW5nZScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3JhZGlvYnV0dG9uJyxcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgbGltaXQnLFxuICAgICAgICAgIG5hbWU6ICdsaW1pdCcsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnMTAnLFxuICAgICAgICAgICAgICB2YWx1ZTogMTAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnMjAnLFxuICAgICAgICAgICAgICB2YWx1ZTogMjAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJzUwJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDUwLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXG4gICAgICAgICAgdGl0bGU6ICdyZXN0cmljdEV4dGVudCcsXG4gICAgICAgICAgbmFtZTogJ2NvdW50cnljb2RlcycsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLmNvdW50cnkuY2FuYWRhJyxcbiAgICAgICAgICAgICAgdmFsdWU6ICdDQScsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gubm9taW5hdGltLmNvdW50cnkuYWxsJyxcbiAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3JhZGlvYnV0dG9uJyxcbiAgICAgICAgICB0aXRsZTogJ211bHRpcGxlIG9iamVjdCcsXG4gICAgICAgICAgbmFtZTogJ2RlZHVwZScsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy50cnVlJyxcbiAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MuZmFsc2UnLFxuICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGEgcGxhY2UgYnkgbmFtZVxuICAgKiBAcGFyYW0gdGVybSBQbGFjZSBuYW1lXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXG4gICAqL1xuICBAQ2FjaGVhYmxlKHtcbiAgICBtYXhDYWNoZUNvdW50OiAyMFxuICB9KVxuICBzZWFyY2goXG4gICAgdGVybTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBUZXh0U2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyh0ZXJtLCBvcHRpb25zIHx8IHt9KTtcbiAgICBpZiAoIXBhcmFtcy5nZXQoJ3EnKSkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2U6IE5vbWluYXRpbURhdGFbXSkgPT4gdGhpcy5leHRyYWN0UmVzdWx0cyhyZXNwb25zZSwgdGVybSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXMoXG4gICAgdGVybTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3QuYXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgcTogdGhpcy5jb21wdXRlVGVybSh0ZXJtKSxcbiAgICAgICAgICBmb3JtYXQ6ICdqc29uJ1xuICAgICAgICB9LFxuICAgICAgICB0aGlzLnBhcmFtcyxcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFJlc3VsdHMocmVzcG9uc2U6IE5vbWluYXRpbURhdGFbXSwgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10ge1xuICAgIHJldHVybiByZXNwb25zZS5tYXAoKGRhdGE6IE5vbWluYXRpbURhdGEpID0+IHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEsIHRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IE5vbWluYXRpbURhdGEsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XG4gICAgY29uc3QgZ2VvbWV0cnkgPSB0aGlzLmNvbXB1dGVHZW9tZXRyeShkYXRhKTtcbiAgICBjb25zdCBleHRlbnQgPSB0aGlzLmNvbXB1dGVFeHRlbnQoZGF0YSk7XG4gICAgY29uc3QgaWQgPSBbdGhpcy5nZXRJZCgpLCAncGxhY2UnLCBkYXRhLnBsYWNlX2lkXS5qb2luKCcuJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQsXG4gICAgICAgIHRpdGxlOiBkYXRhLmRpc3BsYXlfbmFtZSxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICBzY29yZTogY29tcHV0ZVRlcm1TaW1pbGFyaXR5KHRlcm0udHJpbSgpLCBkYXRhLmRpc3BsYXlfbmFtZSlcbiAgICAgIH0sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeSxcbiAgICAgICAgZXh0ZW50LFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGU6IGRhdGEuZGlzcGxheV9uYW1lXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUHJvcGVydGllcyhkYXRhOiBOb21pbmF0aW1EYXRhKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlfbmFtZTogZGF0YS5kaXNwbGF5X25hbWUsXG4gICAgICBwbGFjZV9pZDogZGF0YS5wbGFjZV9pZCxcbiAgICAgIG9zbV90eXBlOiBkYXRhLm9zbV90eXBlLFxuICAgICAgY2xhc3M6IGRhdGEuY2xhc3MsXG4gICAgICB0eXBlOiBkYXRhLnR5cGVcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlR2VvbWV0cnkoZGF0YTogTm9taW5hdGltRGF0YSk6IEZlYXR1cmVHZW9tZXRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjb29yZGluYXRlczogW3BhcnNlRmxvYXQoZGF0YS5sb24pLCBwYXJzZUZsb2F0KGRhdGEubGF0KV1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlRXh0ZW50KGRhdGE6IE5vbWluYXRpbURhdGEpOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsyXSksXG4gICAgICBwYXJzZUZsb2F0KGRhdGEuYm91bmRpbmdib3hbMF0pLFxuICAgICAgcGFyc2VGbG9hdChkYXRhLmJvdW5kaW5nYm94WzNdKSxcbiAgICAgIHBhcnNlRmxvYXQoZGF0YS5ib3VuZGluZ2JveFsxXSlcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlVGVybSh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVUZXJtVGFncyh0ZXJtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaGFzaHRhZyBmcm9tIHF1ZXJ5IGluIE5vbWluYXRpbSdzIGZvcm1hdCAoK1tdKVxuICAgKiBAcGFyYW0gdGVybSBRdWVyeSB3aXRoIGhhc2h0YWdcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVRlcm1UYWdzKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaGFzaHRhZ3MgPSBzdXBlci5nZXRIYXNodGFnc1ZhbGlkKHRlcm0sICdhbWVuaXR5Jyk7XG4gICAgaWYgKCFoYXNodGFncykge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZVRlcm1TZXR0aW5ncyh0ZXJtKTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc2h0YWdzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGVybSA9IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJyk7XG4gICAgaGFzaHRhZ3MuZm9yRWFjaCh0YWcgPT4ge1xuICAgICAgdGVybSArPSAnK1snICsgdGFnICsgJ10nO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cblxuICAvKipcbiAgICogQWRkIGhhc2h0YWcgZnJvbSBzZXR0aW5ncyBpbiBOb21pbmF0aW0ncyBmb3JtYXQgKCtbXSlcbiAgICogQHBhcmFtIHRlcm0gUXVlcnlcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVRlcm1TZXR0aW5ncyh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMub3B0aW9ucy5zZXR0aW5ncy5mb3JFYWNoKHNldHRpbmdzID0+IHtcbiAgICAgIGlmIChzZXR0aW5ncy5uYW1lID09PSAnYW1lbml0eScpIHtcbiAgICAgICAgc2V0dGluZ3MudmFsdWVzLmZvckVhY2goY29uZiA9PiB7XG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCAmJiB0eXBlb2YgY29uZi52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkID0gY29uZi52YWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgc3BsaXR0ZWQuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgIHRlcm0gKz0gJytbJyArIHZhbHVlICsgJ10nO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGVybTtcbiAgfVxufVxuIl19
|
|
@@ -20,4 +20,4 @@ export function provideNominatimSearchSource() {
|
|
|
20
20
|
deps: [HttpClient, ConfigService, StorageService]
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9ub21pbmF0aW0ucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLElBQWdCLEVBQ2hCLE1BQXFCLEVBQ3JCLGNBQThCO0lBRTlCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxFQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQzdELGNBQWMsQ0FDZixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO0tBQ2xELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgTm9taW5hdGltU2VhcmNoU291cmNlIH0gZnJvbSAnLi9ub21pbmF0aW0nO1xuXG4vKipcbiAqIE5vbWluYXRpbSBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYXRpbVNlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXG4pIHtcbiAgcmV0dXJuIG5ldyBOb21pbmF0aW1TZWFyY2hTb3VyY2UoXG4gICAgaHR0cCxcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7Tm9taW5hdGltU2VhcmNoU291cmNlLmlkfWApLFxuICAgIHN0b3JhZ2VTZXJ2aWNlXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBOb21pbmF0aW0gc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5vbWluYXRpbVNlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogbm9taW5hdGltU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgQ29uZmlnU2VydmljZSwgU3RvcmFnZVNlcnZpY2VdXG4gIH07XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzZWFyY2hVcmw/OiBzdHJpbmc7XG4gIGF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBvcmRlcj86IG51bWJlcjtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHNldHRpbmdzPzogU2VhcmNoU291cmNlU2V0dGluZ3NbXTtcbiAgc2hvd0luUG9pbnRlclN1bW1hcnk/OiBib29sZWFuO1xuICBzaG93SW5TZXR0aW5ncz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU291cmNlU2V0dGluZ3Mge1xuICB0eXBlOiAncmFkaW9idXR0b24nIHwgJ2NoZWNrYm94JztcbiAgdmFsdWVzOiBTZXR0aW5nT3B0aW9uc1tdO1xuICB0aXRsZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFsbEVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdPcHRpb25zIHtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgaGFzaHRhZ3M/OiBzdHJpbmdbXTtcbiAgYXZhaWxhYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0U2VhcmNoT3B0aW9ucyB7XG4gIHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHNlYXJjaFR5cGU/OiAnRmVhdHVyZScgfCAnTGF5ZXInOyAvLyByZWZlciB0byBzZWFyY2guZW51bS50cyBTRUFSQ0hfVFlQRVMgPSBbRkVBVFVSRSwgTEFZRVJdO1xuICBnZXRFbmFibGVkT25seT86IGJvb2xlYW47XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBwYWdlPzogbnVtYmVyO1xuICBzb3VyY2VJZD86IHN0cmluZztcbiAgZm9yY2VOQT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV2ZXJzZVNlYXJjaE9wdGlvbnMge1xuICBkaXN0YW5jZT86IG51bWJlcjtcbiAgY29uZj86IG51bWJlcjtcbiAgem9vbT86IG51bWJlcjtcbiAgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cbiJdfQ==
|
|
@@ -206,4 +206,4 @@ SearchSource.id = '';
|
|
|
206
206
|
* @internal
|
|
207
207
|
*/
|
|
208
208
|
SearchSource.type = '';
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUE4S3ZCLFlBQVksT0FBNEIsRUFBVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUNoQixDQUFDO1lBQ1osSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRzdFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQTdLRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRDs7O09BR0c7SUFDSCxP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LGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQyxDQUFDLEtBQTJCLEVBQUUsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEvT0Q7OztHQUdHO0FBQ0ksZUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVmOzs7R0FHRztBQUNJLGlCQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxyXG4gIFRleHRTZWFyY2hPcHRpb25zLFxyXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzXHJcbn0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2Ugc2VhcmNoIHNvdXJjZSBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNvdXJjZSB7XHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSBJRFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHN0YXRpYyBpZCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIHR5cGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdGF0aWMgdHlwZSA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIG9wdGlvbnNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucztcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqL1xyXG4gIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0SWRcIi4nKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyB0eXBlXHJcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSdzIHR5cGVcclxuICAgKi9cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0VHlwZVwiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBkZWZhdWx0IG9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlIGRlZmF1bHQgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXREZWZhdWx0T3B0aW9uc1wiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSdzIHRpdGxlXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBhdmFpbGFibGVcclxuICAgKi9cclxuICBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgIT09IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBlbmFibGVkXHJcbiAgICovXHJcbiAgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMub3B0aW9ucy5lbmFibGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlICYmIHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5Qb2ludGVyU3VtbWFyeSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblBvaW50ZXJTdW1tYXJ5ID0gdGhpcy5vcHRpb25zLnNob3dJblBvaW50ZXJTdW1tYXJ5O1xyXG4gICAgcmV0dXJuIHNob3dJblBvaW50ZXJTdW1tYXJ5ID8gc2hvd0luUG9pbnRlclN1bW1hcnkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5TZXR0aW5ncygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblNldHRpbmdzID0gdGhpcy5vcHRpb25zLnNob3dJblNldHRpbmdzO1xyXG4gICAgcmV0dXJuIHNob3dJblNldHRpbmdzID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luU2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdXJsXHJcbiAgICovXHJcbiAgZ2V0IHNlYXJjaFVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWFyY2hVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcXVlcnkgcGFyYW1zXHJcbiAgICovXHJcbiAgZ2V0IHBhcmFtcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgPyB7fSA6IHRoaXMub3B0aW9ucy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc2V0dGluZ3NcclxuICAgKi9cclxuICBnZXQgc2V0dGluZ3MoKTogU2VhcmNoU291cmNlU2V0dGluZ3NbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNldHRpbmdzID09PSB1bmRlZmluZWQgPyBbXSA6IHRoaXMub3B0aW9ucy5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHNldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KHN0b3Jlc1dpdGhJbmRleDogRmVhdHVyZVN0b3JlW10pIHtcclxuICAgIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSBzdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIGdldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdO1xyXG5cclxuICBzZXRXb3Jrc3BhY2VzKHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XHJcbiAgICBpZiAod29ya3NwYWNlcy5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsdWVzID0gW107XHJcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSB3b3Jrc3BhY2VzXHJcbiAgICAgIC5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpXHJcbiAgICAgIC5tYXAoZncgPT4ge1xyXG4gICAgICAgIHZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgIHRpdGxlOiBmdy50aXRsZSxcclxuICAgICAgICAgIHZhbHVlOiBmdy50aXRsZSxcclxuICAgICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlO1xyXG4gICAgICB9KTtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gdGhpcy5vcHRpb25zLnNldHRpbmdzLmZpbmQocyA9PiBzLnRpdGxlID09PSAnZGF0YXNldHMnKTtcclxuICAgIGlmIChkYXRhc2V0cykge1xyXG4gICAgICBkYXRhc2V0cy52YWx1ZXMgPSB2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFBhcmFtRnJvbVNldHRpbmcoZGF0YXNldHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHBhcmFtcyBmcm9tIHNlbGVjdGVkIHNldHRpbmdzXHJcbiAgICovXHJcbiAgc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncywgc2F2ZUluU3RvcmFnZSA9IHRydWUpIHtcclxuICAgIHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3JhZGlvYnV0dG9uJzpcclxuICAgICAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XHJcbiAgICAgICAgICAgICAgW3NldHRpbmcubmFtZV06IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcclxuICAgICAgICBsZXQgY29uZlZhbHVlID0gJyc7XHJcbiAgICAgICAgc2V0dGluZy52YWx1ZXNcclxuICAgICAgICAgIC5maWx0ZXIocyA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpXHJcbiAgICAgICAgICAuZm9yRWFjaChjb25mID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgIGNvbmZWYWx1ZSArPSBjb25mLnZhbHVlICsgJywnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICBjb25mVmFsdWUgPSBjb25mVmFsdWUuc2xpY2UoMCwgLTEpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucy5wYXJhbXMgfHwge30sIHtcclxuICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2F2ZUluU3RvcmFnZSAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgIHRoaXMuZ2V0SWQoKSArICcub3B0aW9ucycsXHJcbiAgICAgICAge3BhcmFtczogdGhpcy5vcHRpb25zLnBhcmFtc31cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIGRpc3BsYXkgb3JkZXJcclxuICAgKi9cclxuICBnZXQgZGlzcGxheU9yZGVyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyA5OSA6IHRoaXMub3B0aW9ucy5vcmRlcjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnMsIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U/OiBTdG9yYWdlU2VydmljZSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VPcHRpb25zID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICAgdGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJ1xyXG4gICAgICApIGFzIG9iamVjdDtcclxuICAgICAgaWYgKHN0b3JhZ2VPcHRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMub3B0aW9ucywgc3RvcmFnZU9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKSwgdGhpcy5vcHRpb25zKTtcclxuXHJcblxyXG4gICAgLy8gU2V0IERlZmF1bHQgUGFyYW1zIGZyb20gU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaChzZXR0aW5nID0+IHtcclxuICAgICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGhhc2h0YWdzIHZhbGlkXHJcbiAgICogQHBhcmFtIGhhc2h0YWcgaGFzaHRhZyBmcm9tIHF1ZXJ5XHJcbiAgICovXHJcbiAgZ2V0SGFzaHRhZ3NWYWxpZCh0ZXJtOiBzdHJpbmcsIHNldHRpbmdzTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgaGFzaHRhZ3MgPSB0ZXJtLm1hdGNoKC8oI1tBLVphLXrDgC3Dvy0rXSspL2cpO1xyXG4gICAgaWYgKCFoYXNodGFncykge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlYXJjaFNvdXJjZVNldHRpbmcgPSB0aGlzLmdldFNldHRpbmdzVmFsdWVzKHNldHRpbmdzTmFtZSk7XHJcbiAgICBjb25zdCBoYXNodGFnc1ZhbGlkID0gW107XHJcbiAgICBoYXNodGFncy5mb3JFYWNoKGhhc2h0YWcgPT4ge1xyXG4gICAgICBzZWFyY2hTb3VyY2VTZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc2h0YWdLZXkgPSBoYXNodGFnLnN1YnN0cmluZygxKTtcclxuICAgICAgICBpZiAodHlwZW9mIGNvbmYudmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICAgICAgICAuc3BsaXQoJywnKTtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdHlwZXMuaW5kZXhPZihcclxuICAgICAgICAgICAgaGFzaHRhZ0tleVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2godHlwZXNbaW5kZXhdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmYuaGFzaHRhZ3MgJiYgY29uZi5oYXNodGFncy5pbmRleE9mKGhhc2h0YWdLZXkudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XHJcbiAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2goY29uZi52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBoYXNodGFnc1ZhbGlkLmZpbHRlcigoYSwgYikgPT4gaGFzaHRhZ3NWYWxpZC5pbmRleE9mKGEpID09PSBiKTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzVmFsdWVzKHNlYXJjaDogc3RyaW5nKTogU2VhcmNoU291cmNlU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKS5zZXR0aW5ncy5maW5kKFxyXG4gICAgICAodmFsdWU6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLm5hbWUgPT09IHNlYXJjaDtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSB0ZXh0IGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIHRlcm0gVGV4dFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICBzZWFyY2goXHJcbiAgICB0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCBzb3VyY2VzIHRoYXQgYWxsb3cgc2VhcmNoaW5nIGJ5IGNvb3JkaW5hdGVzIGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJldmVyc2VTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIGxvbkxhdCBDb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICByZXZlcnNlU2VhcmNoKFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdD86IGJvb2xlYW5cclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUE4S3ZCLFlBQVksT0FBNEIsRUFBVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUNoQixDQUFDO1lBQ1osSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRzdFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQTdLRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRDs7O09BR0c7SUFDSCxP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LGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQyxDQUFDLEtBQTJCLEVBQUUsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEvT0Q7OztHQUdHO0FBQ0ksZUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVmOzs7R0FHRztBQUNJLGlCQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBUZXh0U2VhcmNoT3B0aW9ucyxcbiAgUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzXG59IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG4vKipcbiAqIEJhc2Ugc2VhcmNoIHNvdXJjZSBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU291cmNlIHtcbiAgLyoqXG4gICAqIFNlYXJjaCBzb3VyY2UgSURcbiAgICogQGludGVybmFsXG4gICAqL1xuICBzdGF0aWMgaWQgPSAnJztcblxuICAvKipcbiAgICogU2VhcmNoIHNvdXJjZSB0eXBlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc3RhdGljIHR5cGUgPSAnJztcblxuICAvKipcbiAgICogU2VhcmNoIHNvdXJjZSBvcHRpb25zXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEdldCBzZWFyY2ggc291cmNlJ3MgaWRcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSdzIGlkXG4gICAqL1xuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXRJZFwiLicpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgc2VhcmNoIHNvdXJjZSdzIHR5cGVcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSdzIHR5cGVcbiAgICovXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0VHlwZVwiLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzZWFyY2ggc291cmNlJ3MgZGVmYXVsdCBvcHRpb25zXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UgZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIG1ldGhvZCBcImdldERlZmF1bHRPcHRpb25zXCIuJyk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHNvdXJjZSdzIHRpdGxlXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaCBzb3VyY2UgaXMgYXZhaWxhYmxlXG4gICAqL1xuICBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlICE9PSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggc291cmNlIGlzIGVuYWJsZWRcbiAgICovXG4gIHNldCBlbmFibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmVuYWJsZWQgPSB2YWx1ZTtcbiAgfVxuICBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hdmFpbGFibGUgJiYgdGhpcy5vcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHNob3dJblBvaW50ZXJTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dJblBvaW50ZXJTdW1tYXJ5ID0gdGhpcy5vcHRpb25zLnNob3dJblBvaW50ZXJTdW1tYXJ5O1xuICAgIHJldHVybiBzaG93SW5Qb2ludGVyU3VtbWFyeSA/IHNob3dJblBvaW50ZXJTdW1tYXJ5IDogZmFsc2U7XG4gIH1cblxuICBnZXQgc2hvd0luU2V0dGluZ3MoKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2hvd0luU2V0dGluZ3MgPSB0aGlzLm9wdGlvbnMuc2hvd0luU2V0dGluZ3M7XG4gICAgcmV0dXJuIHNob3dJblNldHRpbmdzID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luU2V0dGluZ3M7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHVybFxuICAgKi9cbiAgZ2V0IHNlYXJjaFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc2VhcmNoVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBxdWVyeSBwYXJhbXNcbiAgICovXG4gIGdldCBwYXJhbXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXMgPT09IHVuZGVmaW5lZCA/IHt9IDogdGhpcy5vcHRpb25zLnBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggc2V0dGluZ3NcbiAgICovXG4gIGdldCBzZXR0aW5ncygpOiBTZWFyY2hTb3VyY2VTZXR0aW5nc1tdIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNldHRpbmdzID09PSB1bmRlZmluZWQgPyBbXSA6IHRoaXMub3B0aW9ucy5zZXR0aW5ncztcbiAgfVxuXG4gIHNldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KHN0b3Jlc1dpdGhJbmRleDogRmVhdHVyZVN0b3JlW10pIHtcbiAgICB0aGlzLl9mZWF0dXJlU3RvcmVzV2l0aEluZGV4ID0gc3RvcmVzV2l0aEluZGV4O1xuICB9XG4gIGdldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlU3RvcmVzV2l0aEluZGV4O1xuICB9XG4gIHByaXZhdGUgX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdO1xuXG4gIHNldFdvcmtzcGFjZXMod29ya3NwYWNlczogV29ya3NwYWNlW10pIHtcbiAgICBpZiAod29ya3NwYWNlcy5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZXMgPSBbXTtcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSB3b3Jrc3BhY2VzXG4gICAgICAuZmlsdGVyKGZ3ID0+IChmdy5lbnRpdHlTdG9yZSBhcyBGZWF0dXJlU3RvcmUpLnNlYXJjaERvY3VtZW50KVxuICAgICAgLm1hcChmdyA9PiB7XG4gICAgICAgIHZhbHVlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogZncudGl0bGUsXG4gICAgICAgICAgdmFsdWU6IGZ3LnRpdGxlLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmdy5lbnRpdHlTdG9yZSBhcyBGZWF0dXJlU3RvcmU7XG4gICAgICB9KTtcbiAgICBjb25zdCBkYXRhc2V0cyA9IHRoaXMub3B0aW9ucy5zZXR0aW5ncy5maW5kKHMgPT4gcy50aXRsZSA9PT0gJ2RhdGFzZXRzJyk7XG4gICAgaWYgKGRhdGFzZXRzKSB7XG4gICAgICBkYXRhc2V0cy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgfVxuICAgIHRoaXMuc2V0UGFyYW1Gcm9tU2V0dGluZyhkYXRhc2V0cyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHBhcmFtcyBmcm9tIHNlbGVjdGVkIHNldHRpbmdzXG4gICAqL1xuICBzZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLCBzYXZlSW5TdG9yYWdlID0gdHJ1ZSkge1xuICAgIHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XG4gICAgICBjYXNlICdyYWRpb2J1dHRvbic6XG4gICAgICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goY29uZiA9PiB7XG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLnBhcmFtcyB8fCB7fSwge1xuICAgICAgICAgICAgICBbc2V0dGluZy5uYW1lXTogY29uZi52YWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjaGVja2JveCc6XG4gICAgICAgIGxldCBjb25mVmFsdWUgPSAnJztcbiAgICAgICAgc2V0dGluZy52YWx1ZXNcbiAgICAgICAgICAuZmlsdGVyKHMgPT4gcy5hdmFpbGFibGUgIT09IGZhbHNlKVxuICAgICAgICAgIC5mb3JFYWNoKGNvbmYgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xuICAgICAgICAgICAgICBjb25mVmFsdWUgKz0gY29uZi52YWx1ZSArICcsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgY29uZlZhbHVlID0gY29uZlZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLnBhcmFtcyB8fCB7fSwge1xuICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChzYXZlSW5TdG9yYWdlICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgICAgICB0aGlzLmdldElkKCkgKyAnLm9wdGlvbnMnLFxuICAgICAgICB7cGFyYW1zOiB0aGlzLm9wdGlvbnMucGFyYW1zfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBvcmRlclxuICAgKi9cbiAgZ2V0IGRpc3BsYXlPcmRlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMub3JkZXIgPT09IHVuZGVmaW5lZCA/IDk5IDogdGhpcy5vcHRpb25zLm9yZGVyO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucywgcHJpdmF0ZSBzdG9yYWdlU2VydmljZT86IFN0b3JhZ2VTZXJ2aWNlKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSkge1xuICAgICAgY29uc3Qgc3RvcmFnZU9wdGlvbnMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcbiAgICAgICAgdGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJ1xuICAgICAgKSBhcyBvYmplY3Q7XG4gICAgICBpZiAoc3RvcmFnZU9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMub3B0aW9ucywgc3RvcmFnZU9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcCh0aGlzLmdldERlZmF1bHRPcHRpb25zKCksIHRoaXMub3B0aW9ucyk7XG5cblxuICAgIC8vIFNldCBEZWZhdWx0IFBhcmFtcyBmcm9tIFNldHRpbmdzXG4gICAgdGhpcy5zZXR0aW5ncy5mb3JFYWNoKHNldHRpbmcgPT4ge1xuICAgICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaGFzaHRhZ3MgdmFsaWRcbiAgICogQHBhcmFtIGhhc2h0YWcgaGFzaHRhZyBmcm9tIHF1ZXJ5XG4gICAqL1xuICBnZXRIYXNodGFnc1ZhbGlkKHRlcm06IHN0cmluZywgc2V0dGluZ3NOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaGFzaHRhZ3MgPSB0ZXJtLm1hdGNoKC8oI1tBLVphLXrDgC3Dvy0rXSspL2cpO1xuICAgIGlmICghaGFzaHRhZ3MpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoU291cmNlU2V0dGluZyA9IHRoaXMuZ2V0U2V0dGluZ3NWYWx1ZXMoc2V0dGluZ3NOYW1lKTtcbiAgICBjb25zdCBoYXNodGFnc1ZhbGlkID0gW107XG4gICAgaGFzaHRhZ3MuZm9yRWFjaChoYXNodGFnID0+IHtcbiAgICAgIHNlYXJjaFNvdXJjZVNldHRpbmcudmFsdWVzLmZvckVhY2goY29uZiA9PiB7XG4gICAgICAgIGNvbnN0IGhhc2h0YWdLZXkgPSBoYXNodGFnLnN1YnN0cmluZygxKTtcbiAgICAgICAgaWYgKHR5cGVvZiBjb25mLnZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IHR5cGVzID0gY29uZi52YWx1ZVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAgICAgICAuc3BsaXQoJywnKTtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHR5cGVzLmluZGV4T2YoXG4gICAgICAgICAgICBoYXNodGFnS2V5XG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGhhc2h0YWdzVmFsaWQucHVzaCh0eXBlc1tpbmRleF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZi5oYXNodGFncyAmJiBjb25mLmhhc2h0YWdzLmluZGV4T2YoaGFzaHRhZ0tleS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpIHtcbiAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2goY29uZi52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGhhc2h0YWdzVmFsaWQuZmlsdGVyKChhLCBiKSA9PiBoYXNodGFnc1ZhbGlkLmluZGV4T2YoYSkgPT09IGIpO1xuICB9XG5cbiAgZ2V0U2V0dGluZ3NWYWx1ZXMoc2VhcmNoOiBzdHJpbmcpOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKS5zZXR0aW5ncy5maW5kKFxuICAgICAgKHZhbHVlOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUubmFtZSA9PT0gc2VhcmNoO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSB0ZXh0IGltcGxlbWVudCB0aGlzIGNsYXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFNlYXJjaCB7XG4gIC8qKlxuICAgKiBTZWFyY2ggYnkgdGV4dFxuICAgKiBAcGFyYW0gdGVybSBUZXh0XG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBUZXh0U2VhcmNoT3B0aW9uc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9yIHNlYXJjaCByZXN1bHRzXG4gICAqL1xuICBzZWFyY2goXG4gICAgdGVybTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBUZXh0U2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcbn1cblxuLyoqXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSBjb29yZGluYXRlcyBpbXBsZW1lbnQgdGhpcyBjbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldmVyc2VTZWFyY2gge1xuICAvKipcbiAgICogU2VhcmNoIGJ5IHRleHRcbiAgICogQHBhcmFtIGxvbkxhdCBDb29yZGluYXRlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbDogUmV2ZXJzZVNlYXJjaE9wdGlvbnNcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvciBzZWFyY2ggcmVzdWx0c1xuICAgKi9cbiAgcmV2ZXJzZVNlYXJjaChcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zLFxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQ/OiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0W10+O1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3N0b3JlZHF1ZXJpZXMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnMgZXh0ZW5kcyBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgc3RvcmVkcXVlcnlfaWQ6IHN0cmluZztcbiAgZmllbGRzOiBTdG9yZWRRdWVyaWVzRmllbGRzW107XG4gIHNyc25hbWU/OiBzdHJpbmc7XG4gIG91dHB1dGZvcm1hdD86IHN0cmluZztcbiAgcmVzdWx0VGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkUXVlcmllc0ZpZWxkcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlOiBhbnk7XG4gIHNwbGl0UHJlZml4Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlZFF1ZXJpZXNEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgZ2VvbWV0cnk6IEZlYXR1cmVHZW9tZXRyeTtcbiAgcHJvcGVydGllczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZWRRdWVyaWVzUmVzcG9uc2Uge1xuICBmZWF0dXJlczogU3RvcmVkUXVlcmllc0RhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZU9wdGlvbnMgZXh0ZW5kcyBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgc3RvcmVkcXVlcnlfaWQ6IHN0cmluZztcbiAgbG9uZ0ZpZWxkOiBzdHJpbmc7XG4gIGxhdEZpZWxkOiBzdHJpbmc7XG4gIHNyc25hbWU/OiBzdHJpbmc7XG4gIG91dHB1dGZvcm1hdD86IHN0cmluZztcbiAgcmVzdWx0VGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgZ2VvbWV0cnk6IEZlYXR1cmVHZW9tZXRyeTtcbiAgcHJvcGVydGllczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZWRRdWVyaWVzUmV2ZXJzZVJlc3BvbnNlIHtcbiAgZmVhdHVyZXM6IFN0b3JlZFF1ZXJpZXNEYXRhW107XG59XG4iXX0=
|
|
@@ -422,4 +422,4 @@ __decorate([
|
|
|
422
422
|
type: Inject,
|
|
423
423
|
args: ['options']
|
|
424
424
|
}] }]; }, { reverseSearch: [] }); })();
|
|
425
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zdG9yZWRxdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0sVUFBVSxDQUFDO0FBZ0JuRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFlBQVk7SUFjekQsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFLeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQTJDLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFO1lBQ3JFLE9BQU87U0FDUjtRQUVELE1BQU0sb0JBQW9CLEdBQUcs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Q0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsSUFBOEI7UUFFOUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FDdkMsSUFBSSxDQUFDLFVBQVUsRUFDZixnQ0FBZ0MsQ0FBQyxtQkFBbUIsQ0FDckQsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLDRCQUE0QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLGNBQWM7U0FDcEgsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOztBQTlMTSxtQ0FBRSxHQUFHLHNCQUFzQixDQUFDO0FBQzVCLHFDQUFJLEdBQUcsT0FBTyxDQUFDO0FBQ2Ysb0RBQW1CLEdBQWEsRUFBRyxDQUFBO2dIQUovQixnQ0FBZ0MsMkdBYWpDLFNBQVM7c0ZBYlIsZ0NBQWdDLFdBQWhDLGdDQUFnQzs7SUFtRTFDLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7cUVBd0JEO3VGQTdGVSxnQ0FBZ0M7Y0FENUMsVUFBVTs7c0JBY04sTUFBTTt1QkFBQyxTQUFTO3dCQXlEbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2gsIFJldmVyc2VTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7XHJcbiAgU2VhcmNoU291cmNlT3B0aW9ucyxcclxuICBUZXh0U2VhcmNoT3B0aW9ucyxcclxuICBSZXZlcnNlU2VhcmNoT3B0aW9uc1xyXG59IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIFN0b3JlZFF1ZXJpZXNEYXRhLFxyXG4gIFN0b3JlZFF1ZXJpZXNSZXNwb25zZSxcclxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZURhdGEsXHJcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VSZXNwb25zZSxcclxuICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucyxcclxuICBTdG9yZWRRdWVyaWVzRmllbGRzLFxyXG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlT3B0aW9uc1xyXG59IGZyb20gJy4vc3RvcmVkcXVlcmllcy5pbnRlcmZhY2VzJztcclxuXHJcbmltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgY29tcHV0ZVRlcm1TaW1pbGFyaXR5IH0gZnJvbSAnLi4vc2VhcmNoLnV0aWxzJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuXHJcbi8qKlxyXG4gKiBTdG9yZWRRdWVyaWVzIHNlYXJjaCBzb3VyY2VcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UgZXh0ZW5kcyBTZWFyY2hTb3VyY2VcclxuICBpbXBsZW1lbnRzIFRleHRTZWFyY2gge1xyXG4gIHN0YXRpYyBpZCA9ICdzdG9yZWRxdWVyaWVzJztcclxuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XHJcbiAgc3RhdGljIHByb3BlcnRpZXNCbGFja2xpc3Q6IHN0cmluZ1tdID0gW1xyXG4gICAgJ2JvdW5kZWRCeScsXHJcbiAgICAnaWQnLFxyXG4gICAgJ2Nvb3JkX3gnLFxyXG4gICAgJ2Nvb3JkX3knXHJcbiAgXTtcclxuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XHJcbiAgcHVibGljIHN0b3JlZFF1ZXJpZXNPcHRpb25zOiBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucztcclxuICBwdWJsaWMgbXVsdGlwbGVGaWVsZHNRdWVyeTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnNcclxuICApIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIHN0b3JhZ2VTZXJ2aWNlKTtcclxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgPSBvcHRpb25zIGFzIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2VPcHRpb25zO1xyXG4gICAgaWYgKHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgJiYgIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuYXZhaWxhYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkZWZhdWx0U3RvcmVkcXVlcnlJZCA9ICdydHNzJztcclxuICAgIGNvbnN0IGRlZmF1bHRGaWVsZFNwbGl0dGVyOiBTdG9yZWRRdWVyaWVzRmllbGRzW10gPSBbXHJcbiAgICAgIHsgbmFtZTogJ3J0c3MnLCBkZWZhdWx0VmFsdWU6ICctOTknIH0sXHJcbiAgICAgIHsgbmFtZTogJ2NoYWluYWdlJywgZGVmYXVsdFZhbHVlOiAnMCcsIHNwbGl0UHJlZml4OiAnXFxcXCsnIH1cclxuICAgIF07XHJcbiAgICBjb25zdCBkZWZhdWx0T3V0cHV0Zm9ybWF0ID0gJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XHJcbiAgICBjb25zdCBkZWZhdWx0U3JzbmFtZSA9ICdFUFNHOjQzMjYnO1xyXG4gICAgY29uc3QgZGVmYXVsdFJlc3VsdFRpdGxlID0gJ3RpdGxlJztcclxuXHJcbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMpIHtcclxuICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgJyBObyBjb25maWd1cmF0aW9uIGZvciB0aGlzIHNlYXJjaCBzb3VyY2UgKHN0b3JlZHF1ZXJpZXMpLiBZb3Ugd2lsbCB1c2UgdGhlIGRlZmF1bHQgdmFsdWVzJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zID0ge1xyXG4gICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiBkZWZhdWx0U3RvcmVkcXVlcnlJZCxcclxuICAgICAgICBmaWVsZHM6IGRlZmF1bHRGaWVsZFNwbGl0dGVyLFxyXG4gICAgICAgIG91dHB1dGZvcm1hdDogZGVmYXVsdE91dHB1dGZvcm1hdCxcclxuICAgICAgICBzcnNuYW1lOiBkZWZhdWx0U3JzbmFtZSxcclxuICAgICAgICByZXN1bHRUaXRsZTogZGVmYXVsdFJlc3VsdFRpdGxlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucmVzdWx0VGl0bGUgPSBkZWZhdWx0UmVzdWx0VGl0bGU7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IHZhbHVlcycsIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCkge1xyXG4gICAgICBjb25zdCBlcnIgPVxyXG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwic3RvcmVkcXVlcnlfaWRcIiBpbnRvIFN0b3JlZFF1ZXJpZXMgb3B0aW9ucy4gZXg6IHN0b3JlZHF1ZXJ5X2lkOiBcIm5hbWVvZnN0b3JlZHF1ZXJpZVwiJztcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBoYXZlIHRvIHNldCBcImZpZWxkc1wiIGludG8gb3B0aW9ucy4gZXg6IGZpZWxkczoge1wibmFtZVwiOiBcInJ0c3NcIiwgXCJkZWZhdWx0VmFsdWVcIjogXCItOTlcIn0nXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgPVxyXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdCB8fCAndGV4dC94bWw7IHN1YnR5cGU9Z21sLzMuMS4xJztcclxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSA9XHJcbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSB8fCAnRVBTRzo0MzI2JztcclxuXHJcbiAgICBjb25zdCBzdG9yZWRRdWVyeUlkID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgaWYgKFxyXG4gICAgICBzdG9yZWRRdWVyeUlkLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpICYmXHJcbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0XHJcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAuaW5jbHVkZXMoJ2dldGZlYXR1cmVieWlkJylcclxuICAgICkge1xyXG4gICAgICBsZXQgZXJyID1cclxuICAgICAgICAnWW91IG11c3Qgc2V0IGEgZ2VvanNvbiBmb3JtYXQgZm9yIHlvdXIgc3RvcmVkIHF1ZXJ5LiBUaGlzIGlzIGR1ZSB0byBhbiBvcGVubGF5ZXJzIGlzc3VlKSc7XHJcbiAgICAgIGVyciArPSAnICh3ZnMgMS4xLjAgJiBnbWwgMy4xLjEgbGltaXRhdGlvbiknO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcyBpbnN0YW5jZW9mIEFycmF5KSkge1xyXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcyA9IFt0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkc107XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tdWx0aXBsZUZpZWxkc1F1ZXJ5ID1cclxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMubGVuZ3RoID4gMSA/IHRydWUgOiBmYWxzZTtcclxuXHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGVGaWVsZHNRdWVyeSAmJiAhZmllbGQuc3BsaXRQcmVmaXggJiYgaW5kZXggIT09IDApIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBtdXN0IHNldCBhIGZpZWxkIHNwbGl0ZXIgaW50byB5b3VyIGZpZWxkIGRlZmluaXRpb24gKG9wdGlvbmFsIGZvciB0aGUgZmlyc3Qgb25lISknXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWZpZWxkLmRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IG11c3Qgc2V0IGEgZmllbGQgZGVmYXVsdCB2YWx1ZSBpbnRvIHlvdXIgZmllbGQgZGVmaW5pdGlvbidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlID1cclxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSB8fCB0aGlzLnJlc3VsdFRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLmlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UudHlwZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRpdGxlOiAnU3RvcmVkIFF1ZXJpZXMnLFxyXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL3dzLm1hcHNlcnZlci50cmFuc3BvcnRzLmdvdXYucWMuY2Evc3d0cSdcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyBVUkwgQ0FMTCBFWEFNUExFUzpcclxuICAvLyAgR2V0RmVhdHVyZUJ5SWQgKG1hbmRhdG9yeSBzdG9yZWRxdWVyeSBmb3Igd2ZzIHNlcnZlcikgKG91dHB1dGZvcm1hdCBtdXN0IGJlIGluIGdlb2pzb24pXHJcbiAvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXHJcbiAgLy8gIGh0dHBzOi8vd3MubWFwc2VydmVyLnRyYW5zcG9ydHMuZ291di5xYy5jYS9zd3RxP3NlcnZpY2U9d2ZzJnZlcnNpb249Mi4wLjAmcmVxdWVzdD1HZXRGZWF0dXJlJnN0b3JlZHF1ZXJ5X2lkPXVybjpvZ2M6ZGVmOnF1ZXJ5Ok9HQy1XRlM6OkdldEZlYXR1cmVCeUlkJnNyc25hbWU9ZXBzZzo0MzI2Jm91dHB1dGZvcm1hdD1nZW9qc29uJklEPWFfbnVtX3JvdXRlLjEzMlxyXG4gIC8vICBDdXN0b20gU3RvcmVkUXVlcnlcclxuIC8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cclxuICAvLyAgaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9cnRzcyZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmcnRzcz0wMDEzODAxMTEwMDAwYyZjaGFpbmFnZT0xMlxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBuYW1lIG9yIGtleXdvcmRcclxuICAgKiBAcGFyYW0gdGVybSBMb2NhdGlvbiBuYW1lIG9yIGtleXdvcmRcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxyXG4gICAqL1xyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwXHJcbiAgfSlcclxuICBzZWFyY2goXHJcbiAgICB0ZXJtOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XHJcbiAgICBjb25zdCBzdG9yZWRxdWVyaWVzUGFyYW1zID0gdGhpcy50ZXJtU3BsaXR0ZXIoXHJcbiAgICAgIHRlcm0sXHJcbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzXHJcbiAgICApO1xyXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlUmVxdWVzdFBhcmFtcyhcclxuICAgICAgb3B0aW9ucyB8fCB7fSxcclxuICAgICAgc3RvcmVkcXVlcmllc1BhcmFtc1xyXG4gICAgKTtcclxuICAgIHRoaXMub3B0aW9ucy5wYXJhbXMgPSB0aGlzLm9wdGlvbnMucGFyYW1zID8gdGhpcy5vcHRpb25zLnBhcmFtcyA6IHt9O1xyXG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlID0gb3B0aW9ucy5wYWdlID8gU3RyaW5nKG9wdGlvbnMucGFnZSkgOiAnMSc7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpLnRlc3QodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlc3VsdEFycmF5ID0gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSwgdGVybSk7XHJcbiAgICAgICAgICAgIHJlc3VsdEFycmF5LnNvcnQoKGEsIGIpID0+XHJcbiAgICAgICAgICAgICAgKGEubWV0YS5zY29yZSA+IGIubWV0YS5zY29yZSkgPyAxIDpcclxuICAgICAgICAgICAgICAoYS5tZXRhLnNjb3JlID09PSBiLm1ldGEuc2NvcmUpID8gKChhLm1ldGEudGl0bGVIdG1sIDwgYi5tZXRhLnRpdGxlSHRtbCkgPyAxIDogLTEpIDogLTEpO1xyXG4gICAgICAgICAgICByZXN1bHRBcnJheS5yZXZlcnNlKCk7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHRBcnJheS5sZW5ndGggPiBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdCkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpZHhFbmQgPSBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdCkgKiBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlKTtcclxuICAgICAgICAgICAgICBjb25zdCByZXN1bHRUb3RMZW5naHQgPSByZXN1bHRBcnJheS5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgcmVzdWx0QXJyYXkgPSByZXN1bHRBcnJheS5zbGljZSgwLCBpZHhFbmQpO1xyXG4gICAgICAgICAgICAgIGlmIChpZHhFbmQgPCByZXN1bHRUb3RMZW5naHQpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdEFycmF5W3Jlc3VsdEFycmF5Lmxlbmd0aCAtIDEgXS5tZXRhLm5leHRQYWdlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0QXJyYXlbcmVzdWx0QXJyYXkubGVuZ3RoIC0gMSBdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zIH0pLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpLCB0ZXJtKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtYXRGcm9tT3B0aW9ucygpIHtcclxuICAgIGxldCBvbEZvcm1hdENscztcclxuXHJcbiAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdDtcclxuICAgIGNvbnN0IHBhdHRlcm5HbWwzID0gbmV3IFJlZ0V4cCgnLio/Z21sLio/JywgJ2knKTtcclxuICAgIGNvbnN0IHBhdHRlcm5HZW9qc29uID0gbmV3IFJlZ0V4cCgnLio/anNvbi4qPycsICdpJyk7XHJcblxyXG4gICAgaWYgKHBhdHRlcm5HZW9qc29uLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xyXG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0Lkdlb0pTT047XHJcbiAgICB9XHJcbiAgICBpZiAocGF0dGVybkdtbDMudGVzdChvdXRwdXRGb3JtYXQpKSB7XHJcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuV0ZTO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdFdGU0RhdGEocmVzKSB7XHJcbiAgICBjb25zdCBvbEZvcm1hdCA9IHRoaXMuZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKTtcclxuICAgIGNvbnN0IGdlb2pzb24gPSBvbGZvcm1hdC5HZW9KU09OO1xyXG4gICAgY29uc3Qgd2ZzZmVhdHVyZXMgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZXMocmVzKTtcclxuICAgIGNvbnN0IGZlYXR1cmVzID0gSlNPTi5wYXJzZShuZXcgZ2VvanNvbigpLndyaXRlRmVhdHVyZXMod2ZzZmVhdHVyZXMpKTtcclxuICAgIHJldHVybiBmZWF0dXJlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdGVybVNwbGl0dGVyKHRlcm06IHN0cmluZywgZmllbGRzOiBTdG9yZWRRdWVyaWVzRmllbGRzW10pOiB7fSB7XHJcbiAgICBjb25zdCBzcGxpdHRlZFRlcm0gPSB7fTtcclxuICAgIGxldCByZW1haW5pbmdUZXJtID0gdGVybTtcclxuICAgIGxldCBjbnQgPSAwO1xyXG5cclxuICAgIC8vIFVzZWQgdG8gYnVpbGQgdGhlIGRlZmF1bHQgdmFsdWVzXHJcbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIHNwbGl0dGVkVGVybVtmaWVsZC5uYW1lXSA9IGZpZWxkLmRlZmF1bHRWYWx1ZTtcclxuICAgICAgY29uc3Qgc3BsaXR0ZXJSZWdleCA9IG5ldyBSZWdFeHAoZmllbGQuc3BsaXRQcmVmaXggKyAnKC4rKScsICdpJyk7XHJcbiAgICAgIGlmIChzcGxpdHRlclJlZ2V4LnRlc3QocmVtYWluaW5nVGVybSkpIHtcclxuICAgICAgICBjbnQgPSBmaWVsZC5zcGxpdFByZWZpeCA/IChjbnQgKz0gMSkgOiBjbnQ7XHJcbiAgICAgICAgcmVtYWluaW5nVGVybSA9IHJlbWFpbmluZ1Rlcm0uc3BsaXQoc3BsaXR0ZXJSZWdleClbMV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKGNudCA9PT0gMCkge1xyXG4gICAgICBzcGxpdHRlZFRlcm1bZmllbGRzWzBdLm5hbWVdID0gdGVybTtcclxuICAgICAgcmV0dXJuIHNwbGl0dGVkVGVybTtcclxuICAgIH1cclxuICAgIHJlbWFpbmluZ1Rlcm0gPSB0ZXJtO1xyXG4gICAgY29uc3QgbG9jYWxGaWVsZHMgPSBbLi4uZmllbGRzXS5yZXZlcnNlKCk7XHJcbiAgICBsb2NhbEZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgY29uc3Qgc3BsaXR0ZXJSZWdleCA9IG5ldyBSZWdFeHAoZmllbGQuc3BsaXRQcmVmaXggfHwgJycgKyAnKC4rKScsICdpJyk7XHJcbiAgICAgIGlmIChyZW1haW5pbmdUZXJtIHx8IHJlbWFpbmluZ1Rlcm0gIT09ICcnKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gcmVtYWluaW5nVGVybS5zcGxpdChzcGxpdHRlclJlZ2V4KTtcclxuICAgICAgICByZW1haW5pbmdUZXJtID0gdmFsdWVzWzBdO1xyXG4gICAgICAgIGlmICh2YWx1ZXNbMV0pIHtcclxuICAgICAgICAgIHNwbGl0dGVkVGVybVtmaWVsZC5uYW1lXSA9IHZhbHVlc1sxXS50cmltKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzcGxpdHRlZFRlcm07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVSZXF1ZXN0UGFyYW1zKFxyXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnMsXHJcbiAgICBxdWVyeVBhcmFtc1xyXG4gICk6IEh0dHBQYXJhbXMge1xyXG4gICAgY29uc3Qgd2ZzdmVyc2lvbiA9IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3RvcmVkcXVlcnlfaWRcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpXHJcbiAgICAgID8gJzIuMC4wJ1xyXG4gICAgICA6ICcxLjEuMCc7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHNlcnZpY2U6ICd3ZnMnLFxyXG4gICAgICAgICAgdmVyc2lvbjogd2ZzdmVyc2lvbixcclxuICAgICAgICAgIHJlcXVlc3Q6ICdHZXRGZWF0dXJlJyxcclxuICAgICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkLFxyXG4gICAgICAgICAgc3JzbmFtZTogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zcnNuYW1lLFxyXG4gICAgICAgICAgb3V0cHV0Zm9ybWF0OiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcXVlcnlQYXJhbXMsXHJcbiAgICAgICAgdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cclxuICAgICAgKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKFxyXG4gICAgcmVzcG9uc2U6IFN0b3JlZFF1ZXJpZXNSZXNwb25zZSwgdGVybTogc3RyaW5nXHJcbiAgKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10ge1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmZlYXR1cmVzLm1hcCgoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEsIHRlcm0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBTdG9yZWRRdWVyaWVzRGF0YSwgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzKGRhdGEpO1xyXG4gICAgY29uc3QgaWQgPSBbdGhpcy5nZXRJZCgpLCBwcm9wZXJ0aWVzLnR5cGUsIGRhdGEuaWRdLmpvaW4oJy4nKTtcclxuICAgIGNvbnN0IHRpdGxlID0gZGF0YS5wcm9wZXJ0aWVzW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGVdXHJcbiAgICAgID8gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZVxyXG4gICAgICA6IHRoaXMucmVzdWx0VGl0bGU7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICAgIGdlb21ldHJ5OiBkYXRhLmdlb21ldHJ5LFxyXG4gICAgICAgIC8vIGV4dGVudDogZGF0YS5iYm94LFxyXG4gICAgICAgIHByb3BlcnRpZXMsXHJcbiAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXMudGl0bGUsXHJcbiAgICAgICAgdGl0bGVIdG1sOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdLFxyXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJyxcclxuICAgICAgICBzY29yZTogKGRhdGEucHJvcGVydGllcy50aXRsZSkgP1xyXG4gICAgICAgIGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtLnRyaW0oKSwgZGF0YS5wcm9wZXJ0aWVzLnRpdGxlKSA6XHJcbiAgICAgICAgY29tcHV0ZVRlcm1TaW1pbGFyaXR5KHRlcm0udHJpbSgpLCBkYXRhLnByb3BlcnRpZXNbdGl0bGVdKSxcclxuXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVQcm9wZXJ0aWVzKGRhdGE6IFN0b3JlZFF1ZXJpZXNEYXRhKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAge30sXHJcbiAgICAgIE9iamVjdFV0aWxzLnJlbW92ZUtleXMoXHJcbiAgICAgICAgZGF0YS5wcm9wZXJ0aWVzLFxyXG4gICAgICAgIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UucHJvcGVydGllc0JsYWNrbGlzdFxyXG4gICAgICApLFxyXG4gICAgICB7IFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+JyB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU3RvcmVkUXVlcmllc1JldmVyc2Ugc2VhcmNoIHNvdXJjZVxyXG4gKi9cclxuXHJcbi8vIEVYQU1QTEUgQ0FMTFNcclxuIC8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cclxuLy8gaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9bGltX2FkbSZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmbG9uZz0tNzEuMjkyNDY5JmxhdD00Ni43NDgxMDdcclxuLy9cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlXHJcbiAgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoIHtcclxuICBzdGF0aWMgaWQgPSAnc3RvcmVkcXVlcmllc3JldmVyc2UnO1xyXG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcclxuICBzdGF0aWMgcHJvcGVydGllc0JsYWNrbGlzdDogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XHJcbiAgcHVibGljIHN0b3JlZFF1ZXJpZXNPcHRpb25zOiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZU9wdGlvbnM7XHJcbiAgcHVibGljIG11bHRpcGxlRmllbGRzUXVlcnk6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zXHJcbiAgKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zID0gb3B0aW9ucyBhcyBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZU9wdGlvbnM7XHJcblxyXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zIHx8ICh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zICYmICF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmF2YWlsYWJsZSkgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3RvcmVkcXVlcnlfaWQpIHtcclxuICAgICAgY29uc3QgZXJyID1cclxuICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBoYXZlIHRvIHNldCBcInN0b3JlZHF1ZXJ5X2lkXCIgaW50byBTdG9yZWRRdWVyaWVzIG9wdGlvbnMuIGV4OiBzdG9yZWRxdWVyeV9pZDogXCJuYW1lb2ZzdG9yZWRxdWVyaWVcIic7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmxvbmdGaWVsZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJsb25nRmllbGRcIiB0byBtYXAgdGhlIGxvbmdpdHVkZSBjb29yZGluYXRlIHRvIHRoZSBxdWVyeSBwYXJhbXMuJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmxhdEZpZWxkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnU3RvcmVkIFF1ZXJpZXMgOllvdSBoYXZlIHRvIHNldCBcImxhdEZpZWxkXCIgdG8gbWFwIHRoZSBsYXRpdHVkZSBjb29yZGluYXRlIHRvIHRoZSBxdWVyeSBwYXJhbXMuJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0ID1cclxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgfHwgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUgPVxyXG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUgfHwgJ0VQU0c6NDMyNic7XHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlID1cclxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSB8fCB0aGlzLnJlc3VsdFRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZDtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS50eXBlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGl0bGU6ICdTdG9yZWQgUXVlcmllcyAocmV2ZXJzZSknLFxyXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL3dzLm1hcHNlcnZlci50cmFuc3BvcnRzLmdvdXYucWMuY2Evc3d0cSdcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBjb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBsb25MYXQgTG9jYXRpb24gY29vcmRpbmF0ZXNcclxuICAgKiBAcGFyYW0gZGlzdGFuY2UgU2VhcmNoIHJhaWR1cyBhcm91bmQgbG9uTGF0XHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cclxuICAgKi9cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwXHJcbiAgfSlcclxuICByZXZlcnNlU2VhcmNoKFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zXHJcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlUmVxdWVzdFBhcmFtcyhsb25MYXQsIG9wdGlvbnMgfHwge30pO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgbmV3IFJlZ0V4cCgnLio/Z21sLio/JywgJ2knKS50ZXN0KHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0KVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcywgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcyB9KS5waXBlKFxyXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKSB7XHJcbiAgICBsZXQgb2xGb3JtYXRDbHM7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0ID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQ7XHJcbiAgICBjb25zdCBwYXR0ZXJuR21sMyA9IG5ldyBSZWdFeHAoJy4qP2dtbC4qPycsICdpJyk7XHJcbiAgICBjb25zdCBwYXR0ZXJuR2VvanNvbiA9IG5ldyBSZWdFeHAoJy4qP2pzb24uKj8nLCAnaScpO1xyXG5cclxuICAgIGlmIChwYXR0ZXJuR2VvanNvbi50ZXN0KG91dHB1dEZvcm1hdCkpIHtcclxuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5HZW9KU09OO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhdHRlcm5HbWwzLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xyXG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0LldGUztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RXRlNEYXRhKHJlcykge1xyXG4gICAgY29uc3Qgb2xGb3JtYXQgPSB0aGlzLmdldEZvcm1hdEZyb21PcHRpb25zKCk7XHJcbiAgICBjb25zdCBnZW9qc29uID0gb2xmb3JtYXQuR2VvSlNPTjtcclxuICAgIGNvbnN0IHdmc2ZlYXR1cmVzID0gb2xGb3JtYXQucmVhZEZlYXR1cmVzKHJlcyk7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IEpTT04ucGFyc2UobmV3IGdlb2pzb24oKS53cml0ZUZlYXR1cmVzKHdmc2ZlYXR1cmVzKSk7XHJcbiAgICByZXR1cm4gZmVhdHVyZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVSZXF1ZXN0UGFyYW1zKFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zXHJcbiAgKTogSHR0cFBhcmFtcyB7XHJcbiAgICBjb25zdCBsb25nTGF0UGFyYW1zID0ge307XHJcbiAgICBsb25nTGF0UGFyYW1zW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubG9uZ0ZpZWxkXSA9IGxvbkxhdFswXTtcclxuICAgIGxvbmdMYXRQYXJhbXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5sYXRGaWVsZF0gPSBsb25MYXRbMV07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcclxuICAgICAgZnJvbU9iamVjdDogT2JqZWN0LmFzc2lnbihcclxuICAgICAgICB7XHJcbiAgICAgICAgICBzZXJ2aWNlOiAnV0ZTJyxcclxuICAgICAgICAgIHZlcnNpb246ICcxLjEuMCcsXHJcbiAgICAgICAgICByZXF1ZXN0OiAnR2V0RmVhdHVyZScsXHJcbiAgICAgICAgICBzdG9yZWRxdWVyeV9pZDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCxcclxuICAgICAgICAgIHNyc25hbWU6IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSxcclxuICAgICAgICAgIG91dHB1dGZvcm1hdDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXRcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvbmdMYXRQYXJhbXMsXHJcbiAgICAgICAgdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cclxuICAgICAgKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKFxyXG4gICAgcmVzcG9uc2U6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlUmVzcG9uc2VcclxuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZmVhdHVyZXMubWFwKChkYXRhOiBTdG9yZWRRdWVyaWVzUmV2ZXJzZURhdGEpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBTdG9yZWRRdWVyaWVzUmV2ZXJzZURhdGEpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xyXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XHJcbiAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksIHByb3BlcnRpZXMudHlwZSwgZGF0YS5pZF0uam9pbignLicpO1xyXG4gICAgY29uc3QgdGl0bGUgPSBkYXRhLnByb3BlcnRpZXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZV1cclxuICAgICAgPyB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlXHJcbiAgICAgIDogdGhpcy5yZXN1bHRUaXRsZTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICAgIGdlb21ldHJ5OiBkYXRhLmdlb21ldHJ5LFxyXG4gICAgICAgIHByb3BlcnRpZXMsXHJcbiAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdLFxyXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJ1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wdXRlUHJvcGVydGllcyhcclxuICAgIGRhdGE6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlRGF0YVxyXG4gICk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdFV0aWxzLnJlbW92ZUtleXMoXHJcbiAgICAgIGRhdGEucHJvcGVydGllcyxcclxuICAgICAgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UucHJvcGVydGllc0JsYWNrbGlzdFxyXG4gICAgKTtcclxuICAgIGNvbnN0IHJvdXRpbmcgPSB7XHJcbiAgICAgIFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+J1xyXG4gICAgfTtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIHsgdHlwZTogZGF0YS5wcm9wZXJ0aWVzLmRvY190eXBlIH0sIHJvdXRpbmcpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zdG9yZWRxdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0sVUFBVSxDQUFDO0FBZ0JuRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFlBQVk7SUFjekQsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFLeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQTJDLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFO1lBQ3JFLE9BQU87U0FDUjtRQUVELE1BQU0sb0JBQW9CLEdBQUcs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Q0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsSUFBOEI7UUFFOUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FDdkMsSUFBSSxDQUFDLFVBQVUsRUFDZixnQ0FBZ0MsQ0FBQyxtQkFBbUIsQ0FDckQsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLDRCQUE0QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLGNBQWM7U0FDcEgsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOztBQTlMTSxtQ0FBRSxHQUFHLHNCQUFzQixDQUFDO0FBQzVCLHFDQUFJLEdBQUcsT0FBTyxDQUFDO0FBQ2Ysb0RBQW1CLEdBQWEsRUFBRyxDQUFBO2dIQUovQixnQ0FBZ0MsMkdBYWpDLFNBQVM7c0ZBYlIsZ0NBQWdDLFdBQWhDLGdDQUFnQzs7SUFtRTFDLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7cUVBd0JEO3VGQTdGVSxnQ0FBZ0M7Y0FENUMsVUFBVTs7c0JBY04sTUFBTTt1QkFBQyxTQUFTO3dCQXlEbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmUgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlLCBUZXh0U2VhcmNoLCBSZXZlcnNlU2VhcmNoIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHtcbiAgU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgVGV4dFNlYXJjaE9wdGlvbnMsXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zXG59IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgU3RvcmVkUXVlcmllc0RhdGEsXG4gIFN0b3JlZFF1ZXJpZXNSZXNwb25zZSxcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhLFxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZVJlc3BvbnNlLFxuICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgU3RvcmVkUXVlcmllc0ZpZWxkcyxcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zXG59IGZyb20gJy4vc3RvcmVkcXVlcmllcy5pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVUZXJtU2ltaWxhcml0eSB9IGZyb20gJy4uL3NlYXJjaC51dGlscyc7XG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXMgc2VhcmNoIHNvdXJjZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZVxuICBpbXBsZW1lbnRzIFRleHRTZWFyY2gge1xuICBzdGF0aWMgaWQgPSAnc3RvcmVkcXVlcmllcyc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcbiAgc3RhdGljIHByb3BlcnRpZXNCbGFja2xpc3Q6IHN0cmluZ1tdID0gW1xuICAgICdib3VuZGVkQnknLFxuICAgICdpZCcsXG4gICAgJ2Nvb3JkX3gnLFxuICAgICdjb29yZF95J1xuICBdO1xuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XG4gIHB1YmxpYyBzdG9yZWRRdWVyaWVzT3B0aW9uczogU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBtdWx0aXBsZUZpZWxkc1F1ZXJ5OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyA9IG9wdGlvbnMgYXMgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnM7XG4gICAgaWYgKHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgJiYgIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuYXZhaWxhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFN0b3JlZHF1ZXJ5SWQgPSAncnRzcyc7XG4gICAgY29uc3QgZGVmYXVsdEZpZWxkU3BsaXR0ZXI6IFN0b3JlZFF1ZXJpZXNGaWVsZHNbXSA9IFtcbiAgICAgIHsgbmFtZTogJ3J0c3MnLCBkZWZhdWx0VmFsdWU6ICctOTknIH0sXG4gICAgICB7IG5hbWU6ICdjaGFpbmFnZScsIGRlZmF1bHRWYWx1ZTogJzAnLCBzcGxpdFByZWZpeDogJ1xcXFwrJyB9XG4gICAgXTtcbiAgICBjb25zdCBkZWZhdWx0T3V0cHV0Zm9ybWF0ID0gJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XG4gICAgY29uc3QgZGVmYXVsdFNyc25hbWUgPSAnRVBTRzo0MzI2JztcbiAgICBjb25zdCBkZWZhdWx0UmVzdWx0VGl0bGUgPSAndGl0bGUnO1xuXG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgJyBObyBjb25maWd1cmF0aW9uIGZvciB0aGlzIHNlYXJjaCBzb3VyY2UgKHN0b3JlZHF1ZXJpZXMpLiBZb3Ugd2lsbCB1c2UgdGhlIGRlZmF1bHQgdmFsdWVzJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgPSB7XG4gICAgICAgIHN0b3JlZHF1ZXJ5X2lkOiBkZWZhdWx0U3RvcmVkcXVlcnlJZCxcbiAgICAgICAgZmllbGRzOiBkZWZhdWx0RmllbGRTcGxpdHRlcixcbiAgICAgICAgb3V0cHV0Zm9ybWF0OiBkZWZhdWx0T3V0cHV0Zm9ybWF0LFxuICAgICAgICBzcnNuYW1lOiBkZWZhdWx0U3JzbmFtZSxcbiAgICAgICAgcmVzdWx0VGl0bGU6IGRlZmF1bHRSZXN1bHRUaXRsZVxuICAgICAgfTtcbiAgICAgIHRoaXMucmVzdWx0VGl0bGUgPSBkZWZhdWx0UmVzdWx0VGl0bGU7XG4gICAgICBjb25zb2xlLmxvZygnRGVmYXVsdCB2YWx1ZXMnLCB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3RvcmVkcXVlcnlfaWQpIHtcbiAgICAgIGNvbnN0IGVyciA9XG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwic3RvcmVkcXVlcnlfaWRcIiBpbnRvIFN0b3JlZFF1ZXJpZXMgb3B0aW9ucy4gZXg6IHN0b3JlZHF1ZXJ5X2lkOiBcIm5hbWVvZnN0b3JlZHF1ZXJpZVwiJztcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnIpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuZmllbGRzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwiZmllbGRzXCIgaW50byBvcHRpb25zLiBleDogZmllbGRzOiB7XCJuYW1lXCI6IFwicnRzc1wiLCBcImRlZmF1bHRWYWx1ZVwiOiBcIi05OVwifSdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQgfHwgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbC8zLjEuMSc7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zcnNuYW1lID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSB8fCAnRVBTRzo0MzI2JztcblxuICAgIGNvbnN0IHN0b3JlZFF1ZXJ5SWQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnN0b3JlZHF1ZXJ5X2lkLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKFxuICAgICAgc3RvcmVkUXVlcnlJZC5pbmNsdWRlcygnZ2V0ZmVhdHVyZWJ5aWQnKSAmJlxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXRcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLmluY2x1ZGVzKCdnZXRmZWF0dXJlYnlpZCcpXG4gICAgKSB7XG4gICAgICBsZXQgZXJyID1cbiAgICAgICAgJ1lvdSBtdXN0IHNldCBhIGdlb2pzb24gZm9ybWF0IGZvciB5b3VyIHN0b3JlZCBxdWVyeS4gVGhpcyBpcyBkdWUgdG8gYW4gb3BlbmxheWVycyBpc3N1ZSknO1xuICAgICAgZXJyICs9ICcgKHdmcyAxLjEuMCAmIGdtbCAzLjEuMSBsaW1pdGF0aW9uKSc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoISh0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcyBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMgPSBbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHNdO1xuICAgIH1cblxuICAgIHRoaXMubXVsdGlwbGVGaWVsZHNRdWVyeSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmZpZWxkcy5sZW5ndGggPiAxID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZUZpZWxkc1F1ZXJ5ICYmICFmaWVsZC5zcGxpdFByZWZpeCAmJiBpbmRleCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgbXVzdCBzZXQgYSBmaWVsZCBzcGxpdGVyIGludG8geW91ciBmaWVsZCBkZWZpbml0aW9uIChvcHRpb25hbCBmb3IgdGhlIGZpcnN0IG9uZSEpJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKCFmaWVsZC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IG11c3Qgc2V0IGEgZmllbGQgZGVmYXVsdCB2YWx1ZSBpbnRvIHlvdXIgZmllbGQgZGVmaW5pdGlvbidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGUgPVxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSB8fCB0aGlzLnJlc3VsdFRpdGxlO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZS5pZDtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ1N0b3JlZCBRdWVyaWVzJyxcbiAgICAgIHNlYXJjaFVybDogJ2h0dHBzOi8vd3MubWFwc2VydmVyLnRyYW5zcG9ydHMuZ291di5xYy5jYS9zd3RxJ1xuICAgIH07XG4gIH1cblxuICAvLyBVUkwgQ0FMTCBFWEFNUExFUzpcbiAgLy8gIEdldEZlYXR1cmVCeUlkIChtYW5kYXRvcnkgc3RvcmVkcXVlcnkgZm9yIHdmcyBzZXJ2ZXIpIChvdXRwdXRmb3JtYXQgbXVzdCBiZSBpbiBnZW9qc29uKVxuIC8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbiAgLy8gIGh0dHBzOi8vd3MubWFwc2VydmVyLnRyYW5zcG9ydHMuZ291di5xYy5jYS9zd3RxP3NlcnZpY2U9d2ZzJnZlcnNpb249Mi4wLjAmcmVxdWVzdD1HZXRGZWF0dXJlJnN0b3JlZHF1ZXJ5X2lkPXVybjpvZ2M6ZGVmOnF1ZXJ5Ok9HQy1XRlM6OkdldEZlYXR1cmVCeUlkJnNyc25hbWU9ZXBzZzo0MzI2Jm91dHB1dGZvcm1hdD1nZW9qc29uJklEPWFfbnVtX3JvdXRlLjEzMlxuICAvLyAgQ3VzdG9tIFN0b3JlZFF1ZXJ5XG4gLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuICAvLyAgaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9cnRzcyZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmcnRzcz0wMDEzODAxMTEwMDAwYyZjaGFpbmFnZT0xMlxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBuYW1lIG9yIGtleXdvcmRcbiAgICogQHBhcmFtIHRlcm0gTG9jYXRpb24gbmFtZSBvciBrZXl3b3JkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXG4gICAqL1xuXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwXG4gIH0pXG4gIHNlYXJjaChcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcbiAgICBjb25zdCBzdG9yZWRxdWVyaWVzUGFyYW1zID0gdGhpcy50ZXJtU3BsaXR0ZXIoXG4gICAgICB0ZXJtLFxuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5maWVsZHNcbiAgICApO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tcHV0ZVJlcXVlc3RQYXJhbXMoXG4gICAgICBvcHRpb25zIHx8IHt9LFxuICAgICAgc3RvcmVkcXVlcmllc1BhcmFtc1xuICAgICk7XG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcyA9IHRoaXMub3B0aW9ucy5wYXJhbXMgPyB0aGlzLm9wdGlvbnMucGFyYW1zIDoge307XG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlID0gb3B0aW9ucy5wYWdlID8gU3RyaW5nKG9wdGlvbnMucGFnZSkgOiAnMSc7XG5cbiAgICBpZiAoXG4gICAgICBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpLnRlc3QodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdEFycmF5ID0gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSwgdGVybSk7XG4gICAgICAgICAgICByZXN1bHRBcnJheS5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgICAoYS5tZXRhLnNjb3JlID4gYi5tZXRhLnNjb3JlKSA/IDEgOlxuICAgICAgICAgICAgICAoYS5tZXRhLnNjb3JlID09PSBiLm1ldGEuc2NvcmUpID8gKChhLm1ldGEudGl0bGVIdG1sIDwgYi5tZXRhLnRpdGxlSHRtbCkgPyAxIDogLTEpIDogLTEpO1xuICAgICAgICAgICAgcmVzdWx0QXJyYXkucmV2ZXJzZSgpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdEFycmF5Lmxlbmd0aCA+IE51bWJlcih0aGlzLm9wdGlvbnMucGFyYW1zLmxpbWl0KSkge1xuICAgICAgICAgICAgICBjb25zdCBpZHhFbmQgPSBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdCkgKiBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlKTtcbiAgICAgICAgICAgICAgY29uc3QgcmVzdWx0VG90TGVuZ2h0ID0gcmVzdWx0QXJyYXkubGVuZ3RoO1xuICAgICAgICAgICAgICByZXN1bHRBcnJheSA9IHJlc3VsdEFycmF5LnNsaWNlKDAsIGlkeEVuZCk7XG4gICAgICAgICAgICAgIGlmIChpZHhFbmQgPCByZXN1bHRUb3RMZW5naHQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRBcnJheVtyZXN1bHRBcnJheS5sZW5ndGggLSAxIF0ubWV0YS5uZXh0UGFnZSA9IHRydWU7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0QXJyYXlbcmVzdWx0QXJyYXkubGVuZ3RoIC0gMSBdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcyB9KS5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpLCB0ZXJtKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXRGcm9tT3B0aW9ucygpIHtcbiAgICBsZXQgb2xGb3JtYXRDbHM7XG5cbiAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdDtcbiAgICBjb25zdCBwYXR0ZXJuR21sMyA9IG5ldyBSZWdFeHAoJy4qP2dtbC4qPycsICdpJyk7XG4gICAgY29uc3QgcGF0dGVybkdlb2pzb24gPSBuZXcgUmVnRXhwKCcuKj9qc29uLio/JywgJ2knKTtcblxuICAgIGlmIChwYXR0ZXJuR2VvanNvbi50ZXN0KG91dHB1dEZvcm1hdCkpIHtcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICB9XG4gICAgaWYgKHBhdHRlcm5HbWwzLnRlc3Qob3V0cHV0Rm9ybWF0KSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5XRlM7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0V0ZTRGF0YShyZXMpIHtcbiAgICBjb25zdCBvbEZvcm1hdCA9IHRoaXMuZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKTtcbiAgICBjb25zdCBnZW9qc29uID0gb2xmb3JtYXQuR2VvSlNPTjtcbiAgICBjb25zdCB3ZnNmZWF0dXJlcyA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlcyhyZXMpO1xuICAgIGNvbnN0IGZlYXR1cmVzID0gSlNPTi5wYXJzZShuZXcgZ2VvanNvbigpLndyaXRlRmVhdHVyZXMod2ZzZmVhdHVyZXMpKTtcbiAgICByZXR1cm4gZmVhdHVyZXM7XG4gIH1cblxuICBwcml2YXRlIHRlcm1TcGxpdHRlcih0ZXJtOiBzdHJpbmcsIGZpZWxkczogU3RvcmVkUXVlcmllc0ZpZWxkc1tdKToge30ge1xuICAgIGNvbnN0IHNwbGl0dGVkVGVybSA9IHt9O1xuICAgIGxldCByZW1haW5pbmdUZXJtID0gdGVybTtcbiAgICBsZXQgY250ID0gMDtcblxuICAgIC8vIFVzZWQgdG8gYnVpbGQgdGhlIGRlZmF1bHQgdmFsdWVzXG4gICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgc3BsaXR0ZWRUZXJtW2ZpZWxkLm5hbWVdID0gZmllbGQuZGVmYXVsdFZhbHVlO1xuICAgICAgY29uc3Qgc3BsaXR0ZXJSZWdleCA9IG5ldyBSZWdFeHAoZmllbGQuc3BsaXRQcmVmaXggKyAnKC4rKScsICdpJyk7XG4gICAgICBpZiAoc3BsaXR0ZXJSZWdleC50ZXN0KHJlbWFpbmluZ1Rlcm0pKSB7XG4gICAgICAgIGNudCA9IGZpZWxkLnNwbGl0UHJlZml4ID8gKGNudCArPSAxKSA6IGNudDtcbiAgICAgICAgcmVtYWluaW5nVGVybSA9IHJlbWFpbmluZ1Rlcm0uc3BsaXQoc3BsaXR0ZXJSZWdleClbMV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGNudCA9PT0gMCkge1xuICAgICAgc3BsaXR0ZWRUZXJtW2ZpZWxkc1swXS5uYW1lXSA9IHRlcm07XG4gICAgICByZXR1cm4gc3BsaXR0ZWRUZXJtO1xuICAgIH1cbiAgICByZW1haW5pbmdUZXJtID0gdGVybTtcbiAgICBjb25zdCBsb2NhbEZpZWxkcyA9IFsuLi5maWVsZHNdLnJldmVyc2UoKTtcbiAgICBsb2NhbEZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGNvbnN0IHNwbGl0dGVyUmVnZXggPSBuZXcgUmVnRXhwKGZpZWxkLnNwbGl0UHJlZml4IHx8ICcnICsgJyguKyknLCAnaScpO1xuICAgICAgaWYgKHJlbWFpbmluZ1Rlcm0gfHwgcmVtYWluaW5nVGVybSAhPT0gJycpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gcmVtYWluaW5nVGVybS5zcGxpdChzcGxpdHRlclJlZ2V4KTtcbiAgICAgICAgcmVtYWluaW5nVGVybSA9IHZhbHVlc1swXTtcbiAgICAgICAgaWYgKHZhbHVlc1sxXSkge1xuICAgICAgICAgIHNwbGl0dGVkVGVybVtmaWVsZC5uYW1lXSA9IHZhbHVlc1sxXS50cmltKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3BsaXR0ZWRUZXJtO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUmVxdWVzdFBhcmFtcyhcbiAgICBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9ucyxcbiAgICBxdWVyeVBhcmFtc1xuICApOiBIdHRwUGFyYW1zIHtcbiAgICBjb25zdCB3ZnN2ZXJzaW9uID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcygnZ2V0ZmVhdHVyZWJ5aWQnKVxuICAgICAgPyAnMi4wLjAnXG4gICAgICA6ICcxLjEuMCc7XG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBzZXJ2aWNlOiAnd2ZzJyxcbiAgICAgICAgICB2ZXJzaW9uOiB3ZnN2ZXJzaW9uLFxuICAgICAgICAgIHJlcXVlc3Q6ICdHZXRGZWF0dXJlJyxcbiAgICAgICAgICBzdG9yZWRxdWVyeV9pZDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCxcbiAgICAgICAgICBzcnNuYW1lOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUsXG4gICAgICAgICAgb3V0cHV0Zm9ybWF0OiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxuICAgICAgICB9LFxuICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgdGhpcy5wYXJhbXMsXG4gICAgICAgIG9wdGlvbnMucGFyYW1zIHx8IHt9XG4gICAgICApXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKFxuICAgIHJlc3BvbnNlOiBTdG9yZWRRdWVyaWVzUmVzcG9uc2UsIHRlcm06IHN0cmluZ1xuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmZlYXR1cmVzLm1hcCgoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFUb1Jlc3VsdChkYXRhLCB0ZXJtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IFN0b3JlZFF1ZXJpZXNEYXRhLCB0ZXJtOiBzdHJpbmcpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzKGRhdGEpO1xuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgcHJvcGVydGllcy50eXBlLCBkYXRhLmlkXS5qb2luKCcuJyk7XG4gICAgY29uc3QgdGl0bGUgPSBkYXRhLnByb3BlcnRpZXNbdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZV1cbiAgICAgID8gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZVxuICAgICAgOiB0aGlzLnJlc3VsdFRpdGxlO1xuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeTogZGF0YS5nZW9tZXRyeSxcbiAgICAgICAgLy8gZXh0ZW50OiBkYXRhLmJib3gsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQsXG4gICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXMudGl0bGUsXG4gICAgICAgIHRpdGxlSHRtbDogZGF0YS5wcm9wZXJ0aWVzW3RpdGxlXSxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICBzY29yZTogKGRhdGEucHJvcGVydGllcy50aXRsZSkgP1xuICAgICAgICBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEucHJvcGVydGllcy50aXRsZSkgOlxuICAgICAgICBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEucHJvcGVydGllc1t0aXRsZV0pLFxuXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoZGF0YTogU3RvcmVkUXVlcmllc0RhdGEpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgT2JqZWN0VXRpbHMucmVtb3ZlS2V5cyhcbiAgICAgICAgZGF0YS5wcm9wZXJ0aWVzLFxuICAgICAgICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLnByb3BlcnRpZXNCbGFja2xpc3RcbiAgICAgICksXG4gICAgICB7IFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+JyB9XG4gICAgKTtcbiAgICByZXR1cm4gcHJvcGVydGllcztcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXNSZXZlcnNlIHNlYXJjaCBzb3VyY2VcbiAqL1xuXG4vLyBFWEFNUExFIENBTExTXG4gLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLy8gaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHE/c2VydmljZT13ZnMmdmVyc2lvbj0xLjEuMCZyZXF1ZXN0PUdldEZlYXR1cmUmc3RvcmVkcXVlcnlfaWQ9bGltX2FkbSZzcnNuYW1lPWVwc2c6NDMyNiZvdXRwdXRmb3JtYXQ9dGV4dC94bWw7JTIwc3VidHlwZT1nbWwvMy4xLjEmbG9uZz0tNzEuMjkyNDY5JmxhdD00Ni43NDgxMDdcbi8vXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZSBleHRlbmRzIFNlYXJjaFNvdXJjZVxuICBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2gge1xuICBzdGF0aWMgaWQgPSAnc3RvcmVkcXVlcmllc3JldmVyc2UnO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG4gIHN0YXRpYyBwcm9wZXJ0aWVzQmxhY2tsaXN0OiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgcmVzdWx0VGl0bGU6ICd0aXRsZSc7XG4gIHB1YmxpYyBzdG9yZWRRdWVyaWVzT3B0aW9uczogU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgbXVsdGlwbGVGaWVsZHNRdWVyeTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMgPSBvcHRpb25zIGFzIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlT3B0aW9ucztcblxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyB8fCAodGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucyAmJiAhdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5hdmFpbGFibGUpICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCkge1xuICAgICAgY29uc3QgZXJyID1cbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJzdG9yZWRxdWVyeV9pZFwiIGludG8gU3RvcmVkUXVlcmllcyBvcHRpb25zLiBleDogc3RvcmVkcXVlcnlfaWQ6IFwibmFtZW9mc3RvcmVkcXVlcmllXCInO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmICghdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5sb25nRmllbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1N0b3JlZCBRdWVyaWVzIDpZb3UgaGF2ZSB0byBzZXQgXCJsb25nRmllbGRcIiB0byBtYXAgdGhlIGxvbmdpdHVkZSBjb29yZGluYXRlIHRvIHRoZSBxdWVyeSBwYXJhbXMuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLmxhdEZpZWxkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdG9yZWQgUXVlcmllcyA6WW91IGhhdmUgdG8gc2V0IFwibGF0RmllbGRcIiB0byBtYXAgdGhlIGxhdGl0dWRlIGNvb3JkaW5hdGUgdG8gdGhlIHF1ZXJ5IHBhcmFtcy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0ID1cbiAgICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0IHx8ICd0ZXh0L3htbDsgc3VidHlwZT1nbWwvMy4xLjEnO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMuc3JzbmFtZSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUgfHwgJ0VQU0c6NDMyNic7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5yZXN1bHRUaXRsZSA9XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnJlc3VsdFRpdGxlIHx8IHRoaXMucmVzdWx0VGl0bGU7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZDtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UudHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdG9yZWQgUXVlcmllcyAocmV2ZXJzZSknLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly93cy5tYXBzZXJ2ZXIudHJhbnNwb3J0cy5nb3V2LnFjLmNhL3N3dHEnXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBjb29yZGluYXRlc1xuICAgKiBAcGFyYW0gbG9uTGF0IExvY2F0aW9uIGNvb3JkaW5hdGVzXG4gICAqIEBwYXJhbSBkaXN0YW5jZSBTZWFyY2ggcmFpZHVzIGFyb3VuZCBsb25MYXRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cbiAgICovXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwXG4gIH0pXG4gIHJldmVyc2VTZWFyY2goXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlUmVxdWVzdFBhcmFtcyhsb25MYXQsIG9wdGlvbnMgfHwge30pO1xuXG4gICAgaWYgKFxuICAgICAgbmV3IFJlZ0V4cCgnLio/Z21sLio/JywgJ2knKS50ZXN0KHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMub3V0cHV0Zm9ybWF0KVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcywgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RSZXN1bHRzKHRoaXMuZXh0cmFjdFdGU0RhdGEocmVzcG9uc2UpKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVzdWx0cyh0aGlzLmV4dHJhY3RXRlNEYXRhKHJlc3BvbnNlKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0RnJvbU9wdGlvbnMoKSB7XG4gICAgbGV0IG9sRm9ybWF0Q2xzO1xuXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0ID0gdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5vdXRwdXRmb3JtYXQ7XG4gICAgY29uc3QgcGF0dGVybkdtbDMgPSBuZXcgUmVnRXhwKCcuKj9nbWwuKj8nLCAnaScpO1xuICAgIGNvbnN0IHBhdHRlcm5HZW9qc29uID0gbmV3IFJlZ0V4cCgnLio/anNvbi4qPycsICdpJyk7XG5cbiAgICBpZiAocGF0dGVybkdlb2pzb24udGVzdChvdXRwdXRGb3JtYXQpKSB7XG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0Lkdlb0pTT047XG4gICAgfVxuICAgIGlmIChwYXR0ZXJuR21sMy50ZXN0KG91dHB1dEZvcm1hdCkpIHtcbiAgICAgIG9sRm9ybWF0Q2xzID0gb2xmb3JtYXQuV0ZTO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFdGU0RhdGEocmVzKSB7XG4gICAgY29uc3Qgb2xGb3JtYXQgPSB0aGlzLmdldEZvcm1hdEZyb21PcHRpb25zKCk7XG4gICAgY29uc3QgZ2VvanNvbiA9IG9sZm9ybWF0Lkdlb0pTT047XG4gICAgY29uc3Qgd2ZzZmVhdHVyZXMgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZXMocmVzKTtcbiAgICBjb25zdCBmZWF0dXJlcyA9IEpTT04ucGFyc2UobmV3IGdlb2pzb24oKS53cml0ZUZlYXR1cmVzKHdmc2ZlYXR1cmVzKSk7XG4gICAgcmV0dXJuIGZlYXR1cmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlUmVxdWVzdFBhcmFtcyhcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IGxvbmdMYXRQYXJhbXMgPSB7fTtcbiAgICBsb25nTGF0UGFyYW1zW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubG9uZ0ZpZWxkXSA9IGxvbkxhdFswXTtcbiAgICBsb25nTGF0UGFyYW1zW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMubGF0RmllbGRdID0gbG9uTGF0WzFdO1xuXG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBzZXJ2aWNlOiAnV0ZTJyxcbiAgICAgICAgICB2ZXJzaW9uOiAnMS4xLjAnLFxuICAgICAgICAgIHJlcXVlc3Q6ICdHZXRGZWF0dXJlJyxcbiAgICAgICAgICBzdG9yZWRxdWVyeV9pZDogdGhpcy5zdG9yZWRRdWVyaWVzT3B0aW9ucy5zdG9yZWRxdWVyeV9pZCxcbiAgICAgICAgICBzcnNuYW1lOiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLnNyc25hbWUsXG4gICAgICAgICAgb3V0cHV0Zm9ybWF0OiB0aGlzLnN0b3JlZFF1ZXJpZXNPcHRpb25zLm91dHB1dGZvcm1hdFxuICAgICAgICB9LFxuICAgICAgICBsb25nTGF0UGFyYW1zLFxuICAgICAgICB0aGlzLnBhcmFtcyxcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFJlc3VsdHMoXG4gICAgcmVzcG9uc2U6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlUmVzcG9uc2VcbiAgKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10ge1xuICAgIHJldHVybiByZXNwb25zZS5mZWF0dXJlcy5tYXAoKGRhdGE6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlRGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVRvUmVzdWx0KGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoZGF0YTogU3RvcmVkUXVlcmllc1JldmVyc2VEYXRhKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5jb21wdXRlUHJvcGVydGllcyhkYXRhKTtcbiAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksIHByb3BlcnRpZXMudHlwZSwgZGF0YS5pZF0uam9pbignLicpO1xuICAgIGNvbnN0IHRpdGxlID0gZGF0YS5wcm9wZXJ0aWVzW3RoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGVdXG4gICAgICA/IHRoaXMuc3RvcmVkUXVlcmllc09wdGlvbnMucmVzdWx0VGl0bGVcbiAgICAgIDogdGhpcy5yZXN1bHRUaXRsZTtcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeTogZGF0YS5nZW9tZXRyeSxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXNbdGl0bGVdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgICBpZCxcbiAgICAgICAgdGl0bGU6IGRhdGEucHJvcGVydGllc1t0aXRsZV0sXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJ1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVQcm9wZXJ0aWVzKFxuICAgIGRhdGE6IFN0b3JlZFF1ZXJpZXNSZXZlcnNlRGF0YVxuICApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0VXRpbHMucmVtb3ZlS2V5cyhcbiAgICAgIGRhdGEucHJvcGVydGllcyxcbiAgICAgIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLnByb3BlcnRpZXNCbGFja2xpc3RcbiAgICApO1xuICAgIGNvbnN0IHJvdXRpbmcgPSB7XG4gICAgICBSb3V0ZTogJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICsgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VlUm91dGluZycpICsgJzwvdT4gPC9zcGFuPidcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIHsgdHlwZTogZGF0YS5wcm9wZXJ0aWVzLmRvY190eXBlIH0sIHJvdXRpbmcpO1xuICB9XG59XG4iXX0=
|
|
@@ -38,4 +38,4 @@ export function provideStoredQueriesReverseSearchSource() {
|
|
|
38
38
|
deps: [HttpClient, LanguageService, StorageService, ConfigService]
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc3RvcmVkcXVlcmllcy5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2pDLE1BQU0saUJBQWlCLENBQUM7QUFFekI7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxJQUFnQixFQUNoQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFxQjtJQUVyQixPQUFPLElBQUkseUJBQXlCLENBQ2xDLElBQUksRUFDSixlQUFlLEVBQ2YsY0FBYyxFQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ2xFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzlDLE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsZ0NBQWdDO1FBQzVDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDO0tBQ25FLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBRUgsTUFBTSxVQUFVLHVDQUF1QyxDQUNyRCxJQUFnQixFQUNoQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFxQjtJQUVyQixPQUFPLElBQUksZ0NBQWdDLENBQ3pDLElBQUksRUFDSixlQUFlLEVBQ2YsY0FBYyxFQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLGdDQUFnQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3pFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUNBQXVDO0lBQ3JELE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsdUNBQXVDO1FBQ25ELEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDO0tBQ25FLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLFxuICBTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZVxufSBmcm9tICcuL3N0b3JlZHF1ZXJpZXMnO1xuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXMgc2VhcmNoIHNvdXJjZSBmYWN0b3J5XG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdG9yZWRxdWVyaWVzU2VhcmNoU291cmNlRmFjdG9yeShcbiAgaHR0cDogSHR0cENsaWVudCxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgY29uZmlnOiBDb25maWdTZXJ2aWNlXG4pIHtcbiAgcmV0dXJuIG5ldyBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlKFxuICAgIGh0dHAsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlLmlkfWApXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBTdG9yZWRRdWVyaWVzIHNlYXJjaCBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFNlYXJjaFNvdXJjZSxcbiAgICB1c2VGYWN0b3J5OiBzdG9yZWRxdWVyaWVzU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZV1cbiAgfTtcbn1cblxuLyoqXG4gKiBTdG9yZWRRdWVyaWVzUmV2ZXJzZSBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVkcXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBodHRwOiBIdHRwQ2xpZW50LFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlKFxuICAgIGh0dHAsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZH1gKVxuICApO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgU3RvcmVkUXVlcmllc1JldmVyc2Ugc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFNlYXJjaFNvdXJjZSxcbiAgICB1c2VGYWN0b3J5OiBzdG9yZWRxdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZUZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0h0dHBDbGllbnQsIExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2VdXG4gIH07XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvd29ya3NwYWNlLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gXCIuLi8uLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGF0YSB7XG4gIGluZGV4OiBhbnksXG4gIGZlYXR1cmU6IEZlYXR1cmUsXG4gIGxheWVyOiBMYXllcixcbiAgZmllbGQ6IHN0cmluZyxcbiAgc2NvcmU6IG51bWJlcn1cbiJdfQ==
|
|
@@ -183,4 +183,4 @@ WorkspaceSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Wo
|
|
|
183
183
|
type: Inject,
|
|
184
184
|
args: ['options']
|
|
185
185
|
}] }]; }, null); })();
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3dvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2RCxPQUFPLEVBQUUsT0FBTyxFQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUtwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUM7OztBQUtwRDs7R0FFRztBQUVILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBU3JELFlBQ1UsZUFBZ0MsRUFDeEMsY0FBOEIsRUFDWCxPQUE0QjtRQUUvQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSnZCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVAxQyxXQUFNLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBYWhFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUzthQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7YUFDdkIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFkRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFB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QyxDQUM5QixDQUFDO1NBQ0g7UUFDRCxxQkFBcUIsQ0FBQyxVQUFVO1lBQzlCLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztnQkFDL0QsTUFBTSxDQUFDO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFDLHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7U0FDSDtRQUNELE1BQU0sT0FBTyxHQUVUO1lBQ0YsS0FBSyxFQUNILDRCQUE0QjtnQkFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO2dCQUM1RCxjQUFjO1NBQ2pCLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUN2QixxQkFBcUIsRUFDckIsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDOztBQXJOSSx3QkFBRSxHQUFHLFdBQVcsQ0FBQztBQUNqQiwwQkFBSSxHQUFHLE9BQU8sQ0FBQzswRkFGWCxxQkFBcUIsK0VBWXRCLFNBQVM7MkVBWlIscUJBQXFCLFdBQXJCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBRGpDLFVBQVU7O3NCQWFOLE1BQU07dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7XHJcbiAgU2VhcmNoU291cmNlT3B0aW9ucyxcclxuICBUZXh0U2VhcmNoT3B0aW9uc1xyXG59IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBjb21wdXRlVGVybVNpbWlsYXJpdHkgfSBmcm9tICcuLi9zZWFyY2gudXRpbHMnO1xyXG5pbXBvcnQgeyBTaW1wbGVEb2N1bWVudFNlYXJjaFJlc3VsdFNldFVuaXQgfSBmcm9tICdmbGV4c2VhcmNoJztcclxuaW1wb3J0IHsgR29vZ2xlTGlua3MgfSBmcm9tICcuLi8uLi8uLi91dGlscy9nb29nbGVMaW5rcyc7XHJcbmltcG9ydCBwb2ludE9uRmVhdHVyZSBmcm9tICdAdHVyZi9wb2ludC1vbi1mZWF0dXJlJztcclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuaW1wb3J0IHsgV29ya3NwYWNlRGF0YSB9IGZyb20gJy4vd29ya3NwYWNlLmludGVyZmFjZXMnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBXb3Jrc3BhY2Ugc2VhcmNoIHNvdXJjZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XHJcbiAgc3RhdGljIGlkID0gJ3dvcmtzcGFjZSc7XHJcbiAgc3RhdGljIHR5cGUgPSBGRUFUVVJFO1xyXG4gIHRpdGxlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xyXG5cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRpdGxlJC5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnMsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgIC5nZXQodGhpcy5vcHRpb25zLnRpdGxlKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0aXRsZSkgPT4gdGhpcy50aXRsZSQubmV4dCh0aXRsZSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBXb3Jrc3BhY2VTZWFyY2hTb3VyY2UuaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gV29ya3NwYWNlU2VhcmNoU291cmNlLnR5cGU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XHJcbiAgICBjb25zdCBsaW1pdDogTnVtYmVyID0gNTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLndvcmtzcGFjZS5uYW1lJyxcclxuICAgICAgc2VhcmNoVXJsOiB1bmRlZmluZWQsXHJcbiAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgICAgIHRpdGxlOiAnZGF0YXNldHMnLFxyXG4gICAgICAgICAgbmFtZTogJ2RhdGFzZXRzJyxcclxuICAgICAgICAgIHZhbHVlczogW11cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXHJcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgbGltaXQnLFxyXG4gICAgICAgICAgbmFtZTogJ2xpbWl0JyxcclxuICAgICAgICAgIHZhbHVlczogW1xyXG4gICAgICAgICAgICB7dGl0bGU6ICcxJyx2YWx1ZTogMSxlbmFibGVkOiBsaW1pdCA9PT0gMX0sXHJcbiAgICAgICAgICAgIHt0aXRsZTogJzUnLHZhbHVlOiA1LGVuYWJsZWQ6IGxpbWl0ID09PSA1IHx8ICFsaW1pdH0sXHJcbiAgICAgICAgICAgIHt0aXRsZTogJzEwJyx2YWx1ZTogMTAsZW5hYmxlZDogbGltaXQgPT09IDEwfSxcclxuICAgICAgICAgICAge3RpdGxlOiAnMjUnLHZhbHVlOiAyNSxlbmFibGVkOiBsaW1pdCA9PT0gMjV9LFxyXG4gICAgICAgICAgICB7dGl0bGU6ICc1MCcsdmFsdWU6IDUwLGVuYWJsZWQ6IGxpbWl0ID09PSA1MH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBuYW1lIG9yIGtleXdvcmRcclxuICAgKiBAcGFyYW0gdGVybSBMb2NhdGlvbiBuYW1lIG9yIGtleXdvcmRcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxyXG4gICAqL1xyXG4gIHNlYXJjaChcclxuICAgIHRlcm06IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcclxuICAgIGNvbnN0IGxpbWl0U2V0dGluZyA9IHRoaXMuc2V0dGluZ3MuZmluZCgocykgPT4gcy5uYW1lID09PSAnbGltaXQnKTtcclxuICAgIGNvbnN0IGxpbWl0VmFsdWUgPSBsaW1pdFNldHRpbmcudmFsdWVzLmZpbmQodiA9PiB2LmVuYWJsZWQpLnZhbHVlIGFzIG51bWJlciB8fCA1O1xyXG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdCA9IGxpbWl0VmFsdWUudG9Mb2NhbGVTdHJpbmcoKTtcclxuICAgIGNvbnN0IHJlc3VsdHM6IFdvcmtzcGFjZURhdGFbXSA9IFtdO1xyXG4gICAgdGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlID0gKG9wdGlvbnMucGFnZSB8fCAxKS50b0xvY2FsZVN0cmluZygpO1xyXG4gICAgY29uc3QgcGFnZSA9IG9wdGlvbnMucGFnZSB8fCAxO1xyXG4gICAgY29uc3QgZGF0YXNldHMgPSB0aGlzLm9wdGlvbnMucGFyYW1zLmRhdGFzZXRzLnNwbGl0KCcsJyk7XHJcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXhcclxuICAgICAgLmZpbHRlcihmc3dpID0+IGZzd2kuc2VhcmNoRG9jdW1lbnQgJiYgZGF0YXNldHMuaW5jbHVkZXMoZnN3aS5sYXllci50aXRsZSkpXHJcbiAgICAgIC5tYXAoZnN3aSA9PiB7XHJcbiAgICAgICAgY29uc3QgdGVybVRvVXNlID0gdGVybTtcclxuICAgICAgICBmc3dpLnNlYXJjaERvY3VtZW50LnNlYXJjaCh0ZXJtVG9Vc2UsIHsgbGltaXQ6IHBhZ2UgKiBsaW1pdFZhbHVlIH0pLm1hcChpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGZvdW5kSW46IFNpbXBsZURvY3VtZW50U2VhcmNoUmVzdWx0U2V0VW5pdCA9IGk7XHJcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IGZvdW5kSW4uZmllbGQ7XHJcbiAgICAgICAgICBmb3VuZEluLnJlc3VsdC5tYXAoaW5kZXggPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlID0gZnN3aS5pbmRleC5nZXQoaW5kZXgpO1xyXG4gICAgICAgICAgICBjb25zdCBzY29yZSA9IGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtVG9Vc2UudHJpbSgpLCBmZWF0dXJlLnByb3BlcnRpZXNbZmllbGRdKTtcclxuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHsgaW5kZXgsIGZlYXR1cmUsIGxheWVyOiBmc3dpLmxheWVyLCBmaWVsZCwgc2NvcmUgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgcmVzdWx0cy5zb3J0KChhLCBiKSA9PiAoYS5zY29yZSA+IGIuc2NvcmUpID8gLTEgOiAxKTtcclxuICAgIGNvbnN0IGdldHRlZEluZGV4ID0gW107XHJcbiAgICBjb25zdCBzb3J0ZWRSZXN1bHRUb1Byb2Nlc3M6IFdvcmtzcGFjZURhdGFbXSA9IFtdO1xyXG4gICAgcmVzdWx0cy5tYXAociA9PiB7XHJcbiAgICAgIGlmICghZ2V0dGVkSW5kZXguaW5jbHVkZXMoci5pbmRleCkpIHtcclxuICAgICAgICBnZXR0ZWRJbmRleC5wdXNoKHIuaW5kZXgpO1xyXG4gICAgICAgIHNvcnRlZFJlc3VsdFRvUHJvY2Vzcy5wdXNoKHIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb2YoXHJcbiAgICAgIHRoaXMuZXh0cmFjdFJlc3VsdHMoc29ydGVkUmVzdWx0VG9Qcm9jZXNzXHJcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhLnNjb3JlID4gYi5zY29yZSkgPyAtMSA6IDEpXHJcbiAgICAgICAgLnNsaWNlKDAsIHBhZ2UgKiBsaW1pdFZhbHVlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKHJlc3VsdHM6IFdvcmtzcGFjZURhdGFbXSk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcclxuICAgIHJldHVybiByZXN1bHRzLm1hcChyZXN1bHQgPT4gdGhpcy5kYXRhVG9SZXN1bHQocmVzdWx0LCByZXN1bHRzLmxlbmd0aCkpO1xyXG4gIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoXHJcbiAgICAgIGRhdGE6IFdvcmtzcGFjZURhdGEsXHJcbiAgICAgIHJlc3VsdHNDbnQ6IG51bWJlclxyXG4gICAgKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcclxuICAgICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XHJcbiAgICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgcHJvcGVydGllcy50eXBlLCBkYXRhLmluZGV4XS5qb2luKCcuJyk7XHJcbiAgICAgIGNvbnN0IHRpdGxlSHRtbCA9IGRhdGEuZmVhdHVyZS5wcm9wZXJ0aWVzW2RhdGEuZmllbGRdO1xyXG4gICAgICBjb25zdCBzdWJ0aXRsZUh0bWwyID0gJzxicj48c21hbGw+ICcgKyBkYXRhLmxheWVyLnRpdGxlICsgJzwvc21hbGw+JztcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgICAgIGdlb21ldHJ5OiBkYXRhLmZlYXR1cmUuZ2VvbWV0cnksXHJcbiAgICAgICAgICBleHRlbnQ6IGRhdGEuZmVhdHVyZS5leHRlbnQsXHJcbiAgICAgICAgICBwcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgdGl0bGU6IGRhdGEuZmVhdHVyZS5wcm9wZXJ0aWVzW2RhdGEuZmllbGRdLFxyXG4gICAgICAgICAgICBhbGlhczogdGhpcy5nZXRBbGxvd2VkRmllbGRzQW5kQWxpYXMoZGF0YS5sYXllcilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1ldGE6IHtcclxuICAgICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICB0aXRsZTogZGF0YS5mZWF0dXJlLm1ldGEudGl0bGUsXHJcbiAgICAgICAgICB0aXRsZUh0bWw6IHRpdGxlSHRtbCArIHN1YnRpdGxlSHRtbDIsXHJcbiAgICAgICAgICBpY29uOiAnbWFwLW1hcmtlcicsXHJcbiAgICAgICAgICBzY29yZTogZGF0YS5zY29yZSxcclxuICAgICAgICAgIG5leHRQYWdlOlxyXG4gICAgICAgICAgICByZXN1bHRzQ250ICUgK3RoaXMub3B0aW9ucy5wYXJhbXMubGltaXQgPT09IDAgJiZcclxuICAgICAgICAgICAgK3RoaXMub3B0aW9ucy5wYXJhbXMucGFnZSA8IDEwXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGFzIFNlYXJjaFJlc3VsdDxGZWF0dXJlPjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBnZXRBbGxvd2VkRmllbGRzQW5kQWxpYXMobGF5ZXI6IExheWVyKSB7XHJcbiAgICAgIGxldCBhbGxvd2VkRmllbGRzQW5kQWxpYXM7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBsYXllci5vcHRpb25zPy5zb3VyY2U/Lm9wdGlvbnM/LnNvdXJjZUZpZWxkcyAmJlxyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA+PSAxXHJcbiAgICAgICkge1xyXG4gICAgICAgIGFsbG93ZWRGaWVsZHNBbmRBbGlhcyA9IHt9O1xyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmZvckVhY2goc291cmNlRmllbGQgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhcyA/IHNvdXJjZUZpZWxkLmFsaWFzIDogc291cmNlRmllbGQubmFtZTtcclxuICAgICAgICAgIGFsbG93ZWRGaWVsZHNBbmRBbGlhc1tzb3VyY2VGaWVsZC5uYW1lXSA9IGFsaWFzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhbGxvd2VkRmllbGRzQW5kQWxpYXM7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgY29tcHV0ZVByb3BlcnRpZXMoZGF0YTogV29ya3NwYWNlRGF0YSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICBpZiAoIWRhdGEuZmVhdHVyZS5nZW9tZXRyeSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogZGF0YS5sYXllci50aXRsZSArICcuJyArIGRhdGEuZmllbGQgfSwgZGF0YS5mZWF0dXJlLnByb3BlcnRpZXMpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGdvb2dsZUxpbmtzUHJvcGVydGllczoge1xyXG4gICAgICAgIEdvb2dsZU1hcHM6IHN0cmluZztcclxuICAgICAgICBHb29nbGVTdHJlZXRWaWV3Pzogc3RyaW5nO1xyXG4gICAgICB9ID0ge1xyXG4gICAgICAgIEdvb2dsZU1hcHM6ICcnXHJcbiAgICAgIH07XHJcbiAgICAgIGxldCBnb29nbGVNYXBzO1xyXG4gICAgICBpZiAoZGF0YS5mZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICBnb29nbGVNYXBzID0gR29vZ2xlTGlua3MuZ2V0R29vZ2xlTWFwc0Nvb3JkTGluayhcclxuICAgICAgICAgIGRhdGEuZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcclxuICAgICAgICAgIGRhdGEuZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludE9uRmVhdHVyZShkYXRhLmZlYXR1cmUuZ2VvbWV0cnkpO1xyXG4gICAgICAgIGdvb2dsZU1hcHMgPSBHb29nbGVMaW5rcy5nZXRHb29nbGVNYXBzQ29vcmRMaW5rKFxyXG4gICAgICAgICAgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICBwb2ludC5nZW9tZXRyeS5jb29yZGluYXRlc1sxXVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgZ29vZ2xlTGlua3NQcm9wZXJ0aWVzLkdvb2dsZU1hcHMgPVxyXG4gICAgICAgICc8YSBocmVmPScgK1xyXG4gICAgICAgIGdvb2dsZU1hcHMgK1xyXG4gICAgICAgICcgdGFyZ2V0PVwiX2JsYW5rXCI+JyArXHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoQnlDb29yZCcpICtcclxuICAgICAgICAnPC9hPic7XHJcbiAgICAgIGlmIChkYXRhLmZlYXR1cmUuZ2VvbWV0cnkudHlwZSA9PT0gJ1BvaW50Jykge1xyXG4gICAgICAgIGdvb2dsZUxpbmtzUHJvcGVydGllcy5Hb29nbGVTdHJlZXRWaWV3ID0gR29vZ2xlTGlua3MuZ2V0R29vZ2xlU3RyZWV0Vmlld0xpbmsoXHJcbiAgICAgICAgICBkYXRhLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICBkYXRhLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJvdXRpbmc6IHtcclxuICAgICAgICBSb3V0ZTogc3RyaW5nO1xyXG4gICAgICB9ID0ge1xyXG4gICAgICAgIFJvdXRlOlxyXG4gICAgICAgICAgJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICtcclxuICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArXHJcbiAgICAgICAgICAnPC91PiA8L3NwYW4+J1xyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcclxuICAgICAgICB7IHR5cGU6IGRhdGEuZmVhdHVyZS5zb3VyY2VJZCB9LFxyXG4gICAgICAgIGRhdGEuZmVhdHVyZS5wcm9wZXJ0aWVzLFxyXG4gICAgICAgIGdvb2dsZUxpbmtzUHJvcGVydGllcyxcclxuICAgICAgICByb3V0aW5nXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3dvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2RCxPQUFPLEVBQUUsT0FBTyxFQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUtwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUM7OztBQUtwRDs7R0FFRztBQUVILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBU3JELFlBQ1UsZUFBZ0MsRUFDeEMsY0FBOEIsRUFDWCxPQUE0QjtRQUUvQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSnZCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVAxQyxXQUFNLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBYWhFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUzthQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7YUFDdkIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFkRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFB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QyxDQUM5QixDQUFDO1NBQ0g7UUFDRCxxQkFBcUIsQ0FBQyxVQUFVO1lBQzlCLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztnQkFDL0QsTUFBTSxDQUFDO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFDLHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7U0FDSDtRQUNELE1BQU0sT0FBTyxHQUVUO1lBQ0YsS0FBSyxFQUNILDRCQUE0QjtnQkFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO2dCQUM1RCxjQUFjO1NBQ2pCLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUN2QixxQkFBcUIsRUFDckIsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDOztBQXJOSSx3QkFBRSxHQUFHLFdBQVcsQ0FBQztBQUNqQiwwQkFBSSxHQUFHLE9BQU8sQ0FBQzswRkFGWCxxQkFBcUIsK0VBWXRCLFNBQVM7MkVBWlIscUJBQXFCLFdBQXJCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBRGpDLFVBQVU7O3NCQWFOLE1BQU07dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xuXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBUZXh0U2VhcmNoT3B0aW9uc1xufSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNvbXB1dGVUZXJtU2ltaWxhcml0eSB9IGZyb20gJy4uL3NlYXJjaC51dGlscyc7XG5pbXBvcnQgeyBTaW1wbGVEb2N1bWVudFNlYXJjaFJlc3VsdFNldFVuaXQgfSBmcm9tICdmbGV4c2VhcmNoJztcbmltcG9ydCB7IEdvb2dsZUxpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ29vZ2xlTGlua3MnO1xuaW1wb3J0IHBvaW50T25GZWF0dXJlIGZyb20gJ0B0dXJmL3BvaW50LW9uLWZlYXR1cmUnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcbmltcG9ydCB7IFdvcmtzcGFjZURhdGEgfSBmcm9tICcuL3dvcmtzcGFjZS5pbnRlcmZhY2VzJztcblxuXG4vKipcbiAqIFdvcmtzcGFjZSBzZWFyY2ggc291cmNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTZWFyY2hTb3VyY2UgZXh0ZW5kcyBTZWFyY2hTb3VyY2UgaW1wbGVtZW50cyBUZXh0U2VhcmNoIHtcbiAgc3RhdGljIGlkID0gJ3dvcmtzcGFjZSc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcbiAgdGl0bGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBASW5qZWN0KCdvcHRpb25zJykgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuXG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXG4gICAgICAuZ2V0KHRoaXMub3B0aW9ucy50aXRsZSlcbiAgICAgIC5zdWJzY3JpYmUoKHRpdGxlKSA9PiB0aGlzLnRpdGxlJC5uZXh0KHRpdGxlKSk7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBXb3Jrc3BhY2VTZWFyY2hTb3VyY2UuaWQ7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFdvcmtzcGFjZVNlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIGNvbnN0IGxpbWl0OiBOdW1iZXIgPSA1O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2gud29ya3NwYWNlLm5hbWUnLFxuICAgICAgc2VhcmNoVXJsOiB1bmRlZmluZWQsXG4gICAgICBzZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICB0aXRsZTogJ2RhdGFzZXRzJyxcbiAgICAgICAgICBuYW1lOiAnZGF0YXNldHMnLFxuICAgICAgICAgIHZhbHVlczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdyYWRpb2J1dHRvbicsXG4gICAgICAgICAgdGl0bGU6ICdyZXN1bHRzIGxpbWl0JyxcbiAgICAgICAgICBuYW1lOiAnbGltaXQnLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge3RpdGxlOiAnMScsdmFsdWU6IDEsZW5hYmxlZDogbGltaXQgPT09IDF9LFxuICAgICAgICAgICAge3RpdGxlOiAnNScsdmFsdWU6IDUsZW5hYmxlZDogbGltaXQgPT09IDUgfHwgIWxpbWl0fSxcbiAgICAgICAgICAgIHt0aXRsZTogJzEwJyx2YWx1ZTogMTAsZW5hYmxlZDogbGltaXQgPT09IDEwfSxcbiAgICAgICAgICAgIHt0aXRsZTogJzI1Jyx2YWx1ZTogMjUsZW5hYmxlZDogbGltaXQgPT09IDI1fSxcbiAgICAgICAgICAgIHt0aXRsZTogJzUwJyx2YWx1ZTogNTAsZW5hYmxlZDogbGltaXQgPT09IDUwfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGEgbG9jYXRpb24gYnkgbmFtZSBvciBrZXl3b3JkXG4gICAqIEBwYXJhbSB0ZXJtIExvY2F0aW9uIG5hbWUgb3Iga2V5d29yZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxuICAgKi9cbiAgc2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xuICAgIGNvbnN0IGxpbWl0U2V0dGluZyA9IHRoaXMuc2V0dGluZ3MuZmluZCgocykgPT4gcy5uYW1lID09PSAnbGltaXQnKTtcbiAgICBjb25zdCBsaW1pdFZhbHVlID0gbGltaXRTZXR0aW5nLnZhbHVlcy5maW5kKHYgPT4gdi5lbmFibGVkKS52YWx1ZSBhcyBudW1iZXIgfHwgNTtcbiAgICB0aGlzLm9wdGlvbnMucGFyYW1zLmxpbWl0ID0gbGltaXRWYWx1ZS50b0xvY2FsZVN0cmluZygpO1xuICAgIGNvbnN0IHJlc3VsdHM6IFdvcmtzcGFjZURhdGFbXSA9IFtdO1xuICAgIHRoaXMub3B0aW9ucy5wYXJhbXMucGFnZSA9IChvcHRpb25zLnBhZ2UgfHwgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICBjb25zdCBwYWdlID0gb3B0aW9ucy5wYWdlIHx8IDE7XG4gICAgY29uc3QgZGF0YXNldHMgPSB0aGlzLm9wdGlvbnMucGFyYW1zLmRhdGFzZXRzLnNwbGl0KCcsJyk7XG4gICAgdGhpcy5mZWF0dXJlU3RvcmVzV2l0aEluZGV4XG4gICAgICAuZmlsdGVyKGZzd2kgPT4gZnN3aS5zZWFyY2hEb2N1bWVudCAmJiBkYXRhc2V0cy5pbmNsdWRlcyhmc3dpLmxheWVyLnRpdGxlKSlcbiAgICAgIC5tYXAoZnN3aSA9PiB7XG4gICAgICAgIGNvbnN0IHRlcm1Ub1VzZSA9IHRlcm07XG4gICAgICAgIGZzd2kuc2VhcmNoRG9jdW1lbnQuc2VhcmNoKHRlcm1Ub1VzZSwgeyBsaW1pdDogcGFnZSAqIGxpbWl0VmFsdWUgfSkubWFwKGkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZvdW5kSW46IFNpbXBsZURvY3VtZW50U2VhcmNoUmVzdWx0U2V0VW5pdCA9IGk7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSBmb3VuZEluLmZpZWxkO1xuICAgICAgICAgIGZvdW5kSW4ucmVzdWx0Lm1hcChpbmRleCA9PiB7XG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlID0gZnN3aS5pbmRleC5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgY29uc3Qgc2NvcmUgPSBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybVRvVXNlLnRyaW0oKSwgZmVhdHVyZS5wcm9wZXJ0aWVzW2ZpZWxkXSk7XG4gICAgICAgICAgICByZXN1bHRzLnB1c2goeyBpbmRleCwgZmVhdHVyZSwgbGF5ZXI6IGZzd2kubGF5ZXIsIGZpZWxkLCBzY29yZSB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIHJlc3VsdHMuc29ydCgoYSwgYikgPT4gKGEuc2NvcmUgPiBiLnNjb3JlKSA/IC0xIDogMSk7XG4gICAgY29uc3QgZ2V0dGVkSW5kZXggPSBbXTtcbiAgICBjb25zdCBzb3J0ZWRSZXN1bHRUb1Byb2Nlc3M6IFdvcmtzcGFjZURhdGFbXSA9IFtdO1xuICAgIHJlc3VsdHMubWFwKHIgPT4ge1xuICAgICAgaWYgKCFnZXR0ZWRJbmRleC5pbmNsdWRlcyhyLmluZGV4KSkge1xuICAgICAgICBnZXR0ZWRJbmRleC5wdXNoKHIuaW5kZXgpO1xuICAgICAgICBzb3J0ZWRSZXN1bHRUb1Byb2Nlc3MucHVzaChyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvZihcbiAgICAgIHRoaXMuZXh0cmFjdFJlc3VsdHMoc29ydGVkUmVzdWx0VG9Qcm9jZXNzXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5zY29yZSA+IGIuc2NvcmUpID8gLTEgOiAxKVxuICAgICAgICAuc2xpY2UoMCwgcGFnZSAqIGxpbWl0VmFsdWUpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKHJlc3VsdHM6IFdvcmtzcGFjZURhdGFbXSk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcbiAgICByZXR1cm4gcmVzdWx0cy5tYXAocmVzdWx0ID0+IHRoaXMuZGF0YVRvUmVzdWx0KHJlc3VsdCwgcmVzdWx0cy5sZW5ndGgpKTtcbiAgfVxuXG5cbiAgICBwcml2YXRlIGRhdGFUb1Jlc3VsdChcbiAgICAgIGRhdGE6IFdvcmtzcGFjZURhdGEsXG4gICAgICByZXN1bHRzQ250OiBudW1iZXJcbiAgICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICAgICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuY29tcHV0ZVByb3BlcnRpZXMoZGF0YSk7XG4gICAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksIHByb3BlcnRpZXMudHlwZSwgZGF0YS5pbmRleF0uam9pbignLicpO1xuICAgICAgY29uc3QgdGl0bGVIdG1sID0gZGF0YS5mZWF0dXJlLnByb3BlcnRpZXNbZGF0YS5maWVsZF07XG4gICAgICBjb25zdCBzdWJ0aXRsZUh0bWwyID0gJzxicj48c21hbGw+ICcgKyBkYXRhLmxheWVyLnRpdGxlICsgJzwvc21hbGw+JztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgICBnZW9tZXRyeTogZGF0YS5mZWF0dXJlLmdlb21ldHJ5LFxuICAgICAgICAgIGV4dGVudDogZGF0YS5mZWF0dXJlLmV4dGVudCxcbiAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgIG1ldGE6IHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEuZmVhdHVyZS5wcm9wZXJ0aWVzW2RhdGEuZmllbGRdLFxuICAgICAgICAgICAgYWxpYXM6IHRoaXMuZ2V0QWxsb3dlZEZpZWxkc0FuZEFsaWFzKGRhdGEubGF5ZXIpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGU6IGRhdGEuZmVhdHVyZS5tZXRhLnRpdGxlLFxuICAgICAgICAgIHRpdGxlSHRtbDogdGl0bGVIdG1sICsgc3VidGl0bGVIdG1sMixcbiAgICAgICAgICBpY29uOiAnbWFwLW1hcmtlcicsXG4gICAgICAgICAgc2NvcmU6IGRhdGEuc2NvcmUsXG4gICAgICAgICAgbmV4dFBhZ2U6XG4gICAgICAgICAgICByZXN1bHRzQ250ICUgK3RoaXMub3B0aW9ucy5wYXJhbXMubGltaXQgPT09IDAgJiZcbiAgICAgICAgICAgICt0aGlzLm9wdGlvbnMucGFyYW1zLnBhZ2UgPCAxMFxuICAgICAgICB9XG4gICAgICB9IGFzIFNlYXJjaFJlc3VsdDxGZWF0dXJlPjtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZ2V0QWxsb3dlZEZpZWxkc0FuZEFsaWFzKGxheWVyOiBMYXllcikge1xuICAgICAgbGV0IGFsbG93ZWRGaWVsZHNBbmRBbGlhcztcbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXIub3B0aW9ucz8uc291cmNlPy5vcHRpb25zPy5zb3VyY2VGaWVsZHMgJiZcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMubGVuZ3RoID49IDFcbiAgICAgICkge1xuICAgICAgICBhbGxvd2VkRmllbGRzQW5kQWxpYXMgPSB7fTtcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaChzb3VyY2VGaWVsZCA9PiB7XG4gICAgICAgICAgY29uc3QgYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhcyA/IHNvdXJjZUZpZWxkLmFsaWFzIDogc291cmNlRmllbGQubmFtZTtcbiAgICAgICAgICBhbGxvd2VkRmllbGRzQW5kQWxpYXNbc291cmNlRmllbGQubmFtZV0gPSBhbGlhcztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWxsb3dlZEZpZWxkc0FuZEFsaWFzO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBjb21wdXRlUHJvcGVydGllcyhkYXRhOiBXb3Jrc3BhY2VEYXRhKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgICBpZiAoIWRhdGEuZmVhdHVyZS5nZW9tZXRyeSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IHR5cGU6IGRhdGEubGF5ZXIudGl0bGUgKyAnLicgKyBkYXRhLmZpZWxkIH0sIGRhdGEuZmVhdHVyZS5wcm9wZXJ0aWVzKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGdvb2dsZUxpbmtzUHJvcGVydGllczoge1xuICAgICAgICBHb29nbGVNYXBzOiBzdHJpbmc7XG4gICAgICAgIEdvb2dsZVN0cmVldFZpZXc/OiBzdHJpbmc7XG4gICAgICB9ID0ge1xuICAgICAgICBHb29nbGVNYXBzOiAnJ1xuICAgICAgfTtcbiAgICAgIGxldCBnb29nbGVNYXBzO1xuICAgICAgaWYgKGRhdGEuZmVhdHVyZS5nZW9tZXRyeS50eXBlID09PSAnUG9pbnQnKSB7XG4gICAgICAgIGdvb2dsZU1hcHMgPSBHb29nbGVMaW5rcy5nZXRHb29nbGVNYXBzQ29vcmRMaW5rKFxuICAgICAgICAgIGRhdGEuZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICAgICAgICBkYXRhLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gcG9pbnRPbkZlYXR1cmUoZGF0YS5mZWF0dXJlLmdlb21ldHJ5KTtcbiAgICAgICAgZ29vZ2xlTWFwcyA9IEdvb2dsZUxpbmtzLmdldEdvb2dsZU1hcHNDb29yZExpbmsoXG4gICAgICAgICAgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgICAgICAgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGdvb2dsZUxpbmtzUHJvcGVydGllcy5Hb29nbGVNYXBzID1cbiAgICAgICAgJzxhIGhyZWY9JyArXG4gICAgICAgIGdvb2dsZU1hcHMgK1xuICAgICAgICAnIHRhcmdldD1cIl9ibGFua1wiPicgK1xuICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWFyY2hCeUNvb3JkJykgK1xuICAgICAgICAnPC9hPic7XG4gICAgICBpZiAoZGF0YS5mZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcbiAgICAgICAgZ29vZ2xlTGlua3NQcm9wZXJ0aWVzLkdvb2dsZVN0cmVldFZpZXcgPSBHb29nbGVMaW5rcy5nZXRHb29nbGVTdHJlZXRWaWV3TGluayhcbiAgICAgICAgICBkYXRhLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgICAgICAgZGF0YS5mZWF0dXJlLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzFdXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCByb3V0aW5nOiB7XG4gICAgICAgIFJvdXRlOiBzdHJpbmc7XG4gICAgICB9ID0ge1xuICAgICAgICBSb3V0ZTpcbiAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgK1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArXG4gICAgICAgICAgJzwvdT4gPC9zcGFuPidcbiAgICAgIH07XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgeyB0eXBlOiBkYXRhLmZlYXR1cmUuc291cmNlSWQgfSxcbiAgICAgICAgZGF0YS5mZWF0dXJlLnByb3BlcnRpZXMsXG4gICAgICAgIGdvb2dsZUxpbmtzUHJvcGVydGllcyxcbiAgICAgICAgcm91dGluZ1xuICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -23,4 +23,4 @@ export function provideWorkspaceSearchSource() {
|
|
|
23
23
|
]
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy93b3Jrc3BhY2UucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdwRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRTtZQUNKLGVBQWU7WUFDZixjQUFjO1lBQ2QsYUFBYTtTQUNkO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3dvcmtzcGFjZSc7XG5cblxuLyoqXG4gKiBXb3Jrc3BhY2Ugc2VhcmNoIHNvdXJjZSBmYWN0b3J5XG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3b3Jrc3BhY2VTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IFdvcmtzcGFjZVNlYXJjaFNvdXJjZShcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke1dvcmtzcGFjZVNlYXJjaFNvdXJjZS5pZH1gKVxuICApO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgV29ya3NwYWNlIHNlYXJjaCBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVXb3Jrc3BhY2VTZWFyY2hTb3VyY2UoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IHdvcmtzcGFjZVNlYXJjaFNvdXJjZUZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW1xuICAgICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgU3RvcmFnZVNlcnZpY2UsXG4gICAgICBDb25maWdTZXJ2aWNlXG4gICAgXVxuICB9O1xufVxuIl19
|