@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,15 +1,14 @@
1
+ import { AsyncPipe, NgFor, NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
2
- import { EntityStore, EntityStoreWatcher } from '@igo2/common';
3
+ import { EntityStore, EntityStoreWatcher, ListComponent, ListItemDirective } from '@igo2/common';
3
4
  import { zip } from 'rxjs';
4
5
  import { LayerService } from '../../layer/shared/layer.service';
5
6
  import { IgoMap } from '../../map/shared/map';
6
7
  import { Catalog, CatalogItemType } from '../shared';
8
+ import { CatalogBrowserGroupComponent } from './catalog-browser-group.component';
9
+ import { CatalogBrowserLayerComponent } from './catalog-browser-layer.component';
7
10
  import * as i0 from "@angular/core";
8
11
  import * as i1 from "../../layer/shared/layer.service";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@igo2/common";
11
- import * as i4 from "./catalog-browser-group.component";
12
- import * as i5 from "./catalog-browser-layer.component";
13
12
  /**
14
13
  * Component to browse a catalog's groups and layers and display them on a map.
15
14
  */
@@ -215,13 +214,21 @@ export class CatalogBrowserComponent {
215
214
  });
216
215
  this.removeLayersFromMap(layers);
217
216
  }
218
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
219
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CatalogBrowserComponent, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"store.count === 1 ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "component", type: i3.ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "component", type: i4.CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: i5.CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
217
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
218
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: CatalogBrowserComponent, isStandalone: true, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <igo-catalog-browser-group\r\n [catalog]=\"catalog\"\r\n [group]=\"item\"\r\n [map]=\"map\"\r\n [state]=\"store.state\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [collapsed]=\"store.count === 1 ? false : true\"\r\n [toggleCollapsed]=\"toggleCollapsedGroup\"\r\n (addedChange)=\"onGroupAddedChange($event)\"\r\n (layerAddedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-group>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"$any(item)\"\r\n [map]=\"map\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"store.state.get(item).added\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</igo-list>\r\n", dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
220
219
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
222
221
  type: Component,
