@igo2/geo 1.14.2 → 1.14.3

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 (871) hide show
  1. package/esm2020/igo2-geo.mjs +4 -4
  2. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +300 -300
  3. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +305 -305
  4. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -246
  5. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
  6. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
  7. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
  8. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
  9. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
  10. package/esm2020/lib/catalog/catalog.module.mjs +52 -52
  11. package/esm2020/lib/catalog/index.mjs +4 -4
  12. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
  13. package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
  14. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
  16. package/esm2020/lib/catalog/shared/index.mjs +4 -4
  17. package/esm2020/lib/datasource/datasource.module.mjs +21 -21
  18. package/esm2020/lib/datasource/index.mjs +2 -2
  19. package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
  20. package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
  21. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
  25. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
  27. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
  29. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
  30. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
  32. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
  34. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
  36. package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
  57. package/esm2020/lib/datasource/shared/index.mjs +4 -4
  58. package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
  59. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
  61. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
  62. package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
  63. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
  64. package/esm2020/lib/datasource/utils/index.mjs +2 -2
  65. package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
  66. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
  67. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  68. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
  69. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  70. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
  71. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  73. package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
  74. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
  75. package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
  76. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
  77. package/esm2020/lib/directions/directions.component.mjs +310 -310
  78. package/esm2020/lib/directions/directions.module.mjs +101 -101
  79. package/esm2020/lib/directions/index.mjs +6 -6
  80. package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
  81. package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
  82. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  83. package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
  84. package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
  85. package/esm2020/lib/directions/shared/index.mjs +5 -5
  86. package/esm2020/lib/directions/shared/store.mjs +23 -23
  87. package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
  88. package/esm2020/lib/download/download-button/index.mjs +1 -1
  89. package/esm2020/lib/download/download.module.mjs +41 -41
  90. package/esm2020/lib/download/index.mjs +2 -2
  91. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  92. package/esm2020/lib/download/shared/download.service.mjs +64 -64
  93. package/esm2020/lib/download/shared/index.mjs +2 -2
  94. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
  95. package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
  96. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
  97. package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
  98. package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
  99. package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
  100. package/esm2020/lib/draw/index.mjs +2 -2
  101. package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
  102. package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
  103. package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
  104. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
  106. package/esm2020/lib/draw/shared/index.mjs +5 -5
  107. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
  108. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
  109. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
  110. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
  111. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
  112. package/esm2020/lib/feature/feature.module.mjs +27 -27
  113. package/esm2020/lib/feature/index.mjs +3 -3
  114. package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
  115. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  116. package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
  117. package/esm2020/lib/feature/shared/index.mjs +6 -6
  118. package/esm2020/lib/feature/shared/store.mjs +123 -123
  119. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
  120. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
  121. package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
  122. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
  123. package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
  124. package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
  125. package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
  126. package/esm2020/lib/filter/filter.module.mjs +288 -288
  127. package/esm2020/lib/filter/index.mjs +15 -15
  128. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  129. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
  130. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
  132. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  133. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
  134. package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
  135. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
  136. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
  137. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
  139. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  140. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
  141. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
  143. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
  144. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
  145. package/esm2020/lib/filter/shared/index.mjs +11 -11
  146. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
  147. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
  148. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
  150. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
  151. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
  152. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  153. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
  154. package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
  155. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
  157. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  158. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
  159. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
  163. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  164. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
  165. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  166. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
  167. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  168. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
  169. package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
  170. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
  171. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
  172. package/esm2020/lib/geo.module.mjs +101 -101
  173. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
  174. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
  175. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
  176. package/esm2020/lib/geometry/geometry.module.mjs +26 -26
  177. package/esm2020/lib/geometry/index.mjs +3 -3
  178. package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
  179. package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
  180. package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
  181. package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
  182. package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
  183. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
  185. package/esm2020/lib/geometry/shared/index.mjs +4 -4
  186. package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
  187. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  188. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
  189. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  190. package/esm2020/lib/import-export/import-export.module.mjs +95 -95
  191. package/esm2020/lib/import-export/index.mjs +4 -4
  192. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
  193. package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
  194. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/export.service.mjs +194 -194
  196. package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
  197. package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
  198. package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
  199. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
  201. package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
  202. package/esm2020/lib/import-export/shared/index.mjs +10 -10
  203. package/esm2020/lib/import-export/style-list/index.mjs +4 -4
  204. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  205. package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
  206. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
  207. package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
  208. package/esm2020/lib/layer/index.mjs +10 -10
  209. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  210. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
  211. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  212. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
  213. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  214. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
  215. package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
  216. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
  217. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
  218. package/esm2020/lib/layer/layer-list/index.mjs +3 -3
  219. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
  220. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
  221. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
  222. package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
  223. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
  224. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
  225. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
  227. package/esm2020/lib/layer/layer.module.mjs +184 -184
  228. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  229. package/esm2020/lib/layer/shared/index.mjs +6 -6
  230. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  231. package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
  232. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
  236. package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
  237. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
  238. package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
  239. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
  241. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
  243. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
  245. package/esm2020/lib/layer/shared/style.service.mjs +355 -355
  246. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  247. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  248. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
  249. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  250. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
  251. package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
  252. package/esm2020/lib/layer/utils/index.mjs +5 -5
  253. package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
  254. package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
  255. package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
  256. package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
  257. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
  258. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
  259. package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
  260. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -142
  261. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
  262. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  263. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
  264. package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
  265. package/esm2020/lib/map/index.mjs +13 -13
  266. package/esm2020/lib/map/info-section/index.mjs +1 -1
  267. package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
  268. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  269. package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
  270. package/esm2020/lib/map/map-center/index.mjs +1 -1
  271. package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
  272. package/esm2020/lib/map/map.module.mjs +126 -126
  273. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  274. package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
  275. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  276. package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
  277. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  278. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
  279. package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
  280. package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
  281. package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
  282. package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
  283. package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
  284. package/esm2020/lib/map/shared/index.mjs +13 -13
  285. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
  286. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
  287. package/esm2020/lib/map/shared/map.enums.mjs +5 -5
  288. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.mjs +406 -406
  290. package/esm2020/lib/map/shared/map.service.mjs +28 -28
  291. package/esm2020/lib/map/shared/map.utils.mjs +462 -462
  292. package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
  293. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.service.mjs +64 -64
  295. package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
  296. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  297. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
  298. package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
  299. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  300. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
  301. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  302. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
  303. package/esm2020/lib/measure/index.mjs +3 -3
  304. package/esm2020/lib/measure/measure.module.mjs +19 -19
  305. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
  306. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
  307. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
  308. package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
  309. package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
  310. package/esm2020/lib/measure/shared/index.mjs +3 -3
  311. package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
  312. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
  314. package/esm2020/lib/metadata/index.mjs +2 -2
  315. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  316. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
  317. package/esm2020/lib/metadata/metadata.module.mjs +54 -54
  318. package/esm2020/lib/metadata/shared/index.mjs +2 -2
  319. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
  321. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
  322. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
  323. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
  325. package/esm2020/lib/offline/geoDB/index.mjs +4 -4
  326. package/esm2020/lib/offline/index.mjs +2 -2
  327. package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
  328. package/esm2020/lib/offline/shared/index.mjs +1 -1
  329. package/esm2020/lib/overlay/index.mjs +1 -1
  330. package/esm2020/lib/overlay/overlay.module.mjs +22 -22
  331. package/esm2020/lib/overlay/shared/index.mjs +6 -6
  332. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
  333. package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
  334. package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
  335. package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
  336. package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
  337. package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
  338. package/esm2020/lib/print/index.mjs +3 -3
  339. package/esm2020/lib/print/print/print.component.mjs +125 -125
  340. package/esm2020/lib/print/print-form/index.mjs +1 -1
  341. package/esm2020/lib/print/print-form/print-form.component.mjs +427 -427
  342. package/esm2020/lib/print/print.module.mjs +64 -64
  343. package/esm2020/lib/print/shared/geopdf.mjs +57 -57
  344. package/esm2020/lib/print/shared/index.mjs +4 -4
  345. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.service.mjs +933 -933
  347. package/esm2020/lib/print/shared/print.type.mjs +29 -29
  348. package/esm2020/lib/query/index.mjs +1 -1
  349. package/esm2020/lib/query/query.module.mjs +28 -28
  350. package/esm2020/lib/query/shared/index.mjs +6 -6
  351. package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
  352. package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
  353. package/esm2020/lib/query/shared/query.directive.mjs +260 -260
  354. package/esm2020/lib/query/shared/query.enums.mjs +29 -29
  355. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  356. package/esm2020/lib/query/shared/query.service.mjs +732 -732
  357. package/esm2020/lib/query/shared/query.utils.mjs +36 -36
  358. package/esm2020/lib/search/index.mjs +11 -11
  359. package/esm2020/lib/search/search-bar/search-bar.component.mjs +511 -511
  360. package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
  361. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
  362. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +117 -117
  363. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +370 -370
  364. package/esm2020/lib/search/search-results/search-results-item.component.mjs +123 -123
  365. package/esm2020/lib/search/search-results/search-results.component.mjs +339 -339
  366. package/esm2020/lib/search/search-results/search-results.module.mjs +103 -103
  367. package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
  368. package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
  369. package/esm2020/lib/search/search-settings/search-settings.component.mjs +441 -441
  370. package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
  371. package/esm2020/lib/search/search.module.mjs +66 -66
  372. package/esm2020/lib/search/shared/index.mjs +8 -8
  373. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
  374. package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
  375. package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
  376. package/esm2020/lib/search/shared/search.enums.mjs +3 -3
  377. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.service.mjs +120 -120
  379. package/esm2020/lib/search/shared/search.utils.mjs +90 -90
  380. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/coordinates.mjs +152 -152
  382. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
  383. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/icherche.mjs +766 -766
  385. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
  386. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/ilayer.mjs +319 -319
  388. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
  389. package/esm2020/lib/search/shared/sources/index.mjs +17 -17
  390. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
  392. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
  393. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/source.mjs +178 -178
  395. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
  397. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
  398. package/esm2020/lib/toast/index.mjs +1 -1
  399. package/esm2020/lib/toast/toast.component.mjs +112 -112
  400. package/esm2020/lib/toast/toast.module.mjs +44 -44
  401. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  402. package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
  403. package/esm2020/lib/utils/googleLinks.mjs +12 -12
  404. package/esm2020/lib/utils/id-generator.mjs +109 -109
  405. package/esm2020/lib/utils/index.mjs +5 -5
  406. package/esm2020/lib/utils/osmLinks.mjs +9 -9
  407. package/esm2020/lib/wkt/index.mjs +1 -1
  408. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  409. package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
  410. package/esm2020/lib/wkt/wkt.module.mjs +21 -21
  411. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
  412. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
  413. package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
  414. package/esm2020/lib/workspace/index.mjs +7 -7
  415. package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
  416. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
  417. package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
  418. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
  419. package/esm2020/lib/workspace/shared/index.mjs +7 -7
  420. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
  421. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
  422. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
  423. package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
  424. package/esm2020/lib/workspace/widgets/index.mjs +3 -3
  425. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
  426. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
  427. package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
  428. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
  429. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
  430. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
  431. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
  432. package/esm2020/lib/workspace/workspace.module.mjs +61 -61
  433. package/esm2020/public_api.mjs +54 -54
  434. package/fesm2015/igo2-geo.mjs +44986 -44986
  435. package/fesm2015/igo2-geo.mjs.map +1 -1
  436. package/fesm2020/igo2-geo.mjs +43029 -43030
  437. package/fesm2020/igo2-geo.mjs.map +1 -1
  438. package/index.d.ts +5 -5
  439. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -126
  440. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -80
  441. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
  442. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  443. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  444. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  445. package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
  446. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  447. package/lib/catalog/catalog.module.d.ts +14 -14
  448. package/lib/catalog/index.d.ts +4 -4
  449. package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
  450. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  451. package/lib/catalog/shared/catalog.interface.d.ts +66 -66
  452. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  453. package/lib/catalog/shared/index.d.ts +4 -4
  454. package/lib/datasource/datasource.module.d.ts +8 -8
  455. package/lib/datasource/index.d.ts +2 -2
  456. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  457. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  458. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  459. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  460. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  461. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  462. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  463. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  464. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  465. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  466. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  467. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  468. package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
  469. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  470. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
  471. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  472. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  473. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  474. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  475. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  476. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  477. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  478. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  479. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  480. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  481. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  482. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  483. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  484. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  485. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  486. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  487. package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
  488. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
  489. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  490. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  491. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  492. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  493. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  494. package/lib/datasource/shared/index.d.ts +4 -4
  495. package/lib/datasource/shared/options/index.d.ts +4 -4
  496. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  497. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  498. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  499. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  500. package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
  501. package/lib/datasource/utils/index.d.ts +2 -2
  502. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  503. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
  504. package/lib/directions/directions-buttons/index.d.ts +1 -1
  505. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  506. package/lib/directions/directions-inputs/index.d.ts +1 -1
  507. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  508. package/lib/directions/directions-results/index.d.ts +1 -1
  509. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  510. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  511. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  512. package/lib/directions/directions-sources/index.d.ts +4 -4
  513. package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
  514. package/lib/directions/directions.component.d.ts +56 -56
  515. package/lib/directions/directions.module.d.ts +26 -26
  516. package/lib/directions/index.d.ts +6 -6
  517. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  518. package/lib/directions/shared/directions.enum.d.ts +22 -22
  519. package/lib/directions/shared/directions.interface.d.ts +126 -126
  520. package/lib/directions/shared/directions.service.d.ts +13 -13
  521. package/lib/directions/shared/directions.utils.d.ts +42 -42
  522. package/lib/directions/shared/index.d.ts +5 -5
  523. package/lib/directions/shared/store.d.ts +18 -18
  524. package/lib/download/download-button/download-button.component.d.ts +18 -18
  525. package/lib/download/download-button/index.d.ts +1 -1
  526. package/lib/download/download.module.d.ts +14 -14
  527. package/lib/download/index.d.ts +2 -2
  528. package/lib/download/shared/download.interface.d.ts +10 -10
  529. package/lib/download/shared/download.service.d.ts +11 -11
  530. package/lib/download/shared/index.d.ts +2 -2
  531. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  532. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  533. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  534. package/lib/draw/draw/draw.component.d.ts +239 -239
  535. package/lib/draw/draw/draw.module.d.ts +34 -34
  536. package/lib/draw/drawingTool.module.d.ts +7 -7
  537. package/lib/draw/index.d.ts +2 -2
  538. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  539. package/lib/draw/shared/draw-style.service.d.ts +36 -36
  540. package/lib/draw/shared/draw.enum.d.ts +32 -32
  541. package/lib/draw/shared/draw.interface.d.ts +40 -40
  542. package/lib/draw/shared/draw.utils.d.ts +35 -35
  543. package/lib/draw/shared/index.d.ts +5 -5
  544. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  545. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  546. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  547. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  548. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  549. package/lib/feature/feature.module.d.ts +9 -9
  550. package/lib/feature/index.d.ts +3 -3
  551. package/lib/feature/shared/feature.enums.d.ts +7 -7
  552. package/lib/feature/shared/feature.interfaces.d.ts +74 -74
  553. package/lib/feature/shared/feature.utils.d.ts +104 -104
  554. package/lib/feature/shared/index.d.ts +6 -6
  555. package/lib/feature/shared/store.d.ts +71 -71
  556. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  557. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  558. package/lib/feature/shared/strategies/index.d.ts +5 -5
  559. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  560. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  561. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  562. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  563. package/lib/filter/filter.module.d.ts +53 -53
  564. package/lib/filter/index.d.ts +15 -15
  565. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  566. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  567. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  568. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  569. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  570. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  571. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  572. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  573. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  574. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  575. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  576. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  577. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  578. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  579. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  580. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  581. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  582. package/lib/filter/shared/index.d.ts +11 -11
  583. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  584. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  585. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  586. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  587. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  588. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  589. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  590. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  591. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  592. package/lib/filter/shared/time-filter.interface.d.ts +29 -29
  593. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  594. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  595. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  596. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  597. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
  598. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  599. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  600. package/lib/filter/time-filter-button/index.d.ts +1 -1
  601. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  602. package/lib/filter/time-filter-form/index.d.ts +1 -1
  603. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  604. package/lib/filter/time-filter-item/index.d.ts +1 -1
  605. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  606. package/lib/filter/time-filter-list/index.d.ts +2 -2
  607. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  608. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  609. package/lib/geo.module.d.ts +28 -28
  610. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
  611. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  612. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  613. package/lib/geometry/geometry.module.d.ts +8 -8
  614. package/lib/geometry/index.d.ts +3 -3
  615. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  616. package/lib/geometry/shared/controls/index.d.ts +3 -3
  617. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  618. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  619. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  620. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  621. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  622. package/lib/geometry/shared/index.d.ts +4 -4
  623. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  624. package/lib/import-export/export-button/index.d.ts +1 -1
  625. package/lib/import-export/import-export/import-export.component.d.ts +104 -104
  626. package/lib/import-export/import-export/index.d.ts +1 -1
  627. package/lib/import-export/import-export.module.d.ts +26 -26
  628. package/lib/import-export/index.d.ts +4 -4
  629. package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
  630. package/lib/import-export/shared/export.errors.d.ts +8 -8
  631. package/lib/import-export/shared/export.interface.d.ts +11 -11
  632. package/lib/import-export/shared/export.service.d.ts +30 -30
  633. package/lib/import-export/shared/export.type.d.ts +16 -16
  634. package/lib/import-export/shared/export.utils.d.ts +19 -19
  635. package/lib/import-export/shared/import.errors.d.ts +20 -20
  636. package/lib/import-export/shared/import.interface.d.ts +8 -8
  637. package/lib/import-export/shared/import.service.d.ts +31 -31
  638. package/lib/import-export/shared/import.utils.d.ts +18 -18
  639. package/lib/import-export/shared/index.d.ts +10 -10
  640. package/lib/import-export/style-list/index.d.ts +4 -4
  641. package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
  642. package/lib/import-export/style-list/style-list.module.d.ts +8 -8
  643. package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
  644. package/lib/import-export/style-list/style-list.service.d.ts +18 -18
  645. package/lib/layer/index.d.ts +10 -10
  646. package/lib/layer/layer-item/index.d.ts +1 -1
  647. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  648. package/lib/layer/layer-legend/index.d.ts +1 -1
  649. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  650. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  651. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  652. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  653. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  654. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  655. package/lib/layer/layer-list/index.d.ts +3 -3
  656. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  657. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  658. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  659. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  660. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  661. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  662. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  663. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  664. package/lib/layer/layer.module.d.ts +36 -36
  665. package/lib/layer/shared/clusterParam.d.ts +13 -13
  666. package/lib/layer/shared/index.d.ts +6 -6
  667. package/lib/layer/shared/layer.enums.d.ts +1 -1
  668. package/lib/layer/shared/layer.service.d.ts +30 -30
  669. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  670. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  671. package/lib/layer/shared/layers/image-layer.d.ts +22 -22
  672. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  673. package/lib/layer/shared/layers/index.d.ts +12 -12
  674. package/lib/layer/shared/layers/layer.d.ts +62 -62
  675. package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
  676. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  677. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  678. package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
  679. package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
  680. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  681. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
  682. package/lib/layer/shared/style.service.d.ts +57 -57
  683. package/lib/layer/shared/vector-style.interface.d.ts +38 -38
  684. package/lib/layer/style-modal/index.d.ts +1 -1
  685. package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
  686. package/lib/layer/track-feature-button/index.d.ts +1 -1
  687. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  688. package/lib/layer/utils/image-watcher.d.ts +17 -17
  689. package/lib/layer/utils/index.d.ts +5 -5
  690. package/lib/layer/utils/layer.utils.d.ts +2 -2
  691. package/lib/layer/utils/outputLegend.d.ts +7 -7
  692. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  693. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  694. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  695. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
  696. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  697. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
  698. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  699. package/lib/map/geolocate-button/index.d.ts +1 -1
  700. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  701. package/lib/map/home-extent-button/index.d.ts +1 -1
  702. package/lib/map/index.d.ts +13 -13
  703. package/lib/map/info-section/index.d.ts +1 -1
  704. package/lib/map/info-section/info-section.component.d.ts +7 -7
  705. package/lib/map/map-browser/index.d.ts +1 -1
  706. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  707. package/lib/map/map-center/index.d.ts +1 -1
  708. package/lib/map/map-center/map-center.component.d.ts +31 -31
  709. package/lib/map/map.module.d.ts +28 -28
  710. package/lib/map/menu-button/index.d.ts +1 -1
  711. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  712. package/lib/map/offline-button/index.d.ts +1 -1
  713. package/lib/map/offline-button/offline-button.component.d.ts +23 -23
  714. package/lib/map/rotation-button/index.d.ts +1 -1
  715. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  716. package/lib/map/shared/controllers/controller.d.ts +29 -29
  717. package/lib/map/shared/controllers/geolocation.d.ts +112 -112
  718. package/lib/map/shared/controllers/index.d.ts +3 -3
  719. package/lib/map/shared/controllers/view.d.ts +200 -200
  720. package/lib/map/shared/hover-feature.directive.d.ts +132 -132
  721. package/lib/map/shared/index.d.ts +13 -13
  722. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  723. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  724. package/lib/map/shared/map.d.ts +135 -135
  725. package/lib/map/shared/map.enums.d.ts +4 -4
  726. package/lib/map/shared/map.interface.d.ts +57 -57
  727. package/lib/map/shared/map.service.d.ts +19 -19
  728. package/lib/map/shared/map.utils.d.ts +90 -90
  729. package/lib/map/shared/mapOffline.directive.d.ts +21 -21
  730. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  731. package/lib/map/shared/projection.service.d.ts +19 -19
  732. package/lib/map/shared/projection.utils.d.ts +19 -19
  733. package/lib/map/swipe-control/index.d.ts +1 -1
  734. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  735. package/lib/map/utils/layer-watcher.d.ts +20 -20
  736. package/lib/map/wake-lock-button/index.d.ts +1 -1
  737. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
  738. package/lib/map/zoom-button/index.d.ts +1 -1
  739. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  740. package/lib/measure/index.d.ts +3 -3
  741. package/lib/measure/measure.module.d.ts +7 -7
  742. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  743. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  744. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  745. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  746. package/lib/measure/measurer/measurer.module.d.ts +25 -25
  747. package/lib/measure/shared/index.d.ts +3 -3
  748. package/lib/measure/shared/measure.enum.d.ts +33 -33
  749. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  750. package/lib/measure/shared/measure.utils.d.ts +180 -180
  751. package/lib/metadata/index.d.ts +2 -2
  752. package/lib/metadata/metadata-button/index.d.ts +1 -1
  753. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  754. package/lib/metadata/metadata.module.d.ts +15 -15
  755. package/lib/metadata/shared/index.d.ts +2 -2
  756. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  757. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  758. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  759. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  760. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  761. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  762. package/lib/offline/geoDB/index.d.ts +4 -4
  763. package/lib/offline/index.d.ts +2 -2
  764. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  765. package/lib/offline/shared/index.d.ts +1 -1
  766. package/lib/overlay/index.d.ts +1 -1
  767. package/lib/overlay/overlay.module.d.ts +9 -9
  768. package/lib/overlay/shared/index.d.ts +6 -6
  769. package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
  770. package/lib/overlay/shared/overlay.d.ts +81 -81
  771. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  772. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  773. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  774. package/lib/overlay/shared/overlay.utils.d.ts +17 -17
  775. package/lib/print/index.d.ts +3 -3
  776. package/lib/print/print/print.component.d.ts +35 -35
  777. package/lib/print/print-form/index.d.ts +1 -1
  778. package/lib/print/print-form/print-form.component.d.ts +97 -97
  779. package/lib/print/print.module.d.ts +19 -19
  780. package/lib/print/shared/geopdf.d.ts +1 -1
  781. package/lib/print/shared/index.d.ts +4 -4
  782. package/lib/print/shared/print.interface.d.ts +22 -22
  783. package/lib/print/shared/print.service.d.ts +168 -168
  784. package/lib/print/shared/print.type.d.ts +45 -45
  785. package/lib/query/index.d.ts +1 -1
  786. package/lib/query/query.module.d.ts +11 -11
  787. package/lib/query/shared/index.d.ts +6 -6
  788. package/lib/query/shared/query-search-source.d.ts +17 -17
  789. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  790. package/lib/query/shared/query.directive.d.ts +105 -105
  791. package/lib/query/shared/query.enums.d.ts +26 -26
  792. package/lib/query/shared/query.interfaces.d.ts +35 -35
  793. package/lib/query/shared/query.service.d.ts +56 -56
  794. package/lib/query/shared/query.utils.d.ts +27 -27
  795. package/lib/search/index.d.ts +11 -11
  796. package/lib/search/search-bar/search-bar.component.d.ts +230 -230
  797. package/lib/search/search-bar/search-bar.module.d.ts +23 -23
  798. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  799. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
  800. package/lib/search/search-results/search-results-add-button.component.d.ts +76 -76
  801. package/lib/search/search-results/search-results-item.component.d.ts +47 -47
  802. package/lib/search/search-results/search-results.component.d.ts +161 -161
  803. package/lib/search/search-results/search-results.module.d.ts +28 -28
  804. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  805. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  806. package/lib/search/search-settings/search-settings.component.d.ts +102 -102
  807. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  808. package/lib/search/search.module.d.ts +14 -14
  809. package/lib/search/shared/index.d.ts +8 -8
  810. package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
  811. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  812. package/lib/search/shared/search-source.service.d.ts +32 -32
  813. package/lib/search/shared/search.enums.d.ts +1 -1
  814. package/lib/search/shared/search.interfaces.d.ts +29 -29
  815. package/lib/search/shared/search.service.d.ts +53 -53
  816. package/lib/search/shared/search.utils.d.ts +39 -39
  817. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  818. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  819. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  820. package/lib/search/shared/sources/icherche.d.ts +96 -96
  821. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  822. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  823. package/lib/search/shared/sources/ilayer.d.ts +55 -55
  824. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  825. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  826. package/lib/search/shared/sources/index.d.ts +17 -17
  827. package/lib/search/shared/sources/nominatim.d.ts +45 -45
  828. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  829. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  830. package/lib/search/shared/sources/source.d.ts +108 -108
  831. package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
  832. package/lib/search/shared/sources/storedqueries.d.ts +73 -73
  833. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  834. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  835. package/lib/toast/index.d.ts +1 -1
  836. package/lib/toast/toast.component.d.ts +33 -33
  837. package/lib/toast/toast.module.d.ts +14 -14
  838. package/lib/utils/commonVectorStyle.d.ts +14 -14
  839. package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
  840. package/lib/utils/googleLinks.d.ts +5 -5
  841. package/lib/utils/id-generator.d.ts +54 -54
  842. package/lib/utils/index.d.ts +5 -5
  843. package/lib/utils/osmLinks.d.ts +4 -4
  844. package/lib/wkt/index.d.ts +1 -1
  845. package/lib/wkt/shared/index.d.ts +1 -1
  846. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  847. package/lib/wkt/wkt.module.d.ts +8 -8
  848. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  849. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  850. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  851. package/lib/workspace/index.d.ts +7 -7
  852. package/lib/workspace/shared/edition-workspace.d.ts +82 -82
  853. package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
  854. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  855. package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
  856. package/lib/workspace/shared/index.d.ts +7 -7
  857. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  858. package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
  859. package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
  860. package/lib/workspace/shared/workspace.utils.d.ts +10 -10
  861. package/lib/workspace/widgets/index.d.ts +3 -3
  862. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  863. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  864. package/lib/workspace/widgets/widgets.d.ts +9 -9
  865. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  866. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  867. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  868. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  869. package/lib/workspace/workspace.module.d.ts +14 -14
  870. package/package.json +4 -4
  871. package/public_api.d.ts +51 -51
