@igo2/geo 18.0.0-next.1 → 18.0.0-next.11

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.
Files changed (443) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +4 -4
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -9
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +16 -13
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +4 -4
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +4 -4
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -5
  9. package/esm2022/lib/catalog/catalog.module.mjs +5 -5
  10. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.service.mjs +4 -4
  12. package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
  13. package/esm2022/lib/datasource/shared/datasource.service.mjs +4 -4
  14. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
  16. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
  18. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
  20. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
  22. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
  24. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
  26. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
  28. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +73 -2
  37. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +4 -4
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
  41. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +4 -4
  46. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +153 -104
  47. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +179 -85
  48. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +95 -46
  49. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  50. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  51. package/esm2022/lib/directions/directions.component.mjs +57 -33
  52. package/esm2022/lib/directions/directions.module.mjs +5 -5
  53. package/esm2022/lib/directions/shared/directions.enum.mjs +51 -7
  54. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  55. package/esm2022/lib/directions/shared/directions.service.mjs +125 -99
  56. package/esm2022/lib/directions/shared/directions.utils.mjs +281 -318
  57. package/esm2022/lib/directions/shared/store.mjs +2 -2
  58. package/esm2022/lib/download/download-button/download-button.component.mjs +10 -22
  59. package/esm2022/lib/download/download.module.mjs +5 -5
  60. package/esm2022/lib/download/shared/download.service.mjs +4 -4
  61. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
  62. package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
  63. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +4 -4
  64. package/esm2022/lib/draw/draw/draw.component.mjs +8 -15
  65. package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
  66. package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
  67. package/esm2022/lib/draw/shared/draw-icon.service.mjs +4 -4
  68. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  69. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  70. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +5 -5
  71. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
  72. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +5 -5
  73. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
  74. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
  75. package/esm2022/lib/feature/feature.module.mjs +5 -5
  76. package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
  77. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  78. package/esm2022/lib/feature/shared/store.mjs +1 -1
  79. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
  80. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
  81. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
  82. package/esm2022/lib/filter/filter.module.mjs +5 -5
  83. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
  84. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +4 -4
  85. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
  86. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +4 -4
  87. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +4 -4
  88. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +4 -4
  89. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +5 -5
  90. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -6
  91. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +4 -4
  92. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +11 -4
  93. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +4 -4
  94. package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
  95. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +4 -4
  96. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +4 -4
  97. package/esm2022/lib/filter/shared/time-filter.service.mjs +4 -4
  98. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +4 -4
  99. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -11
  100. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +5 -11
  101. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +5 -5
  102. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +15 -12
  103. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +5 -5
  104. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +7 -5
  105. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +7 -18
  106. package/esm2022/lib/geo.module.mjs +5 -5
  107. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +4 -4
  108. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +4 -4
  109. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -5
  110. package/esm2022/lib/geometry/geometry.module.mjs +5 -5
  111. package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -20
  112. package/esm2022/lib/import-export/import-export/import-export.component.mjs +215 -323
  113. package/esm2022/lib/import-export/import-export.module.mjs +5 -5
  114. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -4
  115. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  116. package/esm2022/lib/import-export/shared/export.service.mjs +257 -91
  117. package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
  118. package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
  119. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  120. package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
  121. package/esm2022/lib/layer/index.mjs +10 -5
  122. package/esm2022/lib/layer/layer-group/index.mjs +2 -0
  123. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
  124. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +62 -129
  125. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -10
  126. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
  127. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -9
  128. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +16 -23
  129. package/esm2022/lib/layer/layer-list/index.mjs +1 -3
  130. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +177 -776
  131. package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
  132. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +52 -85
  133. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
  134. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +57 -17
  135. package/esm2022/lib/layer/layer-search/index.mjs +2 -0
  136. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
  137. package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
  138. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
  139. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
  140. package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
  141. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
  142. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
  143. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
  144. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
  145. package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
  146. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
  147. package/esm2022/lib/layer/layer.module.mjs +54 -36
  148. package/esm2022/lib/layer/shared/index.mjs +2 -1
  149. package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
  150. package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
  151. package/esm2022/lib/layer/shared/layer.service.mjs +73 -27
  152. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  153. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  154. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  155. package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
  156. package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
  157. package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
  158. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
  159. package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
  160. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
  161. package/esm2022/lib/layer/shared/layers/layer.mjs +114 -118
  162. package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
  163. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
  164. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
  165. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
  166. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
  167. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +22 -19
  168. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
  169. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +4 -4
  170. package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
  171. package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
  172. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
  173. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -9
  174. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +4 -4
  175. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
  176. package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
  177. package/esm2022/lib/map/map-browser/map-browser.component.mjs +4 -4
  178. package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
  179. package/esm2022/lib/map/map.module.mjs +5 -5
  180. package/esm2022/lib/map/menu-button/menu-button.component.mjs +4 -4
  181. package/esm2022/lib/map/offline-button/offline-button.component.mjs +4 -4
  182. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +4 -4
  183. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  184. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  185. package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -13
  186. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
  187. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  188. package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
  189. package/esm2022/lib/map/shared/map.mjs +7 -243
  190. package/esm2022/lib/map/shared/map.service.mjs +4 -4
  191. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  192. package/esm2022/lib/map/shared/mapOffline.directive.mjs +12 -8
  193. package/esm2022/lib/map/shared/projection.service.mjs +4 -4
  194. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
  195. package/esm2022/lib/map/utils/index.mjs +2 -0
  196. package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
  197. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
  198. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
  199. package/esm2022/lib/measure/measure.module.mjs +5 -5
  200. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
  201. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
  202. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  203. package/esm2022/lib/measure/measurer/measurer.component.mjs +10 -28
  204. package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
  205. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -23
  206. package/esm2022/lib/metadata/metadata.module.mjs +5 -5
  207. package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
  208. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -8
  209. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +21 -22
  210. package/esm2022/lib/offline/index.mjs +3 -1
  211. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +16 -17
  212. package/esm2022/lib/offline/offline.interface.mjs +2 -0
  213. package/esm2022/lib/offline/offline.provider.mjs +51 -0
  214. package/esm2022/lib/offline/shared/geo-network.service.mjs +15 -16
  215. package/esm2022/lib/overlay/shared/overlay.mjs +3 -2
  216. package/esm2022/lib/print/print/print.component.mjs +4 -4
  217. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  218. package/esm2022/lib/print/print.module.mjs +5 -5
  219. package/esm2022/lib/print/shared/print.service.mjs +6 -6
  220. package/esm2022/lib/query/query.module.mjs +5 -5
  221. package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
  222. package/esm2022/lib/query/shared/query.directive.mjs +12 -8
  223. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  224. package/esm2022/lib/query/shared/query.utils.mjs +5 -1
  225. package/esm2022/lib/search/search-bar/search-bar.component.mjs +4 -4
  226. package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
  227. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  228. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +18 -12
  229. package/esm2022/lib/search/search-results/search-results-item.component.mjs +4 -4
  230. package/esm2022/lib/search/search-results/search-results.component.mjs +4 -4
  231. package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
  232. package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
  233. package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
  234. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  235. package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
  236. package/esm2022/lib/search/search.module.mjs +5 -5
  237. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -14
  238. package/esm2022/lib/search/shared/search.service.mjs +4 -4
  239. package/esm2022/lib/search/shared/sources/cadastre.mjs +4 -4
  240. package/esm2022/lib/search/shared/sources/coordinates.mjs +7 -7
  241. package/esm2022/lib/search/shared/sources/icherche.mjs +10 -10
  242. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  243. package/esm2022/lib/search/shared/sources/ilayer.mjs +7 -7
  244. package/esm2022/lib/search/shared/sources/nominatim.mjs +4 -4
  245. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  246. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  247. package/esm2022/lib/search/shared/sources/workspace.mjs +4 -4
  248. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  249. package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
  250. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +4 -4
  251. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +4 -4
  252. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
  253. package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
  254. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  255. package/esm2022/lib/style/style.module.mjs +5 -5
  256. package/esm2022/lib/toast/toast.component.mjs +4 -4
  257. package/esm2022/lib/toast/toast.module.mjs +5 -5
  258. package/esm2022/lib/utils/id-generator.mjs +1 -1
  259. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +4 -4
  260. package/esm2022/lib/wkt/shared/wkt.service.mjs +4 -4
  261. package/esm2022/lib/wkt/wkt.module.mjs +5 -5
  262. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
  263. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
  264. package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
  265. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +22 -20
  266. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +4 -4
  267. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +20 -5
  268. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +25 -7
  269. package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
  270. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
  271. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
  272. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -5
  273. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
  274. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  275. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
  276. package/esm2022/lib/workspace/workspace.module.mjs +5 -5
  277. package/fesm2022/igo2-geo.mjs +19538 -18321
  278. package/fesm2022/igo2-geo.mjs.map +1 -1
  279. package/lib/catalog/shared/catalog.enum.d.ts +1 -3
  280. package/lib/datasource/shared/capabilities.service.d.ts +7 -2
  281. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
  282. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
  283. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
  284. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
  285. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
  286. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
  287. package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
  288. package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
  289. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
  290. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
  291. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
  292. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
  293. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
  294. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
  295. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
  296. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
  297. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
  298. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
  299. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +16 -0
  300. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
  301. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
  302. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +7 -7
  303. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
  304. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
  305. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
  306. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
  307. package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
  308. package/lib/directions/directions-sources/directions-source.d.ts +2 -2
  309. package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
  310. package/lib/directions/directions.component.d.ts +5 -5
  311. package/lib/directions/shared/directions.enum.d.ts +42 -1
  312. package/lib/directions/shared/directions.interface.d.ts +50 -25
  313. package/lib/directions/shared/directions.service.d.ts +46 -8
  314. package/lib/directions/shared/directions.utils.d.ts +102 -23
  315. package/lib/directions/shared/store.d.ts +3 -3
  316. package/lib/download/download-button/download-button.component.d.ts +4 -8
  317. package/lib/download/shared/download.service.d.ts +1 -1
  318. package/lib/draw/draw/draw.component.d.ts +2 -2
  319. package/lib/draw/shared/draw.utils.d.ts +2 -1
  320. package/lib/environment/environment.interface.d.ts +2 -0
  321. package/lib/feature/shared/feature-store.utils.d.ts +2 -2
  322. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  323. package/lib/feature/shared/store.d.ts +2 -2
  324. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  325. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  326. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
  327. package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
  328. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
  329. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
  330. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
  331. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  332. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
  333. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  334. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
  335. package/lib/import-export/export-button/export-button.component.d.ts +3 -7
  336. package/lib/import-export/import-export/import-export.component.d.ts +23 -16
  337. package/lib/import-export/shared/export.interface.d.ts +10 -3
  338. package/lib/import-export/shared/export.service.d.ts +28 -15
  339. package/lib/import-export/shared/export.type.d.ts +8 -16
  340. package/lib/import-export/shared/export.utils.d.ts +2 -0
  341. package/lib/layer/index.d.ts +9 -4
  342. package/lib/layer/layer-group/index.d.ts +1 -0
  343. package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
  344. package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
  345. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
  346. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
  347. package/lib/layer/layer-list/index.d.ts +0 -2
  348. package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
  349. package/lib/layer/layer-list-tool/index.d.ts +0 -1
  350. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
  351. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
  352. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
  353. package/lib/layer/layer-search/index.d.ts +1 -0
  354. package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
  355. package/lib/layer/layer-unavailable/index.d.ts +2 -0
  356. package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
  357. package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
  358. package/lib/layer/layer-viewer/index.d.ts +2 -0
  359. package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
  360. package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
  361. package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
  362. package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
  363. package/lib/layer/layer-visibility-button/index.d.ts +1 -0
  364. package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
  365. package/lib/layer/layer.module.d.ts +18 -6
  366. package/lib/layer/shared/index.d.ts +1 -0
  367. package/lib/layer/shared/layer-controller.d.ts +81 -0
  368. package/lib/layer/shared/layer-selection.d.ts +14 -0
  369. package/lib/layer/shared/layer.service.d.ts +17 -8
  370. package/lib/layer/shared/layers/any-layer.d.ts +3 -6
  371. package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
  372. package/lib/layer/shared/layers/image-layer.d.ts +5 -2
  373. package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
  374. package/lib/layer/shared/layers/index.d.ts +5 -0
  375. package/lib/layer/shared/layers/layer-base.d.ts +75 -0
  376. package/lib/layer/shared/layers/layer-group.d.ts +32 -0
  377. package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
  378. package/lib/layer/shared/layers/layer.d.ts +28 -49
  379. package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
  380. package/lib/layer/shared/layers/linked/index.d.ts +3 -0
  381. package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
  382. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
  383. package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
  384. package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
  385. package/lib/layer/shared/layers/vector-layer.d.ts +8 -7
  386. package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
  387. package/lib/layer/utils/layer.utils.d.ts +12 -2
  388. package/lib/layer/utils/outputLegend.d.ts +2 -2
  389. package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
  390. package/lib/map/shared/hover-feature.directive.d.ts +0 -1
  391. package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
  392. package/lib/map/shared/map.abstract.d.ts +12 -29
  393. package/lib/map/shared/map.d.ts +10 -85
  394. package/lib/map/shared/map.service.d.ts +1 -1
  395. package/lib/map/shared/map.utils.d.ts +5 -3
  396. package/lib/map/utils/index.d.ts +1 -0
  397. package/lib/map/utils/layer-watcher.d.ts +18 -8
  398. package/lib/measure/measurer/measurer.component.d.ts +0 -8
  399. package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
  400. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  401. package/lib/offline/index.d.ts +2 -0
  402. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  403. package/lib/offline/offline.interface.d.ts +3 -0
  404. package/lib/offline/offline.provider.d.ts +3 -0
  405. package/lib/offline/shared/geo-network.service.d.ts +3 -3
  406. package/lib/overlay/shared/overlay.d.ts +2 -1
  407. package/lib/query/shared/query.service.d.ts +1 -1
  408. package/lib/query/shared/query.utils.d.ts +2 -1
  409. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  410. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
  411. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  412. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  413. package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
  414. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  415. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  416. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  417. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  418. package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
  419. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  420. package/lib/utils/id-generator.d.ts +5 -5
  421. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  422. package/locale/en.geo.json +114 -92
  423. package/locale/fr.geo.json +113 -92
  424. package/package.json +6 -7
  425. package/src/_index.scss +2 -1
  426. package/src/geo-theme.scss +1 -1
  427. package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
  428. package/src/lib/directions/directions.theming.scss +2 -0
  429. package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
  430. package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
  431. package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
  432. package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
  433. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
  434. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
  435. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
  436. package/src/lib/layer/layer.theming.scss +14 -3
  437. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
  438. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  439. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  440. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
  441. package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
  442. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
  443. package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