223
- args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"store.count === 1 ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n" }]
224
- }], ctorParameters: function () { return [{ type: i1.LayerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { catalogAllowLegend: [{
222
+ args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
223
+ ListComponent,
224
+ NgFor,
225
+ NgIf,
226
+ CatalogBrowserGroupComponent,
227
+ CatalogBrowserLayerComponent,
228
+ ListItemDirective,
229
+ AsyncPipe
230
+ ], template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <igo-catalog-browser-group\r\n [catalog]=\"catalog\"\r\n [group]=\"item\"\r\n [map]=\"map\"\r\n [state]=\"store.state\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [collapsed]=\"store.count === 1 ? false : true\"\r\n [toggleCollapsed]=\"toggleCollapsedGroup\"\r\n (addedChange)=\"onGroupAddedChange($event)\"\r\n (layerAddedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-group>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"$any(item)\"\r\n [map]=\"map\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"store.state.get(item).added\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</igo-list>\r\n" }]
231
+ }], ctorParameters: () => [{ type: i1.LayerService }, { type: i0.ChangeDetectorRef }], propDecorators: { catalogAllowLegend: [{
225
232
  type: Input
226
233
  }], catalog: [{
227
234
  type: Input
@@ -232,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
232
239
  }], toggleCollapsedGroup: [{
233
240
  type: Input
234
241
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBRW5COztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQW1DeEI7SUFDQTtJQW5DVjs7T0FFRztJQUNLLE9BQU8sQ0FBa0M7SUFFakQsc0NBQXNDO0lBRXRDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFUSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFcEM7O09BRUc7SUFDTSxPQUFPLENBQVU7SUFFMUI7O09BRUc7SUFDTSxLQUFLLENBQTZDO0lBRTNEOztPQUVHO0lBQ00sR0FBRyxDQUFTO0lBRXJCOztPQUVHO0lBQ00sb0JB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QyxDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssa0JBQWtCLENBQUMsS0FBdUI7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFpQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBcE9VLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtNQ25DcEMsdW9DQWdDQTs7NEZER2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNO21JQWN0QyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxHQUFHO3NCQUFYLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7XHJcbiAgQWRkZWRDaGFuZ2VFbWl0dGVyLFxyXG4gIEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyLFxyXG4gIENhdGFsb2csXHJcbiAgQ2F0YWxvZ0l0ZW0sXHJcbiAgQ2F0YWxvZ0l0ZW1Hcm91cCxcclxuICBDYXRhbG9nSXRlbUxheWVyLFxyXG4gIENhdGFsb2dJdGVtU3RhdGUsXHJcbiAgQ2F0YWxvZ0l0ZW1UeXBlXHJcbn0gZnJvbSAnLi4vc2hhcmVkJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgdG8gYnJvd3NlIGEgY2F0YWxvZydzIGdyb3VwcyBhbmQgbGF5ZXJzIGFuZCBkaXNwbGF5IHRoZW0gb24gYSBtYXAuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBDYXRhbG9nIGl0ZW1zIHN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxDYXRhbG9nSXRlbT47XHJcblxyXG4gIC8vIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCByZXNvbHV0aW9uJCgpOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2cncyBpdGVtc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbSwgQ2F0YWxvZ0l0ZW1TdGF0ZT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBhZGQgdGhlIGNhdGFsb2cgaXRlbXMgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIGdyb3VwIGNhbiBiZSB0b2dnbGVkIHdoZW4gaXQncyBjb2xsYXBzZWRcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWRHcm91cDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMubWFwLmxheWVycy5tYXAoKGxheWVyOiBMYXllcikgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkOiBsYXllci5vcHRpb25zLnNvdXJjZS5pZCxcclxuICAgICAgICB0aXRsZTogbGF5ZXIudGl0bGUsXHJcbiAgICAgICAgdHlwZTogQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShjdXJyZW50SXRlbXMsIHsgYWRkZWQ6IHRydWUgfSwgdHJ1ZSk7XHJcbiAgICBpZiAodGhpcy5jYXRhbG9nICYmIHRoaXMuY2F0YWxvZy5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24sXHJcbiAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGl0ZW06IENhdGFsb2dJdGVtKSA9PiBpdGVtLnRpdGxlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNhdGFsb2dTaG93TGVnZW5kID0gdGhpcy5jYXRhbG9nID8gdGhpcy5jYXRhbG9nLnNob3dMZWdlbmQgOiBmYWxzZTtcclxuICAgIHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kID0gY2F0YWxvZ1Nob3dMZWdlbmRcclxuICAgICAgPyBjYXRhbG9nU2hvd0xlZ2VuZFxyXG4gICAgICA6IHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kO1xyXG5cclxuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuTGF5ZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgbGF5ZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgYWRkIG9yIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgZXZlbnRcclxuICAgKi9cclxuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xyXG4gICAgY29uc3QgbGF5ZXIgPSBldmVudC5sYXllcjtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGxheWVyLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XHJcbiAgICBldmVudC5hZGRlZFxyXG4gICAgICA/IHRoaXMuYWRkTGF5ZXJUb01hcChsYXllciwgZXZlbnQpXHJcbiAgICAgIDogdGhpcy5yZW1vdmVMYXllckZyb21NYXAobGF5ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGZyb3VwIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IEdyb3VwIGFkZGVkIGV2ZW50XHJcbiAgICovXHJcbiAgb25Hcm91cEFkZGVkQ2hhbmdlKGV2ZW50OiBBZGRlZENoYW5nZUdyb3VwRW1pdHRlcikge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBldmVudC5ncm91cDtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGdyb3VwLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XHJcbiAgICBldmVudC5hZGRlZFxyXG4gICAgICA/IHRoaXMuYWRkR3JvdXBUb01hcChncm91cCwgZXZlbnQpXHJcbiAgICAgIDogdGhpcy5yZW1vdmVHcm91cEZyb21NYXAoZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGxheWVyIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllciBDYXRhbG9nIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRMYXllclRvTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyLCBldmVudD86IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xyXG4gICAgdGhpcy5hZGRMYXllcnNUb01hcChbbGF5ZXJdLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbGF5ZXIgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXIgQ2F0YWxvZyBsYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSB7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAoW2xheWVyXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbXVsdGlwbGUgbGF5ZXJzIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyc1RvTWFwKFxyXG4gICAgbGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10sXHJcbiAgICBldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyIHwgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXJcclxuICApIHtcclxuICAgIGNvbnN0IGxheWVycyQgPSBsYXllcnMubWFwKChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikgPT4ge1xyXG4gICAgICBpZiAoIWxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSkge1xyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY2F0YWxvZy5wcm9maWxzPy5sZW5ndGgpIHtcclxuICAgICAgICBsYXllci5vcHRpb25zLnNlY3VyaXR5ID0geyBwcm9maWxzOiB0aGlzLmNhdGFsb2cucHJvZmlscyB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKGxheWVyLm9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgICB6aXAoLi4ubGF5ZXJzJCkuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHtcclxuICAgICAgaWYgKGV2ZW50LmV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQuYWRkZWQpIHtcclxuICAgICAgICB0aGlzLm1hcC5sYXllcnNBZGRlZEJ5Q2xpY2skLm5leHQobGF5ZXJzKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkobGF5ZXJzLCB7IGFkZGVkOiB0cnVlIH0pO1xyXG4gICAgICB0aGlzLm1hcC5hZGRMYXllcnMobGF5ZXJzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG11bHRpcGxlIGxheWVycyBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10pIHtcclxuICAgIGxheWVycy5mb3JFYWNoKChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShsYXllciwgeyBhZGRlZDogZmFsc2UgfSk7XHJcbiAgICAgIGlmIChsYXllci5vcHRpb25zLmJhc2VMYXllciA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGNvbnN0IGN1cnJMYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZChsYXllci5vcHRpb25zLmlkKTtcclxuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGN1cnJMYXllcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGN1cnJMYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZChsYXllci5pZCk7XHJcbiAgICAgICAgaWYgKGN1cnJMYXllciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb3J0IHRoZSBsYXllcnMgYnkgdGl0bGUuIGFzYyBvciBkZXNjLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc29ydENhdGFsb2dJdGVtc0J5VGl0bGUoaXRlbXM6IENhdGFsb2dJdGVtW10sIGRpcmVjdGlvbikge1xyXG4gICAgY29uc3QgcmV0dXJuSXRlbSA9IGl0ZW1zLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgY29uc3QgdGl0bGVBID0gYS50aXRsZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgICAgY29uc3QgdGl0bGVCID0gYi50aXRsZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuXHJcbiAgICAgIGlmICh0aXRsZUEgPCB0aXRsZUIpIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRpdGxlQSA+IHRpdGxlQikge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xyXG4gICAgICBjYXNlICdhc2MnOlxyXG4gICAgICAgIHJldHVybiByZXR1cm5JdGVtO1xyXG4gICAgICBjYXNlICdkZXNjJzpcclxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbS5yZXZlcnNlKCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGFsbCB0aGUgbGF5ZXJzIG9mIGEgZ3JvdXAgdG8gbWFwXHJcbiAgICogQHBhcmFtIGdyb3VwIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBwcml2YXRlIGFkZEdyb3VwVG9NYXAoXHJcbiAgICBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCxcclxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxyXG4gICkge1xyXG4gICAgbGV0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXllcihpdGVtKSAmJiBhZGRlZCA9PT0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIGlmIChncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgbGF5ZXJzID0gdGhpcy5zb3J0Q2F0YWxvZ0l0ZW1zQnlUaXRsZShsYXllcnMsIGdyb3VwLnNvcnREaXJlY3Rpb24pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hZGRMYXllcnNUb01hcChsYXllcnMucmV2ZXJzZSgpIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSwgZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGFsbCB0aGUgbGF5ZXJzIG9mIGEgZ3JvdXAgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlR3JvdXBGcm9tTWFwKGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwKSB7XHJcbiAgICBjb25zdCBsYXllcnMgPSBncm91cC5pdGVtcy5maWx0ZXIoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2U7XHJcbiAgICAgIHJldHVybiB0aGlzLmlzTGF5ZXIoaXRlbSkgJiYgYWRkZWQgPT09IHRydWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnMgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0dyb3VwKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cFxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcbiAgICAgICAgW2dyb3VwXT1cIml0ZW1cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdG9yZS5zdGF0ZVwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXG4gICAgICAgIFtjb2xsYXBzZWRdPVwic3RvcmUuY291bnQgPT09IDEgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uR3JvdXBBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGxheWVyQWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5ZXIoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXG4gICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgIFtsYXllcl09XCJpdGVtXCJcbiAgICAgICAgW21hcF09XCJtYXBcIlxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxuICAgICAgICBbYWRkZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaWdvLWxpc3Q+XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFakY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVCQUF1QjtJQW1DeEI7SUFDQTtJQW5DVjs7T0FFRztJQUNLLE9BQU8sQ0FBa0M7SUFFakQsc0NBQXNDO0lBRXRDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxD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LDBGQUNiLEtBQUssbUhBQ0wsSUFBSSw2RkFDSiw0QkFBNEIsc09BQzVCLDRCQUE0Qiw4TEFDNUIsaUJBQWlCLHdSQUNqQixTQUFTOzsyRkFHQSx1QkFBdUI7a0JBZm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLFNBQVM7cUJBQ1Y7aUhBY1Esa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUtHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eVN0b3JlLFxyXG4gIEVudGl0eVN0b3JlV2F0Y2hlcixcclxuICBMaXN0Q29tcG9uZW50LFxyXG4gIExpc3RJdGVtRGlyZWN0aXZlXHJcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgemlwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHtcclxuICBBZGRlZENoYW5nZUVtaXR0ZXIsXHJcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gIENhdGFsb2dJdGVtTGF5ZXIsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5pbXBvcnQgeyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHRvIGJyb3dzZSBhIGNhdGFsb2cncyBncm91cHMgYW5kIGxheWVycyBhbmQgZGlzcGxheSB0aGVtIG9uIGEgbWFwLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIExpc3RDb21wb25lbnQsXHJcbiAgICBOZ0ZvcixcclxuICAgIE5nSWYsXHJcbiAgICBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCxcclxuICAgIExpc3RJdGVtRGlyZWN0aXZlLFxyXG4gICAgQXN5bmNQaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZyBpdGVtcyBzdG9yZSB3YXRjaGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8Q2F0YWxvZ0l0ZW0+O1xyXG5cclxuICAvLyBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgcmVzb2x1dGlvbiQoKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2dcclxuICAgKi9cclxuICBASW5wdXQoKSBjYXRhbG9nOiBDYXRhbG9nO1xyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBob2xkaW5nIHRoZSBjYXRhbG9nJ3MgaXRlbXNcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0sIENhdGFsb2dJdGVtU3RhdGU+O1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgdG8gYWRkIHRoZSBjYXRhbG9nIGl0ZW1zIHRvXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgYSBncm91cCBjYW4gYmUgdG9nZ2xlZCB3aGVuIGl0J3MgY29sbGFwc2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgdG9nZ2xlQ29sbGFwc2VkR3JvdXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLm1hcC5sYXllcnMubWFwKChsYXllcjogTGF5ZXIpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpZDogbGF5ZXIub3B0aW9ucy5zb3VyY2UuaWQsXHJcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxyXG4gICAgICAgIHR5cGU6IENhdGFsb2dJdGVtVHlwZS5MYXllclxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoY3VycmVudEl0ZW1zLCB7IGFkZGVkOiB0cnVlIH0sIHRydWUpO1xyXG4gICAgaWYgKHRoaXMuY2F0YWxvZyAmJiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUudmlldy5zb3J0KHtcclxuICAgICAgICBkaXJlY3Rpb246IHRoaXMuY2F0YWxvZy5zb3J0RGlyZWN0aW9uLFxyXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYXRhbG9nU2hvd0xlZ2VuZCA9IHRoaXMuY2F0YWxvZyA/IHRoaXMuY2F0YWxvZy5zaG93TGVnZW5kIDogZmFsc2U7XHJcbiAgICB0aGlzLmNhdGFsb2dBbGxvd0xlZ2VuZCA9IGNhdGFsb2dTaG93TGVnZW5kXHJcbiAgICAgID8gY2F0YWxvZ1Nob3dMZWdlbmRcclxuICAgICAgOiB0aGlzLmNhdGFsb2dBbGxvd0xlZ2VuZDtcclxuXHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgaXNHcm91cChpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkdyb3VwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgaXNMYXllcihpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGxheWVyIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGV2ZW50XHJcbiAgICovXHJcbiAgb25MYXllckFkZGVkQ2hhbmdlKGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcclxuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShsYXllciwgeyBhZGRlZDogZXZlbnQuYWRkZWQgfSwgZmFsc2UpO1xyXG4gICAgZXZlbnQuYWRkZWRcclxuICAgICAgPyB0aGlzLmFkZExheWVyVG9NYXAobGF5ZXIsIGV2ZW50KVxyXG4gICAgICA6IHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBmcm91cCBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBldmVudCBHcm91cCBhZGRlZCBldmVudFxyXG4gICAqL1xyXG4gIG9uR3JvdXBBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIpIHtcclxuICAgIGNvbnN0IGdyb3VwID0gZXZlbnQuZ3JvdXA7XHJcbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShncm91cCwgeyBhZGRlZDogZXZlbnQuYWRkZWQgfSwgZmFsc2UpO1xyXG4gICAgZXZlbnQuYWRkZWRcclxuICAgICAgPyB0aGlzLmFkZEdyb3VwVG9NYXAoZ3JvdXAsIGV2ZW50KVxyXG4gICAgICA6IHRoaXMucmVtb3ZlR3JvdXBGcm9tTWFwKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsYXllciB0byBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXIgQ2F0YWxvZyBsYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllciwgZXZlbnQ/OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcclxuICAgIHRoaXMuYWRkTGF5ZXJzVG9NYXAoW2xheWVyXSwgZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGxheWVyIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUxheWVyRnJvbU1hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikge1xyXG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKFtsYXllcl0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIG11bHRpcGxlIGxheWVycyB0byBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXJzIENhdGFsb2cgbGF5ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRMYXllcnNUb01hcChcclxuICAgIGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdLFxyXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlciB8IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXHJcbiAgKSB7XHJcbiAgICBjb25zdCBsYXllcnMkID0gbGF5ZXJzLm1hcCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcclxuICAgICAgaWYgKCFsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkpIHtcclxuICAgICAgICBsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNhdGFsb2cucHJvZmlscz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zZWN1cml0eSA9IHsgcHJvZmlsczogdGhpcy5jYXRhbG9nLnByb2ZpbHMgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihsYXllci5vcHRpb25zKTtcclxuICAgIH0pO1xyXG4gICAgemlwKC4uLmxheWVycyQpLnN1YnNjcmliZSgobGF5ZXJzOiBMYXllcltdKSA9PiB7XHJcbiAgICAgIGlmIChldmVudC5ldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmFkZGVkKSB7XHJcbiAgICAgICAgdGhpcy5tYXAubGF5ZXJzQWRkZWRCeUNsaWNrJC5uZXh0KGxheWVycyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGxheWVycywgeyBhZGRlZDogdHJ1ZSB9KTtcclxuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXJzKGxheWVycyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBsYXllcnMgZnJvbSBtYXBcclxuICAgKiBAcGFyYW0gbGF5ZXJzIENhdGFsb2cgbGF5ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllcnNGcm9tTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XHJcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGZhbHNlIH0pO1xyXG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5iYXNlTGF5ZXIgPT09IHRydWUpIHtcclxuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIub3B0aW9ucy5pZCk7XHJcbiAgICAgICAgaWYgKGN1cnJMYXllciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xyXG4gICAgICAgIGlmIChjdXJyTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoY3VyckxheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCB0aGUgbGF5ZXJzIGJ5IHRpdGxlLiBhc2Mgb3IgZGVzYy5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGl0ZW1zOiBDYXRhbG9nSXRlbVtdLCBkaXJlY3Rpb24pIHtcclxuICAgIGNvbnN0IHJldHVybkl0ZW0gPSBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRpdGxlQSA9IGEudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICAgIGNvbnN0IHRpdGxlQiA9IGIudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcblxyXG4gICAgICBpZiAodGl0bGVBIDwgdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aXRsZUEgPiB0aXRsZUIpIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcclxuICAgICAgY2FzZSAnYXNjJzpcclxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbTtcclxuICAgICAgY2FzZSAnZGVzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW0ucmV2ZXJzZSgpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIHRvIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRHcm91cFRvTWFwKFxyXG4gICAgZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXAsXHJcbiAgICBldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXJcclxuICApIHtcclxuICAgIGxldCBsYXllcnMgPSBncm91cC5pdGVtcy5maWx0ZXIoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2U7XHJcbiAgICAgIHJldHVybiB0aGlzLmlzTGF5ZXIoaXRlbSkgJiYgYWRkZWQgPT09IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoZ3JvdXAuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxheWVycyA9IHRoaXMuc29ydENhdGFsb2dJdGVtc0J5VGl0bGUobGF5ZXJzLCBncm91cC5zb3J0RGlyZWN0aW9uKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWRkTGF5ZXJzVG9NYXAobGF5ZXJzLnJldmVyc2UoKSBhcyBDYXRhbG9nSXRlbUxheWVyW10sIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGdyb3VwIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUdyb3VwRnJvbU1hcChncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCkge1xyXG4gICAgY29uc3QgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiIFtzZWxlY3Rpb25dPVwiZmFsc2VcIj5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cclxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXBcclxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcclxuICAgICAgICBbZ3JvdXBdPVwiaXRlbVwiXHJcbiAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgIFtzdGF0ZV09XCJzdG9yZS5zdGF0ZVwiXHJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXHJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxyXG4gICAgICAgIFtjb2xsYXBzZWRdPVwic3RvcmUuY291bnQgPT09IDEgPyBmYWxzZSA6IHRydWVcIlxyXG4gICAgICAgIFt0b2dnbGVDb2xsYXBzZWRdPVwidG9nZ2xlQ29sbGFwc2VkR3JvdXBcIlxyXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkdyb3VwQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGxheWVyQWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBbbGF5ZXJdPVwiJGFueShpdGVtKVwiXHJcbiAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxyXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcclxuICAgICAgICBbYWRkZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvaWdvLWxpc3Q+XHJcbiJdfQ==
@@ -1,73 +1,19 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
- import { MatBadgeModule } from '@angular/material/badge';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { MatListModule } from '@angular/material/list';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { IgoCollapsibleModule, IgoListModule, IgoMatBadgeIconModule } from '@igo2/common';
9
- import { IgoLanguageModule } from '@igo2/core';
10
- import { IgoLayerModule } from '../../layer/layer.module';
11
- import { IgoMetadataModule } from './../../metadata/metadata.module';
12
- import { CatalogBrowserGroupComponent } from './catalog-browser-group.component';
13
- import { CatalogBrowserLayerComponent } from './catalog-browser-layer.component';
14
2
  import { CatalogBrowserComponent } from './catalog-browser.component';
15
3
  import * as i0 from "@angular/core";
16
4
  /**
17
- * @ignore
5
+ * @deprecated import the CatalogBrowserComponent directly
18
6
  */
19
7
  export class IgoCatalogBrowserModule {
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoCatalogBrowserModule, declarations: [CatalogBrowserComponent,
22
- CatalogBrowserGroupComponent,
23
- CatalogBrowserLayerComponent], imports: [CommonModule,
24
- MatBadgeModule,
25
- MatButtonModule,
26
- MatIconModule,
27
- MatListModule,
28
- MatTooltipModule,
29
- IgoMatBadgeIconModule,
30
- IgoLanguageModule,
31
- IgoListModule,
32
- IgoCollapsibleModule,
33
- IgoMetadataModule,
34
- IgoLayerModule], exports: [CatalogBrowserComponent] });
35
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CommonModule,
36
- MatBadgeModule,
37
- MatButtonModule,
38
- MatIconModule,
39
- MatListModule,
40
- MatTooltipModule,
41
- IgoMatBadgeIconModule,
42
- IgoLanguageModule,
43
- IgoListModule,
44
- IgoCollapsibleModule,
45
- IgoMetadataModule,
46
- IgoLayerModule] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent], exports: [CatalogBrowserComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent] });
47
11
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
49
13
  type: NgModule,
50
14
  args: [{
51
- imports: [
52
- CommonModule,
53
- MatBadgeModule,
54
- MatButtonModule,
55
- MatIconModule,
56
- MatListModule,
57
- MatTooltipModule,
58
- IgoMatBadgeIconModule,
59
- IgoLanguageModule,
60
- IgoListModule,
61
- IgoCollapsibleModule,
62
- IgoMetadataModule,
63
- IgoLayerModule
64
- ],
65
- exports: [CatalogBrowserComponent],
66
- declarations: [
67
- CatalogBrowserComponent,
68
- CatalogBrowserGroupComponent,
69
- CatalogBrowserLayerComponent
70
- ]
15
+ imports: [CatalogBrowserComponent],
16
+ exports: [CatalogBrowserComponent]
71
17
  }]
72
18
  }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUN0QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQXVCSCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFMaEMsdUJBQXVCO1lBQ3ZCLDRCQUE0QjtZQUM1Qiw0QkFBNEIsYUFqQjVCLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsY0FBYyxhQUVOLHVCQUF1Qjt5R0FPdEIsdUJBQXVCLFlBcEJoQyxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGNBQWM7OzRGQVNMLHVCQUF1QjtrQkF0Qm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSWdvQ29sbGFwc2libGVNb2R1bGUsXHJcbiAgSWdvTGlzdE1vZHVsZSxcclxuICBJZ29NYXRCYWRnZUljb25Nb2R1bGVcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWdvTGF5ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9sYXllci9sYXllci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZ29NZXRhZGF0YU1vZHVsZSB9IGZyb20gJy4vLi4vLi4vbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvTGlzdE1vZHVsZSxcclxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgSWdvTWV0YWRhdGFNb2R1bGUsXHJcbiAgICBJZ29MYXllck1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0NhdGFsb2dCcm93c2VyQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENhdGFsb2dCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgQ2F0YWxvZ0Jyb3dzZXJHcm91cENvbXBvbmVudCxcclxuICAgIENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29DYXRhbG9nQnJvd3Nlck1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO3VHQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1QixZQUh4Qix1QkFBdUIsYUFDdkIsdUJBQXVCO3dHQUV0Qix1QkFBdUIsWUFIeEIsdUJBQXVCOzsyRkFHdEIsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgZGlyZWN0bHlcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0NhdGFsb2dCcm93c2VyQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29DYXRhbG9nQnJvd3Nlck1vZHVsZSB7fVxyXG4iXX0=
