@igo2/geo 16.2.0 → 17.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
  9. package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +9 -37
  11. package/esm2022/lib/catalog/index.mjs +7 -1
  12. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  14. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2022/lib/catalog/shared/catalog.service.mjs +72 -31
  16. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  18. package/esm2022/lib/datasource/index.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +7 -1
  20. package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
  21. package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
  22. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  25. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.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.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
  42. package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
  43. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
  44. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  45. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
  46. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
  48. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  50. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  51. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  52. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  53. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
  54. package/esm2022/lib/directions/directions.component.mjs +18 -10
  55. package/esm2022/lib/directions/directions.module.mjs +17 -70
  56. package/esm2022/lib/directions/index.mjs +1 -1
  57. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  58. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
  61. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  62. package/esm2022/lib/directions/shared/index.mjs +1 -1
  63. package/esm2022/lib/directions/shared/store.mjs +1 -1
  64. package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
  65. package/esm2022/lib/download/download-button/index.mjs +1 -1
  66. package/esm2022/lib/download/download.module.mjs +10 -27
  67. package/esm2022/lib/download/index.mjs +1 -1
  68. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  69. package/esm2022/lib/download/shared/download.service.mjs +5 -5
  70. package/esm2022/lib/download/shared/index.mjs +1 -1
  71. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
  72. package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
  73. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
  74. package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
  75. package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
  76. package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
  77. package/esm2022/lib/draw/index.mjs +1 -1
  78. package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
  79. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  80. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  81. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  82. package/esm2022/lib/draw/shared/index.mjs +1 -1
  83. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  84. package/esm2022/lib/environment/index.mjs +1 -1
  85. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
  86. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
  87. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
  88. package/esm2022/lib/feature/feature-details/index.mjs +9 -0
  89. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
  90. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
  91. package/esm2022/lib/feature/feature.module.mjs +9 -10
  92. package/esm2022/lib/feature/index.mjs +8 -2
  93. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  94. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  95. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  96. package/esm2022/lib/feature/shared/index.mjs +1 -1
  97. package/esm2022/lib/feature/shared/store.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  99. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  102. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
  105. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2022/lib/filter/filter.module.mjs +47 -177
  108. package/esm2022/lib/filter/index.mjs +36 -1
  109. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
  110. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
  111. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
  112. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
  113. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
  114. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
  115. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
  116. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
  117. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
  118. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
  119. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
  120. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  121. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
  122. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
  123. package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
  125. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
  126. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
  127. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
  128. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
  129. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
  130. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
  131. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
  132. package/esm2022/lib/geo.module.mjs +5 -43
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  134. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
  135. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
  136. package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
  137. package/esm2022/lib/geometry/geometry.module.mjs +9 -10
  138. package/esm2022/lib/geometry/index.mjs +2 -3
  139. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  143. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  145. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  146. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  147. package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
  148. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  149. package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
  150. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  151. package/esm2022/lib/import-export/import-export.module.mjs +10 -81
  152. package/esm2022/lib/import-export/index.mjs +9 -1
  153. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
  154. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  156. package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
  157. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  158. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  159. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  160. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  161. package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
  162. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  163. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  164. package/esm2022/lib/layer/index.mjs +19 -1
  165. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
  166. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
  167. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
  168. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
  169. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
  170. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
  171. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
  172. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
  173. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
  174. package/esm2022/lib/layer/layer.module.mjs +16 -93
  175. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  176. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  179. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  180. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  181. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  182. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  183. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  184. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  185. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  186. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  187. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
  188. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  189. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  190. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  191. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  192. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  193. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
  194. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
  195. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
  196. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
  197. package/esm2022/lib/map/index.mjs +32 -1
  198. package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
  199. package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
  200. package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
  201. package/esm2022/lib/map/map.module.mjs +36 -66
  202. package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
  203. package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
  204. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
  205. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  207. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
  209. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  210. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
  211. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  212. package/esm2022/lib/map/shared/map.mjs +1 -1
  213. package/esm2022/lib/map/shared/map.service.mjs +5 -5
  214. package/esm2022/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
  216. package/esm2022/lib/map/shared/projection.service.mjs +5 -5
  217. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  218. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
  219. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  220. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
  221. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
  222. package/esm2022/lib/measure/index.mjs +2 -3
  223. package/esm2022/lib/measure/measure.module.mjs +8 -5
  224. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  225. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
  226. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
  227. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
  228. package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
  229. package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
  230. package/esm2022/lib/measure/shared/index.mjs +1 -1
  231. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  232. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  233. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  234. package/esm2022/lib/metadata/index.mjs +6 -1
  235. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  236. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
  237. package/esm2022/lib/metadata/metadata.module.mjs +10 -31
  238. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  239. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  240. package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
  241. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  242. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  243. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  244. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
  245. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  246. package/esm2022/lib/offline/index.mjs +1 -1
  247. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  248. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  249. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
  250. package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
  251. package/esm2022/lib/offline/shared/index.mjs +1 -1
  252. package/esm2022/lib/overlay/index.mjs +1 -1
  253. package/esm2022/lib/overlay/overlay.module.mjs +10 -8
  254. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  255. package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
  256. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  257. package/esm2022/lib/overlay/shared/overlay.mjs +2 -2
  258. package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
  259. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  260. package/esm2022/lib/print/index.mjs +1 -1
  261. package/esm2022/lib/print/print/print.component.mjs +7 -7
  262. package/esm2022/lib/print/print-form/index.mjs +1 -1
  263. package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
  264. package/esm2022/lib/print/print.module.mjs +10 -54
  265. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  266. package/esm2022/lib/print/shared/index.mjs +1 -1
  267. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  268. package/esm2022/lib/print/shared/print.service.mjs +10 -10
  269. package/esm2022/lib/print/shared/print.type.mjs +1 -1
  270. package/esm2022/lib/query/index.mjs +1 -1
  271. package/esm2022/lib/query/query.module.mjs +7 -8
  272. package/esm2022/lib/query/shared/index.mjs +1 -1
  273. package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
  274. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  275. package/esm2022/lib/query/shared/query.directive.mjs +8 -7
  276. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  277. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  278. package/esm2022/lib/query/shared/query.service.mjs +7 -9
  279. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  280. package/esm2022/lib/search/index.mjs +14 -5
  281. package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
  282. package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
  283. package/esm2022/lib/search/search-results/index.mjs +10 -0
  284. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
  285. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
  286. package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
  287. package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
  288. package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
  289. package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
  290. package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
  291. package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
  292. package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
  293. package/esm2022/lib/search/search.module.mjs +10 -13
  294. package/esm2022/lib/search/shared/index.mjs +1 -1
  295. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
  296. package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
  297. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  298. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  299. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  300. package/esm2022/lib/search/shared/search.service.mjs +5 -5
  301. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  302. package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
  303. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  304. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  305. package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
  306. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  307. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  308. package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
  309. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +1 -1
  310. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  311. package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
  312. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  313. package/esm2022/lib/search/shared/sources/index.mjs +1 -1
  314. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  315. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  316. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  317. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  318. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  319. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  320. package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
  321. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  322. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  323. package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
  324. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  325. package/esm2022/lib/style/index.mjs +1 -1
  326. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  327. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  328. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  329. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  330. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  331. package/esm2022/lib/style/shared/index.mjs +1 -1
  332. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  333. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  334. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  335. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  336. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  337. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  338. package/esm2022/lib/style/style-list/index.mjs +1 -1
  339. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  340. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  341. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  342. package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
  343. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  344. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
  345. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  346. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  347. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
  348. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  349. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
  350. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  351. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  352. package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
  353. package/esm2022/lib/style/style-service/index.mjs +1 -1
  354. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  355. package/esm2022/lib/style/style.module.mjs +12 -57
  356. package/esm2022/lib/toast/index.mjs +1 -1
  357. package/esm2022/lib/toast/toast.component.mjs +19 -11
  358. package/esm2022/lib/toast/toast.module.mjs +10 -30
  359. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  360. package/esm2022/lib/utils/id-generator.mjs +1 -1
  361. package/esm2022/lib/utils/index.mjs +1 -1
  362. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  363. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  364. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  365. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
  366. package/esm2022/lib/wkt/index.mjs +1 -1
  367. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  368. package/esm2022/lib/wkt/shared/wkt.service.mjs +19 -19
  369. package/esm2022/lib/wkt/wkt.module.mjs +8 -5
  370. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
  371. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
  372. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  373. package/esm2022/lib/workspace/index.mjs +1 -1
  374. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  375. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
  376. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  377. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
  378. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  379. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  380. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
  381. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  382. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  383. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  384. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
  385. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
  386. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  387. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
  388. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
  389. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  390. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
  391. package/esm2022/lib/workspace/workspace.module.mjs +10 -35
  392. package/esm2022/public_api.mjs +11 -12
  393. package/fesm2022/igo2-geo.mjs +31812 -31914
  394. package/fesm2022/igo2-geo.mjs.map +1 -1
  395. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  396. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  397. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  398. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
  399. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  400. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  401. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  402. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
  403. package/lib/catalog/catalog-library/index.d.ts +5 -0
  404. package/lib/catalog/catalog.module.d.ts +6 -9
  405. package/lib/catalog/index.d.ts +2 -0
  406. package/lib/datasource/shared/capabilities.interface.d.ts +16 -0
  407. package/lib/datasource/shared/datasource.service.d.ts +2 -4
  408. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
  409. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  410. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  411. package/lib/directions/directions.component.d.ts +1 -1
  412. package/lib/directions/directions.module.d.ts +9 -20
  413. package/lib/download/download-button/download-button.component.d.ts +1 -1
  414. package/lib/download/download.module.d.ts +4 -6
  415. package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
  416. package/lib/draw/draw/draw-popup.component.d.ts +4 -4
  417. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  418. package/lib/draw/draw/draw.component.d.ts +1 -1
  419. package/lib/draw/draw/draw.module.d.ts +2 -25
  420. package/lib/draw/drawingTool.module.d.ts +3 -0
  421. package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
  422. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  423. package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
  424. package/lib/feature/feature-details/index.d.ts +5 -0
  425. package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
  426. package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
  427. package/lib/feature/feature.module.d.ts +6 -4
  428. package/lib/feature/index.d.ts +3 -1
  429. package/lib/filter/filter.module.d.ts +4 -28
  430. package/lib/filter/index.d.ts +16 -0
  431. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
  432. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  433. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
  434. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  435. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
  436. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
  437. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
  438. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  439. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
  440. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  441. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
  442. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  443. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  444. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  445. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
  446. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  447. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  448. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  449. package/lib/geo.module.d.ts +14 -24
  450. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  451. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  452. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
  453. package/lib/geometry/geometry-form-field/index.d.ts +5 -0
  454. package/lib/geometry/geometry.module.d.ts +5 -3
  455. package/lib/geometry/index.d.ts +1 -2
  456. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  457. package/lib/import-export/import-export/import-export.component.d.ts +1 -1
  458. package/lib/import-export/import-export.module.d.ts +4 -15
  459. package/lib/import-export/index.d.ts +4 -0
  460. package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
  461. package/lib/layer/index.d.ts +8 -0
  462. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  463. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  464. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  465. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  466. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  467. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  468. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  469. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  470. package/lib/layer/layer.module.d.ts +4 -18
  471. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  472. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  473. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  474. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  475. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  476. package/lib/map/index.d.ts +14 -0
  477. package/lib/map/info-section/info-section.component.d.ts +1 -1
  478. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  479. package/lib/map/map-center/map-center.component.d.ts +1 -1
  480. package/lib/map/map.module.d.ts +4 -7
  481. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  482. package/lib/map/offline-button/offline-button.component.d.ts +2 -2
  483. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  484. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  485. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  486. package/lib/map/shared/mapOffline.directive.d.ts +1 -1
  487. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  488. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  489. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  490. package/lib/measure/index.d.ts +1 -2
  491. package/lib/measure/measure.module.d.ts +3 -0
  492. package/lib/measure/measurer/index.d.ts +5 -0
  493. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  494. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  495. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  496. package/lib/measure/measurer/measurer.component.d.ts +2 -3
  497. package/lib/measure/measurer/measurer.module.d.ts +3 -18
  498. package/lib/metadata/index.d.ts +2 -0
  499. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  500. package/lib/metadata/metadata.module.d.ts +4 -7
  501. package/lib/overlay/overlay.module.d.ts +4 -1
  502. package/lib/overlay/shared/overlay.d.ts +1 -1
  503. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  504. package/lib/print/print/print.component.d.ts +1 -1
  505. package/lib/print/print-form/print-form.component.d.ts +1 -1
  506. package/lib/print/print.module.d.ts +4 -12
  507. package/lib/query/query.module.d.ts +4 -4
  508. package/lib/query/shared/query.directive.d.ts +1 -1
  509. package/lib/query/shared/query.service.d.ts +2 -3
  510. package/lib/search/index.d.ts +6 -4
  511. package/lib/search/search-bar/search-bar.component.d.ts +1 -1
  512. package/lib/search/search-bar/search-bar.module.d.ts +2 -16
  513. package/lib/search/search-results/index.d.ts +6 -0
  514. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  515. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  516. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  517. package/lib/search/search-results/search-results.component.d.ts +1 -1
  518. package/lib/search/search-results/search-results.module.d.ts +3 -21
  519. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  520. package/lib/search/search-selector/search-selector.module.d.ts +2 -11
  521. package/lib/search/search-settings/search-settings.component.d.ts +1 -1
  522. package/lib/search/search-settings/search-settings.module.d.ts +2 -12
  523. package/lib/search/search.module.d.ts +6 -7
  524. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  525. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  526. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  527. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  528. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  529. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  530. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  531. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  532. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
  533. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
  534. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
  535. package/lib/style/style.module.d.ts +5 -16
  536. package/lib/toast/toast.component.d.ts +1 -1
  537. package/lib/toast/toast.module.d.ts +4 -6
  538. package/lib/wkt/wkt.module.d.ts +3 -0
  539. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  540. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
  541. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  542. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
  543. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  544. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
  545. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  546. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
  547. package/lib/workspace/workspace.module.d.ts +5 -9
  548. package/locale/en.geo.json +3 -3
  549. package/locale/fr.geo.json +3 -3
  550. package/package.json +15 -13
  551. package/public_api.d.ts +10 -11
  552. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
  553. package/src/lib/catalog/catalog.theming.scss +5 -5
  554. package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
  555. package/src/lib/directions/directions.theming.scss +6 -6
  556. package/src/lib/draw/draw.theming.scss +32 -32
  557. package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
  558. package/src/lib/feature/feature.theming.scss +4 -4
  559. package/src/lib/measure/measure.theming.scss +5 -5
  560. package/src/lib/measure/measurer/measurer.theming.scss +26 -26
  561. package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
  562. package/src/lib/search/search.theming.scss +7 -7
  563. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  564. package/src/lib/workspace/workspace.theming.scss +6 -6
  565. package/esm2022/lib/datasource/datasource.module.mjs +0 -22
  566. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
  567. package/lib/datasource/datasource.module.d.ts +0 -8
  568. package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