@@ -12,39 +12,45 @@ import { ArcGISRestDataSource, CartoDataSource, ClusterDataSource, FeatureDataSo
12
12
  import { LayerDBService } from '../../offline/layerDB/layerDB.service';
13
13
  import { GeoNetworkService } from '../../offline/shared/geo-network.service';
14
14
  import { StyleService } from '../../style/style-service/style.service';
15
- import { computeMVTOptionsOnHover } from '../utils/layer.utils';
15
+ import { computeMVTOptionsOnHover, isLayerGroupOptions } from '../utils/layer.utils';
16
16
  import { ImageLayer, TileLayer, VectorLayer, VectorTileLayer } from './layers';
17
+ import { LayerGroup } from './layers/layer-group';
17
18
  import * as i0 from "@angular/core";
18
19
  import * as i1 from "@angular/common/http";
19
20
  import * as i2 from "../../style/style-service/style.service";
20
21
  import * as i3 from "../../datasource/shared/datasource.service";
21
- import * as i4 from "../../offline/shared/geo-network.service";
22
- import * as i5 from "@igo2/core/message";
22
+ import * as i4 from "@igo2/core/message";
23
+ import * as i5 from "../../offline/shared/geo-network.service";
23
24
  import * as i6 from "../../offline/layerDB/layerDB.service";
24
25
  import * as i7 from "@igo2/auth";
25
26
  export class LayerService {
26
27
  http;
27
28
  styleService;
28
29
  dataSourceService;
29
- geoNetworkService;
30
30
  messageService;
31
+ geoNetworkService;
31
32
  layerDBService;
32
33
  authInterceptor;
33
- constructor(http, styleService, dataSourceService, geoNetworkService, messageService, layerDBService, authInterceptor) {
34
+ unavailableLayers = [];
35
+ constructor(http, styleService, dataSourceService, messageService, geoNetworkService, layerDBService, authInterceptor) {
34
36
  this.http = http;
35
37
  this.styleService = styleService;
36
38
  this.dataSourceService = dataSourceService;
37
- this.geoNetworkService = geoNetworkService;
38
39
  this.messageService = messageService;
40
+ this.geoNetworkService = geoNetworkService;
39
41
  this.layerDBService = layerDBService;
40
42
  this.authInterceptor = authInterceptor;
41
43
  }
44
+ createLayers(layersOption, contextUri) {
45
+ const arrayObsLayers = layersOption.map((option) => {
46
+ return isLayerGroupOptions(option)
47
+ ? this.createAsyncGroup(option)
48
+ : this.createAsyncLayer(option, contextUri);
49
+ });
50
+ return combineLatest(arrayObsLayers);
51
+ }
42
52
  createLayer(layerOptions) {
43
- if (!layerOptions.source) {
44
- return;
45
- }
46
- if (layerOptions.source.options &&
47
- layerOptions.source.options._layerOptionsFromSource) {
53
+ if (layerOptions.source?.options?._layerOptionsFromSource) {
48
54
  layerOptions = ObjectUtils.mergeDeep(layerOptions.source.options._layerOptionsFromSource, layerOptions || {});
49
55
  }
50
56
  let layer;
@@ -78,20 +84,35 @@ export class LayerService {
78
84
  }
79
85
  return layer;
80
86
  }
81
- createAsyncLayer(_layerOptions, detailedContextUri) {
82
- const layerOptions = computeMVTOptionsOnHover(_layerOptions);
83
- if (layerOptions.source) {
84
- return new Observable((d) => d.next(this.createLayer(layerOptions)));
87
+ createAsyncLayer(options, detailedContextUri) {
88
+ let optionsCloned = { ...options };
89
+ computeMVTOptionsOnHover(optionsCloned);
90
+ if (optionsCloned.source) {
91
+ return new Observable((d) => d.next(this.createLayer(optionsCloned)));
85
92
  }
86
93
  return this.dataSourceService
87
- .createAsyncDataSource(layerOptions.sourceOptions, detailedContextUri)
94
+ .createAsyncDataSource(optionsCloned.sourceOptions, detailedContextUri)
88
95
  .pipe(map((source) => {
89
96
  if (source === undefined) {
97
+ const found = this.unavailableLayers.some((el) => el === optionsCloned);
98
+ if (!found) {
99
+ this.unavailableLayers.push(optionsCloned);
100
+ }
90
101
  return undefined;
91
102
  }
92
- return this.createLayer(Object.assign(layerOptions, { source }));
103
+ return this.createLayer(Object.assign(optionsCloned, { source }));
93
104
  }));
94
105
  }
106
+ createAsyncGroup(options, detailedContextUri) {
107
+ if (!options.children?.length) {
108
+ return of(this.createGroup(null, options));
109
+ }
110
+ return this.createLayers(options.children, detailedContextUri).pipe(map((layers) => this.createGroup(layers.filter(Boolean), options)));
111
+ }
112
+ createGroup(layers, options) {
113
+ const group = new LayerGroup(layers, options);
114
+ return group;
115
+ }
95
116
  createImageLayer(layerOptions) {
96
117
  return new ImageLayer(layerOptions, this.messageService, this.authInterceptor);
97
118
  }
@@ -119,7 +140,6 @@ export class LayerService {
119
140
  }
120
141
  else if (layerOptions.igoStyle.igoStyleObject &&
121
142
  layerOptions.idbInfo?.storeToIdb) {
122
- // temporary fix todo : handle it with geostyler.
123
143
  style = this.styleService.parseStyle('style', layerOptions.igoStyle.igoStyleObject);
124
144
  }
125
145
  if (layerOptions.source instanceof ArcGISRestDataSource) {
@@ -131,7 +151,7 @@ export class LayerService {
131
151
  layerOptions.style = (feature, resolution) => {
132
152
  return serviceStyle.createStyleByAttribute(feature, layerOptions.igoStyle.styleByAttribute, resolution);
133
153
  };
134
- igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService.geoDBService, this.layerDBService);
154
+ igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService?.geoDBService, this.layerDBService);
135
155
  }
136
156
  if (layerOptions.source instanceof ClusterDataSource) {
137
157
  const serviceStyle = this.styleService;
@@ -139,13 +159,13 @@ export class LayerService {
139
159
  layerOptions.style = (feature, resolution) => {
140
160
  return serviceStyle.createClusterStyle(feature, resolution, layerOptions.clusterParam, baseStyle);
141
161
  };
142
- igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService.geoDBService, this.layerDBService);
162
+ igoLayer = new VectorLayer(layerOptions, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService?.geoDBService, this.layerDBService);
143
163
  }
144
164
  const layerOptionsOl = Object.assign({}, layerOptions, {
145
165
  style
146
166
  });
147
167
  if (!igoLayer) {
148
- igoLayer = new VectorLayer(layerOptionsOl, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService.geoDBService, this.layerDBService);
168
+ igoLayer = new VectorLayer(layerOptionsOl, this.messageService, this.authInterceptor, this.geoNetworkService, this.geoNetworkService?.geoDBService, this.layerDBService);
149
169
  }
150
170
  this.applyMapboxStyle(igoLayer, layerOptionsOl);
151
171
  return igoLayer;
@@ -245,7 +265,7 @@ export class LayerService {
245
265
  }
246
266
  }
247
267
  createAsyncIdbLayers(contextUri = '*') {
248
- return this.layerDBService.getAll().pipe(concatMap((res) => {
268
+ return this.layerDBService?.getAll().pipe(concatMap((res) => {
249
269
  const idbLayers = contextUri !== '*'
250
270
  ? res.filter((l) => l.detailedContextUri === contextUri)
251
271
  : res;
@@ -255,15 +275,41 @@ export class LayerService {
255
275
  return combineLatest(layersOptions.map((layerOptions) => this.createAsyncLayer(layerOptions)));
256
276
  }));
257
277
  }
258
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LayerService, deps: [{ token: i1.HttpClient }, { token: i2.StyleService }, { token: i3.DataSourceService }, { token: i4.GeoNetworkService }, { token: i5.MessageService }, { token: i6.LayerDBService }, { token: i7.AuthInterceptor, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
259
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LayerService, providedIn: 'root' });
278
+ deleteUnavailableLayers(anyLayerOptions) {
279
+ const anyLayerSourceOptions = anyLayerOptions.sourceOptions;
280
+ const index = this.unavailableLayers.findIndex((item) => {
281
+ const baseSourceOptions = item.sourceOptions;
282
+ if (this.sourceOptionsWithParams(baseSourceOptions) &&
283
+ this.sourceOptionsWithParams(anyLayerSourceOptions)) {
284
+ return (baseSourceOptions.params.LAYERS ===
285
+ anyLayerSourceOptions.params.LAYERS);
286
+ }
287
+ else if (this.sourceOptionsWithLayer(baseSourceOptions) &&
288
+ this.sourceOptionsWithLayer(anyLayerSourceOptions)) {
289
+ return baseSourceOptions.layer === anyLayerSourceOptions.layer;
290
+ }
291
+ });
292
+ this.unavailableLayers.splice(index, index >= 0 ? 1 : 0);
293
+ }
294
+ sourceOptionsWithParams(sourceOptions) {
295
+ return 'params' in sourceOptions;
296
+ }
297
+ sourceOptionsWithLayer(sourceOptions) {
298
+ return 'layer' in sourceOptions;
299
+ }
300
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerService, deps: [{ token: i1.HttpClient }, { token: i2.StyleService }, { token: i3.DataSourceService }, { token: i4.MessageService }, { token: i5.GeoNetworkService, optional: true }, { token: i6.LayerDBService, optional: true }, { token: i7.AuthInterceptor, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
301
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerService, providedIn: 'root' });
260
302
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LayerService, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerService, decorators: [{
262
304
  type: Injectable,
263
305
  args: [{
264
306
  providedIn: 'root'
265
307
  }]
266
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.StyleService }, { type: i3.DataSourceService }, { type: i4.GeoNetworkService }, { type: i5.MessageService }, { type: i6.LayerDBService }, { type: i7.AuthInterceptor, decorators: [{
308
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.StyleService }, { type: i3.DataSourceService }, { type: i4.MessageService }, { type: i5.GeoNetworkService, decorators: [{
309
+ type: Optional
310
+ }] }, { type: i6.LayerDBService, decorators: [{
311
+ type: Optional
312
+ }] }, { type: i7.AuthInterceptor, decorators: [{
267
313
  type: Optional
268
314
  }] }] });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixhQUFhLEVBQ2QsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENB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QUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7YUFDbEMsQ0FBQyxDQUNILENBQUM7WUFDRixPQUFPLGFBQWEsQ0FDbEIsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FDcEMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7dUdBbFdVLFlBQVk7MkdBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbExheWVyVmVjdG9yVGlsZSBmcm9tICdvbC9sYXllci9WZWN0b3JUaWxlJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgeyBTdHlsZUxpa2UgYXMgT2xTdHlsZUxpa2UgfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5cbmltcG9ydCB7IHN0eWxlZnVuY3Rpb24gfSBmcm9tICdvbC1tYXBib3gtc3R5bGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgQ2FydG9EYXRhU291cmNlLFxuICBDbHVzdGVyRGF0YVNvdXJjZSxcbiAgRmVhdHVyZURhdGFTb3VyY2UsXG4gIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIE1WVERhdGFTb3VyY2UsXG4gIE9TTURhdGFTb3VyY2UsXG4gIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgVGlsZURlYnVnRGF0YVNvdXJjZSxcbiAgV0ZTRGF0YVNvdXJjZSxcbiAgV01TRGF0YVNvdXJjZSxcbiAgV01UU0RhdGFTb3VyY2UsXG4gIFdlYlNvY2tldERhdGFTb3VyY2UsXG4gIFhZWkRhdGFTb3VyY2Vcbn0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHsgTGF5ZXJEQlNlcnZpY2UgfSBmcm9tICcuLi8uLi9vZmZsaW5lL2xheWVyREIvbGF5ZXJEQi5zZXJ2aWNlJztcbmltcG9ydCB7IEdlb05ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vb2ZmbGluZS9zaGFyZWQvZ2VvLW5ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyIH0gZnJvbSAnLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xuaW1wb3J0IHtcbiAgQW55TGF5ZXJPcHRpb25zLFxuICBJbWFnZUxheWVyLFxuICBJbWFnZUxheWVyT3B0aW9ucyxcbiAgTGF5ZXIsXG4gIExheWVyT3B0aW9ucyxcbiAgVGlsZUxheWVyLFxuICBUaWxlTGF5ZXJPcHRpb25zLFxuICBWZWN0b3JMYXllcixcbiAgVmVjdG9yTGF5ZXJPcHRpb25zLFxuICBWZWN0b3JUaWxlTGF5ZXIsXG4gIFZlY3RvclRpbGVMYXllck9wdGlvbnNcbn0gZnJvbSAnLi9sYXllcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZSxcbiAgICBwcml2YXRlIGdlb05ldHdvcmtTZXJ2aWNlOiBHZW9OZXR3b3JrU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGxheWVyREJTZXJ2aWNlOiBMYXllckRCU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGF1dGhJbnRlcmNlcHRvcjogQXV0aEludGVyY2VwdG9yXG4gICkge31cblxuICBjcmVhdGVMYXllcihsYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucyk6IExheWVyIHtcbiAgICBpZiAoIWxheWVyT3B0aW9ucy5zb3VyY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMgJiZcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZVxuICAgICkge1xuICAgICAgbGF5ZXJPcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKFxuICAgICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UsXG4gICAgICAgIGxheWVyT3B0aW9ucyB8fCB7fVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbGF5ZXI7XG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMuc291cmNlLmNvbnN0cnVjdG9yKSB7XG4gICAgICBjYXNlIE9TTURhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdNVFNEYXRhU291cmNlOlxuICAgICAgY2FzZSBYWVpEYXRhU291cmNlOlxuICAgICAgY2FzZSBUaWxlRGVidWdEYXRhU291cmNlOlxuICAgICAgY2FzZSBDYXJ0b0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTpcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnMgYXMgVGlsZUxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBGZWF0dXJlRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV0ZTRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgQXJjR0lTUmVzdERhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdlYlNvY2tldERhdGFTb3VyY2U6XG4gICAgICBjYXNlIENsdXN0ZXJEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFZlY3RvckxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlOlxuICAgICAgY2FzZSBXTVNEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnMgYXMgSW1hZ2VMYXllck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTVZURGF0YVNvdXJjZToge1xuICAgICAgICBjb25zdCBfbGF5ZXJPcHRpb25zID0gY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyKGxheWVyT3B0aW9ucyk7XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgICAgX2xheWVyT3B0aW9ucyBhcyBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVyO1xuICB9XG5cbiAgY3JlYXRlQXN5bmNMYXllcihcbiAgICBfbGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMsXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8TGF5ZXI+IHtcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIoX2xheWVyT3B0aW9ucyk7XG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2UpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZCkgPT4gZC5uZXh0KHRoaXMuY3JlYXRlTGF5ZXIobGF5ZXJPcHRpb25zKSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLCBkZXRhaWxlZENvbnRleHRVcmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChzb3VyY2UpID0+IHtcbiAgICAgICAgICBpZiAoc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUxheWVyKE9iamVjdC5hc3NpZ24obGF5ZXJPcHRpb25zLCB7IHNvdXJjZSB9KSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUxheWVyKGxheWVyT3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMpOiBJbWFnZUxheWVyIHtcbiAgICByZXR1cm4gbmV3IEltYWdlTGF5ZXIoXG4gICAgICBsYXllck9wdGlvbnMsXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUaWxlTGF5ZXIobGF5ZXJPcHRpb25zOiBUaWxlTGF5ZXJPcHRpb25zKTogVGlsZUxheWVyIHtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcihcbiAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zKTogVmVjdG9yTGF5ZXIge1xuICAgIGxldCBzdHlsZTogU3R5bGVbXSB8IFN0eWxlIHwgT2xTdHlsZUxpa2UgPSBsYXllck9wdGlvbnMuc3R5bGU7XG4gICAgbGV0IGlnb0xheWVyOiBWZWN0b3JMYXllcjtcblxuICAgIGlmICghbGF5ZXJPcHRpb25zLmlnb1N0eWxlKSB7XG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUgPSB7fTtcbiAgICB9XG4gICAgY29uc3QgbGVnYWN5U3R5bGVPcHRpb25zID0gW1xuICAgICAgJ3N0eWxlQnlBdHRyaWJ1dGUnLFxuICAgICAgJ2hvdmVyU3R5bGUnLFxuICAgICAgJ21hcGJveFN0eWxlJyxcbiAgICAgICdjbHVzdGVyQmFzZVN0eWxlJyxcbiAgICAgICdzdHlsZSdcbiAgICBdO1xuICAgIC8vIGhhbmRsaW5nIGxlZ2FjeSBwcm9wZXJ0eS5cbiAgICB0aGlzLmhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9ucyk7XG4gICAgaWYgKFxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0ICYmXG4gICAgICAhbGF5ZXJPcHRpb25zLmlkYkluZm8/LnN0b3JlVG9JZGJcbiAgICApIHtcbiAgICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+XG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCxcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0ICYmXG4gICAgICBsYXllck9wdGlvbnMuaWRiSW5mbz8uc3RvcmVUb0lkYlxuICAgICkge1xuICAgICAgLy8gdGVtcG9yYXJ5IGZpeCB0b2RvIDogaGFuZGxlIGl0IHdpdGggZ2Vvc3R5bGVyLlxuICAgICAgc3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5wYXJzZVN0eWxlKFxuICAgICAgICAnc3R5bGUnLFxuICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2UgaW5zdGFuY2VvZiBBcmNHSVNSZXN0RGF0YVNvdXJjZSkge1xuICAgICAgY29uc3Qgc291cmNlID0gbGF5ZXJPcHRpb25zLnNvdXJjZSBhcyBBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgICAgIHN0eWxlID0gc291cmNlLm9wdGlvbnMucGFyYW1zLnN0eWxlO1xuICAgIH0gZWxzZSBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlPy5zdHlsZUJ5QXR0cmlidXRlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZS5nZW9EQlNlcnZpY2UsXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2UgaW5zdGFuY2VvZiBDbHVzdGVyRGF0YVNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XG4gICAgICBjb25zdCBiYXNlU3R5bGUgPSBsYXllck9wdGlvbnMuaWdvU3R5bGUuY2x1c3RlckJhc2VTdHlsZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlQ2x1c3RlclN0eWxlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgcmVzb2x1dGlvbixcbiAgICAgICAgICBsYXllck9wdGlvbnMuY2x1c3RlclBhcmFtLFxuICAgICAgICAgIGJhc2VTdHlsZVxuICAgICAgICApO1xuICAgICAgfTtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnMsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdlb0RCU2VydmljZSxcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXllck9wdGlvbnNPbCA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyT3B0aW9ucywge1xuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIGlmICghaWdvTGF5ZXIpIHtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnNPbCxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UuZ2VvREJTZXJ2aWNlLFxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wgYXMgYW55KTtcblxuICAgIHJldHVybiBpZ29MYXllcjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zOiBzdHJpbmdbXSkge1xuICAgIGxlZ2FjeVN0eWxlT3B0aW9ucy5tYXAoKGxlZ2FjeU9wdGlvbikgPT4ge1xuICAgICAgaWYgKGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dKSB7XG4gICAgICAgIGxldCBuZXdLZXkgPSBsZWdhY3lPcHRpb247XG4gICAgICAgIGlmIChsZWdhY3lPcHRpb24gPT09ICdzdHlsZScpIHtcbiAgICAgICAgICBpZiAobGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gaW5zdGFuY2VvZiBvbFN0eWxlLlN0eWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBuZXdLZXkgPSAnaWdvU3R5bGVPYmplY3QnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZVtuZXdLZXldID0gbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl07XG4gICAgICAgIGRlbGV0ZSBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXTtcbiAgICAgICAgY29uc29sZS53YXJuKGBcbiAgICAgICAgVGhlIGxvY2F0aW9uIG9mIHRoaXMgc3R5bGUgb3B0aW9uICgke2xlZ2FjeU9wdGlvbn0pIGlzIGRlcHJlY2F0ZWQuXG4gICAgICAgIFBsZWFzZSBtb3ZlIHRoaXMgcHJvcGVydHkgd2l0aGluIGlnb1N0eWxlIHByb3BlcnR5LlxuICAgICAgICBFeDogJHtsZWdhY3lPcHRpb259OiB7Li4ufSBtdXN0IGJlIHRyYW5zZmVyZWQgdG8gaWdvU3R5bGU6IHsgJHtuZXdLZXl9OiB7Li4ufSB9XG4gICAgICAgIFRoaXMgbGVnYWN5IGNvbnZlcnNpb24gd2lsbCBiZSBkZWxldGVkIGluIDIwMjQuXG4gICAgICAgIGApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXG4gICAgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gICk6IFZlY3RvclRpbGVMYXllciB7XG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZTtcbiAgICBsZXQgaWdvTGF5ZXI6IFZlY3RvclRpbGVMYXllcjtcblxuICAgIGlmICghbGF5ZXJPcHRpb25zLmlnb1N0eWxlKSB7XG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUgPSB7fTtcbiAgICB9XG4gICAgY29uc3QgbGVnYWN5U3R5bGVPcHRpb25zID0gW1xuICAgICAgJ3N0eWxlQnlBdHRyaWJ1dGUnLFxuICAgICAgJ2hvdmVyU3R5bGUnLFxuICAgICAgJ21hcGJveFN0eWxlJyxcbiAgICAgICdzdHlsZSdcbiAgICBdO1xuICAgIC8vIGhhbmRsaW5nIGxlZ2FjeSBwcm9wZXJ0eS5cbiAgICB0aGlzLmhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9ucyk7XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0KSB7XG4gICAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxuICAgICAgICB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QsXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcbiAgICAgIHN0eWxlXG4gICAgfSk7XG5cbiAgICBpZiAoIWlnb0xheWVyKSB7XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9uc09sLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGx5TWFwYm94U3R5bGUoaWdvTGF5ZXIsIGxheWVyT3B0aW9uc09sKTtcbiAgICByZXR1cm4gaWdvTGF5ZXI7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5TWFwYm94U3R5bGUobGF5ZXI6IExheWVyLCBsYXllck9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnMpIHtcbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlPy5tYXBib3hTdHlsZSkge1xuICAgICAgdGhpcy5nZXRTdHVmZihsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUudXJsKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnNwcml0ZSkge1xuICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0QWJzb2x1dGVVcmwoXG4gICAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUudXJsLFxuICAgICAgICAgICAgcmVzLnNwcml0ZVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5nZXRTdHVmZih1cmwgKyAnLmpzb24nKS5zdWJzY3JpYmUoKHJlczIpID0+IHtcbiAgICAgICAgICAgIHN0eWxlZnVuY3Rpb24oXG4gICAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxuICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS5zb3VyY2UsXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcmVzMixcbiAgICAgICAgICAgICAgdXJsICsgJy5wbmcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0eWxlZnVuY3Rpb24oXG4gICAgICAgICAgICBsYXllci5vbCBhcyBvbExheWVyVmVjdG9yVGlsZSxcbiAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS5zb3VyY2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0dWZmKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnTm8gc3R5bGUgd2FzIGZvdW5kJyk7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBYnNvbHV0ZVVybChzb3VyY2UsIHVybCkge1xuICAgIGNvbnN0IHIgPSBuZXcgUmVnRXhwKCdeaHR0cHwvLycsICdpJyk7XG4gICAgaWYgKHIudGVzdCh1cmwpKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc291cmNlLnN1YnN0cihzb3VyY2UubGVuZ3RoIC0gMSkgPT09ICcvJykge1xuICAgICAgICByZXR1cm4gc291cmNlICsgdXJsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZSArICcvJyArIHVybDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVBc3luY0lkYkxheWVycyhjb250ZXh0VXJpID0gJyonKTogT2JzZXJ2YWJsZTxMYXllcltdPiB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXJEQlNlcnZpY2UuZ2V0QWxsKCkucGlwZShcbiAgICAgIGNvbmNhdE1hcCgocmVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkYkxheWVycyA9XG4gICAgICAgICAgY29udGV4dFVyaSAhPT0gJyonXG4gICAgICAgICAgICA/IHJlcy5maWx0ZXIoKGwpID0+IGwuZGV0YWlsZWRDb250ZXh0VXJpID09PSBjb250ZXh0VXJpKVxuICAgICAgICAgICAgOiByZXM7XG4gICAgICAgIGNvbnN0IGxheWVyc09wdGlvbnM6IExheWVyT3B0aW9uc1tdID0gaWRiTGF5ZXJzLm1hcCgoaWRibCkgPT5cbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBpZGJsLmxheWVyT3B0aW9ucywge1xuICAgICAgICAgICAgc291cmNlT3B0aW9uczogaWRibC5zb3VyY2VPcHRpb25zXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgbGF5ZXJzT3B0aW9ucy5tYXAoKGxheWVyT3B0aW9ucykgPT5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUdMLG9CQUFvQixFQUVwQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUVkLG1CQUFtQixFQUNuQixhQUFhLEVBQ2QsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENB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LENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLGFBQW1DO1FBRW5DLE9BQU8sUUFBUSxJQUFJLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsc0JBQXNCLENBQ3BCLGFBQW1DO1FBRW5DLE9BQU8sT0FBTyxJQUFJLGFBQWEsQ0FBQztJQUNsQyxDQUFDO3dHQTNhVSxZQUFZOzRHQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xMYXllclZlY3RvclRpbGUgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yVGlsZSc7XG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgU3R5bGVMaWtlIGFzIE9sU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuXG5pbXBvcnQgeyBzdHlsZWZ1bmN0aW9uIH0gZnJvbSAnb2wtbWFwYm94LXN0eWxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQW55RGF0YVNvdXJjZU9wdGlvbnMsXG4gIEFueURhdGFTb3VyY2VPcHRpb25zV2l0aFBhcmFtcyxcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgQ2FydG9EYXRhU291cmNlLFxuICBDbHVzdGVyRGF0YVNvdXJjZSxcbiAgRmVhdHVyZURhdGFTb3VyY2UsXG4gIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIE1WVERhdGFTb3VyY2UsXG4gIE9TTURhdGFTb3VyY2UsXG4gIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSxcbiAgVGlsZURlYnVnRGF0YVNvdXJjZSxcbiAgV0ZTRGF0YVNvdXJjZSxcbiAgV01TRGF0YVNvdXJjZSxcbiAgV01UU0RhdGFTb3VyY2UsXG4gIFdNVFNEYXRhU291cmNlT3B0aW9ucyxcbiAgV2ViU29ja2V0RGF0YVNvdXJjZSxcbiAgWFlaRGF0YVNvdXJjZVxufSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBMYXllckRCU2VydmljZSB9IGZyb20gJy4uLy4uL29mZmxpbmUvbGF5ZXJEQi9sYXllckRCLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VvTmV0d29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9vZmZsaW5lL3NoYXJlZC9nZW8tbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5pbXBvcnQge1xuICBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIsXG4gIGlzTGF5ZXJHcm91cE9wdGlvbnNcbn0gZnJvbSAnLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xuaW1wb3J0IHtcbiAgQW55TGF5ZXIsXG4gIEFueUxheWVySXRlbU9wdGlvbnMsXG4gIEFueUxheWVyT3B0aW9ucyxcbiAgSW1hZ2VMYXllcixcbiAgSW1hZ2VMYXllck9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllckdyb3VwT3B0aW9ucyxcbiAgTGF5ZXJPcHRpb25zLFxuICBUaWxlTGF5ZXIsXG4gIFRpbGVMYXllck9wdGlvbnMsXG4gIFZlY3RvckxheWVyLFxuICBWZWN0b3JMYXllck9wdGlvbnMsXG4gIFZlY3RvclRpbGVMYXllcixcbiAgVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xufSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBMYXllckdyb3VwIH0gZnJvbSAnLi9sYXllcnMvbGF5ZXItZ3JvdXAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICBwdWJsaWMgdW5hdmFpbGFibGVMYXllcnM6IEFueUxheWVySXRlbU9wdGlvbnNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZ2VvTmV0d29ya1NlcnZpY2U/OiBHZW9OZXR3b3JrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxheWVyREJTZXJ2aWNlPzogTGF5ZXJEQlNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7fVxuXG4gIGNyZWF0ZUxheWVycyhcbiAgICBsYXllcnNPcHRpb246IEFueUxheWVyT3B0aW9uc1tdLFxuICAgIGNvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTwoQW55TGF5ZXIgfCB1bmRlZmluZWQpW10+IHtcbiAgICBjb25zdCBhcnJheU9ic0xheWVycyA9IGxheWVyc09wdGlvbi5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGlzTGF5ZXJHcm91cE9wdGlvbnMob3B0aW9uKVxuICAgICAgICA/IHRoaXMuY3JlYXRlQXN5bmNHcm91cChvcHRpb24pXG4gICAgICAgIDogdGhpcy5jcmVhdGVBc3luY0xheWVyKG9wdGlvbiwgY29udGV4dFVyaSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChhcnJheU9ic0xheWVycyk7XG4gIH1cblxuICBjcmVhdGVMYXllcihsYXllck9wdGlvbnM6IEFueUxheWVySXRlbU9wdGlvbnMpOiBMYXllciB7XG4gICAgaWYgKGxheWVyT3B0aW9ucy5zb3VyY2U/Lm9wdGlvbnM/Ll9sYXllck9wdGlvbnNGcm9tU291cmNlKSB7XG4gICAgICBsYXllck9wdGlvbnMgPSBPYmplY3RVdGlscy5tZXJnZURlZXAoXG4gICAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZSxcbiAgICAgICAgbGF5ZXJPcHRpb25zIHx8IHt9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsYXllcjogTGF5ZXI7XG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMuc291cmNlLmNvbnN0cnVjdG9yKSB7XG4gICAgICBjYXNlIE9TTURhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdNVFNEYXRhU291cmNlOlxuICAgICAgY2FzZSBYWVpEYXRhU291cmNlOlxuICAgICAgY2FzZSBUaWxlRGVidWdEYXRhU291cmNlOlxuICAgICAgY2FzZSBDYXJ0b0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTpcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnMgYXMgVGlsZUxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBGZWF0dXJlRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV0ZTRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgQXJjR0lTUmVzdERhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdlYlNvY2tldERhdGFTb3VyY2U6XG4gICAgICBjYXNlIENsdXN0ZXJEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFZlY3RvckxheWVyT3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlOlxuICAgICAgY2FzZSBXTVNEYXRhU291cmNlOlxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnMgYXMgSW1hZ2VMYXllck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTVZURGF0YVNvdXJjZToge1xuICAgICAgICBjb25zdCBfbGF5ZXJPcHRpb25zID0gY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyKGxheWVyT3B0aW9ucyk7XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgICAgX2xheWVyT3B0aW9ucyBhcyBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVyO1xuICB9XG5cbiAgY3JlYXRlQXN5bmNMYXllcihcbiAgICBvcHRpb25zOiBBbnlMYXllckl0ZW1PcHRpb25zLFxuICAgIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPExheWVyIHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IG9wdGlvbnNDbG9uZWQgPSB7IC4uLm9wdGlvbnMgfTtcblxuICAgIGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihvcHRpb25zQ2xvbmVkKTtcbiAgICBpZiAob3B0aW9uc0Nsb25lZC5zb3VyY2UpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZCkgPT4gZC5uZXh0KHRoaXMuY3JlYXRlTGF5ZXIob3B0aW9uc0Nsb25lZCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlU2VydmljZVxuICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZShvcHRpb25zQ2xvbmVkLnNvdXJjZU9wdGlvbnMsIGRldGFpbGVkQ29udGV4dFVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHNvdXJjZSkgPT4ge1xuICAgICAgICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnVuYXZhaWxhYmxlTGF5ZXJzLnNvbWUoXG4gICAgICAgICAgICAgIChlbCkgPT4gZWwgPT09IG9wdGlvbnNDbG9uZWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgICAgIHRoaXMudW5hdmFpbGFibGVMYXllcnMucHVzaChvcHRpb25zQ2xvbmVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTGF5ZXIoT2JqZWN0LmFzc2lnbihvcHRpb25zQ2xvbmVkLCB7IHNvdXJjZSB9KSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgY3JlYXRlQXN5bmNHcm91cChcbiAgICBvcHRpb25zOiBMYXllckdyb3VwT3B0aW9ucyxcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxMYXllckdyb3VwPiB7XG4gICAgaWYgKCFvcHRpb25zLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNyZWF0ZUdyb3VwKG51bGwsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMYXllcnMob3B0aW9ucy5jaGlsZHJlbiwgZGV0YWlsZWRDb250ZXh0VXJpKS5waXBlKFxuICAgICAgbWFwKChsYXllcnMpID0+IHRoaXMuY3JlYXRlR3JvdXAobGF5ZXJzLmZpbHRlcihCb29sZWFuKSwgb3B0aW9ucykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR3JvdXAoXG4gICAgbGF5ZXJzOiBBbnlMYXllcltdLFxuICAgIG9wdGlvbnM6IExheWVyR3JvdXBPcHRpb25zXG4gICk6IExheWVyR3JvdXAge1xuICAgIGNvbnN0IGdyb3VwID0gbmV3IExheWVyR3JvdXAobGF5ZXJzLCBvcHRpb25zKTtcbiAgICByZXR1cm4gZ3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUltYWdlTGF5ZXIobGF5ZXJPcHRpb25zOiBJbWFnZUxheWVyT3B0aW9ucyk6IEltYWdlTGF5ZXIge1xuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcihcbiAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnM6IFRpbGVMYXllck9wdGlvbnMpOiBUaWxlTGF5ZXIge1xuICAgIHJldHVybiBuZXcgVGlsZUxheWVyKFxuICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zOiBWZWN0b3JMYXllck9wdGlvbnMpOiBWZWN0b3JMYXllciB7XG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZSA9IGxheWVyT3B0aW9ucy5zdHlsZTtcbiAgICBsZXQgaWdvTGF5ZXI6IFZlY3RvckxheWVyO1xuXG4gICAgaWYgKCFsYXllck9wdGlvbnMuaWdvU3R5bGUpIHtcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZSA9IHt9O1xuICAgIH1cbiAgICBjb25zdCBsZWdhY3lTdHlsZU9wdGlvbnMgPSBbXG4gICAgICAnc3R5bGVCeUF0dHJpYnV0ZScsXG4gICAgICAnaG92ZXJTdHlsZScsXG4gICAgICAnbWFwYm94U3R5bGUnLFxuICAgICAgJ2NsdXN0ZXJCYXNlU3R5bGUnLFxuICAgICAgJ3N0eWxlJ1xuICAgIF07XG4gICAgLy8gaGFuZGxpbmcgbGVnYWN5IHByb3BlcnR5LlxuICAgIHRoaXMuaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zKTtcbiAgICBpZiAoXG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QgJiZcbiAgICAgICFsYXllck9wdGlvbnMuaWRiSW5mbz8uc3RvcmVUb0lkYlxuICAgICkge1xuICAgICAgc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT5cbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0LFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QgJiZcbiAgICAgIGxheWVyT3B0aW9ucy5pZGJJbmZvPy5zdG9yZVRvSWRiXG4gICAgKSB7XG4gICAgICBzdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlLnBhcnNlU3R5bGUoXG4gICAgICAgICdzdHlsZScsXG4gICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEFyY0dJU1Jlc3REYXRhU291cmNlKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBsYXllck9wdGlvbnMuc291cmNlIGFzIEFyY0dJU1Jlc3REYXRhU291cmNlO1xuICAgICAgc3R5bGUgPSBzb3VyY2Uub3B0aW9ucy5wYXJhbXMuc3R5bGU7XG4gICAgfSBlbHNlIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGU/LnN0eWxlQnlBdHRyaWJ1dGUpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2U/Lmdlb0RCU2VydmljZSxcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGNvbnN0IGJhc2VTdHlsZSA9IGxheWVyT3B0aW9ucy5pZ29TdHlsZS5jbHVzdGVyQmFzZVN0eWxlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVDbHVzdGVyU3R5bGUoXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5jbHVzdGVyUGFyYW0sXG4gICAgICAgICAgYmFzZVN0eWxlXG4gICAgICAgICk7XG4gICAgICB9O1xuXG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZT8uZ2VvREJTZXJ2aWNlLFxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxheWVyT3B0aW9uc09sID0gT2JqZWN0LmFzc2lnbih7fSwgbGF5ZXJPcHRpb25zLCB7XG4gICAgICBzdHlsZVxuICAgIH0pO1xuXG4gICAgaWYgKCFpZ29MYXllcikge1xuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9uc09sLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZT8uZ2VvREJTZXJ2aWNlLFxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wgYXMgYW55KTtcblxuICAgIHJldHVybiBpZ29MYXllcjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zOiBzdHJpbmdbXSkge1xuICAgIGxlZ2FjeVN0eWxlT3B0aW9ucy5tYXAoKGxlZ2FjeU9wdGlvbikgPT4ge1xuICAgICAgaWYgKGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dKSB7XG4gICAgICAgIGxldCBuZXdLZXkgPSBsZWdhY3lPcHRpb247XG4gICAgICAgIGlmIChsZWdhY3lPcHRpb24gPT09ICdzdHlsZScpIHtcbiAgICAgICAgICBpZiAobGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gaW5zdGFuY2VvZiBvbFN0eWxlLlN0eWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBuZXdLZXkgPSAnaWdvU3R5bGVPYmplY3QnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZVtuZXdLZXldID0gbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl07XG4gICAgICAgIGRlbGV0ZSBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXTtcbiAgICAgICAgY29uc29sZS53YXJuKGBcbiAgICAgICAgVGhlIGxvY2F0aW9uIG9mIHRoaXMgc3R5bGUgb3B0aW9uICgke2xlZ2FjeU9wdGlvbn0pIGlzIGRlcHJlY2F0ZWQuXG4gICAgICAgIFBsZWFzZSBtb3ZlIHRoaXMgcHJvcGVydHkgd2l0aGluIGlnb1N0eWxlIHByb3BlcnR5LlxuICAgICAgICBFeDogJHtsZWdhY3lPcHRpb259OiB7Li4ufSBtdXN0IGJlIHRyYW5zZmVyZWQgdG8gaWdvU3R5bGU6IHsgJHtuZXdLZXl9OiB7Li4ufSB9XG4gICAgICAgIFRoaXMgbGVnYWN5IGNvbnZlcnNpb24gd2lsbCBiZSBkZWxldGVkIGluIDIwMjQuXG4gICAgICAgIGApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXG4gICAgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gICk6IFZlY3RvclRpbGVMYXllciB7XG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZTtcbiAgICBsZXQgaWdvTGF5ZXI6IFZlY3RvclRpbGVMYXllcjtcblxuICAgIGlmICghbGF5ZXJPcHRpb25zLmlnb1N0eWxlKSB7XG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUgPSB7fTtcbiAgICB9XG4gICAgY29uc3QgbGVnYWN5U3R5bGVPcHRpb25zID0gW1xuICAgICAgJ3N0eWxlQnlBdHRyaWJ1dGUnLFxuICAgICAgJ2hvdmVyU3R5bGUnLFxuICAgICAgJ21hcGJveFN0eWxlJyxcbiAgICAgICdzdHlsZSdcbiAgICBdO1xuICAgIC8vIGhhbmRsaW5nIGxlZ2FjeSBwcm9wZXJ0eS5cbiAgICB0aGlzLmhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9ucyk7XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0KSB7XG4gICAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxuICAgICAgICB0aGlzLnN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QsXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcbiAgICAgIHN0eWxlXG4gICAgfSk7XG5cbiAgICBpZiAoIWlnb0xheWVyKSB7XG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9uc09sLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGx5TWFwYm94U3R5bGUoaWdvTGF5ZXIsIGxheWVyT3B0aW9uc09sKTtcbiAgICByZXR1cm4gaWdvTGF5ZXI7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5TWFwYm94U3R5bGUobGF5ZXI6IExheWVyLCBsYXllck9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnMpIHtcbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlPy5tYXBib3hTdHlsZSkge1xuICAgICAgdGhpcy5nZXRTdHVmZihsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUudXJsKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnNwcml0ZSkge1xuICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0QWJzb2x1dGVVcmwoXG4gICAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUudXJsLFxuICAgICAgICAgICAgcmVzLnNwcml0ZVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5nZXRTdHVmZih1cmwgKyAnLmpzb24nKS5zdWJzY3JpYmUoKHJlczIpID0+IHtcbiAgICAgICAgICAgIHN0eWxlZnVuY3Rpb24oXG4gICAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxuICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS5zb3VyY2UsXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcmVzMixcbiAgICAgICAgICAgICAgdXJsICsgJy5wbmcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0eWxlZnVuY3Rpb24oXG4gICAgICAgICAgICBsYXllci5vbCBhcyBvbExheWVyVmVjdG9yVGlsZSxcbiAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS5zb3VyY2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0dWZmKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnTm8gc3R5bGUgd2FzIGZvdW5kJyk7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBYnNvbHV0ZVVybChzb3VyY2UsIHVybCkge1xuICAgIGNvbnN0IHIgPSBuZXcgUmVnRXhwKCdeaHR0cHwvLycsICdpJyk7XG4gICAgaWYgKHIudGVzdCh1cmwpKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc291cmNlLnN1YnN0cihzb3VyY2UubGVuZ3RoIC0gMSkgPT09ICcvJykge1xuICAgICAgICByZXR1cm4gc291cmNlICsgdXJsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZSArICcvJyArIHVybDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVBc3luY0lkYkxheWVycyhjb250ZXh0VXJpID0gJyonKTogT2JzZXJ2YWJsZTxMYXllcltdPiB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXJEQlNlcnZpY2U/LmdldEFsbCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKHJlcykgPT4ge1xuICAgICAgICBjb25zdCBpZGJMYXllcnMgPVxuICAgICAgICAgIGNvbnRleHRVcmkgIT09ICcqJ1xuICAgICAgICAgICAgPyByZXMuZmlsdGVyKChsKSA9PiBsLmRldGFpbGVkQ29udGV4dFVyaSA9PT0gY29udGV4dFVyaSlcbiAgICAgICAgICAgIDogcmVzO1xuICAgICAgICBjb25zdCBsYXllcnNPcHRpb25zOiBMYXllck9wdGlvbnNbXSA9IGlkYkxheWVycy5tYXAoKGlkYmwpID0+XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaWRibC5sYXllck9wdGlvbnMsIHtcbiAgICAgICAgICAgIHNvdXJjZU9wdGlvbnM6IGlkYmwuc291cmNlT3B0aW9uc1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGxheWVyc09wdGlvbnMubWFwKChsYXllck9wdGlvbnMpID0+XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVVuYXZhaWxhYmxlTGF5ZXJzKGFueUxheWVyT3B0aW9uczogQW55TGF5ZXJJdGVtT3B0aW9ucykge1xuICAgIGNvbnN0IGFueUxheWVyU291cmNlT3B0aW9ucyA9IGFueUxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy51bmF2YWlsYWJsZUxheWVycy5maW5kSW5kZXgoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGJhc2VTb3VyY2VPcHRpb25zID0gaXRlbS5zb3VyY2VPcHRpb25zO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKGJhc2VTb3VyY2VPcHRpb25zKSAmJlxuICAgICAgICB0aGlzLnNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKGFueUxheWVyU291cmNlT3B0aW9ucylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIGJhc2VTb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlMgPT09XG4gICAgICAgICAgYW55TGF5ZXJTb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc291cmNlT3B0aW9uc1dpdGhMYXllcihiYXNlU291cmNlT3B0aW9ucykgJiZcbiAgICAgICAgdGhpcy5zb3VyY2VPcHRpb25zV2l0aExheWVyKGFueUxheWVyU291cmNlT3B0aW9ucylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gYmFzZVNvdXJjZU9wdGlvbnMubGF5ZXIgPT09IGFueUxheWVyU291cmNlT3B0aW9ucy5sYXllcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnVuYXZhaWxhYmxlTGF5ZXJzLnNwbGljZShpbmRleCwgaW5kZXggPj0gMCA/IDEgOiAwKTtcbiAgfVxuXG4gIHNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zKFxuICAgIHNvdXJjZU9wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zXG4gICk6IHNvdXJjZU9wdGlvbnMgaXMgQW55RGF0YVNvdXJjZU9wdGlvbnNXaXRoUGFyYW1zIHtcbiAgICByZXR1cm4gJ3BhcmFtcycgaW4gc291cmNlT3B0aW9ucztcbiAgfVxuXG4gIHNvdXJjZU9wdGlvbnNXaXRoTGF5ZXIoXG4gICAgc291cmNlT3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnNcbiAgKTogc291cmNlT3B0aW9ucyBpcyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfCBXTVRTRGF0YVNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiAnbGF5ZXInIGluIHNvdXJjZU9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvYW55LWxheWVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1hZ2VMYXllck9wdGlvbnMgfSBmcm9tICcuL2ltYWdlLWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllck9wdGlvbnMgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi90aWxlLWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWZWN0b3JMYXllck9wdGlvbnMgfSBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmVjdG9yVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBBbnlMYXllck9wdGlvbnMgPVxuICB8IExheWVyT3B0aW9uc1xuICB8IEltYWdlTGF5ZXJPcHRpb25zXG4gIHwgVGlsZUxheWVyT3B0aW9uc1xuICB8IFZlY3RvckxheWVyT3B0aW9uc1xuICB8IFZlY3RvclRpbGVMYXllck9wdGlvbnM7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvYW55LWxheWVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJbWFnZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cE9wdGlvbnMgfSBmcm9tICcuL2xheWVyLWdyb3VwLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0eXBlIExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHR5cGUgVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vdGlsZS1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdHlwZSBWZWN0b3JMYXllck9wdGlvbnMgfSBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdHlwZSBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi92ZWN0b3J0aWxlLWxheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIEFueUxheWVyT3B0aW9ucyA9IEFueUxheWVySXRlbU9wdGlvbnMgfCBMYXllckdyb3VwT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQW55TGF5ZXJJdGVtT3B0aW9ucyA9XG4gIHwgTGF5ZXJPcHRpb25zXG4gIHwgSW1hZ2VMYXllck9wdGlvbnNcbiAgfCBUaWxlTGF5ZXJPcHRpb25zXG4gIHwgVmVjdG9yTGF5ZXJPcHRpb25zXG4gIHwgVmVjdG9yVGlsZUxheWVyT3B0aW9ucztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9hbnktbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEltYWdlTGF5ZXIgfSBmcm9tICcuL2ltYWdlLWxheWVyJztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi9sYXllcic7XG5pbXBvcnQgeyBUaWxlTGF5ZXIgfSBmcm9tICcuL3RpbGUtbGF5ZXInO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyBWZWN0b3JUaWxlTGF5ZXIgfSBmcm9tICcuL3ZlY3RvcnRpbGUtbGF5ZXInO1xuXG5leHBvcnQgdHlwZSBBbnlMYXllciA9XG4gIHwgTGF5ZXJcbiAgfCBJbWFnZUxheWVyXG4gIHwgVGlsZUxheWVyXG4gIHwgVmVjdG9yTGF5ZXJcbiAgfCBWZWN0b3JUaWxlTGF5ZXI7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9hbnktbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cCB9IGZyb20gJy4vbGF5ZXItZ3JvdXAnO1xuXG5leHBvcnQgdHlwZSBBbnlMYXllciA9IExheWVyIHwgTGF5ZXJHcm91cDtcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllck9wdGlvbnMgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VMYXllck9wdGlvbnMgZXh0ZW5kcyBMYXllck9wdGlvbnMge1xuICBzb3VyY2U/OiBXTVNEYXRhU291cmNlIHwgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgc291cmNlT3B0aW9ucz86IFdNU0RhdGFTb3VyY2VPcHRpb25zIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHRva2VuS2V5Pzogc3RyaW5nO1xuICBvbD86IG9sTGF5ZXJJbWFnZTxvbFNvdXJjZUltYWdlPjtcbiAgbWV0YWRhdGE/OiB7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGV4dGVybj86IGJvb2xlYW47XG4gICAgYWJzdHJhY3Q/OiBzdHJpbmc7XG4gICAga2V5d29yZExpc3Q/OiBzdHJpbmdbXTtcbiAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHtcbiAgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnMsXG4gIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIFdNU0RhdGFTb3VyY2UsXG4gIFdNU0RhdGFTb3VyY2VPcHRpb25zXG59IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUxheWVyT3B0aW9ucyBleHRlbmRzIExheWVyT3B0aW9ucyB7XG4gIHNvdXJjZT86IFdNU0RhdGFTb3VyY2UgfCBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlO1xuICBzb3VyY2VPcHRpb25zPzogV01TRGF0YVNvdXJjZU9wdGlvbnMgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucztcbiAgdG9rZW5LZXk/OiBzdHJpbmc7XG4gIG9sPzogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+O1xuICBtZXRhZGF0YT86IHtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgZXh0ZXJuPzogYm9vbGVhbjtcbiAgICBhYnN0cmFjdD86IHN0cmluZztcbiAgICBrZXl3b3JkTGlzdD86IHN0cmluZ1tdO1xuICB9O1xufVxuIl19
@@ -4,6 +4,7 @@ import { Layer } from './layer';
4
4
  export class ImageLayer extends Layer {
5
5
  messageService;
6
6
  authInterceptor;
7
+ type = 'raster';
7
8
  watcher;
8
9
  constructor(options, messageService, authInterceptor) {
9
10
  super(options, messageService, authInterceptor);
@@ -29,14 +30,18 @@ export class ImageLayer extends Layer {
29
30
  }
30
31
  return image;
31
32
  }
32
- setMap(map) {
33
+ init(map) {
33
34
  if (map === undefined) {
34
35
  this.watcher.unsubscribe();
35
36
  }
36
37
  else {
37
38
  this.watcher.subscribe(() => void 1);
38
39
  }
39
- super.setMap(map);
40
+ super.init(map);
41
+ }
42
+ remove() {
43
+ this.watcher.unsubscribe();
44
+ super.remove();
40
45
  }
41
46
  customLoader(tile, src, interceptor, messageService) {
42
47
  const xhr = new XMLHttpRequest();
@@ -67,4 +72,4 @@ export class ImageLayer extends Layer {
67
72
  xhr.send();
68
73
  }
69
74
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBTTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE1BQU0sT0FBTyxVQUFXLFNBQVEsS0FBSztJQVMxQjtJQUNBO0lBTEQsT0FBTyxDQUFlO0lBRTlCLFlBQ0UsT0FBMEIsRUFDbkIsY0FBOEIsRUFDOUIsZUFBaUM7UUFFeEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFIekMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUd4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ25DLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxhQUFhO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEQsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQW1CO1NBQ2hELENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxTQUFTLEVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUF1QjtRQUNuQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU8sWUFBWSxDQUNsQixJQUFJLEVBQ0osR0FBVyxFQUNYLFdBQTRCLEVBQzVCLGNBQThCO1FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFFakMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2QsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1lBQzFCLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQztRQUM5QixDQUFDO1FBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckIsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsR0FBRyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7UUFFakMsR0FBRyxDQUFDLE1BQU0sR0FBRztZQUNYLE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFFLElBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRCxNQUFNLGNBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRSxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxjQUFjLENBQUMsS0FBSyxDQUNsQiwwQ0FBMEMsRUFDMUMscUNBQXFDLENBQ3RDLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcblxuaW1wb3J0IG9sTGF5ZXJJbWFnZSBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgb2xTb3VyY2VJbWFnZSBmcm9tICdvbC9zb3VyY2UvSW1hZ2UnO1xuXG5pbXBvcnQgeyBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV01TRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IEltYWdlV2F0Y2hlciB9IGZyb20gJy4uLy4uL3V0aWxzL2ltYWdlLXdhdGNoZXInO1xuaW1wb3J0IHsgSW1hZ2VMYXllck9wdGlvbnMgfSBmcm9tICcuL2ltYWdlLWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4vbGF5ZXInO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VMYXllciBleHRlbmRzIExheWVyIHtcbiAgcHVibGljIGRlY2xhcmUgZGF0YVNvdXJjZTogV01TRGF0YVNvdXJjZSB8IEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2U7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IEltYWdlTGF5ZXJPcHRpb25zO1xuICBwdWJsaWMgZGVjbGFyZSBvbDogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+O1xuXG4gIHByaXZhdGUgd2F0Y2hlcjogSW1hZ2VXYXRjaGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbnM6IEltYWdlTGF5ZXJPcHRpb25zLFxuICAgIHB1YmxpYyBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGF1dGhJbnRlcmNlcHRvcj86IEF1dGhJbnRlcmNlcHRvclxuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBtZXNzYWdlU2VydmljZSwgYXV0aEludGVyY2VwdG9yKTtcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgSW1hZ2VXYXRjaGVyKHRoaXMsIHRoaXMubWVzc2FnZVNlcnZpY2UpO1xuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMud2F0Y2hlci5zdGF0dXMkO1xuICAgIHRoaXMuc3RhdHVzJC5zdWJzY3JpYmUoKHZhbFN0YXR1cykgPT4ge1xuICAgICAgaWYgKHZhbFN0YXR1cyA9PT0gMCkge1xuICAgICAgICB0aGlzLm9sTG9hZGluZ1Byb2JsZW0gPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+IHtcbiAgICBjb25zdCBvbE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdGlvbnMsIHtcbiAgICAgIHNvdXJjZTogdGhpcy5vcHRpb25zLnNvdXJjZS5vbCBhcyBvbFNvdXJjZUltYWdlXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbWFnZSA9IG5ldyBvbExheWVySW1hZ2Uob2xPcHRpb25zKTtcbiAgICBpZiAodGhpcy5hdXRoSW50ZXJjZXB0b3IpIHtcbiAgICAgIChpbWFnZS5nZXRTb3VyY2UoKSBhcyBhbnkpLnNldEltYWdlTG9hZEZ1bmN0aW9uKCh0aWxlLCBzcmMpID0+IHtcbiAgICAgICAgdGhpcy5jdXN0b21Mb2FkZXIodGlsZSwgc3JjLCB0aGlzLmF1dGhJbnRlcmNlcHRvciwgdGhpcy5tZXNzYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW1hZ2U7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFwKG1hcDogSWdvTWFwIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKG1hcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLndhdGNoZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53YXRjaGVyLnN1YnNjcmliZSgoKSA9PiB2b2lkIDEpO1xuICAgIH1cbiAgICBzdXBlci5zZXRNYXAobWFwKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9tTG9hZGVyKFxuICAgIHRpbGUsXG4gICAgc3JjOiBzdHJpbmcsXG4gICAgaW50ZXJjZXB0b3I6IEF1dGhJbnRlcmNlcHRvcixcbiAgICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cbiAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHNyYyk7XG4gICAgbGV0IHVybCA9IHNyYztcbiAgICBpZiAoYWx0ZXJlZFVybFdpdGhLZXlBdXRoKSB7XG4gICAgICB1cmwgPSBhbHRlcmVkVXJsV2l0aEtleUF1dGg7XG4gICAgfVxuICAgIHhoci5vcGVuKCdHRVQnLCB1cmwpO1xuICAgIGNvbnN0IGludGVyY2VwdGVkID0gaW50ZXJjZXB0b3IuaW50ZXJjZXB0WGhyKHhociwgdXJsKTtcbiAgICBpZiAoIWludGVyY2VwdGVkKSB7XG4gICAgICB4aHIuYWJvcnQoKTtcbiAgICAgIHRpbGUuZ2V0SW1hZ2UoKS5zcmMgPSB1cmw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG5cbiAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYXJyYXlCdWZmZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoKHRoaXMgYXMgYW55KS5yZXNwb25zZSk7XG4gICAgICBjb25zdCByZXNwb25zZVN0cmluZyA9IG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShhcnJheUJ1ZmZlclZpZXcpO1xuICAgICAgaWYgKHJlc3BvbnNlU3RyaW5nLmluY2x1ZGVzKCdTZXJ2aWNlRXhjZXB0aW9uUmVwb3J0JykpIHtcbiAgICAgICAgbWVzc2FnZVNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS5vcHRpb25zQXBpVW5hdmFpbGFibGUnLFxuICAgICAgICAgICdpZ28uZ2VvLmRhdGFTb3VyY2UudW5hdmFpbGFibGVUaXRsZSdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYXJyYXlCdWZmZXJWaWV3XSwgeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KTtcbiAgICAgIGNvbnN0IHVybENyZWF0b3IgPSB3aW5kb3cuVVJMO1xuICAgICAgY29uc3QgaW1hZ2VVcmwgPSB1cmxDcmVhdG9yLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIHRpbGUuZ2V0SW1hZ2UoKS5zcmMgPSBpbWFnZVVybDtcbiAgICB9O1xuICAgIHhoci5zZW5kKCk7XG4gIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBTTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2hDLE1BQU0sT0FBTyxVQUFXLFNBQVEsS0FBSztJQVUxQjtJQUNBO0lBVlQsSUFBSSxHQUFjLFFBQVEsQ0FBQztJQUtuQixPQUFPLENBQWU7SUFFOUIsWUFDRSxPQUEwQixFQUNuQixjQUE4QixFQUM5QixlQUFpQztRQUV4QyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUh6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBR3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxTQUFTLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZ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LElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5cbmltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyB0eXBlIE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBJbWFnZVdhdGNoZXIgfSBmcm9tICcuLi8uLi91dGlscy9pbWFnZS13YXRjaGVyJztcbmltcG9ydCB7IEltYWdlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IExheWVyVHlwZSB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEltYWdlTGF5ZXIgZXh0ZW5kcyBMYXllciB7XG4gIHR5cGU6IExheWVyVHlwZSA9ICdyYXN0ZXInO1xuICBkZWNsYXJlIHB1YmxpYyBkYXRhU291cmNlOiBXTVNEYXRhU291cmNlIHwgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbExheWVySW1hZ2U8b2xTb3VyY2VJbWFnZT47XG5cbiAgcHJpdmF0ZSB3YXRjaGVyOiBJbWFnZVdhdGNoZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogSW1hZ2VMYXllck9wdGlvbnMsXG4gICAgcHVibGljIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aEludGVyY2VwdG9yPzogQXV0aEludGVyY2VwdG9yXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIG1lc3NhZ2VTZXJ2aWNlLCBhdXRoSW50ZXJjZXB0b3IpO1xuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBJbWFnZVdhdGNoZXIodGhpcywgdGhpcy5tZXNzYWdlU2VydmljZSk7XG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy53YXRjaGVyLnN0YXR1cyQ7XG4gICAgdGhpcy5zdGF0dXMkLnN1YnNjcmliZSgodmFsU3RhdHVzKSA9PiB7XG4gICAgICBpZiAodmFsU3RhdHVzID09PSAwKSB7XG4gICAgICAgIHRoaXMub2xMb2FkaW5nUHJvYmxlbSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xMYXllcigpOiBvbExheWVySW1hZ2U8b2xTb3VyY2VJbWFnZT4ge1xuICAgIGNvbnN0IG9sT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMub3B0aW9ucywge1xuICAgICAgc291cmNlOiB0aGlzLm9wdGlvbnMuc291cmNlLm9sIGFzIG9sU291cmNlSW1hZ2VcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlID0gbmV3IG9sTGF5ZXJJbWFnZShvbE9wdGlvbnMpO1xuICAgIGlmICh0aGlzLmF1dGhJbnRlcmNlcHRvcikge1xuICAgICAgKGltYWdlLmdldFNvdXJjZSgpIGFzIGFueSkuc2V0SW1hZ2VMb2FkRnVuY3Rpb24oKHRpbGUsIHNyYykgPT4ge1xuICAgICAgICB0aGlzLmN1c3RvbUxvYWRlcih0aWxlLCBzcmMsIHRoaXMuYXV0aEludGVyY2VwdG9yLCB0aGlzLm1lc3NhZ2VTZXJ2aWNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBpbWFnZTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KG1hcDogTWFwQmFzZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy53YXRjaGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4gdm9pZCAxKTtcbiAgICB9XG4gICAgc3VwZXIuaW5pdChtYXApO1xuICB9XG5cbiAgcmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xuICAgIHN1cGVyLnJlbW92ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21Mb2FkZXIoXG4gICAgdGlsZSxcbiAgICBzcmM6IHN0cmluZyxcbiAgICBpbnRlcmNlcHRvcjogQXV0aEludGVyY2VwdG9yLFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHtcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgIGNvbnN0IGFsdGVyZWRVcmxXaXRoS2V5QXV0aCA9IGludGVyY2VwdG9yLmFsdGVyVXJsV2l0aEtleUF1dGgoc3JjKTtcbiAgICBsZXQgdXJsID0gc3JjO1xuICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcbiAgICAgIHVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcbiAgICB9XG4gICAgeGhyLm9wZW4oJ0dFVCcsIHVybCk7XG4gICAgY29uc3QgaW50ZXJjZXB0ZWQgPSBpbnRlcmNlcHRvci5pbnRlcmNlcHRYaHIoeGhyLCB1cmwpO1xuICAgIGlmICghaW50ZXJjZXB0ZWQpIHtcbiAgICAgIHhoci5hYm9ydCgpO1xuICAgICAgdGlsZS5nZXRJbWFnZSgpLnNyYyA9IHVybDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcblxuICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheSgodGhpcyBhcyBhbnkpLnJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlU3RyaW5nID0gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGFycmF5QnVmZmVyVmlldyk7XG4gICAgICBpZiAocmVzcG9uc2VTdHJpbmcuaW5jbHVkZXMoJ1NlcnZpY2VFeGNlcHRpb25SZXBvcnQnKSkge1xuICAgICAgICBtZXNzYWdlU2VydmljZS5lcnJvcihcbiAgICAgICAgICAnaWdvLmdlby5kYXRhU291cmNlLm9wdGlvbnNBcGlVbmF2YWlsYWJsZScsXG4gICAgICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZVRpdGxlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJheUJ1ZmZlclZpZXddLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuICAgICAgY29uc3QgdXJsQ3JlYXRvciA9IHdpbmRvdy5VUkw7XG4gICAgICBjb25zdCBpbWFnZVVybCA9IHVybENyZWF0b3IuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgdGlsZS5nZXRJbWFnZSgpLnNyYyA9IGltYWdlVXJsO1xuICAgIH07XG4gICAgeGhyLnNlbmQoKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,8 @@
1
+ export * from './linked';
1
2
  export * from './layer';
3
+ export * from './layer-base';
2
4
  export * from './layer.interface';
5
+ export * from './legend.interface';
3
6
  export * from './image-layer';
4
7
  export * from './image-layer.interface';
5
8
  export * from './tile-layer';
@@ -10,4 +13,6 @@ export * from './vectortile-layer';
10
13
  export * from './vectortile-layer.interface';
11
14
  export * from './any-layer';
12
15
  export * from './any-layer.interface';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3J0aWxlLWxheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXIuaW50ZXJmYWNlJztcbiJdfQ==
16
+ export * from './layer-group.interface';
17
+ export * from './layer-group';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpbmtlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xlZ2VuZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3J0aWxlLWxheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hbnktbGF5ZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItZ3JvdXAuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItZ3JvdXAnO1xuIl19