@@ -1,23 +1,32 @@
1
+ import { AsyncPipe, NgFor, NgIf } from '@angular/common';
1
2
  import { Component, Inject, Optional } from '@angular/core';
2
- import { UntypedFormBuilder, Validators } from '@angular/forms';
3
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
+ import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
4
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatOptionModule } from '@angular/material/core';
7
+ import { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import { MatInputModule } from '@angular/material/input';
10
+ import { MatListModule } from '@angular/material/list';
11
+ import { MatSelectModule } from '@angular/material/select';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
13
  import { ConfigService, LanguageService } from '@igo2/core';
14
+ import { TranslateModule } from '@ngx-translate/core';
5
15
  import { BehaviorSubject } from 'rxjs';
6
16
  import { TypeCapabilities } from '../../datasource/shared/capabilities.interface';
7
17
  import * as i0 from "@angular/core";
8
18
  import * as i1 from "@angular/forms";
9
19
  import * as i2 from "@igo2/core";
10
20
  import * as i3 from "@angular/material/dialog";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "@angular/material/list";
13
- import * as i6 from "@angular/material/tooltip";
14
- import * as i7 from "@angular/material/button";
15
- import * as i8 from "@angular/material/form-field";
16
- import * as i9 from "@angular/material/input";
17
- import * as i10 from "@angular/material/select";
18
- import * as i11 from "@angular/material/core";
19
- import * as i12 from "@angular/material/autocomplete";
20
- import * as i13 from "@ngx-translate/core";
21
+ import * as i4 from "@angular/material/form-field";
22
+ import * as i5 from "@angular/material/input";
23
+ import * as i6 from "@angular/material/autocomplete";
24
+ import * as i7 from "@angular/material/core";
25
+ import * as i8 from "@angular/material/tooltip";
26
+ import * as i9 from "@angular/material/select";
27
+ import * as i10 from "@angular/material/list";
28
+ import * as i11 from "@angular/material/button";
29
+ import * as i12 from "@ngx-translate/core";
21
30
  export class AddCatalogDialogComponent {
22
31
  formBuilder;
23
32
  languageService;
@@ -92,16 +101,34 @@ export class AddCatalogDialogComponent {
92
101
  this.error = false;
93
102
  this.dialogRef.close();
94
103
  }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCatalogDialogComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.LanguageService }, { token: i2.ConfigService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddCatalogDialogComponent, selector: "igo-add-catalog-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\n matInput\n [matAutocomplete]=\"auto2\"\n />\n <mat-autocomplete\n #auto2=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.title }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"url\"\n placeholder=\"URL\"\n matInput\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.url }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select formControlName=\"type\" placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\"\n >\n <p matListItemTitle>{{ type }}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant(\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\n { value: addedCatalog.url, email: emailAddress }\n )\n }}\n </p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant('igo.geo.catalog.unavailable', {\n value: addedCatalog.url\n })\n }}\n </p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n {{ 'igo.geo.catalog.library.cancel' | translate }}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\"\n >\n {{ 'igo.geo.catalog.library.add' | translate }}\n </button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.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: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i12.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i12.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddCatalogDialogComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.LanguageService }, { token: i2.ConfigService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
105
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AddCatalogDialogComponent, isStandalone: true, selector: "igo-add-catalog-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\r\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\r\n</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"title\"\r\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\r\n matInput\r\n [matAutocomplete]=\"auto2\"\r\n />\r\n <mat-autocomplete\r\n #auto2=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.title\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.title }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"url\"\r\n placeholder=\"URL\"\r\n matInput\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.url\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.url }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"type\" placeholder=\"Type\">\r\n <mat-option\r\n *ngFor=\"let type of typeCapabilities\"\r\n [value]=\"type\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <p matListItemTitle>{{ type }}</p>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n <span *ngIf=\"error && addedCatalog && emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant(\r\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\r\n { value: addedCatalog.url, email: emailAddress }\r\n )\r\n }}\r\n </p>\r\n </span>\r\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant('igo.geo.catalog.unavailable', {\r\n value: addedCatalog.url\r\n })\r\n }}\r\n </p>\r\n </span>\r\n</div>\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n {{ 'igo.geo.catalog.library.cancel' | translate }}\r\n </button>\r\n <button\r\n id=\"addCatalogBtnDialog\"\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"primary\"\r\n [disabled]=\"!form.valid\"\r\n (click)=\"addCatalog(form.value)\"\r\n >\r\n {{ 'igo.geo.catalog.library.add' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: MatListModule }, { kind: "directive", type: i10.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i11.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
97
106
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCatalogDialogComponent, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddCatalogDialogComponent, decorators: [{
99
108
  type: Component,
100
- args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\n matInput\n [matAutocomplete]=\"auto2\"\n />\n <mat-autocomplete\n #auto2=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.title }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"url\"\n placeholder=\"URL\"\n matInput\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.url }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select formControlName=\"type\" placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\"\n >\n <p matListItemTitle>{{ type }}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant(\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\n { value: addedCatalog.url, email: emailAddress }\n )\n }}\n </p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant('igo.geo.catalog.unavailable', {\n value: addedCatalog.url\n })\n }}\n </p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n {{ 'igo.geo.catalog.library.cancel' | translate }}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\"\n >\n {{ 'igo.geo.catalog.library.add' | translate }}\n </button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
101
- }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.LanguageService }, { type: i2.ConfigService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
109
+ args: [{ selector: 'igo-add-catalog-dialog', standalone: true, imports: [
110
+ MatDialogTitle,
111
+ MatDialogContent,
112
+ FormsModule,
113
+ ReactiveFormsModule,
114
+ MatFormFieldModule,
115
+ MatInputModule,
116
+ MatAutocompleteModule,
117
+ NgFor,
118
+ MatOptionModule,
119
+ MatTooltipModule,
120
+ MatSelectModule,
121
+ MatListModule,
122
+ NgIf,
123
+ MatDialogActions,
124
+ MatButtonModule,
125
+ AsyncPipe,
126
+ TranslateModule
127
+ ], template: "<h1 mat-dialog-title class=\"mat-typography\">\r\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\r\n</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"title\"\r\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\r\n matInput\r\n [matAutocomplete]=\"auto2\"\r\n />\r\n <mat-autocomplete\r\n #auto2=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.title\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.title }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"url\"\r\n placeholder=\"URL\"\r\n matInput\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.url\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.url }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"type\" placeholder=\"Type\">\r\n <mat-option\r\n *ngFor=\"let type of typeCapabilities\"\r\n [value]=\"type\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <p matListItemTitle>{{ type }}</p>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n <span *ngIf=\"error && addedCatalog && emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant(\r\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\r\n { value: addedCatalog.url, email: emailAddress }\r\n )\r\n }}\r\n </p>\r\n </span>\r\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant('igo.geo.catalog.unavailable', {\r\n value: addedCatalog.url\r\n })\r\n }}\r\n </p>\r\n </span>\r\n</div>\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n {{ 'igo.geo.catalog.library.cancel' | translate }}\r\n </button>\r\n <button\r\n id=\"addCatalogBtnDialog\"\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"primary\"\r\n [disabled]=\"!form.valid\"\r\n (click)=\"addCatalog(form.value)\"\r\n >\r\n {{ 'igo.geo.catalog.library.add' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
128
+ }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.LanguageService }, { type: i2.ConfigService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
102
129
  type: Optional
103
130
  }, {
104
131
  type: Inject,
105
132
  args: [MAT_DIALOG_DATA]
106
- }] }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVFsRixNQUFNLE9BQU8seUJBQXlCO0lBYzFCO0lBQ0Q7SUFDQztJQUNEO0lBR0E7SUFuQkYsSUFBSSxDQUFtQjtJQUN0Qix1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsa0JBQWtCLENBQWU7SUFDbEMsdUJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7SUFDcEUsZ0JBQWdCLENBQVc7SUFDM0Isa0JBQWtCLEdBQWMsRUFBRSxDQUFDO0lBQ25DLEtBQUssQ0FBdUI7SUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFlBQVksQ0FBVTtJQUN0QixZQUFZLENB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LGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBcUI7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBdkZVLHlCQUF5Qiw0SUFtQjFCLGVBQWU7NEZBbkJkLHlCQUF5Qiw4RENyQnRDLG96R0F3R0E7OzRGRG5GYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCOzswQkFzQi9CLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFR5cGVDYXBhYmlsaXRpZXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWFkZC1jYXRhbG9nLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSA9ICd3bXMnO1xyXG4gIHByaXZhdGUgYWRkZWRDYXRhbG9nVHlwZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDYXRhbG9nW10+KFtdKTtcclxuICB0eXBlQ2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcclxuICBwcmVkZWZpbmVkQ2F0YWxvZ3M6IENhdGFsb2dbXSA9IFtdO1xyXG4gIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuICBlcnJvciA9IGZhbHNlO1xyXG4gIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcclxuICBlbWFpbEFkZHJlc3M6IHN0cmluZztcclxuICBwcml2YXRlIHN0b3JlVmlld0FsbCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxyXG4gICAgcHVibGljIGRhdGE6IHtcclxuICAgICAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW107XHJcbiAgICAgIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuICAgICAgZXJyb3I6IGJvb2xlYW47XHJcbiAgICAgIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcclxuICAgIH1cclxuICApIHtcclxuICAgIHRoaXMuc3RvcmUgPSBkYXRhLnN0b3JlO1xyXG4gICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MgPSBkYXRhLnByZWRlZmluZWRDYXRhbG9ncztcclxuICAgIHRoaXMuZXJyb3IgPSBkYXRhLmVycm9yO1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2cgPSBkYXRhLmFkZGVkQ2F0YWxvZztcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBpZDogWycnLCBbXV0sXHJcbiAgICAgIHRpdGxlOiBbJycsIFtdXSxcclxuICAgICAgdXJsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHR5cGU6IFt0aGlzLmRlZmF1bHRBZGRlZENhdGFsb2dUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS5jbGVhcigpO1xyXG4gICAgdGhpcy50eXBlQ2FwYWJpbGl0aWVzID0gT2JqZWN0LmtleXMoVHlwZUNhcGFiaWxpdGllcyk7XHJcblxyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQgPSB0aGlzLmZvcm1cclxuICAgICAgLmdldCgndHlwZScpXHJcbiAgICAgIC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3dtdHMnKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsaWRhdG9ycyhbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQgPSB0aGlzLnN0b3JlLnZpZXdcclxuICAgICAgLmFsbCQoKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpKTtcclxuXHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2VtYWlsQWRkcmVzcycpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmFkZGVkQ2F0YWxvZ1R5cGUkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdG9yZVZpZXdBbGwkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVXJsT3JUaXRsZShjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShjYXRhbG9nKTtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpIHtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzTGlzdCQubmV4dChcclxuICAgICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MuZmlsdGVyKChjKSA9PiAhdGhpcy5zdG9yZS5nZXQoYy5pZCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2F0YWxvZyhhZGRlZENhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGFkZGVkQ2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRUaXRsZScgfCB0cmFuc2xhdGUgfX1cbjwvaDE+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8ucHJpbnRGb3JtLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG8yXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAjYXV0bzI9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VVcmxPclRpdGxlKCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJlZGVmaW5lZENhdGFsb2cgb2YgcHJlZGVmaW5lZENhdGFsb2dzTGlzdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnRpdGxlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcHJlZGVmaW5lZENhdGFsb2cudGl0bGUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVybFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJVUkxcIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZVVybE9yVGl0bGUoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcmVkZWZpbmVkQ2F0YWxvZyBvZiBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwicHJlZGVmaW5lZENhdGFsb2cudXJsXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcHJlZGVmaW5lZENhdGFsb2cudXJsIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInR5cGVcIiBwbGFjZWhvbGRlcj1cIlR5cGVcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgdHlwZUNhcGFiaWxpdGllc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cCBtYXRMaXN0SXRlbVRpdGxlPnt7IHR5cGUgfX08L3A+XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmIGVtYWlsQWRkcmVzc1wiPlxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgIHt7XG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIudW5hdmFpbGFibGVXaXRoRW1haWwnLFxuICAgICAgICAgIHsgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmwsIGVtYWlsOiBlbWFpbEFkZHJlc3MgfVxuICAgICAgICApXG4gICAgICB9fVxuICAgIDwvcD5cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImVycm9yICYmIGFkZGVkQ2F0YWxvZyAmJiAhZW1haWxBZGRyZXNzXCI+XG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPlxuICAgICAge3tcbiAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGUnLCB7XG4gICAgICAgICAgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmxcbiAgICAgICAgfSlcbiAgICAgIH19XG4gICAgPC9wPlxuICA8L3NwYW4+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIHN0eWxlPVwianVzdGlmeS1jb250ZW50OiBjZW50ZXJcIj5cbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cCBhZGQtY2F0YWxvZy1idXR0b24tdG9wLXBhZGRpbmdcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaWQ9XCJhZGRDYXRhbG9nQnRuRGlhbG9nXCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxuICAgICAgKGNsaWNrKT1cImFkZENhdGFsb2coZm9ybS52YWx1ZSlcIlxuICAgID5cbiAgICAgIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGQnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
133
+ }] }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGNBQWMsRUFDZixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUE0QmxGLE1BQU0sT0FBTyx5QkFBeUI7SUFjMUI7SUFDRDtJQUNDO0lBQ0Q7SUFHQTtJQW5CRixJQUFJLENBQW1CO0lBQ3RCLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUNoQyxrQkFBa0IsQ0FBZTtJQUNsQyx1QkFBdUIsR0FBRyxJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUNwRSxnQkFBZ0IsQ0FBVztJQUMzQixrQkFBa0IsR0FBYyxFQUFFLENBQUM7SUFDbkMsS0FBSyxDQUF1QjtJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsWUFBWSxDQUFVO0lBQ3RCLFlBQVksQ0FBUztJQUNiLGNBQWMsQ0FBZTtJQUVyQyxZQUNVLFdBQStCLEVBQ2hDLGVBQWdDLEVBQy9CLGFBQTRCLEVBQzdCLFNBQWtELEVBR2xELElBS047UUFYTyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLGNBQVMsR0FBVCxTQUFTLENBQXlDO1FBR2xELFNBQUksR0FBSixJQUFJLENBS1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNaLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDZixHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLElBQUk7YUFDaEMsR0FBRyxDQUFDLE1BQU0sQ0FBQzthQUNYLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7YUFDbEMsSUFBSSxFQUFFO2FBQ04sU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFlBQXFCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQXZGVSx5QkFBeUIsNElBbUIxQixlQUFlOzJGQW5CZCx5QkFBeUIsa0ZDM0R0QyxvZ0hBd0dBLDBWRGhFSSxjQUFjLCtIQUNkLGdCQUFnQix3R0FDaEIsV0FBVywycEJBQ1gsbUJBQW1CLCtVQUNuQixrQkFBa0IseU9BQ2xCLGNBQWMsMFdBQ2QscUJBQXFCLHkxQkFDckIsS0FBSyxrSEFDTCxlQUFlLDhCQUNmLGdCQUFnQiw0VEFDaEIsZUFBZSxraEJBQ2YsYUFBYSxrSEFDYixJQUFJLDZGQUNKLGdCQUFnQiwySEFDaEIsZUFBZSx3TkFDZixTQUFTLDZDQUNULGVBQWU7OzJGQUdOLHlCQUF5QjtrQkF6QnJDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLEtBQUs7d0JBQ0wsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixTQUFTO3dCQUNULGVBQWU7cUJBQ2hCOzswQkFvQkUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3Jtc01vZHVsZSxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRvcnNcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9ESUFMT0dfREFUQSxcclxuICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgTWF0RGlhbG9nUmVmLFxyXG4gIE1hdERpYWxvZ1RpdGxlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFR5cGVDYXBhYmlsaXRpZXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWFkZC1jYXRhbG9nLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIE5nRm9yLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSA9ICd3bXMnO1xyXG4gIHByaXZhdGUgYWRkZWRDYXRhbG9nVHlwZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDYXRhbG9nW10+KFtdKTtcclxuICB0eXBlQ2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcclxuICBwcmVkZWZpbmVkQ2F0YWxvZ3M6IENhdGFsb2dbXSA9IFtdO1xyXG4gIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuICBlcnJvciA9IGZhbHNlO1xyXG4gIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcclxuICBlbWFpbEFkZHJlc3M6IHN0cmluZztcclxuICBwcml2YXRlIHN0b3JlVmlld0FsbCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxyXG4gICAgcHVibGljIGRhdGE6IHtcclxuICAgICAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW107XHJcbiAgICAgIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nPjtcclxuICAgICAgZXJyb3I6IGJvb2xlYW47XHJcbiAgICAgIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcclxuICAgIH1cclxuICApIHtcclxuICAgIHRoaXMuc3RvcmUgPSBkYXRhLnN0b3JlO1xyXG4gICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MgPSBkYXRhLnByZWRlZmluZWRDYXRhbG9ncztcclxuICAgIHRoaXMuZXJyb3IgPSBkYXRhLmVycm9yO1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2cgPSBkYXRhLmFkZGVkQ2F0YWxvZztcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBpZDogWycnLCBbXV0sXHJcbiAgICAgIHRpdGxlOiBbJycsIFtdXSxcclxuICAgICAgdXJsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHR5cGU6IFt0aGlzLmRlZmF1bHRBZGRlZENhdGFsb2dUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS5jbGVhcigpO1xyXG4gICAgdGhpcy50eXBlQ2FwYWJpbGl0aWVzID0gT2JqZWN0LmtleXMoVHlwZUNhcGFiaWxpdGllcyk7XHJcblxyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQgPSB0aGlzLmZvcm1cclxuICAgICAgLmdldCgndHlwZScpXHJcbiAgICAgIC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3dtdHMnKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsaWRhdG9ycyhbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQgPSB0aGlzLnN0b3JlLnZpZXdcclxuICAgICAgLmFsbCQoKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpKTtcclxuXHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2VtYWlsQWRkcmVzcycpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmFkZGVkQ2F0YWxvZ1R5cGUkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdG9yZVZpZXdBbGwkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVXJsT3JUaXRsZShjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShjYXRhbG9nKTtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpIHtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzTGlzdCQubmV4dChcclxuICAgICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MuZmlsdGVyKChjKSA9PiAhdGhpcy5zdG9yZS5nZXQoYy5pZCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2F0YWxvZyhhZGRlZENhdGFsb2c6IENhdGFsb2cpIHtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGFkZGVkQ2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxyXG48L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgPGZvcm0gY2xhc3M9XCJpZ28tZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5wcmludEZvcm0udGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG8yXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXHJcbiAgICAgICAgICAjYXV0bzI9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZVVybE9yVGl0bGUoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcmVkZWZpbmVkQ2F0YWxvZyBvZiBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnRpdGxlXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInByZWRlZmluZWRDYXRhbG9nXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgcHJlZGVmaW5lZENhdGFsb2cudGl0bGUgfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVybFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlVSTFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXHJcbiAgICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlVXJsT3JUaXRsZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwicHJlZGVmaW5lZENhdGFsb2cudXJsXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInByZWRlZmluZWRDYXRhbG9nXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgcHJlZGVmaW5lZENhdGFsb2cudXJsIH19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiIHBsYWNlaG9sZGVyPVwiVHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgdHlwZUNhcGFiaWxpdGllc1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtVGl0bGU+e3sgdHlwZSB9fTwvcD5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgZW1haWxBZGRyZXNzXCI+XHJcbiAgICA8cCBjbGFzcz1cImVycm9yXCI+XHJcbiAgICAgIHt7XHJcbiAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLnVuYXZhaWxhYmxlV2l0aEVtYWlsJyxcclxuICAgICAgICAgIHsgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmwsIGVtYWlsOiBlbWFpbEFkZHJlc3MgfVxyXG4gICAgICAgIClcclxuICAgICAgfX1cclxuICAgIDwvcD5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgIWVtYWlsQWRkcmVzc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPlxyXG4gICAgICB7e1xyXG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLnVuYXZhaWxhYmxlJywge1xyXG4gICAgICAgICAgdmFsdWU6IGFkZGVkQ2F0YWxvZy51cmxcclxuICAgICAgICB9KVxyXG4gICAgICB9fVxyXG4gICAgPC9wPlxyXG4gIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIHN0eWxlPVwianVzdGlmeS1jb250ZW50OiBjZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwIGFkZC1jYXRhbG9nLWJ1dHRvbi10b3AtcGFkZGluZ1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgaWQ9XCJhZGRDYXRhbG9nQnRuRGlhbG9nXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiXHJcbiAgICAgIChjbGljayk9XCJhZGRDYXRhbG9nKGZvcm0udmFsdWUpXCJcclxuICAgID5cclxuICAgICAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,14 +1,19 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatListModule } from '@angular/material/list';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
2
7
  import { getEntityTitle } from '@igo2/common';