@@ -1,16 +1,24 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatBadgeModule } from '@angular/material/badge';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatTooltipModule } from '@angular/material/tooltip';
10
+ import { IgoBadgeIconDirective } from '@igo2/common';
11
+ import { TranslateModule } from '@ngx-translate/core';
2
12
  import { BehaviorSubject } from 'rxjs';
3
13
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/input";
5
- import * as i2 from "@angular/material/form-field";
14
+ import * as i1 from "@angular/material/form-field";
15
+ import * as i2 from "@angular/material/input";
6
16
  import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@angular/material/button";
10
- import * as i7 from "@angular/material/tooltip";
11
- import * as i8 from "@angular/material/badge";
12
- import * as i9 from "@igo2/common";
13
- import * as i10 from "@ngx-translate/core";
17
+ import * as i4 from "@angular/material/tooltip";
18
+ import * as i5 from "@angular/material/button";
19
+ import * as i6 from "@angular/material/icon";
20
+ import * as i7 from "@angular/material/badge";
21
+ import * as i8 from "@ngx-translate/core";
14
22
  export class LayerListToolComponent {
15
23
  onlyVisible$ = new BehaviorSubject(false);
16
24
  sortAlpha$ = new BehaviorSubject(false);
@@ -82,12 +90,23 @@ export class LayerListToolComponent {
82
90
  this.selectionMode = !this.selectionMode;
83
91
  this.selection.emit(this.selectionMode);
84
92
  }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerListToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayerListToolComponent, selector: "igo-layer-list-tool", inputs: { layersAreAllVisible: "layersAreAllVisible", floatLabel: "floatLabel", onlyVisible: "onlyVisible", sortAlpha: "sortAlpha", term: "term" }, outputs: { appliedFilterAndSort: "appliedFilterAndSort", selection: "selection" }, ngImport: i0, template: "<mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"text\"\n [(ngModel)]=\"term\"\n />\n <button\n *ngIf=\"term\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\"\n >\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<div class=\"actions-container\">\n <button\n class=\"sort-alpha\"\n [color]=\"sortAlpha ? 'warn' : 'primary'\"\n mat-icon-button\n [matTooltip]=\"\n sortAlpha\n ? ('igo.geo.layer.sortMapOrder' | translate)\n : ('igo.geo.layer.sortAlphabetically' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSortAlpha()\"\n >\n <mat-icon\n [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"\n ></mat-icon>\n </button>\n\n <button\n class=\"only-visible\"\n mat-icon-button\n [disabled]=\"layersAreAllVisible && !onlyVisible\"\n [color]=\"onlyVisible ? 'warn' : 'primary'\"\n [matTooltip]=\"\n onlyVisible\n ? ('igo.geo.layer.resetLayersList' | translate)\n : ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleOnlyVisible()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye\"\n igoMatBadgeInverseColor=\"true\"\n igoMatBadgeInheritColor=\"true\"\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\"\n >\n </mat-icon>\n </button>\n\n <button\n class=\"selection-mode\"\n mat-icon-button\n color=\"primary\"\n [matTooltip]=\"\n selectionMode\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\n : ('igo.geo.layer.activateSelectionMode' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSelectionMode()\"\n >\n <mat-icon\n [svgIcon]=\"\n selectionMode\n ? 'checkbox-multiple-marked-outline'\n : 'checkbox-multiple-blank-outline'\n \"\n ></mat-icon>\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .inputFilter{width:calc(100% - 100px);max-width:200px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .inputFilter{width:50%}}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i9.IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerListToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: LayerListToolComponent, isStandalone: true, selector: "igo-layer-list-tool", inputs: { layersAreAllVisible: "layersAreAllVisible", floatLabel: "floatLabel", onlyVisible: "onlyVisible", sortAlpha: "sortAlpha", term: "term" }, outputs: { appliedFilterAndSort: "appliedFilterAndSort", selection: "selection" }, ngImport: i0, template: "<mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\r\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n type=\"text\"\r\n [(ngModel)]=\"term\"\r\n />\r\n <button\r\n *ngIf=\"term\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n color=\"warn\"\r\n (click)=\"clearTerm()\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<div class=\"actions-container\">\r\n <button\r\n class=\"sort-alpha\"\r\n [color]=\"sortAlpha ? 'warn' : 'primary'\"\r\n mat-icon-button\r\n [matTooltip]=\"\r\n sortAlpha\r\n ? ('igo.geo.layer.sortMapOrder' | translate)\r\n : ('igo.geo.layer.sortAlphabetically' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSortAlpha()\"\r\n >\r\n <mat-icon\r\n [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"\r\n ></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"only-visible\"\r\n mat-icon-button\r\n [disabled]=\"layersAreAllVisible && !onlyVisible\"\r\n [color]=\"onlyVisible ? 'warn' : 'primary'\"\r\n [matTooltip]=\"\r\n onlyVisible\r\n ? ('igo.geo.layer.resetLayersList' | translate)\r\n : ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleOnlyVisible()\"\r\n >\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n matBadge=\"icon\"\r\n igoMatBadgeIcon=\"eye\"\r\n [igoMatBadgeInverseColor]=\"true\"\r\n [igoMatBadgeInheritColor]=\"true\"\r\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"selection-mode\"\r\n mat-icon-button\r\n color=\"primary\"\r\n [matTooltip]=\"\r\n selectionMode\r\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\r\n : ('igo.geo.layer.activateSelectionMode' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSelectionMode()\"\r\n >\r\n <mat-icon\r\n [svgIcon]=\"\r\n selectionMode\r\n ? 'checkbox-multiple-marked-outline'\r\n : 'checkbox-multiple-blank-outline'\r\n \"\r\n ></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .inputFilter{width:calc(100% - 100px);max-width:200px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .inputFilter{width:50%}}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
95
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerListToolComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerListToolComponent, decorators: [{
89
97
  type: Component,
90
- args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"text\"\n [(ngModel)]=\"term\"\n />\n <button\n *ngIf=\"term\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\"\n >\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<div class=\"actions-container\">\n <button\n class=\"sort-alpha\"\n [color]=\"sortAlpha ? 'warn' : 'primary'\"\n mat-icon-button\n [matTooltip]=\"\n sortAlpha\n ? ('igo.geo.layer.sortMapOrder' | translate)\n : ('igo.geo.layer.sortAlphabetically' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSortAlpha()\"\n >\n <mat-icon\n [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"\n ></mat-icon>\n </button>\n\n <button\n class=\"only-visible\"\n mat-icon-button\n [disabled]=\"layersAreAllVisible && !onlyVisible\"\n [color]=\"onlyVisible ? 'warn' : 'primary'\"\n [matTooltip]=\"\n onlyVisible\n ? ('igo.geo.layer.resetLayersList' | translate)\n : ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleOnlyVisible()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye\"\n igoMatBadgeInverseColor=\"true\"\n igoMatBadgeInheritColor=\"true\"\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\"\n >\n </mat-icon>\n </button>\n\n <button\n class=\"selection-mode\"\n mat-icon-button\n color=\"primary\"\n [matTooltip]=\"\n selectionMode\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\n : ('igo.geo.layer.activateSelectionMode' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSelectionMode()\"\n >\n <mat-icon\n [svgIcon]=\"\n selectionMode\n ? 'checkbox-multiple-marked-outline'\n : 'checkbox-multiple-blank-outline'\n \"\n ></mat-icon>\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .inputFilter{width:calc(100% - 100px);max-width:200px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .inputFilter{width:50%}}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"] }]
98
+ args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
99
+ MatFormFieldModule,
100
+ MatInputModule,
101
+ FormsModule,
102
+ MatTooltipModule,
103
+ NgIf,
104
+ MatButtonModule,
105
+ MatIconModule,
106
+ MatBadgeModule,
107
+ IgoBadgeIconDirective,
108
+ TranslateModule
109
+ ], template: "<mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\r\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n type=\"text\"\r\n [(ngModel)]=\"term\"\r\n />\r\n <button\r\n *ngIf=\"term\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n color=\"warn\"\r\n (click)=\"clearTerm()\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<div class=\"actions-container\">\r\n <button\r\n class=\"sort-alpha\"\r\n [color]=\"sortAlpha ? 'warn' : 'primary'\"\r\n mat-icon-button\r\n [matTooltip]=\"\r\n sortAlpha\r\n ? ('igo.geo.layer.sortMapOrder' | translate)\r\n : ('igo.geo.layer.sortAlphabetically' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSortAlpha()\"\r\n >\r\n <mat-icon\r\n [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"\r\n ></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"only-visible\"\r\n mat-icon-button\r\n [disabled]=\"layersAreAllVisible && !onlyVisible\"\r\n [color]=\"onlyVisible ? 'warn' : 'primary'\"\r\n [matTooltip]=\"\r\n onlyVisible\r\n ? ('igo.geo.layer.resetLayersList' | translate)\r\n : ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleOnlyVisible()\"\r\n >\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n matBadge=\"icon\"\r\n igoMatBadgeIcon=\"eye\"\r\n [igoMatBadgeInverseColor]=\"true\"\r\n [igoMatBadgeInheritColor]=\"true\"\r\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"selection-mode\"\r\n mat-icon-button\r\n color=\"primary\"\r\n [matTooltip]=\"\r\n selectionMode\r\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\r\n : ('igo.geo.layer.activateSelectionMode' | translate)\r\n \"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSelectionMode()\"\r\n >\r\n <mat-icon\r\n [svgIcon]=\"\r\n selectionMode\r\n ? 'checkbox-multiple-marked-outline'\r\n : 'checkbox-multiple-blank-outline'\r\n \"\r\n ></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .inputFilter{width:calc(100% - 100px);max-width:200px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .inputFilter{width:50%}}:host ::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{display:none}\n"] }]
91
110
  }], propDecorators: { layersAreAllVisible: [{
92
111
  type: Input
93
112
  }], floatLabel: [{
@@ -103,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
103
122
  }], selection: [{
104
123
  type: Output
105
124
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxpc3QtdG9vbC9sYXllci1saXN0LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBVXJELE1BQU0sT0FBTyxzQkFBc0I7SUFDMUIsWUFBWSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxVQUFVLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLEtBQUssR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsYUFBYSxDQUFlO0lBQzVCLFdBQVcsQ0FBZTtJQUMxQixNQUFNLENBQWU7SUFFWixtQkFBbUIsR0FBWSxJQUFJLENBQUM7SUFFcEMsVUFBVSxHQUFtQixNQUFNLENBQUM7SUFFN0MsSUFDSSxXQUFXLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUks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Q29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmxvYXRMYWJlbFR5cGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMYXllckxpc3RDb250cm9sc09wdGlvbnMgfSBmcm9tICcuL2xheWVyLWxpc3QtdG9vbC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbGF5ZXItbGlzdC10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXllci1saXN0LXRvb2wuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgb25seVZpc2libGUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICBwdWJsaWMgc29ydEFscGhhJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHVibGljIHRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuICBvbmx5VmlzaWJsZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgc29ydEFscGhhJCQ6IFN1YnNjcmlwdGlvbjtcclxuICB0ZXJtJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJzQXJlQWxsVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBvbmx5VmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5vbmx5VmlzaWJsZSQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBvbmx5VmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9ubHlWaXNpYmxlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNvcnRBbHBoYSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zb3J0QWxwaGEkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgc29ydEFscGhhKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc29ydEFscGhhJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRlcm0odmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy50ZXJtJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm0kLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdGlvbk1vZGUgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGFwcGxpZWRGaWx0ZXJBbmRTb3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxMYXllckxpc3RDb250cm9sc09wdGlvbnM+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlcm0kJCA9IHRoaXMudGVybSQuc3Vic2NyaWJlKChrZXl3b3JkKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlckFuZFNvcnQuZW1pdCh7XHJcbiAgICAgICAga2V5d29yZCxcclxuICAgICAgICBvbmx5VmlzaWJsZTogdGhpcy5vbmx5VmlzaWJsZSxcclxuICAgICAgICBzb3J0QWxwaGE6IHRoaXMuc29ydEFscGhhXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbmx5VmlzaWJsZSQkID0gdGhpcy5vbmx5VmlzaWJsZSQuc3Vic2NyaWJlKChvbmx5VmlzaWJsZSkgPT4ge1xyXG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJBbmRTb3J0LmVtaXQoe1xyXG4gICAgICAgIGtleXdvcmQ6IHRoaXMudGVybSxcclxuICAgICAgICBvbmx5VmlzaWJsZSxcclxuICAgICAgICBzb3J0QWxwaGE6IHRoaXMuc29ydEFscGhhXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNvcnRBbHBoYSQkID0gdGhpcy5zb3J0QWxwaGEkLnN1YnNjcmliZSgoc29ydEFscGhhKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlckFuZFNvcnQuZW1pdCh7XHJcbiAgICAgICAga2V5d29yZDogdGhpcy50ZXJtLFxyXG4gICAgICAgIG9ubHlWaXNpYmxlOiB0aGlzLm9ubHlWaXNpYmxlLFxyXG4gICAgICAgIHNvcnRBbHBoYVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm9ubHlWaXNpYmxlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc29ydEFscGhhJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMudGVybSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhclRlcm0oKSB7XHJcbiAgICB0aGlzLnRlcm0gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHRvZ2dsZVNvcnRBbHBoYSgpIHtcclxuICAgIHRoaXMuc29ydEFscGhhID0gIXRoaXMuc29ydEFscGhhO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT25seVZpc2libGUoKSB7XHJcbiAgICB0aGlzLm9ubHlWaXNpYmxlID0gIXRoaXMub25seVZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWxlY3Rpb25Nb2RlKCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlID0gIXRoaXMuc2VsZWN0aW9uTW9kZTtcclxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3Rpb25Nb2RlKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXRGaWx0ZXJcIiBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uZ2VvLmxheWVyLmZpbHRlclBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ubGF5ZXIuc3Vic2V0TGF5ZXJzTGlzdEtleXdvcmQnIHwgdHJhbnNsYXRlXCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgWyhuZ01vZGVsKV09XCJ0ZXJtXCJcbiAgLz5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwidGVybVwiXG4gICAgbWF0U3VmZml4XG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICBjb2xvcj1cIndhcm5cIlxuICAgIChjbGljayk9XCJjbGVhclRlcm0oKVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic29ydC1hbHBoYVwiXG4gICAgW2NvbG9yXT1cInNvcnRBbHBoYSA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICBzb3J0QWxwaGFcbiAgICAgICAgPyAoJ2lnby5nZW8ubGF5ZXIuc29ydE1hcE9yZGVyJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc29ydEFscGhhYmV0aWNhbGx5JyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIChjbGljayk9XCJ0b2dnbGVTb3J0QWxwaGEoKVwiXG4gID5cbiAgICA8bWF0LWljb25cbiAgICAgIFtzdmdJY29uXT1cInNvcnRBbHBoYSA/ICdzb3J0LWFzY2VuZGluZycgOiAnc29ydC1hbHBoYWJldGljYWwtYXNjZW5kaW5nJ1wiXG4gICAgPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICBjbGFzcz1cIm9ubHktdmlzaWJsZVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cImxheWVyc0FyZUFsbFZpc2libGUgJiYgIW9ubHlWaXNpYmxlXCJcbiAgICBbY29sb3JdPVwib25seVZpc2libGUgPyAnd2FybicgOiAncHJpbWFyeSdcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgb25seVZpc2libGVcbiAgICAgICAgPyAoJ2lnby5nZW8ubGF5ZXIucmVzZXRMYXllcnNMaXN0JyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc3Vic2V0TGF5ZXJzTGlzdE9ubHlWaXNpYmxlJyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIChjbGljayk9XCJ0b2dnbGVPbmx5VmlzaWJsZSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgICBtYXRCYWRnZT1cImljb25cIlxuICAgICAgaWdvTWF0QmFkZ2VJY29uPVwiZXllXCJcbiAgICAgIGlnb01hdEJhZGdlSW52ZXJzZUNvbG9yPVwidHJ1ZVwiXG4gICAgICBpZ29NYXRCYWRnZUluaGVyaXRDb2xvcj1cInRydWVcIlxuICAgICAgW3N2Z0ljb25dPVwib25seVZpc2libGUgPyAnZmlsdGVyLXJlbW92ZScgOiAnZmlsdGVyJ1wiXG4gICAgPlxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICBjbGFzcz1cInNlbGVjdGlvbi1tb2RlXCJcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgc2VsZWN0aW9uTW9kZVxuICAgICAgICA/ICgnaWdvLmdlby5sYXllci5kZWFjdGl2YXRlU2VsZWN0aW9uTW9kZScgfCB0cmFuc2xhdGUpXG4gICAgICAgIDogKCdpZ28uZ2VvLmxheWVyLmFjdGl2YXRlU2VsZWN0aW9uTW9kZScgfCB0cmFuc2xhdGUpXG4gICAgXCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uTW9kZSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgW3N2Z0ljb25dPVwiXG4gICAgICAgIHNlbGVjdGlvbk1vZGVcbiAgICAgICAgICA/ICdjaGVja2JveC1tdWx0aXBsZS1tYXJrZWQtb3V0bGluZSdcbiAgICAgICAgICA6ICdjaGVja2JveC1tdWx0aXBsZS1ibGFuay1vdXRsaW5lJ1xuICAgICAgXCJcbiAgICA+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxpc3QtdG9vbC9sYXllci1saXN0LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUVMLGtCQUFrQixFQUNuQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQXVCckQsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixZQUFZLEdBQTZCLElB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QUFXLENBQUM7SUFDdkMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt1R0F0RlUsc0JBQXNCOzJGQUF0QixzQkFBc0Isc1RDL0NuQyw2NUVBb0ZBLGdjRGpESSxrQkFBa0IsMFdBQ2xCLGNBQWMsMFdBQ2QsV0FBVyw4bUJBQ1gsZ0JBQWdCLDZUQUNoQixJQUFJLDRGQUNKLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixjQUFjLDRQQUNkLHFCQUFxQix3T0FDckIsZUFBZTs7MkZBR04sc0JBQXNCO2tCQW5CbEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsZUFBZTtxQkFDaEI7OEJBVVEsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsV0FBVztzQkFEZCxLQUFLO2dCQVNGLFNBQVM7c0JBRFosS0FBSztnQkFTRixJQUFJO3NCQURQLEtBQUs7Z0JBVUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHtcclxuICBGbG9hdExhYmVsVHlwZSxcclxuICBNYXRGb3JtRmllbGRNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgSWdvQmFkZ2VJY29uRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zIH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWxheWVyLWxpc3QtdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE5nSWYsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QmFkZ2VNb2R1bGUsXHJcbiAgICBJZ29CYWRnZUljb25EaXJlY3RpdmUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXllckxpc3RUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBvbmx5VmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHB1YmxpYyBzb3J0QWxwaGEkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICBwdWJsaWMgdGVybSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG4gIG9ubHlWaXNpYmxlJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBzb3J0QWxwaGEkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHRlcm0kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSBsYXllcnNBcmVBbGxWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnYXV0byc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9ubHlWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm9ubHlWaXNpYmxlJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IG9ubHlWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub25seVZpc2libGUkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc29ydEFscGhhKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNvcnRBbHBoYSQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBzb3J0QWxwaGEoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3J0QWxwaGEkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdGVybSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRlcm0kLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybSQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0aW9uTW9kZSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgYXBwbGllZEZpbHRlckFuZFNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPExheWVyTGlzdENvbnRyb2xzT3B0aW9ucz4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVybSQkID0gdGhpcy50ZXJtJC5zdWJzY3JpYmUoKGtleXdvcmQpID0+IHtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyQW5kU29ydC5lbWl0KHtcclxuICAgICAgICBrZXl3b3JkLFxyXG4gICAgICAgIG9ubHlWaXNpYmxlOiB0aGlzLm9ubHlWaXNpYmxlLFxyXG4gICAgICAgIHNvcnRBbHBoYTogdGhpcy5zb3J0QWxwaGFcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9ubHlWaXNpYmxlJCQgPSB0aGlzLm9ubHlWaXNpYmxlJC5zdWJzY3JpYmUoKG9ubHlWaXNpYmxlKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlckFuZFNvcnQuZW1pdCh7XHJcbiAgICAgICAga2V5d29yZDogdGhpcy50ZXJtLFxyXG4gICAgICAgIG9ubHlWaXNpYmxlLFxyXG4gICAgICAgIHNvcnRBbHBoYTogdGhpcy5zb3J0QWxwaGFcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc29ydEFscGhhJCQgPSB0aGlzLnNvcnRBbHBoYSQuc3Vic2NyaWJlKChzb3J0QWxwaGEpID0+IHtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyQW5kU29ydC5lbWl0KHtcclxuICAgICAgICBrZXl3b3JkOiB0aGlzLnRlcm0sXHJcbiAgICAgICAgb25seVZpc2libGU6IHRoaXMub25seVZpc2libGUsXHJcbiAgICAgICAgc29ydEFscGhhXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMub25seVZpc2libGUkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zb3J0QWxwaGEkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy50ZXJtJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyVGVybSgpIHtcclxuICAgIHRoaXMudGVybSA9IHVuZGVmaW5lZDtcclxuICB9XHJcbiAgdG9nZ2xlU29ydEFscGhhKCkge1xyXG4gICAgdGhpcy5zb3J0QWxwaGEgPSAhdGhpcy5zb3J0QWxwaGE7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPbmx5VmlzaWJsZSgpIHtcclxuICAgIHRoaXMub25seVZpc2libGUgPSAhdGhpcy5vbmx5VmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdGlvbk1vZGUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGUgPSAhdGhpcy5zZWxlY3Rpb25Nb2RlO1xyXG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGlvbk1vZGUpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dEZpbHRlclwiIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cclxuICA8aW5wdXRcclxuICAgIG1hdElucHV0XHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5nZW8ubGF5ZXIuZmlsdGVyUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLnN1YnNldExheWVyc0xpc3RLZXl3b3JkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgIFsobmdNb2RlbCldPVwidGVybVwiXHJcbiAgLz5cclxuICA8YnV0dG9uXHJcbiAgICAqbmdJZj1cInRlcm1cIlxyXG4gICAgbWF0U3VmZml4XHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgKGNsaWNrKT1cImNsZWFyVGVybSgpXCJcclxuICA+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxkaXYgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwic29ydC1hbHBoYVwiXHJcbiAgICBbY29sb3JdPVwic29ydEFscGhhID8gJ3dhcm4nIDogJ3ByaW1hcnknXCJcclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgIHNvcnRBbHBoYVxyXG4gICAgICAgID8gKCdpZ28uZ2VvLmxheWVyLnNvcnRNYXBPcmRlcicgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc29ydEFscGhhYmV0aWNhbGx5JyB8IHRyYW5zbGF0ZSlcclxuICAgIFwiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIChjbGljayk9XCJ0b2dnbGVTb3J0QWxwaGEoKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgIFtzdmdJY29uXT1cInNvcnRBbHBoYSA/ICdzb3J0LWFzY2VuZGluZycgOiAnc29ydC1hbHBoYWJldGljYWwtYXNjZW5kaW5nJ1wiXHJcbiAgICA+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgY2xhc3M9XCJvbmx5LXZpc2libGVcIlxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBbZGlzYWJsZWRdPVwibGF5ZXJzQXJlQWxsVmlzaWJsZSAmJiAhb25seVZpc2libGVcIlxyXG4gICAgW2NvbG9yXT1cIm9ubHlWaXNpYmxlID8gJ3dhcm4nIDogJ3ByaW1hcnknXCJcclxuICAgIFttYXRUb29sdGlwXT1cIlxyXG4gICAgICBvbmx5VmlzaWJsZVxyXG4gICAgICAgID8gKCdpZ28uZ2VvLmxheWVyLnJlc2V0TGF5ZXJzTGlzdCcgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc3Vic2V0TGF5ZXJzTGlzdE9ubHlWaXNpYmxlJyB8IHRyYW5zbGF0ZSlcclxuICAgIFwiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIChjbGljayk9XCJ0b2dnbGVPbmx5VmlzaWJsZSgpXCJcclxuICA+XHJcbiAgICA8bWF0LWljb25cclxuICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXHJcbiAgICAgIG1hdEJhZGdlPVwiaWNvblwiXHJcbiAgICAgIGlnb01hdEJhZGdlSWNvbj1cImV5ZVwiXHJcbiAgICAgIFtpZ29NYXRCYWRnZUludmVyc2VDb2xvcl09XCJ0cnVlXCJcclxuICAgICAgW2lnb01hdEJhZGdlSW5oZXJpdENvbG9yXT1cInRydWVcIlxyXG4gICAgICBbc3ZnSWNvbl09XCJvbmx5VmlzaWJsZSA/ICdmaWx0ZXItcmVtb3ZlJyA6ICdmaWx0ZXInXCJcclxuICAgID5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwic2VsZWN0aW9uLW1vZGVcIlxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgIHNlbGVjdGlvbk1vZGVcclxuICAgICAgICA/ICgnaWdvLmdlby5sYXllci5kZWFjdGl2YXRlU2VsZWN0aW9uTW9kZScgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuYWN0aXZhdGVTZWxlY3Rpb25Nb2RlJyB8IHRyYW5zbGF0ZSlcclxuICAgIFwiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb25Nb2RlKClcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvblxyXG4gICAgICBbc3ZnSWNvbl09XCJcclxuICAgICAgICBzZWxlY3Rpb25Nb2RlXHJcbiAgICAgICAgICA/ICdjaGVja2JveC1tdWx0aXBsZS1tYXJrZWQtb3V0bGluZSdcclxuICAgICAgICAgIDogJ2NoZWNrYm94LW11bHRpcGxlLWJsYW5rLW91dGxpbmUnXHJcbiAgICAgIFwiXHJcbiAgICA+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -10,13 +10,13 @@ export class LayerListToolService {
10
10
  onlyVisibleInitialized = false;
11
11
  onlyInRangeInitialized = false;
12
12
  constructor() { }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerListToolService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerListToolService, providedIn: 'root' });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerListToolService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerListToolService, providedIn: 'root' });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerListToolService, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerListToolService, decorators: [{
17
17
  type: Injectable,
18
18
  args: [{
19
19
  providedIn: 'root'
20
20
  }]
21
- }], ctorParameters: function () { return []; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixPQUFPLENBQVM7SUFDaEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0Isc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBRXRDLGdCQUFlLENBQUM7d0dBVkwsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJMaXN0VG9vbFNlcnZpY2Uge1xuICBwdWJsaWMga2V5d29yZDogc3RyaW5nO1xuICBwdWJsaWMgc29ydEFscGhhID0gZmFsc2U7XG4gIHB1YmxpYyBvbmx5VmlzaWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgb25seUluUmFuZ2UgPSBmYWxzZTtcbiAgcHVibGljIGtleXdvcmRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgc29ydGVkQWxwaGFJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgb25seVZpc2libGVJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgb25seUluUmFuZ2VJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
21
+ }], ctorParameters: () => [] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixPQUFPLENBQVM7SUFDaEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0Isc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBRXRDLGdCQUFlLENBQUM7dUdBVkwsb0JBQW9COzJHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJMaXN0VG9vbFNlcnZpY2Uge1xuICBwdWJsaWMga2V5d29yZDogc3RyaW5nO1xuICBwdWJsaWMgc29ydEFscGhhID0gZmFsc2U7XG4gIHB1YmxpYyBvbmx5VmlzaWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgb25seUluUmFuZ2UgPSBmYWxzZTtcbiAgcHVibGljIGtleXdvcmRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgc29ydGVkQWxwaGFJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgb25seVZpc2libGVJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgb25seUluUmFuZ2VJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
@@ -1,21 +1,4 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { MatBadgeModule } from '@angular/material/badge';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatCheckboxModule } from '@angular/material/checkbox';
7
- import { MatDividerModule } from '@angular/material/divider';
8
- import { MatFormFieldModule } from '@angular/material/form-field';
9
- import { MatIconModule } from '@angular/material/icon';
10
- import { MatInputModule } from '@angular/material/input';
11
- import { MatListModule } from '@angular/material/list';
12
- import { MatMenuModule } from '@angular/material/menu';
13
- import { MatSelectModule } from '@angular/material/select';
14
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
15
- import { MatSliderModule } from '@angular/material/slider';
16
- import { MatTooltipModule } from '@angular/material/tooltip';
17
- import { IgoCollapsibleModule, IgoCustomHtmlModule, IgoImageModule, IgoListModule, IgoMatBadgeIconModule, IgoPanelModule } from '@igo2/common';
18
- import { IgoLanguageModule } from '@igo2/core';
19
2
  import { StyleService } from '../style/style-service/style.service';