@@ -1,300 +1,300 @@
1
- import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { layerIsQueryable } from '../../query/shared/query.utils';
4
- import { TooltipType } from '../shared/layers';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@igo2/core";
7
- function LayerItemComponent_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
8
- const _r7 = i0.ɵɵgetCurrentView();
9
- i0.ɵɵelementStart(0, "mat-checkbox", 9);
10
- i0.ɵɵlistener("change", function LayerItemComponent_mat_checkbox_1_Template_mat_checkbox_change_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.check()); });
11
- i0.ɵɵelementEnd();
12
- } if (rf & 2) {
13
- const ctx_r0 = i0.ɵɵnextContext();
14
- i0.ɵɵproperty("checked", ctx_r0.layerCheck);
15
- } }
16
- const _c0 = function (a0) { return { disabled: a0 }; };
17
- function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
18
- const _r9 = i0.ɵɵgetCurrentView();
19
- i0.ɵɵelementStart(0, "button", 10);
20
- i0.ɵɵlistener("click", function LayerItemComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.toggleVisibility()); });
21
- i0.ɵɵpipe(1, "translate");
22
- i0.ɵɵelement(2, "mat-icon", 11);
23
- i0.ɵɵpipe(3, "async");
24
- i0.ɵɵpipe(4, "async");
25
- i0.ɵɵpipe(5, "async");
26
- i0.ɵɵelementEnd();
27
- } if (rf & 2) {
28
- const ctx_r1 = i0.ɵɵnextContext();
29
- i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", i0.ɵɵpipeBind1(1, 5, ctx_r1.eyeTooltip));
30
- i0.ɵɵadvance(2);
31
- i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0, i0.ɵɵpipeBind1(4, 9, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(5, 11, ctx_r1.layer.visible$) ? "eye" : "eye-off");
32
- } }
33
- function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
34
- const _r11 = i0.ɵɵgetCurrentView();
35
- i0.ɵɵelementStart(0, "button", 12);
36
- i0.ɵɵlistener("click", function LayerItemComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.toggleVisibility()); });
37
- i0.ɵɵpipe(1, "translate");
38
- i0.ɵɵpipe(2, "translate");
39
- i0.ɵɵelement(3, "mat-icon", 11);
40
- i0.ɵɵpipe(4, "async");
41
- i0.ɵɵpipe(5, "async");
42
- i0.ɵɵelementEnd();
43
- } if (rf & 2) {
44
- const ctx_r2 = i0.ɵɵnextContext();
45
- i0.ɵɵproperty("color", ctx_r2.layer.visible ? "primary" : "default")("matTooltip", ctx_r2.layer.visible ? i0.ɵɵpipeBind1(1, 5, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 7, "igo.geo.layer.showLayer"));
46
- i0.ɵɵadvance(3);
47
- i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0, i0.ɵɵpipeBind1(5, 11, ctx_r2.inResolutionRange$) === false))("svgIcon", ctx_r2.layer.visible ? "eye" : "eye-off");
48
- } }
49
- function LayerItemComponent_button_6_Template(rf, ctx) { if (rf & 1) {
50
- const _r13 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "button", 13);
52
- i0.ɵɵlistener("click", function LayerItemComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.toggleLayerTool()); });
53
- i0.ɵɵpipe(1, "translate");
54
- i0.ɵɵelement(2, "mat-icon", 14);
55
- i0.ɵɵelementEnd();
56
- } if (rf & 2) {
57
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.geo.layer.moreOptions"));
58
- } }
59
- function LayerItemComponent_igo_layer_legend_9_Template(rf, ctx) { if (rf & 1) {
60
- i0.ɵɵelement(0, "igo-layer-legend", 15);
61
- } if (rf & 2) {
62
- const ctx_r5 = i0.ɵɵnextContext();
63
- i0.ɵɵproperty("layer", ctx_r5.layer)("updateLegendOnResolutionChange", ctx_r5.updateLegendOnResolutionChange);
64
- } }
65
- export class LayerItemComponent {
66
- constructor(networkService, renderer, elRef, cdRef) {
67
- this.networkService = networkService;
68
- this.renderer = renderer;
69
- this.elRef = elRef;
70
- this.cdRef = cdRef;
71
- this.focusedCls = 'igo-layer-item-focused';
72
- this.layerTool$ = new BehaviorSubject(false);
73
- this.showLegend$ = new BehaviorSubject(true);
74
- this.inResolutionRange$ = new BehaviorSubject(true);
75
- this.queryBadgeHidden$ = new BehaviorSubject(true);
76
- this._selectAll = false;
77
- this.layers$ = new BehaviorSubject(undefined);
78
- this.toggleLegendOnVisibilityChange = false;
79
- this.expandLegendIfVisible = false;
80
- this.updateLegendOnResolutionChange = false;
81
- this.orderable = true;
82
- this.lowerDisabled = false;
83
- this.raiseDisabled = false;
84
- this.queryBadge = false;
85
- this.action = new EventEmitter(undefined);
86
- this.checkbox = new EventEmitter();
87
- }
88
- get activeLayer() {
89
- return this._activeLayer;
90
- }
91
- set activeLayer(value) {
92
- if (value && this.layer && value.id === this.layer.id && !this.selectionMode) {
93
- this.layerTool$.next(true);
94
- this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
95
- }
96
- else {
97
- this.renderer.removeClass(this.elRef.nativeElement, this.focusedCls);
98
- }
99
- }
100
- get selectAll() {
101
- return this._selectAll;
102
- }
103
- set selectAll(value) {
104
- this._selectAll = value;
105
- if (value === true) {
106
- this.layerCheck = true;
107
- }
108
- }
109
- get layer() {
110
- return this._layer;
111
- }
112
- set layer(value) {
113
- this._layer = value;
114
- this.layers$.next(value);
115
- }
116
- get opacity() {
117
- return this.layer.opacity * 100;
118
- }
119
- set opacity(opacity) {
120
- this.layer.opacity = opacity / 100;
121
- }
122
- get eyeTooltip() {
123
- if (this.inResolutionRange$.getValue() === false) {
124
- return 'igo.geo.layer.notInResolution';
125
- }
126
- else {
127
- return this.layer.visible ? 'igo.geo.layer.hideLayer' : 'igo.geo.layer.showLayer';
128
- }
129
- }
130
- ngOnInit() {
131
- if (this.layer.visible &&
132
- this.expandLegendIfVisible &&
133
- this.layer.firstLoadComponent === true) {
134
- this.layer.firstLoadComponent = false;
135
- this.layer.legendCollapsed = false;
136
- }
137
- this.toggleLegend(this.layer.legendCollapsed);
138
- this.updateQueryBadge();
139
- const resolution$ = this.layer.map.viewController.resolution$;
140
- this.resolution$$ = resolution$.subscribe(() => {
141
- this.onResolutionChange();
142
- });
143
- this.tooltipText = this.computeTooltip();
144
- this.network$$ = this.networkService.currentState().subscribe((state) => {
145
- this.state = state;
146
- this.onResolutionChange();
147
- });
148
- this.layers$$ = this.layers$.subscribe(() => {
149
- if (this.layer && this.layer.options.active) {
150
- this.layerTool$.next(true);
151
- this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
152
- }
153
- });
154
- if (this.changeDetection) {
155
- this.changeDetection.subscribe(() => this.cdRef.detectChanges());
156
- }
157
- }
158
- ngOnDestroy() {
159
- this.resolution$$.unsubscribe();
160
- this.network$$.unsubscribe();
161
- this.layers$$.unsubscribe();
162
- }
163
- toggleLegend(collapsed) {
164
- this.layer.legendCollapsed = collapsed;
165
- this.showLegend$.next(!collapsed);
166
- }
167
- toggleLegendOnClick() {
168
- this.toggleLegend(this.showLegend$.value);
169
- }
170
- toggleVisibility() {
171
- this.layer.visible = !this.layer.visible;
172
- if (this.toggleLegendOnVisibilityChange) {
173
- this.toggleLegend(!this.layer.visible);
174
- }
175
- this.updateQueryBadge();
176
- }
177
- computeTooltip() {
178
- const layerOptions = this.layer.options;
179
- if (!layerOptions.tooltip) {
180
- return this.layer.title;
181
- }
182
- const layerTooltip = layerOptions.tooltip;
183
- const layerMetadata = layerOptions.metadata;
184
- switch (layerOptions.tooltip.type) {
185
- case TooltipType.TITLE:
186
- return this.layer.title;
187
- case TooltipType.ABSTRACT:
188
- if (layerMetadata && layerMetadata.abstract) {
189
- return layerMetadata.abstract;
190
- }
191
- else {
192
- return this.layer.title;
193
- }
194
- case TooltipType.CUSTOM:
195
- if (layerTooltip && layerTooltip.text) {
196
- return layerTooltip.text;
197
- }
198
- else {
199
- return this.layer.title;
200
- }
201
- default:
202
- return this.layer.title;
203
- }
204
- }
205
- onResolutionChange() {
206
- const inResolutionRange = this.layer.isInResolutionsRange;
207
- if (inResolutionRange === false &&
208
- this.updateLegendOnResolutionChange === true) {
209
- this.toggleLegend(true);
210
- }
211
- this.inResolutionRange$.next(inResolutionRange);
212
- }
213
- updateQueryBadge() {
214
- const hidden = this.queryBadge === false ||
215
- this.layer.visible === false ||
216
- !layerIsQueryable(this.layer);
217
- this.queryBadgeHidden$.next(hidden);
218
- }
219
- toggleLayerTool() {
220
- this.layerTool$.next(!this.layerTool$.getValue());
221
- if (this.layerTool$.getValue() === true) {
222
- this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
223
- }
224
- else {
225
- this.renderer.removeClass(this.elRef.nativeElement, this.focusedCls);
226
- }
227
- this.action.emit(this.layer);
228
- }
229
- check() {
230
- this.layerCheck = !this.layerCheck;
231
- this.checkbox.emit({ layer: this.layer, check: this.layerCheck });
232
- }
233
- }
234
- LayerItemComponent.ɵfac = function LayerItemComponent_Factory(t) { return new (t || LayerItemComponent)(i0.ɵɵdirectiveInject(i1.NetworkService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
235
- LayerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerItemComponent, selectors: [["igo-layer-item"]], inputs: { activeLayer: "activeLayer", selectAll: "selectAll", layerCheck: "layerCheck", layer: "layer", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendIfVisible: "expandLegendIfVisible", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", orderable: "orderable", lowerDisabled: "lowerDisabled", raiseDisabled: "raiseDisabled", queryBadge: "queryBadge", selectionMode: "selectionMode", changeDetection: "changeDetection" }, outputs: { action: "action", checkbox: "checkbox" }, decls: 11, vars: 9, consts: [[1, "igo-layer-list-item"], ["class", "layerCheck", "mat-list-icon", "", 3, "checked", "change", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", 1, "igo-layer-title", 3, "matTooltip", "click"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click", 4, "ngIf"], ["class", "selection-eye", "mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click", 4, "ngIf"], ["class", "actions-button", "tooltip-position", "below", "matTooltipShowDelay", "500", "mat-icon-button", "", "color", "primary", 3, "matTooltip", "click", 4, "ngIf"], [1, "igo-layer-legend-container"], ["legend", ""], [3, "layer", "updateLegendOnResolutionChange", 4, "ngIf"], ["mat-list-icon", "", 1, "layerCheck", 3, "checked", "change"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click"], ["matBadge", "?", "matBadgeColor", "accent", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "ngClass", "svgIcon"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "selection-eye", 3, "color", "matTooltip", "click"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "mat-icon-button", "", "color", "primary", 1, "actions-button", 3, "matTooltip", "click"], ["svgIcon", "dots-horizontal"], [3, "layer", "updateLegendOnResolutionChange"]], template: function LayerItemComponent_Template(rf, ctx) { if (rf & 1) {
236
- i0.ɵɵelementStart(0, "mat-list-item", 0);
237
- i0.ɵɵtemplate(1, LayerItemComponent_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 1);
238
- i0.ɵɵelementStart(2, "h4", 2);
239
- i0.ɵɵlistener("click", function LayerItemComponent_Template_h4_click_2_listener() { return ctx.toggleLegendOnClick(); });
240
- i0.ɵɵtext(3);
241
- i0.ɵɵelementEnd();
242
- i0.ɵɵtemplate(4, LayerItemComponent_button_4_Template, 6, 15, "button", 3);
243
- i0.ɵɵtemplate(5, LayerItemComponent_button_5_Template, 6, 15, "button", 4);
244
- i0.ɵɵtemplate(6, LayerItemComponent_button_6_Template, 3, 3, "button", 5);
245
- i0.ɵɵelementEnd();
246
- i0.ɵɵelementStart(7, "div", 6, 7);
247
- i0.ɵɵtemplate(9, LayerItemComponent_igo_layer_legend_9_Template, 1, 2, "igo-layer-legend", 8);
248
- i0.ɵɵpipe(10, "async");
249
- i0.ɵɵelementEnd();
250
- } if (rf & 2) {
251
- i0.ɵɵadvance(1);
252
- i0.ɵɵproperty("ngIf", ctx.selectionMode);
253
- i0.ɵɵadvance(1);
254
- i0.ɵɵproperty("matTooltip", ctx.tooltipText);
255
- i0.ɵɵadvance(1);
256
- i0.ɵɵtextInterpolate(ctx.layer.title);
257
- i0.ɵɵadvance(1);
258
- i0.ɵɵproperty("ngIf", !ctx.selectionMode);
259
- i0.ɵɵadvance(1);
260
- i0.ɵɵproperty("ngIf", ctx.selectionMode);
261
- i0.ɵɵadvance(1);
262
- i0.ɵɵproperty("ngIf", !ctx.selectionMode);
263
- i0.ɵɵadvance(3);
264
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(10, 7, ctx.showLegend$));
265
- } }, styles: ["[_nghost-%COMP%]{overflow:hidden}mat-list-item[_ngcontent-%COMP%] .mat-list-item-content .layerCheck{align-self:baseline;width:16px;padding-right:0}.igo-layer-list-item[_ngcontent-%COMP%]{height:46px;clear:both}.igo-layer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-layer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px)}mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}mat-icon[matBadge][_ngcontent-%COMP%] .mat-badge-content{font-size:12px}.selection-eye[_ngcontent-%COMP%]{padding-right:45px}"], changeDetection: 0 });
266
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerItemComponent, [{
267
- type: Component,
268
- args: [{ selector: 'igo-layer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\n <mat-checkbox *ngIf=\"selectionMode\"\n class=\"layerCheck\"\n mat-list-icon\n (change)=\"check()\"\n [checked]=\"layerCheck\">\n </mat-checkbox>\n <h4 (click)=\"toggleLegendOnClick()\" matLine class=\"igo-layer-title\" [matTooltip]=\"tooltipText\" matTooltipShowDelay=\"500\">{{layer.title}}</h4>\n\n <button *ngIf=\"!selectionMode\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"eyeTooltip | translate\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"(layer.visible$ | async) ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n\n <button *ngIf=\"selectionMode\" class=\"selection-eye\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"layer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n</button>\n\n <button *ngIf=\"!selectionMode\"\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]= \"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\">\n <mat-icon svgIcon=\"dots-horizontal\"></mat-icon>\n </button>\n</mat-list-item>\n\n<div #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend\n *ngIf=\"showLegend$ | async\"\n [layer]=\"layer\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend>\n</div>\n", styles: [":host{overflow:hidden}mat-list-item ::ng-deep .mat-list-item-content .layerCheck{align-self:baseline;width:16px;padding-right:0}.igo-layer-list-item{height:46px;clear:both}.igo-layer-title{cursor:pointer}.igo-layer-legend-container{padding-left:18px;width:calc(100% - 18px)}mat-icon.disabled{color:#00000061}mat-icon[matBadge] ::ng-deep .mat-badge-content{font-size:12px}.selection-eye{padding-right:45px}\n"] }]
269
- }], function () { return [{ type: i1.NetworkService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { activeLayer: [{
270
- type: Input
271
- }], selectAll: [{
272
- type: Input
273
- }], layerCheck: [{
274
- type: Input
275
- }], layer: [{
276
- type: Input
277
- }], toggleLegendOnVisibilityChange: [{
278
- type: Input
279
- }], expandLegendIfVisible: [{
280
- type: Input
281
- }], updateLegendOnResolutionChange: [{
282
- type: Input
283
- }], orderable: [{
284
- type: Input
285
- }], lowerDisabled: [{
286
- type: Input
287
- }], raiseDisabled: [{
288
- type: Input
289
- }], queryBadge: [{
290
- type: Input
291
- }], selectionMode: [{
292
- type: Input
293
- }], changeDetection: [{
294
- type: Input
295
- }], action: [{
296
- type: Output
297
- }], checkbox: [{
298
- type: Output
299
- }] }); })();
1
+ import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { layerIsQueryable } from '../../query/shared/query.utils';
4
+ import { TooltipType } from '../shared/layers';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/core";
7
+ function LayerItemComponent_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
8
+ const _r7 = i0.ɵɵgetCurrentView();
9
+ i0.ɵɵelementStart(0, "mat-checkbox", 9);
10
+ i0.ɵɵlistener("change", function LayerItemComponent_mat_checkbox_1_Template_mat_checkbox_change_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.check()); });
11
+ i0.ɵɵelementEnd();
12
+ } if (rf & 2) {
13
+ const ctx_r0 = i0.ɵɵnextContext();
14
+ i0.ɵɵproperty("checked", ctx_r0.layerCheck);
15
+ } }
16
+ const _c0 = function (a0) { return { disabled: a0 }; };
17
+ function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
18
+ const _r9 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "button", 10);
20
+ i0.ɵɵlistener("click", function LayerItemComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.toggleVisibility()); });
21
+ i0.ɵɵpipe(1, "translate");
22
+ i0.ɵɵelement(2, "mat-icon", 11);
23
+ i0.ɵɵpipe(3, "async");
24
+ i0.ɵɵpipe(4, "async");
25
+ i0.ɵɵpipe(5, "async");
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const ctx_r1 = i0.ɵɵnextContext();
29
+ i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", i0.ɵɵpipeBind1(1, 5, ctx_r1.eyeTooltip));
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0, i0.ɵɵpipeBind1(4, 9, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(5, 11, ctx_r1.layer.visible$) ? "eye" : "eye-off");
32
+ } }
33
+ function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
34
+ const _r11 = i0.ɵɵgetCurrentView();
35
+ i0.ɵɵelementStart(0, "button", 12);
36
+ i0.ɵɵlistener("click", function LayerItemComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.toggleVisibility()); });
37
+ i0.ɵɵpipe(1, "translate");
38
+ i0.ɵɵpipe(2, "translate");
39
+ i0.ɵɵelement(3, "mat-icon", 11);
40
+ i0.ɵɵpipe(4, "async");
41
+ i0.ɵɵpipe(5, "async");
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const ctx_r2 = i0.ɵɵnextContext();
45
+ i0.ɵɵproperty("color", ctx_r2.layer.visible ? "primary" : "default")("matTooltip", ctx_r2.layer.visible ? i0.ɵɵpipeBind1(1, 5, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 7, "igo.geo.layer.showLayer"));
46
+ i0.ɵɵadvance(3);
47
+ i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0, i0.ɵɵpipeBind1(5, 11, ctx_r2.inResolutionRange$) === false))("svgIcon", ctx_r2.layer.visible ? "eye" : "eye-off");
48
+ } }
49
+ function LayerItemComponent_button_6_Template(rf, ctx) { if (rf & 1) {
50
+ const _r13 = i0.ɵɵgetCurrentView();
51
+ i0.ɵɵelementStart(0, "button", 13);
52
+ i0.ɵɵlistener("click", function LayerItemComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.toggleLayerTool()); });
53
+ i0.ɵɵpipe(1, "translate");
54
+ i0.ɵɵelement(2, "mat-icon", 14);
55
+ i0.ɵɵelementEnd();
56
+ } if (rf & 2) {
57
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.geo.layer.moreOptions"));
58
+ } }
59
+ function LayerItemComponent_igo_layer_legend_9_Template(rf, ctx) { if (rf & 1) {
60
+ i0.ɵɵelement(0, "igo-layer-legend", 15);
61
+ } if (rf & 2) {
62
+ const ctx_r5 = i0.ɵɵnextContext();
63
+ i0.ɵɵproperty("layer", ctx_r5.layer)("updateLegendOnResolutionChange", ctx_r5.updateLegendOnResolutionChange);
64
+ } }
65
+ export class LayerItemComponent {
66
+ constructor(networkService, renderer, elRef, cdRef) {
67
+ this.networkService = networkService;
68
+ this.renderer = renderer;
69
+ this.elRef = elRef;
70
+ this.cdRef = cdRef;
71
+ this.focusedCls = 'igo-layer-item-focused';
72
+ this.layerTool$ = new BehaviorSubject(false);
73
+ this.showLegend$ = new BehaviorSubject(true);
74
+ this.inResolutionRange$ = new BehaviorSubject(true);
75
+ this.queryBadgeHidden$ = new BehaviorSubject(true);
76
+ this._selectAll = false;
77
+ this.layers$ = new BehaviorSubject(undefined);
78
+ this.toggleLegendOnVisibilityChange = false;
79
+ this.expandLegendIfVisible = false;
80
+ this.updateLegendOnResolutionChange = false;
81
+ this.orderable = true;
82
+ this.lowerDisabled = false;
83
+ this.raiseDisabled = false;
84
+ this.queryBadge = false;
85
+ this.action = new EventEmitter(undefined);
86
+ this.checkbox = new EventEmitter();
87
+ }
88
+ get activeLayer() {
89
+ return this._activeLayer;
90
+ }
91
+ set activeLayer(value) {
92
+ if (value && this.layer && value.id === this.layer.id && !this.selectionMode) {
93
+ this.layerTool$.next(true);
94
+ this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
95
+ }
96
+ else {
97
+ this.renderer.removeClass(this.elRef.nativeElement, this.focusedCls);
98
+ }
99
+ }
100
+ get selectAll() {
101
+ return this._selectAll;
102
+ }
103
+ set selectAll(value) {
104
+ this._selectAll = value;
105
+ if (value === true) {
106
+ this.layerCheck = true;
107
+ }
108
+ }
109
+ get layer() {
110
+ return this._layer;
111
+ }
112
+ set layer(value) {
113
+ this._layer = value;
114
+ this.layers$.next(value);
115
+ }
116
+ get opacity() {
117
+ return this.layer.opacity * 100;
118
+ }
119
+ set opacity(opacity) {
120
+ this.layer.opacity = opacity / 100;
121
+ }
122
+ get eyeTooltip() {
123
+ if (this.inResolutionRange$.getValue() === false) {
124
+ return 'igo.geo.layer.notInResolution';
125
+ }
126
+ else {
127
+ return this.layer.visible ? 'igo.geo.layer.hideLayer' : 'igo.geo.layer.showLayer';
128
+ }
129
+ }
130
+ ngOnInit() {
131
+ if (this.layer.visible &&
132
+ this.expandLegendIfVisible &&
133
+ this.layer.firstLoadComponent === true) {
134
+ this.layer.firstLoadComponent = false;
135
+ this.layer.legendCollapsed = false;
136
+ }
137
+ this.toggleLegend(this.layer.legendCollapsed);
138
+ this.updateQueryBadge();
139
+ const resolution$ = this.layer.map.viewController.resolution$;
140
+ this.resolution$$ = resolution$.subscribe(() => {
141
+ this.onResolutionChange();
142
+ });
143
+ this.tooltipText = this.computeTooltip();
144
+ this.network$$ = this.networkService.currentState().subscribe((state) => {
145
+ this.state = state;
146
+ this.onResolutionChange();
147
+ });
148
+ this.layers$$ = this.layers$.subscribe(() => {
149
+ if (this.layer && this.layer.options.active) {
150
+ this.layerTool$.next(true);
151
+ this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
152
+ }
153
+ });
154
+ if (this.changeDetection) {
155
+ this.changeDetection.subscribe(() => this.cdRef.detectChanges());
156
+ }
157
+ }
158
+ ngOnDestroy() {
159
+ this.resolution$$.unsubscribe();
160
+ this.network$$.unsubscribe();
161
+ this.layers$$.unsubscribe();
162
+ }
163
+ toggleLegend(collapsed) {
164
+ this.layer.legendCollapsed = collapsed;
165
+ this.showLegend$.next(!collapsed);
166
+ }
167
+ toggleLegendOnClick() {
168
+ this.toggleLegend(this.showLegend$.value);
169
+ }
170
+ toggleVisibility() {
171
+ this.layer.visible = !this.layer.visible;
172
+ if (this.toggleLegendOnVisibilityChange) {
173
+ this.toggleLegend(!this.layer.visible);
174
+ }
175
+ this.updateQueryBadge();
176
+ }
177
+ computeTooltip() {
178
+ const layerOptions = this.layer.options;
179
+ if (!layerOptions.tooltip) {
180
+ return this.layer.title;
181
+ }
182
+ const layerTooltip = layerOptions.tooltip;
183
+ const layerMetadata = layerOptions.metadata;
184
+ switch (layerOptions.tooltip.type) {
185
+ case TooltipType.TITLE:
186
+ return this.layer.title;
187
+ case TooltipType.ABSTRACT:
188
+ if (layerMetadata && layerMetadata.abstract) {
189
+ return layerMetadata.abstract;
190
+ }
191
+ else {
192
+ return this.layer.title;
193
+ }
194
+ case TooltipType.CUSTOM:
195
+ if (layerTooltip && layerTooltip.text) {
196
+ return layerTooltip.text;
197
+ }
198
+ else {
199
+ return this.layer.title;
200
+ }
201
+ default:
202
+ return this.layer.title;
203
+ }
204
+ }
205
+ onResolutionChange() {
206
+ const inResolutionRange = this.layer.isInResolutionsRange;
207
+ if (inResolutionRange === false &&
208
+ this.updateLegendOnResolutionChange === true) {
209
+ this.toggleLegend(true);
210
+ }
211
+ this.inResolutionRange$.next(inResolutionRange);
212
+ }
213
+ updateQueryBadge() {
214
+ const hidden = this.queryBadge === false ||
215
+ this.layer.visible === false ||
216
+ !layerIsQueryable(this.layer);
217
+ this.queryBadgeHidden$.next(hidden);
218
+ }
219
+ toggleLayerTool() {
220
+ this.layerTool$.next(!this.layerTool$.getValue());
221
+ if (this.layerTool$.getValue() === true) {
222
+ this.renderer.addClass(this.elRef.nativeElement, this.focusedCls);
223
+ }
224
+ else {
225
+ this.renderer.removeClass(this.elRef.nativeElement, this.focusedCls);
226
+ }
227
+ this.action.emit(this.layer);
228
+ }
229
+ check() {
230
+ this.layerCheck = !this.layerCheck;
231
+ this.checkbox.emit({ layer: this.layer, check: this.layerCheck });
232
+ }
233
+ }
234
+ LayerItemComponent.ɵfac = function LayerItemComponent_Factory(t) { return new (t || LayerItemComponent)(i0.ɵɵdirectiveInject(i1.NetworkService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
235
+ LayerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerItemComponent, selectors: [["igo-layer-item"]], inputs: { activeLayer: "activeLayer", selectAll: "selectAll", layerCheck: "layerCheck", layer: "layer", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendIfVisible: "expandLegendIfVisible", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", orderable: "orderable", lowerDisabled: "lowerDisabled", raiseDisabled: "raiseDisabled", queryBadge: "queryBadge", selectionMode: "selectionMode", changeDetection: "changeDetection" }, outputs: { action: "action", checkbox: "checkbox" }, decls: 11, vars: 9, consts: [[1, "igo-layer-list-item"], ["class", "layerCheck", "mat-list-icon", "", 3, "checked", "change", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", 1, "igo-layer-title", 3, "matTooltip", "click"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click", 4, "ngIf"], ["class", "selection-eye", "mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click", 4, "ngIf"], ["class", "actions-button", "tooltip-position", "below", "matTooltipShowDelay", "500", "mat-icon-button", "", "color", "primary", 3, "matTooltip", "click", 4, "ngIf"], [1, "igo-layer-legend-container"], ["legend", ""], [3, "layer", "updateLegendOnResolutionChange", 4, "ngIf"], ["mat-list-icon", "", 1, "layerCheck", 3, "checked", "change"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click"], ["matBadge", "?", "matBadgeColor", "accent", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "ngClass", "svgIcon"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "selection-eye", 3, "color", "matTooltip", "click"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "mat-icon-button", "", "color", "primary", 1, "actions-button", 3, "matTooltip", "click"], ["svgIcon", "dots-horizontal"], [3, "layer", "updateLegendOnResolutionChange"]], template: function LayerItemComponent_Template(rf, ctx) { if (rf & 1) {
236
+ i0.ɵɵelementStart(0, "mat-list-item", 0);
237
+ i0.ɵɵtemplate(1, LayerItemComponent_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 1);
238
+ i0.ɵɵelementStart(2, "h4", 2);
239
+ i0.ɵɵlistener("click", function LayerItemComponent_Template_h4_click_2_listener() { return ctx.toggleLegendOnClick(); });
240
+ i0.ɵɵtext(3);
241
+ i0.ɵɵelementEnd();
242
+ i0.ɵɵtemplate(4, LayerItemComponent_button_4_Template, 6, 15, "button", 3);
243
+ i0.ɵɵtemplate(5, LayerItemComponent_button_5_Template, 6, 15, "button", 4);
244
+ i0.ɵɵtemplate(6, LayerItemComponent_button_6_Template, 3, 3, "button", 5);
245
+ i0.ɵɵelementEnd();
246
+ i0.ɵɵelementStart(7, "div", 6, 7);
247
+ i0.ɵɵtemplate(9, LayerItemComponent_igo_layer_legend_9_Template, 1, 2, "igo-layer-legend", 8);
248
+ i0.ɵɵpipe(10, "async");
249
+ i0.ɵɵelementEnd();
250
+ } if (rf & 2) {
251
+ i0.ɵɵadvance(1);
252
+ i0.ɵɵproperty("ngIf", ctx.selectionMode);
253
+ i0.ɵɵadvance(1);
254
+ i0.ɵɵproperty("matTooltip", ctx.tooltipText);
255
+ i0.ɵɵadvance(1);
256
+ i0.ɵɵtextInterpolate(ctx.layer.title);
257
+ i0.ɵɵadvance(1);
258
+ i0.ɵɵproperty("ngIf", !ctx.selectionMode);
259
+ i0.ɵɵadvance(1);
260
+ i0.ɵɵproperty("ngIf", ctx.selectionMode);
261
+ i0.ɵɵadvance(1);
262
+ i0.ɵɵproperty("ngIf", !ctx.selectionMode);
263
+ i0.ɵɵadvance(3);
264
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(10, 7, ctx.showLegend$));
265
+ } }, styles: ["[_nghost-%COMP%]{overflow:hidden}mat-list-item[_ngcontent-%COMP%] .mat-list-item-content .layerCheck{align-self:baseline;width:16px;padding-right:0}.igo-layer-list-item[_ngcontent-%COMP%]{height:46px;clear:both}.igo-layer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-layer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px)}mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}mat-icon[matBadge][_ngcontent-%COMP%] .mat-badge-content{font-size:12px}.selection-eye[_ngcontent-%COMP%]{padding-right:45px}"], changeDetection: 0 });
266
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerItemComponent, [{
267
+ type: Component,
268
+ args: [{ selector: 'igo-layer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\n <mat-checkbox *ngIf=\"selectionMode\"\n class=\"layerCheck\"\n mat-list-icon\n (change)=\"check()\"\n [checked]=\"layerCheck\">\n </mat-checkbox>\n <h4 (click)=\"toggleLegendOnClick()\" matLine class=\"igo-layer-title\" [matTooltip]=\"tooltipText\" matTooltipShowDelay=\"500\">{{layer.title}}</h4>\n\n <button *ngIf=\"!selectionMode\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"eyeTooltip | translate\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"(layer.visible$ | async) ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n\n <button *ngIf=\"selectionMode\" class=\"selection-eye\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"layer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n</button>\n\n <button *ngIf=\"!selectionMode\"\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]= \"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\">\n <mat-icon svgIcon=\"dots-horizontal\"></mat-icon>\n </button>\n</mat-list-item>\n\n<div #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend\n *ngIf=\"showLegend$ | async\"\n [layer]=\"layer\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend>\n</div>\n", styles: [":host{overflow:hidden}mat-list-item ::ng-deep .mat-list-item-content .layerCheck{align-self:baseline;width:16px;padding-right:0}.igo-layer-list-item{height:46px;clear:both}.igo-layer-title{cursor:pointer}.igo-layer-legend-container{padding-left:18px;width:calc(100% - 18px)}mat-icon.disabled{color:#00000061}mat-icon[matBadge] ::ng-deep .mat-badge-content{font-size:12px}.selection-eye{padding-right:45px}\n"] }]
269
+ }], function () { return [{ type: i1.NetworkService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { activeLayer: [{
270
+ type: Input
271
+ }], selectAll: [{
272
+ type: Input
273
+ }], layerCheck: [{
274
+ type: Input
275
+ }], layer: [{
276
+ type: Input
277
+ }], toggleLegendOnVisibilityChange: [{
278
+ type: Input
279
+ }], expandLegendIfVisible: [{
280
+ type: Input
281
+ }], updateLegendOnResolutionChange: [{
282
+ type: Input
283
+ }], orderable: [{
284
+ type: Input
285
+ }], lowerDisabled: [{
286
+ type: Input
287
+ }], raiseDisabled: [{
288
+ type: Input
289
+ }], queryBadge: [{
290
+ type: Input
291
+ }], selectionMode: [{
292
+ type: Input
293
+ }], changeDetection: [{
294
+ type: Input
295
+ }], action: [{
296
+ type: Output
297
+ }], checkbox: [{
298
+ type: Output
299
+ }] }); })();
300
300
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1pdGVtL2xheWVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItaXRlbS9sYXllci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sWUFBWSxFQUliLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7SUNmcEQsdUNBSXlCO0lBRHZCLGdMQUFVLGVBQUEsY0FBTyxDQUFBLElBQUM7SUFFcEIsaUJBQWU7OztJQURiLDJDQUFzQjs7Ozs7SUFJeEIsa0NBTytCO0lBQTdCLGtLQUFTLGVBQUEseUJBQWtCLENBQUEsSUFBQzs7SUFDNUIsK0JBUVc7Ozs7SUFDYixpQkFBUzs7O0lBZlAsb0VBQStDLHVEQUFBO0lBVzdDLGVBQTRDO0lBQTVDLCtFQUE0QyxtR0FBQSw2RUFBQTs7OztJQU1oRCxrQ0FTNkI7SUFBN0Isb0tBQVMsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDOzs7SUFDNUIsK0JBUVc7OztJQUNiLGlCQUFTOzs7SUFqQlAsb0VBQStDLHdJQUFBO0lBYTdDLGVBQTRDO0lBQTVDLCtFQUE0QyxvR0FBQSxxREFBQTs7OztJQU05QyxrQ0FPOEI7SUFBNUIsb0tBQVMsZUFBQSx5QkFBaUIsQ0FBQSxJQUFDOztJQUMzQiwrQkFBK0M7SUFDakQsaUJBQVM7O0lB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QU07WUFDRyxRQUFRO2tCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgUmVuZGVyZXIyLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE1ldGFkYXRhTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBsYXllcklzUXVlcnlhYmxlIH0gZnJvbSAnLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LnV0aWxzJztcbmltcG9ydCB7IExheWVyLCBUb29sdGlwVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMnO1xuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UsIENvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tbGF5ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXllci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXllckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb2N1c2VkQ2xzID0gJ2lnby1sYXllci1pdGVtLWZvY3VzZWQnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBhY3RpdmVMYXllcigpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlTGF5ZXI7XG4gIH1cbiAgc2V0IGFjdGl2ZUxheWVyKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMubGF5ZXIgJiYgdmFsdWUuaWQgPT09IHRoaXMubGF5ZXIuaWQgJiYgIXRoaXMuc2VsZWN0aW9uTW9kZSkge1xuICAgICAgdGhpcy5sYXllclRvb2wkLm5leHQodHJ1ZSk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9jdXNlZENscyk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2FjdGl2ZUxheWVyO1xuXG4gIGxheWVyVG9vbCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHNob3dMZWdlbmQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIGluUmVzb2x1dGlvblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBxdWVyeUJhZGdlSGlkZGVuJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICB0b29sdGlwVGV4dDogc3RyaW5nO1xuXG4gIHN0YXRlOiBDb25uZWN0aW9uU3RhdGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0QWxsO1xuICB9XG4gIHNldCBzZWxlY3RBbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RBbGwgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMubGF5ZXJDaGVjayA9IHRydWU7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3NlbGVjdEFsbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxheWVyQ2hlY2s7XG5cbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBuZXR3b3JrJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGxheWVycyQ6IEJlaGF2aW9yU3ViamVjdDxMYXllcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyPih1bmRlZmluZWQpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXllcigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XG4gIH1cbiAgc2V0IGxheWVyKHZhbHVlKSB7XG4gICAgdGhpcy5fbGF5ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmxheWVycyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfbGF5ZXI7XG5cbiAgQElucHV0KCkgdG9nZ2xlTGVnZW5kT25WaXNpYmlsaXR5Q2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZXhwYW5kTGVnZW5kSWZWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgb3JkZXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBsb3dlckRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcmFpc2VEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHF1ZXJ5QmFkZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlO1xuXG4gIEBJbnB1dCgpIGNoYW5nZURldGVjdGlvbjtcblxuICBnZXQgb3BhY2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5sYXllci5vcGFjaXR5ICogMTAwO1xuICB9XG4gIHNldCBvcGFjaXR5KG9wYWNpdHk6IG51bWJlcikge1xuICAgIHRoaXMubGF5ZXIub3BhY2l0eSA9IG9wYWNpdHkgLyAxMDA7XG4gIH1cblxuICBnZXQgZXllVG9vbHRpcCgpIHtcbiAgICBpZiAodGhpcy5pblJlc29sdXRpb25SYW5nZSQuZ2V0VmFsdWUoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiAnaWdvLmdlby5sYXllci5ub3RJblJlc29sdXRpb24nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5sYXllci52aXNpYmxlID8gJ2lnby5nZW8ubGF5ZXIuaGlkZUxheWVyJyA6ICdpZ28uZ2VvLmxheWVyLnNob3dMYXllcic7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGFjdGlvbjogRXZlbnRFbWl0dGVyPExheWVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGF5ZXI+KHVuZGVmaW5lZCk7XG4gIEBPdXRwdXQoKSBjaGVja2JveCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGxheWVyOiBMYXllcjtcbiAgICBjaGVjazogYm9vbGVhbjtcbiAgfT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmxheWVyLnZpc2libGUgJiZcbiAgICAgIHRoaXMuZXhwYW5kTGVnZW5kSWZWaXNpYmxlICYmXG4gICAgICB0aGlzLmxheWVyLmZpcnN0TG9hZENvbXBvbmVudCA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgdGhpcy5sYXllci5maXJzdExvYWRDb21wb25lbnQgPSBmYWxzZTtcbiAgICAgIHRoaXMubGF5ZXIubGVnZW5kQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlTGVnZW5kKHRoaXMubGF5ZXIubGVnZW5kQ29sbGFwc2VkKTtcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5QmFkZ2UoKTtcblxuICAgIGNvbnN0IHJlc29sdXRpb24kID0gdGhpcy5sYXllci5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQ7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSByZXNvbHV0aW9uJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vblJlc29sdXRpb25DaGFuZ2UoKTtcbiAgICB9KTtcbiAgICB0aGlzLnRvb2x0aXBUZXh0ID0gdGhpcy5jb21wdXRlVG9vbHRpcCgpO1xuXG4gICAgdGhpcy5uZXR3b3JrJCQgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmN1cnJlbnRTdGF0ZSgpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgdGhpcy5vblJlc29sdXRpb25DaGFuZ2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLmxheWVycyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxheWVyICYmIHRoaXMubGF5ZXIub3B0aW9ucy5hY3RpdmUpIHtcbiAgICAgICAgdGhpcy5sYXllclRvb2wkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmZvY3VzZWRDbHMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2hhbmdlRGV0ZWN0aW9uKSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZXR3b3JrJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0b2dnbGVMZWdlbmQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgdGhpcy5zaG93TGVnZW5kJC5uZXh0KCFjb2xsYXBzZWQpO1xuICB9XG5cbiAgdG9nZ2xlTGVnZW5kT25DbGljaygpIHtcbiAgICB0aGlzLnRvZ2dsZUxlZ2VuZCh0aGlzLnNob3dMZWdlbmQkLnZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZVZpc2liaWxpdHkoKSB7XG4gICAgdGhpcy5sYXllci52aXNpYmxlID0gIXRoaXMubGF5ZXIudmlzaWJsZTtcbiAgICBpZiAodGhpcy50b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UpIHtcbiAgICAgIHRoaXMudG9nZ2xlTGVnZW5kKCF0aGlzLmxheWVyLnZpc2libGUpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5QmFkZ2UoKTtcbiAgfVxuXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGF5ZXJPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zO1xuICAgIGlmICghbGF5ZXJPcHRpb25zLnRvb2x0aXApIHtcbiAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgIH1cbiAgICBjb25zdCBsYXllclRvb2x0aXAgPSBsYXllck9wdGlvbnMudG9vbHRpcDtcbiAgICBjb25zdCBsYXllck1ldGFkYXRhID0gKGxheWVyT3B0aW9ucyBhcyBNZXRhZGF0YUxheWVyT3B0aW9ucykubWV0YWRhdGE7XG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMudG9vbHRpcC50eXBlKSB7XG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLlRJVExFOlxuICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQUJTVFJBQ1Q6XG4gICAgICAgIGlmIChsYXllck1ldGFkYXRhICYmIGxheWVyTWV0YWRhdGEuYWJzdHJhY3QpIHtcbiAgICAgICAgICByZXR1cm4gbGF5ZXJNZXRhZGF0YS5hYnN0cmFjdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSBUb29sdGlwVHlwZS5DVVNUT006XG4gICAgICAgIGlmIChsYXllclRvb2x0aXAgJiYgbGF5ZXJUb29sdGlwLnRleHQpIHtcbiAgICAgICAgICByZXR1cm4gbGF5ZXJUb29sdGlwLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25SZXNvbHV0aW9uQ2hhbmdlKCkge1xuICAgIGNvbnN0IGluUmVzb2x1dGlvblJhbmdlID0gdGhpcy5sYXllci5pc0luUmVzb2x1dGlvbnNSYW5nZTtcbiAgICBpZiAoXG4gICAgICBpblJlc29sdXRpb25SYW5nZSA9PT0gZmFsc2UgJiZcbiAgICAgIHRoaXMudXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlID09PSB0cnVlXG4gICAgKSB7XG4gICAgICB0aGlzLnRvZ2dsZUxlZ2VuZCh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5pblJlc29sdXRpb25SYW5nZSQubmV4dChpblJlc29sdXRpb25SYW5nZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVF1ZXJ5QmFkZ2UoKSB7XG4gICAgY29uc3QgaGlkZGVuID1cbiAgICAgIHRoaXMucXVlcnlCYWRnZSA9PT0gZmFsc2UgfHxcbiAgICAgIHRoaXMubGF5ZXIudmlzaWJsZSA9PT0gZmFsc2UgfHxcbiAgICAgICFsYXllcklzUXVlcnlhYmxlKHRoaXMubGF5ZXIpO1xuICAgIHRoaXMucXVlcnlCYWRnZUhpZGRlbiQubmV4dChoaWRkZW4pO1xuICB9XG5cbiAgdG9nZ2xlTGF5ZXJUb29sKCkge1xuICAgIHRoaXMubGF5ZXJUb29sJC5uZXh0KCF0aGlzLmxheWVyVG9vbCQuZ2V0VmFsdWUoKSk7XG4gICAgaWYgKHRoaXMubGF5ZXJUb29sJC5nZXRWYWx1ZSgpID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9jdXNlZENscyk7XG4gICAgfVxuICAgIHRoaXMuYWN0aW9uLmVtaXQodGhpcy5sYXllcik7XG4gIH1cblxuICBwdWJsaWMgY2hlY2soKSB7XG4gICAgdGhpcy5sYXllckNoZWNrID0gIXRoaXMubGF5ZXJDaGVjaztcbiAgICB0aGlzLmNoZWNrYm94LmVtaXQoe2xheWVyOiB0aGlzLmxheWVyLCBjaGVjazogdGhpcy5sYXllckNoZWNrfSk7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtIGNsYXNzPSBcImlnby1sYXllci1saXN0LWl0ZW1cIj5cbiAgPG1hdC1jaGVja2JveCAqbmdJZj1cInNlbGVjdGlvbk1vZGVcIlxuICAgIGNsYXNzPVwibGF5ZXJDaGVja1wiXG4gICAgbWF0LWxpc3QtaWNvblxuICAgIChjaGFuZ2UpPVwiY2hlY2soKVwiXG4gICAgW2NoZWNrZWRdPVwibGF5ZXJDaGVja1wiPlxuICA8L21hdC1jaGVja2JveD5cbiAgPGg0IChjbGljayk9XCJ0b2dnbGVMZWdlbmRPbkNsaWNrKClcIiBtYXRMaW5lIGNsYXNzPVwiaWdvLWxheWVyLXRpdGxlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFRleHRcIiBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCI+e3tsYXllci50aXRsZX19PC9oND5cblxuICA8YnV0dG9uICpuZ0lmPVwiIXNlbGVjdGlvbk1vZGVcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCJsYXllci52aXNpYmxlID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgICBjb2xsYXBzaWJsZUJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiZXllVG9vbHRpcCB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZVZpc2liaWxpdHkoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgbWF0QmFkZ2U9XCI/XCJcbiAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcbiAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJxdWVyeUJhZGdlSGlkZGVuJCB8IGFzeW5jXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntkaXNhYmxlZDogKGluUmVzb2x1dGlvblJhbmdlJCB8IGFzeW5jKT09PWZhbHNlfVwiXG4gICAgICBbc3ZnSWNvbl09XCIobGF5ZXIudmlzaWJsZSQgfCBhc3luYykgPyAnZXllJyA6ICdleWUtb2ZmJ1wiPlxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCJzZWxlY3Rpb25Nb2RlXCIgY2xhc3M9XCJzZWxlY3Rpb24tZXllXCJcbiAgbWF0LWljb24tYnV0dG9uXG4gIFtjb2xvcl09XCJsYXllci52aXNpYmxlID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgY29sbGFwc2libGVCdXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cImxheWVyLnZpc2libGUgP1xuICAgICAgICAgICAgICAgICgnaWdvLmdlby5sYXllci5oaWRlTGF5ZXInIHwgdHJhbnNsYXRlKSA6XG4gICAgICAgICAgICAgICAgKCdpZ28uZ2VvLmxheWVyLnNob3dMYXllcicgfCB0cmFuc2xhdGUpXCJcbiAgKGNsaWNrKT1cInRvZ2dsZVZpc2liaWxpdHkoKVwiPlxuICA8bWF0LWljb25cbiAgICBtYXRCYWRnZT1cIj9cIlxuICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgIFttYXRCYWRnZUhpZGRlbl09XCJxdWVyeUJhZGdlSGlkZGVuJCB8IGFzeW5jXCJcbiAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IChpblJlc29sdXRpb25SYW5nZSQgfCBhc3luYyk9PT1mYWxzZX1cIlxuICAgIFtzdmdJY29uXT1cImxheWVyLnZpc2libGUgPyAnZXllJyA6ICdleWUtb2ZmJ1wiPlxuICA8L21hdC1pY29uPlxuPC9idXR0b24+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3Rpb25Nb2RlXCJcbiAgICBjbGFzcz1cImFjdGlvbnMtYnV0dG9uXCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT0gXCInaWdvLmdlby5sYXllci5tb3JlT3B0aW9ucycgfCB0cmFuc2xhdGVcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZUxheWVyVG9vbCgpXCI+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJkb3RzLWhvcml6b250YWxcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LWxpc3QtaXRlbT5cblxuPGRpdiAjbGVnZW5kIGNsYXNzPVwiaWdvLWxheWVyLWxlZ2VuZC1jb250YWluZXJcIj5cbiAgPGlnby1sYXllci1sZWdlbmRcbiAgICAqbmdJZj1cInNob3dMZWdlbmQkIHwgYXN5bmNcIlxuICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgW3VwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZV09XCJ1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcIj5cbiAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuPC9kaXY+XG4iXX0=