8
+ import { TranslateModule } from '@ngx-translate/core';
3
9
  import { IgoMap } from '../../map/shared/map';
4
10
  import { Catalog } from '../shared/catalog.abstract';
5
11
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
12
+ import * as i1 from "@angular/material/list";
7
13
  import * as i2 from "@angular/material/icon";
8
- import * as i3 from "@angular/material/list";
9
- import * as i4 from "@angular/material/tooltip";
10
- import * as i5 from "@angular/material/button";
11
- import * as i6 from "@ngx-translate/core";
14
+ import * as i3 from "@angular/material/tooltip";
15
+ import * as i4 from "@angular/material/button";
16
+ import * as i5 from "@ngx-translate/core";
12
17
  /**
13
18
  * Catalog library item
14
19
  */
@@ -32,12 +37,19 @@ export class CatalogLibaryItemComponent {
32
37
  event.stopPropagation();
33
38
  this.catalogRemove.emit();
34
39
  }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogLibaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CatalogLibaryItemComponent, selector: "igo-catalog-library-item", inputs: { catalog: "catalog", map: "map" }, outputs: { catalogRemove: "catalogRemove" }, ngImport: i0, template: "<mat-list-item>\n <span matListItemTitle>\n {{ title }}\n </span>\n <div matListItemMeta>\n <mat-icon\n *ngIf=\"catalog.externalProvider\"\n matListItemIcon\n class=\"igo-external-provider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\"\n >\n </mat-icon>\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button\n >\n <mat-icon svgIcon=\"blank\"></mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i3.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CatalogLibaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: CatalogLibaryItemComponent, isStandalone: true, selector: "igo-catalog-library-item", inputs: { catalog: "catalog", map: "map" }, outputs: { catalogRemove: "catalogRemove" }, ngImport: i0, template: "<mat-list-item>\r\n <span matListItemTitle>\r\n {{ title }}\r\n </span>\r\n <div matListItemMeta>\r\n <mat-icon\r\n *ngIf=\"catalog.externalProvider\"\r\n matListItemIcon\r\n class=\"igo-external-provider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n <button\r\n *ngIf=\"catalog.removable\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\r\n color=\"warn\"\r\n (click)=\"removeCatalogFromLibrary($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"igo-blank\"\r\n *ngIf=\"!catalog.removable\"\r\n disabled=\"true\"\r\n mat-icon-button\r\n >\r\n <mat-icon svgIcon=\"blank\"></mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