20
3
  import { LayerItemComponent } from './layer-item/layer-item.component';
21
4
  import { LayerLegendItemComponent } from './layer-legend-item/layer-legend-item.component';
@@ -29,6 +12,9 @@ import { LayerListComponent } from './layer-list/layer-list.component';
29
12
  import { LayerService } from './shared/layer.service';
30
13
  import { TrackFeatureButtonComponent } from './track-feature-button/track-feature-button.component';
31
14
  import * as i0 from "@angular/core";
15
+ /**
16
+ * @deprecated import the components/directives directly or LAYER_DIRECTIVES for the set
17
+ */
32
18
  export class IgoLayerModule {
33
19
  static forRoot() {
34
20
  return {
@@ -36,8 +22,8 @@ export class IgoLayerModule {
36
22
  providers: [LayerService, StyleService, LayerListToolService]
37
23
  };
38
24
  }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoLayerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoLayerModule, declarations: [LayerItemComponent,
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoLayerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoLayerModule, imports: [LayerItemComponent,
41
27
  LayerLegendItemComponent,
42
28
  LayerLegendComponent,
43
29
  LayerListComponent,
@@ -45,29 +31,7 @@ export class IgoLayerModule {
45
31
  LayerLegendListComponent,
46
32
  LayerListBindingDirective,
47
33
  LayerLegendListBindingDirective,
48
- TrackFeatureButtonComponent], imports: [MatInputModule,
49
- ReactiveFormsModule,
50
- MatFormFieldModule,
51
- CommonModule,
52
- FormsModule,
53
- MatDividerModule,
54
- MatMenuModule,
55
- MatIconModule,
56
- MatButtonModule,
57
- MatSlideToggleModule,
58
- MatSelectModule,
59
- MatTooltipModule,
60
- MatListModule,
61
- MatSliderModule,
62
- MatBadgeModule,
63
- MatCheckboxModule,
64
- IgoLanguageModule,
65
- IgoListModule,
66
- IgoCollapsibleModule,
67
- IgoImageModule,
68
- IgoPanelModule,
69
- IgoMatBadgeIconModule,
70
- IgoCustomHtmlModule], exports: [LayerItemComponent,
34
+ TrackFeatureButtonComponent], exports: [LayerItemComponent,
71
35
  LayerLegendItemComponent,
72
36
  LayerLegendComponent,
73
37
  LayerListComponent,
@@ -76,59 +40,18 @@ export class IgoLayerModule {
76
40
  LayerListBindingDirective,
77
41
  LayerLegendListBindingDirective,
78
42
  TrackFeatureButtonComponent] });
79
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoLayerModule, imports: [MatInputModule,
80
- ReactiveFormsModule,
81
- MatFormFieldModule,
82
- CommonModule,
83
- FormsModule,
84
- MatDividerModule,
85
- MatMenuModule,
86
- MatIconModule,
87
- MatButtonModule,
88
- MatSlideToggleModule,
89
- MatSelectModule,
90
- MatTooltipModule,
91
- MatListModule,
92
- MatSliderModule,
93
- MatBadgeModule,
94
- MatCheckboxModule,
95
- IgoLanguageModule,
96
- IgoListModule,
97
- IgoCollapsibleModule,
98
- IgoImageModule,
99
- IgoPanelModule,
100
- IgoMatBadgeIconModule,
101
- IgoCustomHtmlModule] });
43
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoLayerModule, imports: [LayerItemComponent,
44
+ LayerLegendItemComponent,
45
+ LayerLegendComponent,
46
+ LayerListComponent,
47
+ LayerListToolComponent,
48
+ LayerLegendListComponent,
49
+ TrackFeatureButtonComponent] });
102
50
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoLayerModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoLayerModule, decorators: [{
104
52
  type: NgModule,
105
53
  args: [{
106
54
  imports: [
107
- MatInputModule,
108
- ReactiveFormsModule,
109
- MatFormFieldModule,
110
- CommonModule,
111
- FormsModule,
112
- MatDividerModule,
113
- MatMenuModule,
114
- MatIconModule,
115
- MatButtonModule,
116
- MatSlideToggleModule,
117
- MatSelectModule,
118
- MatTooltipModule,
119
- MatListModule,
120
- MatSliderModule,
121
- MatBadgeModule,
122
- MatCheckboxModule,
123
- IgoLanguageModule,
124
- IgoListModule,
125
- IgoCollapsibleModule,
126
- IgoImageModule,
127
- IgoPanelModule,
128
- IgoMatBadgeIconModule,
129
- IgoCustomHtmlModule
130
- ],
131
- exports: [
132
55
  LayerItemComponent,
133
56
  LayerLegendItemComponent,
134
57
  LayerLegendComponent,
@@ -139,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
139
62
  LayerLegendListBindingDirective,
140
63
  TrackFeatureButtonComponent
141
64
  ],
142
- declarations: [
65
+ exports: [
143
66
  LayerItemComponent,
144
67
  LayerLegendItemComponent,
145
68
  LayerLegendComponent,
@@ -152,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
152
75
  ]
153
76
  }]
154
77
  }] });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFjLEVBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7O0FBbURwRyxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixDQUFDO1NBQzlELENBQUM7SUFDSixDQUFDO3dHQU5VLGNBQWM7eUdBQWQsY0FBYyxpQkFYdkIsa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLCtCQUErQjtZQUMvQiwyQkFBMkIsYUE1QzNCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixtQkFBbUIsYUFHbkIsa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLCtCQUErQjtZQUMvQiwyQkFBMkI7eUdBY2xCLGNBQWMsWUEvQ3ZCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixtQkFBbUI7OzRGQXlCVixjQUFjO2tCQWpEMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsMkJBQTJCO3FCQUM1QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gIElnb0N1c3RvbUh0bWxNb2R1bGUsXHJcbiAgSWdvSW1hZ2VNb2R1bGUsXHJcbiAgSWdvTGlzdE1vZHVsZSxcclxuICBJZ29NYXRCYWRnZUljb25Nb2R1bGUsXHJcbiAgSWdvUGFuZWxNb2R1bGVcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vc3R5bGUvc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1pdGVtL2xheWVyLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5ZXJMZWdlbmRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1sZWdlbmQtaXRlbS9sYXllci1sZWdlbmQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9sYXllci1sZWdlbmQtbGlzdC9sYXllci1sZWdlbmQtbGlzdC1iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExheWVyTGVnZW5kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGVnZW5kLWxpc3QvbGF5ZXItbGVnZW5kLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5ZXJMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RUb29sU2VydmljZSB9IGZyb20gJy4vbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5ZXJMaXN0QmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vbGF5ZXItbGlzdC9sYXllci1saXN0LWJpbmRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGF5ZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1saXN0L2xheWVyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gICAgTWF0QmFkZ2VNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvTGlzdE1vZHVsZSxcclxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgSWdvSW1hZ2VNb2R1bGUsXHJcbiAgICBJZ29QYW5lbE1vZHVsZSxcclxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcclxuICAgIElnb0N1c3RvbUh0bWxNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIExheWVySXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcclxuICAgIExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExheWVySXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcclxuICAgIExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvTGF5ZXJNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvTGF5ZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29MYXllck1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbTGF5ZXJTZXJ2aWNlLCBTdHlsZVNlcnZpY2UsIExheWVyTGlzdFRvb2xTZXJ2aWNlXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7O0FBRXBHOztHQUVHO0FBeUJILE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsb0JBQW9CLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7dUdBTlUsY0FBYzt3R0FBZCxjQUFjLFlBdEJ2QixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLDJCQUEyQixhQUczQixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLDJCQUEyQjt3R0FHbEIsY0FBYyxZQXRCdkIsa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFHeEIsMkJBQTJCOzsyRkFjbEIsY0FBYztrQkF4QjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xheWVyLWl0ZW0vbGF5ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxlZ2VuZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1pdGVtL2xheWVyLWxlZ2VuZC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1saXN0L2xheWVyLWxlZ2VuZC1saXN0LWJpbmRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGF5ZXJMZWdlbmRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1sZWdlbmQtbGlzdC9sYXllci1sZWdlbmQtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheWVyTGlzdFRvb2xTZXJ2aWNlIH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9sYXllci1saXN0L2xheWVyLWxpc3QtYmluZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMYXllckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxpc3QvbGF5ZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgY29tcG9uZW50cy9kaXJlY3RpdmVzIGRpcmVjdGx5IG9yIExBWUVSX0RJUkVDVElWRVMgZm9yIHRoZSBzZXRcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGF5ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRJdGVtQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RDb21wb25lbnQsXHJcbiAgICBMYXllckxpc3RUb29sQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMZWdlbmRMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0QmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIExheWVySXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCxcclxuICAgIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcclxuICAgIExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvTGF5ZXJNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvTGF5ZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29MYXllck1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbTGF5ZXJTZXJ2aWNlLCBTdHlsZVNlcnZpY2UsIExheWVyTGlzdFRvb2xTZXJ2aWNlXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -166,11 +166,11 @@ export class LayerService {
166
166
  }
167
167
  layerOptions.igoStyle[newKey] = layerOptions[legacyOption];
168
168
  delete layerOptions[legacyOption];
169
- console.warn(`
170
- The location of this style option (${legacyOption}) is deprecated.
171
- Please move this property within igoStyle property.
172
- Ex: ${legacyOption}: {...} must be transfered to igoStyle: { ${newKey}: {...} }
173
- This legacy conversion will be deleted in 2024.
169
+ console.warn(`
170
+ The location of this style option (${legacyOption}) is deprecated.
171
+ Please move this property within igoStyle property.
172
+ Ex: ${legacyOption}: {...} must be transfered to igoStyle: { ${newKey}: {...} }
173
+ This legacy conversion will be deleted in 2024.
174
174
  `);
175
175
  }
176
176
  });
@@ -254,15 +254,15 @@ export class LayerService {
254
254
  return combineLatest(layersOptions.map((layerOptions) => this.createAsyncLayer(layerOptions)));
255
255
  }));
256
256
  }
257
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", 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 });
258
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerService, providedIn: 'root' });
257
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", 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 });
258
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerService, providedIn: 'root' });
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayerService, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: LayerService, decorators: [{
261
261
  type: Injectable,
262
262
  args: [{
263
263
  providedIn: 'root'
264
264
  }]
265
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.StyleService }, { type: i3.DataSourceService }, { type: i4.GeoNetworkService }, { type: i5.MessageService }, { type: i6.LayerDBService }, { type: i7.AuthInterceptor, decorators: [{
265
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.StyleService }, { type: i3.DataSourceService }, { type: i4.GeoNetworkService }, { type: i5.MessageService }, { type: i6.LayerDBService }, { type: i7.AuthInterceptor, decorators: [{
266
266
  type: Optional
267
- }] }]; } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDYixhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsYUFBYSxFQUNiLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsYUFBYSxFQUNkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEw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QUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xMYXllclZlY3RvclRpbGUgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yVGlsZSc7XG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgU3R5bGVMaWtlIGFzIE9sU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuXG5pbXBvcnQgeyBzdHlsZWZ1bmN0aW9uIH0gZnJvbSAnb2wtbWFwYm94LXN0eWxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIENhcnRvRGF0YVNvdXJjZSxcbiAgQ2x1c3RlckRhdGFTb3VyY2UsXG4gIEZlYXR1cmVEYXRhU291cmNlLFxuICBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlLFxuICBNVlREYXRhU291cmNlLFxuICBPU01EYXRhU291cmNlLFxuICBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2UsXG4gIFRpbGVEZWJ1Z0RhdGFTb3VyY2UsXG4gIFdGU0RhdGFTb3VyY2UsXG4gIFdNU0RhdGFTb3VyY2UsXG4gIFdNVFNEYXRhU291cmNlLFxuICBXZWJTb2NrZXREYXRhU291cmNlLFxuICBYWVpEYXRhU291cmNlXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IExheWVyREJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vb2ZmbGluZS9sYXllckRCL2xheWVyREIuc2VydmljZSc7XG5pbXBvcnQgeyBHZW9OZXR3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL29mZmxpbmUvc2hhcmVkL2dlby1uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlciB9IGZyb20gJy4uL3V0aWxzL2xheWVyLnV0aWxzJztcbmltcG9ydCB7XG4gIEFueUxheWVyT3B0aW9ucyxcbiAgSW1hZ2VMYXllcixcbiAgSW1hZ2VMYXllck9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllck9wdGlvbnMsXG4gIFRpbGVMYXllcixcbiAgVGlsZUxheWVyT3B0aW9ucyxcbiAgVmVjdG9yTGF5ZXIsXG4gIFZlY3RvckxheWVyT3B0aW9ucyxcbiAgVmVjdG9yVGlsZUxheWVyLFxuICBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG59IGZyb20gJy4vbGF5ZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnZW9OZXR3b3JrU2VydmljZTogR2VvTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYXllckRCU2VydmljZTogTGF5ZXJEQlNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I6IEF1dGhJbnRlcmNlcHRvclxuICApIHt9XG5cbiAgY3JlYXRlTGF5ZXIobGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMpOiBMYXllciB7XG4gICAgaWYgKCFsYXllck9wdGlvbnMuc291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zICYmXG4gICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2VcbiAgICApIHtcbiAgICAgIGxheWVyT3B0aW9ucyA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcChcbiAgICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlLFxuICAgICAgICBsYXllck9wdGlvbnMgfHwge31cbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGxheWVyO1xuICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnNvdXJjZS5jb25zdHJ1Y3Rvcikge1xuICAgICAgY2FzZSBPU01EYXRhU291cmNlOlxuICAgICAgY2FzZSBXTVRTRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgWFlaRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgVGlsZURlYnVnRGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgQ2FydG9EYXRhU291cmNlOlxuICAgICAgY2FzZSBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2U6XG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVUaWxlTGF5ZXIobGF5ZXJPcHRpb25zIGFzIFRpbGVMYXllck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmVhdHVyZURhdGFTb3VyY2U6XG4gICAgICBjYXNlIFdGU0RhdGFTb3VyY2U6XG4gICAgICBjYXNlIEFyY0dJU1Jlc3REYXRhU291cmNlOlxuICAgICAgY2FzZSBXZWJTb2NrZXREYXRhU291cmNlOlxuICAgICAgY2FzZSBDbHVzdGVyRGF0YVNvdXJjZTpcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9ucyBhcyBWZWN0b3JMYXllck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTpcbiAgICAgIGNhc2UgV01TRGF0YVNvdXJjZTpcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZUltYWdlTGF5ZXIobGF5ZXJPcHRpb25zIGFzIEltYWdlTGF5ZXJPcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE1WVERhdGFTb3VyY2U6XG4gICAgICAgIGNvbnN0IF9sYXllck9wdGlvbnMgPSBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIobGF5ZXJPcHRpb25zKTtcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVZlY3RvclRpbGVMYXllcihcbiAgICAgICAgICBfbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gbGF5ZXI7XG4gIH1cblxuICBjcmVhdGVBc3luY0xheWVyKFxuICAgIF9sYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucyxcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxMYXllcj4ge1xuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihfbGF5ZXJPcHRpb25zKTtcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSkge1xuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkKSA9PiBkLm5leHQodGhpcy5jcmVhdGVMYXllcihsYXllck9wdGlvbnMpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0RhdGFTb3VyY2UobGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnMsIGRldGFpbGVkQ29udGV4dFVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHNvdXJjZSkgPT4ge1xuICAgICAgICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTGF5ZXIoT2JqZWN0LmFzc2lnbihsYXllck9wdGlvbnMsIHsgc291cmNlIH0pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUltYWdlTGF5ZXIobGF5ZXJPcHRpb25zOiBJbWFnZUxheWVyT3B0aW9ucyk6IEltYWdlTGF5ZXIge1xuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcihcbiAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnM6IFRpbGVMYXllck9wdGlvbnMpOiBUaWxlTGF5ZXIge1xuICAgIHJldHVybiBuZXcgVGlsZUxheWVyKFxuICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVmVjdG9yTGF5ZXIobGF5ZXJPcHRpb25zOiBWZWN0b3JMYXllck9wdGlvbnMpOiBWZWN0b3JMYXllciB7XG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZSA9IGxheWVyT3B0aW9ucy5zdHlsZTtcbiAgICBsZXQgaWdvTGF5ZXI6IFZlY3RvckxheWVyO1xuXG4gICAgaWYgKCFsYXllck9wdGlvbnMuaWdvU3R5bGUpIHtcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZSA9IHt9O1xuICAgIH1cbiAgICBjb25zdCBsZWdhY3lTdHlsZU9wdGlvbnMgPSBbXG4gICAgICAnc3R5bGVCeUF0dHJpYnV0ZScsXG4gICAgICAnaG92ZXJTdHlsZScsXG4gICAgICAnbWFwYm94U3R5bGUnLFxuICAgICAgJ2NsdXN0ZXJCYXNlU3R5bGUnLFxuICAgICAgJ3N0eWxlJ1xuICAgIF07XG4gICAgLy8gaGFuZGxpbmcgbGVnYWN5IHByb3BlcnR5LlxuICAgIHRoaXMuaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zKTtcbiAgICBpZiAoXG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QgJiZcbiAgICAgICFsYXllck9wdGlvbnMuaWRiSW5mbz8uc3RvcmVUb0lkYlxuICAgICkge1xuICAgICAgc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT5cbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0LFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QgJiZcbiAgICAgIGxheWVyT3B0aW9ucy5pZGJJbmZvPy5zdG9yZVRvSWRiXG4gICAgKSB7XG4gICAgICAvLyB0ZW1wb3JhcnkgZml4IHRvZG8gOiBoYW5kbGUgaXQgd2l0aCBnZW9zdHlsZXIuXG4gICAgICBzdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlLnBhcnNlU3R5bGUoXG4gICAgICAgICdzdHlsZScsXG4gICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEFyY0dJU1Jlc3REYXRhU291cmNlKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBsYXllck9wdGlvbnMuc291cmNlIGFzIEFyY0dJU1Jlc3REYXRhU291cmNlO1xuICAgICAgc3R5bGUgPSBzb3VyY2Uub3B0aW9ucy5wYXJhbXMuc3R5bGU7XG4gICAgfSBlbHNlIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGU/LnN0eWxlQnlBdHRyaWJ1dGUpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgICAgfTtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxuICAgICAgICBsYXllck9wdGlvbnMsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdlb0RCU2VydmljZSxcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZTtcbiAgICAgIGNvbnN0IGJhc2VTdHlsZSA9IGxheWVyT3B0aW9ucy5pZ29TdHlsZS5jbHVzdGVyQmFzZVN0eWxlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVDbHVzdGVyU3R5bGUoXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5jbHVzdGVyUGFyYW0sXG4gICAgICAgICAgYmFzZVN0eWxlXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9ucyxcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UuZ2VvREJTZXJ2aWNlLFxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxheWVyT3B0aW9uc09sID0gT2JqZWN0LmFzc2lnbih7fSwgbGF5ZXJPcHRpb25zLCB7XG4gICAgICBzdHlsZVxuICAgIH0pO1xuXG4gICAgaWYgKCFpZ29MYXllcikge1xuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgICAgIGxheWVyT3B0aW9uc09sLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZS5nZW9EQlNlcnZpY2UsXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseU1hcGJveFN0eWxlKGlnb0xheWVyLCBsYXllck9wdGlvbnNPbCBhcyBhbnkpO1xuXG4gICAgcmV0dXJuIGlnb0xheWVyO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMZWdhY3lTdHlsZXMobGF5ZXJPcHRpb25zLCBsZWdhY3lTdHlsZU9wdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgbGVnYWN5U3R5bGVPcHRpb25zLm1hcCgobGVnYWN5T3B0aW9uKSA9PiB7XG4gICAgICBpZiAobGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0pIHtcbiAgICAgICAgbGV0IG5ld0tleSA9IGxlZ2FjeU9wdGlvbjtcbiAgICAgICAgaWYgKGxlZ2FjeU9wdGlvbiA9PT0gJ3N0eWxlJykge1xuICAgICAgICAgIGlmIChsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXSBpbnN0YW5jZW9mIG9sU3R5bGUuU3R5bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIG5ld0tleSA9ICdpZ29TdHlsZU9iamVjdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlW25ld0tleV0gPSBsYXllck9wdGlvbnNbbGVnYWN5T3B0aW9uXTtcbiAgICAgICAgZGVsZXRlIGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dO1xuICAgICAgICBjb25zb2xlLndhcm4oYFxuICAgICAgICBUaGUgbG9jYXRpb24gb2YgdGhpcyBzdHlsZSBvcHRpb24gKCR7bGVnYWN5T3B0aW9ufSkgaXMgZGVwcmVjYXRlZC5cbiAgICAgICAgUGxlYXNlIG1vdmUgdGhpcyBwcm9wZXJ0eSB3aXRoaW4gaWdvU3R5bGUgcHJvcGVydHkuXG4gICAgICAgIEV4OiAke2xlZ2FjeU9wdGlvbn06IHsuLi59IG11c3QgYmUgdHJhbnNmZXJlZCB0byBpZ29TdHlsZTogeyAke25ld0tleX06IHsuLi59IH1cbiAgICAgICAgVGhpcyBsZWdhY3kgY29udmVyc2lvbiB3aWxsIGJlIGRlbGV0ZWQgaW4gMjAyNC5cbiAgICAgICAgYCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZlY3RvclRpbGVMYXllcihcbiAgICBsYXllck9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnNcbiAgKTogVmVjdG9yVGlsZUxheWVyIHtcbiAgICBsZXQgc3R5bGU6IFN0eWxlW10gfCBTdHlsZSB8IE9sU3R5bGVMaWtlO1xuICAgIGxldCBpZ29MYXllcjogVmVjdG9yVGlsZUxheWVyO1xuXG4gICAgaWYgKCFsYXllck9wdGlvbnMuaWdvU3R5bGUpIHtcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZSA9IHt9O1xuICAgIH1cbiAgICBjb25zdCBsZWdhY3lTdHlsZU9wdGlvbnMgPSBbXG4gICAgICAnc3R5bGVCeUF0dHJpYnV0ZScsXG4gICAgICAnaG92ZXJTdHlsZScsXG4gICAgICAnbWFwYm94U3R5bGUnLFxuICAgICAgJ3N0eWxlJ1xuICAgIF07XG4gICAgLy8gaGFuZGxpbmcgbGVnYWN5IHByb3BlcnR5LlxuICAgIHRoaXMuaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zKTtcblxuICAgIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QpIHtcbiAgICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+XG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCxcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xuICAgICAgbGF5ZXJPcHRpb25zLnN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZlYXR1cmUsXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLnN0eWxlQnlBdHRyaWJ1dGUsXG4gICAgICAgICAgcmVzb2x1dGlvblxuICAgICAgICApO1xuICAgICAgfTtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXllck9wdGlvbnNPbCA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyT3B0aW9ucywge1xuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIGlmICghaWdvTGF5ZXIpIHtcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvclRpbGVMYXllcihcbiAgICAgICAgbGF5ZXJPcHRpb25zT2wsXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wpO1xuICAgIHJldHVybiBpZ29MYXllcjtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNYXBib3hTdHlsZShsYXllcjogTGF5ZXIsIGxheWVyT3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9ucykge1xuICAgIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGU/Lm1hcGJveFN0eWxlKSB7XG4gICAgICB0aGlzLmdldFN0dWZmKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMuc3ByaXRlKSB7XG4gICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRBYnNvbHV0ZVVybChcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwsXG4gICAgICAgICAgICByZXMuc3ByaXRlXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmdldFN0dWZmKHVybCArICcuanNvbicpLnN1YnNjcmliZSgocmVzMikgPT4ge1xuICAgICAgICAgICAgc3R5bGVmdW5jdGlvbihcbiAgICAgICAgICAgICAgbGF5ZXIub2wgYXMgb2xMYXllclZlY3RvclRpbGUsXG4gICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnNvdXJjZSxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICByZXMyLFxuICAgICAgICAgICAgICB1cmwgKyAnLnBuZydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3R5bGVmdW5jdGlvbihcbiAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxuICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLm1hcGJveFN0eWxlLnNvdXJjZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3R1ZmYodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBtYXAoKHJlczogYW55KSA9PiByZXMpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdObyBzdHlsZSB3YXMgZm91bmQnKTtcbiAgICAgICAgcmV0dXJuIG9mKGVycik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEFic29sdXRlVXJsKHNvdXJjZSwgdXJsKSB7XG4gICAgY29uc3QgciA9IG5ldyBSZWdFeHAoJ15odHRwfC8vJywgJ2knKTtcbiAgICBpZiAoci50ZXN0KHVybCkpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzb3VyY2Uuc3Vic3RyKHNvdXJjZS5sZW5ndGggLSAxKSA9PT0gJy8nKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UgKyB1cmw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc291cmNlICsgJy8nICsgdXJsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUFzeW5jSWRiTGF5ZXJzKGNvbnRleHRVcmk6IHN0cmluZyA9ICcqJyk6IE9ic2VydmFibGU8TGF5ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmxheWVyREJTZXJ2aWNlLmdldEFsbCgpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKHJlcykgPT4ge1xuICAgICAgICBjb25zdCBpZGJMYXllcnMgPVxuICAgICAgICAgIGNvbnRleHRVcmkgIT09ICcqJ1xuICAgICAgICAgICAgPyByZXMuZmlsdGVyKChsKSA9PiBsLmRldGFpbGVkQ29udGV4dFVyaSA9PT0gY29udGV4dFVyaSlcbiAgICAgICAgICAgIDogcmVzO1xuICAgICAgICBjb25zdCBsYXllcnNPcHRpb25zOiBMYXllck9wdGlvbnNbXSA9IGlkYkxheWVycy5tYXAoKGlkYmwpID0+XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaWRibC5sYXllck9wdGlvbnMsIHtcbiAgICAgICAgICAgIHNvdXJjZU9wdGlvbnM6IGlkYmwuc291cmNlT3B0aW9uc1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGxheWVyc09wdGlvbnMubWFwKChsYXllck9wdGlvbnMpID0+XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
267
+ }] }] });
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDYixhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsYUFBYSxFQUNiLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsYUFBYSxFQUNkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEw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QUU7Z0JBQ25DLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTthQUNsQyxDQUFDLENBQ0gsQ0FBQztZQUNGLE9BQU8sYUFBYSxDQUNsQixhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUNwQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0FqV1UsWUFBWTsyR0FBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IG9sTGF5ZXJWZWN0b3JUaWxlIGZyb20gJ29sL2xheWVyL1ZlY3RvclRpbGUnO1xyXG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcbmltcG9ydCB7IFN0eWxlTGlrZSBhcyBPbFN0eWxlTGlrZSB9IGZyb20gJ29sL3N0eWxlL1N0eWxlJztcclxuXHJcbmltcG9ydCB7IHN0eWxlZnVuY3Rpb24gfSBmcm9tICdvbC1tYXBib3gtc3R5bGUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IERhdGFTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBcmNHSVNSZXN0RGF0YVNvdXJjZSxcclxuICBDYXJ0b0RhdGFTb3VyY2UsXHJcbiAgQ2x1c3RlckRhdGFTb3VyY2UsXHJcbiAgRmVhdHVyZURhdGFTb3VyY2UsXHJcbiAgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSxcclxuICBNVlREYXRhU291cmNlLFxyXG4gIE9TTURhdGFTb3VyY2UsXHJcbiAgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlLFxyXG4gIFRpbGVEZWJ1Z0RhdGFTb3VyY2UsXHJcbiAgV0ZTRGF0YVNvdXJjZSxcclxuICBXTVNEYXRhU291cmNlLFxyXG4gIFdNVFNEYXRhU291cmNlLFxyXG4gIFdlYlNvY2tldERhdGFTb3VyY2UsXHJcbiAgWFlaRGF0YVNvdXJjZVxyXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcclxuaW1wb3J0IHsgTGF5ZXJEQlNlcnZpY2UgfSBmcm9tICcuLi8uLi9vZmZsaW5lL2xheWVyREIvbGF5ZXJEQi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VvTmV0d29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9vZmZsaW5lL3NoYXJlZC9nZW8tbmV0d29yay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyIH0gZnJvbSAnLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIEFueUxheWVyT3B0aW9ucyxcclxuICBJbWFnZUxheWVyLFxyXG4gIEltYWdlTGF5ZXJPcHRpb25zLFxyXG4gIExheWVyLFxyXG4gIExheWVyT3B0aW9ucyxcclxuICBUaWxlTGF5ZXIsXHJcbiAgVGlsZUxheWVyT3B0aW9ucyxcclxuICBWZWN0b3JMYXllcixcclxuICBWZWN0b3JMYXllck9wdGlvbnMsXHJcbiAgVmVjdG9yVGlsZUxheWVyLFxyXG4gIFZlY3RvclRpbGVMYXllck9wdGlvbnNcclxufSBmcm9tICcuL2xheWVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnZW9OZXR3b3JrU2VydmljZTogR2VvTmV0d29ya1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJEQlNlcnZpY2U6IExheWVyREJTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I6IEF1dGhJbnRlcmNlcHRvclxyXG4gICkge31cclxuXHJcbiAgY3JlYXRlTGF5ZXIobGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMpOiBMYXllciB7XHJcbiAgICBpZiAoIWxheWVyT3B0aW9ucy5zb3VyY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgbGF5ZXJPcHRpb25zLnNvdXJjZS5vcHRpb25zICYmXHJcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2Uub3B0aW9ucy5fbGF5ZXJPcHRpb25zRnJvbVNvdXJjZVxyXG4gICAgKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucyA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcChcclxuICAgICAgICBsYXllck9wdGlvbnMuc291cmNlLm9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UsXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zIHx8IHt9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxheWVyO1xyXG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMuc291cmNlLmNvbnN0cnVjdG9yKSB7XHJcbiAgICAgIGNhc2UgT1NNRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBXTVRTRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBYWVpEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFRpbGVEZWJ1Z0RhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgQ2FydG9EYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlVGlsZUxheWVyKGxheWVyT3B0aW9ucyBhcyBUaWxlTGF5ZXJPcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGZWF0dXJlRGF0YVNvdXJjZTpcclxuICAgICAgY2FzZSBXRlNEYXRhU291cmNlOlxyXG4gICAgICBjYXNlIEFyY0dJU1Jlc3REYXRhU291cmNlOlxyXG4gICAgICBjYXNlIFdlYlNvY2tldERhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgQ2x1c3RlckRhdGFTb3VyY2U6XHJcbiAgICAgICAgbGF5ZXIgPSB0aGlzLmNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9ucyBhcyBWZWN0b3JMYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2U6XHJcbiAgICAgIGNhc2UgV01TRGF0YVNvdXJjZTpcclxuICAgICAgICBsYXllciA9IHRoaXMuY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnMgYXMgSW1hZ2VMYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1WVERhdGFTb3VyY2U6XHJcbiAgICAgICAgY29uc3QgX2xheWVyT3B0aW9ucyA9IGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihsYXllck9wdGlvbnMpO1xyXG4gICAgICAgIGxheWVyID0gdGhpcy5jcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXHJcbiAgICAgICAgICBfbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnNcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYXllcjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFzeW5jTGF5ZXIoXHJcbiAgICBfbGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMsXHJcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPExheWVyPiB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIoX2xheWVyT3B0aW9ucyk7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGQpID0+IGQubmV4dCh0aGlzLmNyZWF0ZUxheWVyKGxheWVyT3B0aW9ucykpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlU2VydmljZVxyXG4gICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLCBkZXRhaWxlZENvbnRleHRVcmkpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoc291cmNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc291cmNlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUxheWVyKE9iamVjdC5hc3NpZ24obGF5ZXJPcHRpb25zLCB7IHNvdXJjZSB9KSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VMYXllcihsYXllck9wdGlvbnM6IEltYWdlTGF5ZXJPcHRpb25zKTogSW1hZ2VMYXllciB7XHJcbiAgICByZXR1cm4gbmV3IEltYWdlTGF5ZXIoXHJcbiAgICAgIGxheWVyT3B0aW9ucyxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRpbGVMYXllcihsYXllck9wdGlvbnM6IFRpbGVMYXllck9wdGlvbnMpOiBUaWxlTGF5ZXIge1xyXG4gICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoXHJcbiAgICAgIGxheWVyT3B0aW9ucyxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVZlY3RvckxheWVyKGxheWVyT3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zKTogVmVjdG9yTGF5ZXIge1xyXG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZSA9IGxheWVyT3B0aW9ucy5zdHlsZTtcclxuICAgIGxldCBpZ29MYXllcjogVmVjdG9yTGF5ZXI7XHJcblxyXG4gICAgaWYgKCFsYXllck9wdGlvbnMuaWdvU3R5bGUpIHtcclxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlID0ge307XHJcbiAgICB9XHJcbiAgICBjb25zdCBsZWdhY3lTdHlsZU9wdGlvbnMgPSBbXHJcbiAgICAgICdzdHlsZUJ5QXR0cmlidXRlJyxcclxuICAgICAgJ2hvdmVyU3R5bGUnLFxyXG4gICAgICAnbWFwYm94U3R5bGUnLFxyXG4gICAgICAnY2x1c3RlckJhc2VTdHlsZScsXHJcbiAgICAgICdzdHlsZSdcclxuICAgIF07XHJcbiAgICAvLyBoYW5kbGluZyBsZWdhY3kgcHJvcGVydHkuXHJcbiAgICB0aGlzLmhhbmRsZUxlZ2FjeVN0eWxlcyhsYXllck9wdGlvbnMsIGxlZ2FjeVN0eWxlT3B0aW9ucyk7XHJcbiAgICBpZiAoXHJcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCAmJlxyXG4gICAgICAhbGF5ZXJPcHRpb25zLmlkYkluZm8/LnN0b3JlVG9JZGJcclxuICAgICkge1xyXG4gICAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxyXG4gICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxyXG4gICAgICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0LFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIHJlc29sdXRpb25cclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgbGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0ICYmXHJcbiAgICAgIGxheWVyT3B0aW9ucy5pZGJJbmZvPy5zdG9yZVRvSWRiXHJcbiAgICApIHtcclxuICAgICAgLy8gdGVtcG9yYXJ5IGZpeCB0b2RvIDogaGFuZGxlIGl0IHdpdGggZ2Vvc3R5bGVyLlxyXG4gICAgICBzdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlLnBhcnNlU3R5bGUoXHJcbiAgICAgICAgJ3N0eWxlJyxcclxuICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3RcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEFyY0dJU1Jlc3REYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGxheWVyT3B0aW9ucy5zb3VyY2UgYXMgQXJjR0lTUmVzdERhdGFTb3VyY2U7XHJcbiAgICAgIHN0eWxlID0gc291cmNlLm9wdGlvbnMucGFyYW1zLnN0eWxlO1xyXG4gICAgfSBlbHNlIGlmIChsYXllck9wdGlvbnMuaWdvU3R5bGU/LnN0eWxlQnlBdHRyaWJ1dGUpIHtcclxuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XHJcbiAgICAgIGxheWVyT3B0aW9ucy5zdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VTdHlsZS5jcmVhdGVTdHlsZUJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlLFxyXG4gICAgICAgICAgcmVzb2x1dGlvblxyXG4gICAgICAgICk7XHJcbiAgICAgIH07XHJcbiAgICAgIGlnb0xheWVyID0gbmV3IFZlY3RvckxheWVyKFxyXG4gICAgICAgIGxheWVyT3B0aW9ucyxcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxyXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZS5nZW9EQlNlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5sYXllckRCU2VydmljZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgQ2x1c3RlckRhdGFTb3VyY2UpIHtcclxuICAgICAgY29uc3Qgc2VydmljZVN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2U7XHJcbiAgICAgIGNvbnN0IGJhc2VTdHlsZSA9IGxheWVyT3B0aW9ucy5pZ29TdHlsZS5jbHVzdGVyQmFzZVN0eWxlO1xyXG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlQ2x1c3RlclN0eWxlKFxyXG4gICAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICAgIHJlc29sdXRpb24sXHJcbiAgICAgICAgICBsYXllck9wdGlvbnMuY2x1c3RlclBhcmFtLFxyXG4gICAgICAgICAgYmFzZVN0eWxlXHJcbiAgICAgICAgKTtcclxuICAgICAgfTtcclxuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXHJcbiAgICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZSxcclxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdlb0RCU2VydmljZSxcclxuICAgICAgICB0aGlzLmxheWVyREJTZXJ2aWNlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF5ZXJPcHRpb25zT2wgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllck9wdGlvbnMsIHtcclxuICAgICAgc3R5bGVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghaWdvTGF5ZXIpIHtcclxuICAgICAgaWdvTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zT2wsXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcclxuICAgICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UuZ2VvREJTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2VcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGx5TWFwYm94U3R5bGUoaWdvTGF5ZXIsIGxheWVyT3B0aW9uc09sIGFzIGFueSk7XHJcblxyXG4gICAgcmV0dXJuIGlnb0xheWVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVMZWdhY3lTdHlsZXMobGF5ZXJPcHRpb25zLCBsZWdhY3lTdHlsZU9wdGlvbnM6IHN0cmluZ1tdKSB7XHJcbiAgICBsZWdhY3lTdHlsZU9wdGlvbnMubWFwKChsZWdhY3lPcHRpb24pID0+IHtcclxuICAgICAgaWYgKGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dKSB7XHJcbiAgICAgICAgbGV0IG5ld0tleSA9IGxlZ2FjeU9wdGlvbjtcclxuICAgICAgICBpZiAobGVnYWN5T3B0aW9uID09PSAnc3R5bGUnKSB7XHJcbiAgICAgICAgICBpZiAobGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gaW5zdGFuY2VvZiBvbFN0eWxlLlN0eWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0eXBlb2YgbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIG5ld0tleSA9ICdpZ29TdHlsZU9iamVjdCc7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZVtuZXdLZXldID0gbGF5ZXJPcHRpb25zW2xlZ2FjeU9wdGlvbl07XHJcbiAgICAgICAgZGVsZXRlIGxheWVyT3B0aW9uc1tsZWdhY3lPcHRpb25dO1xyXG4gICAgICAgIGNvbnNvbGUud2FybihgXHJcbiAgICAgICAgVGhlIGxvY2F0aW9uIG9mIHRoaXMgc3R5bGUgb3B0aW9uICgke2xlZ2FjeU9wdGlvbn0pIGlzIGRlcHJlY2F0ZWQuXHJcbiAgICAgICAgUGxlYXNlIG1vdmUgdGhpcyBwcm9wZXJ0eSB3aXRoaW4gaWdvU3R5bGUgcHJvcGVydHkuXHJcbiAgICAgICAgRXg6ICR7bGVnYWN5T3B0aW9ufTogey4uLn0gbXVzdCBiZSB0cmFuc2ZlcmVkIHRvIGlnb1N0eWxlOiB7ICR7bmV3S2V5fTogey4uLn0gfVxyXG4gICAgICAgIFRoaXMgbGVnYWN5IGNvbnZlcnNpb24gd2lsbCBiZSBkZWxldGVkIGluIDIwMjQuXHJcbiAgICAgICAgYCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVWZWN0b3JUaWxlTGF5ZXIoXHJcbiAgICBsYXllck9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnNcclxuICApOiBWZWN0b3JUaWxlTGF5ZXIge1xyXG4gICAgbGV0IHN0eWxlOiBTdHlsZVtdIHwgU3R5bGUgfCBPbFN0eWxlTGlrZTtcclxuICAgIGxldCBpZ29MYXllcjogVmVjdG9yVGlsZUxheWVyO1xyXG5cclxuICAgIGlmICghbGF5ZXJPcHRpb25zLmlnb1N0eWxlKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZSA9IHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGVnYWN5U3R5bGVPcHRpb25zID0gW1xyXG4gICAgICAnc3R5bGVCeUF0dHJpYnV0ZScsXHJcbiAgICAgICdob3ZlclN0eWxlJyxcclxuICAgICAgJ21hcGJveFN0eWxlJyxcclxuICAgICAgJ3N0eWxlJ1xyXG4gICAgXTtcclxuICAgIC8vIGhhbmRsaW5nIGxlZ2FjeSBwcm9wZXJ0eS5cclxuICAgIHRoaXMuaGFuZGxlTGVnYWN5U3R5bGVzKGxheWVyT3B0aW9ucywgbGVnYWN5U3R5bGVPcHRpb25zKTtcclxuXHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlLmlnb1N0eWxlT2JqZWN0KSB7XHJcbiAgICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+XHJcbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXHJcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuaWdvU3R5bGVPYmplY3QsXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgcmVzb2x1dGlvblxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5zdHlsZUJ5QXR0cmlidXRlKSB7XHJcbiAgICAgIGNvbnN0IHNlcnZpY2VTdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlO1xyXG4gICAgICBsYXllck9wdGlvbnMuc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiBzZXJ2aWNlU3R5bGUuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcclxuICAgICAgICAgIGZlYXR1cmUsXHJcbiAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUuc3R5bGVCeUF0dHJpYnV0ZSxcclxuICAgICAgICAgIHJlc29sdXRpb25cclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zLFxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3JcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXllck9wdGlvbnNPbCA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyT3B0aW9ucywge1xyXG4gICAgICBzdHlsZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCFpZ29MYXllcikge1xyXG4gICAgICBpZ29MYXllciA9IG5ldyBWZWN0b3JUaWxlTGF5ZXIoXHJcbiAgICAgICAgbGF5ZXJPcHRpb25zT2wsXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvclxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwbHlNYXBib3hTdHlsZShpZ29MYXllciwgbGF5ZXJPcHRpb25zT2wpO1xyXG4gICAgcmV0dXJuIGlnb0xheWVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseU1hcGJveFN0eWxlKGxheWVyOiBMYXllciwgbGF5ZXJPcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zKSB7XHJcbiAgICBpZiAobGF5ZXJPcHRpb25zLmlnb1N0eWxlPy5tYXBib3hTdHlsZSkge1xyXG4gICAgICB0aGlzLmdldFN0dWZmKGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5zcHJpdGUpIHtcclxuICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0QWJzb2x1dGVVcmwoXHJcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS51cmwsXHJcbiAgICAgICAgICAgIHJlcy5zcHJpdGVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmdldFN0dWZmKHVybCArICcuanNvbicpLnN1YnNjcmliZSgocmVzMikgPT4ge1xyXG4gICAgICAgICAgICBzdHlsZWZ1bmN0aW9uKFxyXG4gICAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxyXG4gICAgICAgICAgICAgIHJlcyxcclxuICAgICAgICAgICAgICBsYXllck9wdGlvbnMuaWdvU3R5bGUubWFwYm94U3R5bGUuc291cmNlLFxyXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICByZXMyLFxyXG4gICAgICAgICAgICAgIHVybCArICcucG5nJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHN0eWxlZnVuY3Rpb24oXHJcbiAgICAgICAgICAgIGxheWVyLm9sIGFzIG9sTGF5ZXJWZWN0b3JUaWxlLFxyXG4gICAgICAgICAgICByZXMsXHJcbiAgICAgICAgICAgIGxheWVyT3B0aW9ucy5pZ29TdHlsZS5tYXBib3hTdHlsZS5zb3VyY2VcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U3R1ZmYodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcclxuICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ05vIHN0eWxlIHdhcyBmb3VuZCcpO1xyXG4gICAgICAgIHJldHVybiBvZihlcnIpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QWJzb2x1dGVVcmwoc291cmNlLCB1cmwpIHtcclxuICAgIGNvbnN0IHIgPSBuZXcgUmVnRXhwKCdeaHR0cHwvLycsICdpJyk7XHJcbiAgICBpZiAoci50ZXN0KHVybCkpIHtcclxuICAgICAgcmV0dXJuIHVybDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChzb3VyY2Uuc3Vic3RyKHNvdXJjZS5sZW5ndGggLSAxKSA9PT0gJy8nKSB7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSArIHVybDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc291cmNlICsgJy8nICsgdXJsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVBc3luY0lkYkxheWVycyhjb250ZXh0VXJpOiBzdHJpbmcgPSAnKicpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxheWVyREJTZXJ2aWNlLmdldEFsbCgpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaWRiTGF5ZXJzID1cclxuICAgICAgICAgIGNvbnRleHRVcmkgIT09ICcqJ1xyXG4gICAgICAgICAgICA/IHJlcy5maWx0ZXIoKGwpID0+IGwuZGV0YWlsZWRDb250ZXh0VXJpID09PSBjb250ZXh0VXJpKVxyXG4gICAgICAgICAgICA6IHJlcztcclxuICAgICAgICBjb25zdCBsYXllcnNPcHRpb25zOiBMYXllck9wdGlvbnNbXSA9IGlkYkxheWVycy5tYXAoKGlkYmwpID0+XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBpZGJsLmxheWVyT3B0aW9ucywge1xyXG4gICAgICAgICAgICBzb3VyY2VPcHRpb25zOiBpZGJsLnNvdXJjZU9wdGlvbnNcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcclxuICAgICAgICAgIGxheWVyc09wdGlvbnMubWFwKChsYXllck9wdGlvbnMpID0+XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IG9sU291cmNlSW1hZ2UgZnJvbSAnb2wvc291cmNlL0ltYWdlJztcblxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllck9wdGlvbnMgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VMYXllck9wdGlvbnMgZXh0ZW5kcyBMYXllck9wdGlvbnMge1xuICBzb3VyY2U/OiBXTVNEYXRhU291cmNlIHwgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgc291cmNlT3B0aW9ucz86IFdNU0RhdGFTb3VyY2VPcHRpb25zIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHRva2VuS2V5Pzogc3RyaW5nO1xuICBvbD86IG9sTGF5ZXJJbWFnZTxvbFNvdXJjZUltYWdlPjtcbiAgbWV0YWRhdGE/OiB7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGV4dGVybj86IGJvb2xlYW47XG4gICAgYWJzdHJhY3Q/OiBzdHJpbmc7XG4gICAga2V5d29yZExpc3Q/OiBzdHJpbmdbXTtcbiAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVySW1hZ2UgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xyXG5pbXBvcnQgb2xTb3VyY2VJbWFnZSBmcm9tICdvbC9zb3VyY2UvSW1hZ2UnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2VBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ltYWdlYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9pbWFnZWFyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VMYXllck9wdGlvbnMgZXh0ZW5kcyBMYXllck9wdGlvbnMge1xyXG4gIHNvdXJjZT86IFdNU0RhdGFTb3VyY2UgfCBJbWFnZUFyY0dJU1Jlc3REYXRhU291cmNlO1xyXG4gIHNvdXJjZU9wdGlvbnM/OiBXTVNEYXRhU291cmNlT3B0aW9ucyB8IEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zO1xyXG4gIHRva2VuS2V5Pzogc3RyaW5nO1xyXG4gIG9sPzogb2xMYXllckltYWdlPG9sU291cmNlSW1hZ2U+O1xyXG4gIG1ldGFkYXRhPzoge1xyXG4gICAgdXJsPzogc3RyaW5nO1xyXG4gICAgZXh0ZXJuPzogYm9vbGVhbjtcclxuICAgIGFic3RyYWN0Pzogc3RyaW5nO1xyXG4gICAga2V5d29yZExpc3Q/OiBzdHJpbmdbXTtcclxuICB9O1xyXG59XHJcbiJdfQ==