42
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CatalogLibaryItemComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CatalogLibaryItemComponent, decorators: [{
39
44
  type: Component,
40
- args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <span matListItemTitle>\n {{ title }}\n </span>\n <div matListItemMeta>\n <mat-icon\n *ngIf=\"catalog.externalProvider\"\n matListItemIcon\n class=\"igo-external-provider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\"\n >\n </mat-icon>\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button\n >\n <mat-icon svgIcon=\"blank\"></mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
45
+ args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
46
+ MatListModule,
47
+ NgIf,
48
+ MatIconModule,
49
+ MatTooltipModule,
50
+ MatButtonModule,
51
+ TranslateModule
52
+ ], template: "<mat-list-item>\r\n <span matListItemTitle>\r\n {{ title }}\r\n </span>\r\n <div matListItemMeta>\r\n <mat-icon\r\n *ngIf=\"catalog.externalProvider\"\r\n matListItemIcon\r\n class=\"igo-external-provider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n <button\r\n *ngIf=\"catalog.removable\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\r\n color=\"warn\"\r\n (click)=\"removeCatalogFromLibrary($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"igo-blank\"\r\n *ngIf=\"!catalog.removable\"\r\n disabled=\"true\"\r\n mat-icon-button\r\n >\r\n <mat-icon svgIcon=\"blank\"></mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
41
53
  }], propDecorators: { catalog: [{
42
54
  type: Input
43
55
  }], map: [{
@@ -45,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
57
  }], catalogRemove: [{
46
58
  type: Output
47
59
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUVyRDs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFDckM7O09BRUc7SUFDTSxPQUFPLENBQVU7SUFFMUI7O09BRUc7SUFDTSxHQUFHLENBQVM7SUFFWCxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU3Qzs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBSztRQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQXZCVSwwQkFBMEI7NEZBQTFCLDBCQUEwQix5SkN0QnZDLGdqQ0F1Q0E7OzRGRGpCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU10QyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcblxyXG4vKipcclxuICogQ2F0YWxvZyBsaWJyYXJ5IGl0ZW1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctbGlicmFyeS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctbGlicmFyeS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dMaWJhcnlJdGVtQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBAT3V0cHV0KCkgY2F0YWxvZ1JlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5jYXRhbG9nKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNhdGFsb2dGcm9tTGlicmFyeShldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNhdGFsb2dSZW1vdmUuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbT5cbiAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZT5cbiAgICB7eyB0aXRsZSB9fVxuICA8L3NwYW4+XG4gIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxuICAgIDxtYXQtaWNvblxuICAgICAgKm5nSWY9XCJjYXRhbG9nLmV4dGVybmFsUHJvdmlkZXJcIlxuICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICBjbGFzcz1cImlnby1leHRlcm5hbC1wcm92aWRlclwiXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIuY2F0YWxvZycgfCB0cmFuc2xhdGVcIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgc3ZnSWNvbj1cImVhcnRoLWFycm93LXJpZ2h0XCJcbiAgICA+XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cImNhdGFsb2cucmVtb3ZhYmxlXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LnJlbW92ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgIChjbGljayk9XCJyZW1vdmVDYXRhbG9nRnJvbUxpYnJhcnkoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJpZ28tYmxhbmtcIlxuICAgICAgKm5nSWY9XCIhY2F0YWxvZy5yZW1vdmFibGVcIlxuICAgICAgZGlzYWJsZWQ9XCJ0cnVlXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiYmxhbmtcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFFckQ7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7T0FFRztJQUNNLE9BQU8sQ0FBVTtJQUUxQjs7T0FFRztJQUNNLEdBQUcsQ0FBUztJQUVYLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdDOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7dUdBdkJVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLDZLQ3RDdkMsOG5DQXVDQSx3SERUSSxhQUFhLG9iQUNiLElBQUksNEZBQ0osYUFBYSxtTEFDYixnQkFBZ0IsNFRBQ2hCLGVBQWUsMklBQ2YsZUFBZTs7MkZBR04sMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCOzhCQU1RLE9BQU87c0JBQWYsS0FBSztnQkFLRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuXHJcbi8qKlxyXG4gKiBDYXRhbG9nIGxpYnJhcnkgaXRlbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWxpYnJhcnktaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nTGliYXJ5SXRlbUNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBhZGQgdGhlIGNhdGFsb2cgaXRlbXMgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQE91dHB1dCgpIGNhdGFsb2dSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuY2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDYXRhbG9nRnJvbUxpYnJhcnkoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jYXRhbG9nUmVtb3ZlLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XHJcbiAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZT5cclxuICAgIHt7IHRpdGxlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgICpuZ0lmPVwiY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyXCJcclxuICAgICAgbWF0TGlzdEl0ZW1JY29uXHJcbiAgICAgIGNsYXNzPVwiaWdvLWV4dGVybmFsLXByb3ZpZGVyXCJcclxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZXh0ZXJuYWxQcm92aWRlci5jYXRhbG9nJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtaWNvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJjYXRhbG9nLnJlbW92YWJsZVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LnJlbW92ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAoY2xpY2spPVwicmVtb3ZlQ2F0YWxvZ0Zyb21MaWJyYXJ5KCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiaWdvLWJsYW5rXCJcclxuICAgICAgKm5nSWY9XCIhY2F0YWxvZy5yZW1vdmFibGVcIlxyXG4gICAgICBkaXNhYmxlZD1cInRydWVcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgID5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJibGFua1wiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG4iXX0=