@igo2/geo 16.2.0 → 17.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
  9. package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +9 -37
  11. package/esm2022/lib/catalog/index.mjs +7 -1
  12. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  14. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2022/lib/catalog/shared/catalog.service.mjs +72 -31
  16. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  18. package/esm2022/lib/datasource/index.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +7 -1
  20. package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
  21. package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
  22. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  25. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
  42. package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
  43. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
  44. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  45. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
  46. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
  48. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  50. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  51. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  52. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  53. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
  54. package/esm2022/lib/directions/directions.component.mjs +18 -10
  55. package/esm2022/lib/directions/directions.module.mjs +17 -70
  56. package/esm2022/lib/directions/index.mjs +1 -1
  57. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  58. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
  61. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  62. package/esm2022/lib/directions/shared/index.mjs +1 -1
  63. package/esm2022/lib/directions/shared/store.mjs +1 -1
  64. package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
  65. package/esm2022/lib/download/download-button/index.mjs +1 -1
  66. package/esm2022/lib/download/download.module.mjs +10 -27
  67. package/esm2022/lib/download/index.mjs +1 -1
  68. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  69. package/esm2022/lib/download/shared/download.service.mjs +5 -5
  70. package/esm2022/lib/download/shared/index.mjs +1 -1
  71. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
  72. package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
  73. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
  74. package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
  75. package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
  76. package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
  77. package/esm2022/lib/draw/index.mjs +1 -1
  78. package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
  79. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  80. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  81. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  82. package/esm2022/lib/draw/shared/index.mjs +1 -1
  83. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  84. package/esm2022/lib/environment/index.mjs +1 -1
  85. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
  86. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
  87. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
  88. package/esm2022/lib/feature/feature-details/index.mjs +9 -0
  89. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
  90. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
  91. package/esm2022/lib/feature/feature.module.mjs +9 -10
  92. package/esm2022/lib/feature/index.mjs +8 -2
  93. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  94. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  95. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  96. package/esm2022/lib/feature/shared/index.mjs +1 -1
  97. package/esm2022/lib/feature/shared/store.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  99. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  102. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
  105. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2022/lib/filter/filter.module.mjs +47 -177
  108. package/esm2022/lib/filter/index.mjs +36 -1
  109. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
  110. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
  111. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
  112. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
  113. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
  114. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
  115. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
  116. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
  117. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
  118. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
  119. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
  120. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  121. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
  122. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
  123. package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
  125. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
  126. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
  127. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
  128. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
  129. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
  130. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
  131. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
  132. package/esm2022/lib/geo.module.mjs +5 -43
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  134. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
  135. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
  136. package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
  137. package/esm2022/lib/geometry/geometry.module.mjs +9 -10
  138. package/esm2022/lib/geometry/index.mjs +2 -3
  139. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  143. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  145. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  146. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  147. package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
  148. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  149. package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
  150. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  151. package/esm2022/lib/import-export/import-export.module.mjs +10 -81
  152. package/esm2022/lib/import-export/index.mjs +9 -1
  153. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
  154. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  156. package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
  157. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  158. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  159. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  160. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  161. package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
  162. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  163. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  164. package/esm2022/lib/layer/index.mjs +19 -1
  165. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
  166. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
  167. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
  168. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
  169. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
  170. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
  171. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
  172. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
  173. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
  174. package/esm2022/lib/layer/layer.module.mjs +16 -93
  175. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  176. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  179. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  180. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  181. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  182. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  183. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  184. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  185. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  186. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  187. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
  188. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  189. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  190. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  191. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  192. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  193. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
  194. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
  195. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
  196. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
  197. package/esm2022/lib/map/index.mjs +32 -1
  198. package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
  199. package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
  200. package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
  201. package/esm2022/lib/map/map.module.mjs +36 -66
  202. package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
  203. package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
  204. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
  205. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  207. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
  209. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  210. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
  211. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  212. package/esm2022/lib/map/shared/map.mjs +1 -1
  213. package/esm2022/lib/map/shared/map.service.mjs +5 -5
  214. package/esm2022/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
  216. package/esm2022/lib/map/shared/projection.service.mjs +5 -5
  217. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  218. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
  219. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  220. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
  221. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
  222. package/esm2022/lib/measure/index.mjs +2 -3
  223. package/esm2022/lib/measure/measure.module.mjs +8 -5
  224. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  225. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
  226. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
  227. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
  228. package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
  229. package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
  230. package/esm2022/lib/measure/shared/index.mjs +1 -1
  231. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  232. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  233. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  234. package/esm2022/lib/metadata/index.mjs +6 -1
  235. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  236. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
  237. package/esm2022/lib/metadata/metadata.module.mjs +10 -31
  238. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  239. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  240. package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
  241. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  242. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  243. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  244. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
  245. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  246. package/esm2022/lib/offline/index.mjs +1 -1
  247. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  248. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  249. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
  250. package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
  251. package/esm2022/lib/offline/shared/index.mjs +1 -1
  252. package/esm2022/lib/overlay/index.mjs +1 -1
  253. package/esm2022/lib/overlay/overlay.module.mjs +10 -8
  254. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  255. package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
  256. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  257. package/esm2022/lib/overlay/shared/overlay.mjs +2 -2
  258. package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
  259. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  260. package/esm2022/lib/print/index.mjs +1 -1
  261. package/esm2022/lib/print/print/print.component.mjs +7 -7
  262. package/esm2022/lib/print/print-form/index.mjs +1 -1
  263. package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
  264. package/esm2022/lib/print/print.module.mjs +10 -54
  265. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  266. package/esm2022/lib/print/shared/index.mjs +1 -1
  267. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  268. package/esm2022/lib/print/shared/print.service.mjs +10 -10
  269. package/esm2022/lib/print/shared/print.type.mjs +1 -1
  270. package/esm2022/lib/query/index.mjs +1 -1
  271. package/esm2022/lib/query/query.module.mjs +7 -8
  272. package/esm2022/lib/query/shared/index.mjs +1 -1
  273. package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
  274. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  275. package/esm2022/lib/query/shared/query.directive.mjs +8 -7
  276. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  277. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  278. package/esm2022/lib/query/shared/query.service.mjs +7 -9
  279. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  280. package/esm2022/lib/search/index.mjs +14 -5
  281. package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
  282. package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
  283. package/esm2022/lib/search/search-results/index.mjs +10 -0
  284. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
  285. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
  286. package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
  287. package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
  288. package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
  289. package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
  290. package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
  291. package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
  292. package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
  293. package/esm2022/lib/search/search.module.mjs +10 -13
  294. package/esm2022/lib/search/shared/index.mjs +1 -1
  295. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
  296. package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
  297. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  298. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  299. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  300. package/esm2022/lib/search/shared/search.service.mjs +5 -5
  301. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  302. package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
  303. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  304. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  305. package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
  306. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  307. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  308. package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
  309. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +1 -1
  310. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  311. package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
  312. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  313. package/esm2022/lib/search/shared/sources/index.mjs +1 -1
  314. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  315. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  316. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  317. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  318. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  319. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  320. package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
  321. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  322. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  323. package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
  324. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  325. package/esm2022/lib/style/index.mjs +1 -1
  326. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  327. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  328. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  329. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  330. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  331. package/esm2022/lib/style/shared/index.mjs +1 -1
  332. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  333. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  334. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  335. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  336. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  337. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  338. package/esm2022/lib/style/style-list/index.mjs +1 -1
  339. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  340. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  341. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  342. package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
  343. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  344. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
  345. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  346. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  347. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
  348. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  349. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
  350. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  351. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  352. package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
  353. package/esm2022/lib/style/style-service/index.mjs +1 -1
  354. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  355. package/esm2022/lib/style/style.module.mjs +12 -57
  356. package/esm2022/lib/toast/index.mjs +1 -1
  357. package/esm2022/lib/toast/toast.component.mjs +19 -11
  358. package/esm2022/lib/toast/toast.module.mjs +10 -30
  359. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  360. package/esm2022/lib/utils/id-generator.mjs +1 -1
  361. package/esm2022/lib/utils/index.mjs +1 -1
  362. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  363. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  364. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  365. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
  366. package/esm2022/lib/wkt/index.mjs +1 -1
  367. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  368. package/esm2022/lib/wkt/shared/wkt.service.mjs +19 -19
  369. package/esm2022/lib/wkt/wkt.module.mjs +8 -5
  370. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
  371. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
  372. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  373. package/esm2022/lib/workspace/index.mjs +1 -1
  374. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  375. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
  376. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  377. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
  378. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  379. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  380. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
  381. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  382. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  383. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  384. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
  385. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
  386. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  387. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
  388. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
  389. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  390. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
  391. package/esm2022/lib/workspace/workspace.module.mjs +10 -35
  392. package/esm2022/public_api.mjs +11 -12
  393. package/fesm2022/igo2-geo.mjs +31812 -31914
  394. package/fesm2022/igo2-geo.mjs.map +1 -1
  395. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  396. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  397. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  398. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
  399. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  400. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  401. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  402. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
  403. package/lib/catalog/catalog-library/index.d.ts +5 -0
  404. package/lib/catalog/catalog.module.d.ts +6 -9
  405. package/lib/catalog/index.d.ts +2 -0
  406. package/lib/datasource/shared/capabilities.interface.d.ts +16 -0
  407. package/lib/datasource/shared/datasource.service.d.ts +2 -4
  408. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
  409. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  410. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  411. package/lib/directions/directions.component.d.ts +1 -1
  412. package/lib/directions/directions.module.d.ts +9 -20
  413. package/lib/download/download-button/download-button.component.d.ts +1 -1
  414. package/lib/download/download.module.d.ts +4 -6
  415. package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
  416. package/lib/draw/draw/draw-popup.component.d.ts +4 -4
  417. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  418. package/lib/draw/draw/draw.component.d.ts +1 -1
  419. package/lib/draw/draw/draw.module.d.ts +2 -25
  420. package/lib/draw/drawingTool.module.d.ts +3 -0
  421. package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
  422. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  423. package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
  424. package/lib/feature/feature-details/index.d.ts +5 -0
  425. package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
  426. package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
  427. package/lib/feature/feature.module.d.ts +6 -4
  428. package/lib/feature/index.d.ts +3 -1
  429. package/lib/filter/filter.module.d.ts +4 -28
  430. package/lib/filter/index.d.ts +16 -0
  431. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
  432. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  433. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
  434. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  435. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
  436. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
  437. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
  438. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  439. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
  440. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  441. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
  442. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  443. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  444. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  445. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
  446. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  447. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  448. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  449. package/lib/geo.module.d.ts +14 -24
  450. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  451. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  452. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
  453. package/lib/geometry/geometry-form-field/index.d.ts +5 -0
  454. package/lib/geometry/geometry.module.d.ts +5 -3
  455. package/lib/geometry/index.d.ts +1 -2
  456. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  457. package/lib/import-export/import-export/import-export.component.d.ts +1 -1
  458. package/lib/import-export/import-export.module.d.ts +4 -15
  459. package/lib/import-export/index.d.ts +4 -0
  460. package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
  461. package/lib/layer/index.d.ts +8 -0
  462. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  463. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  464. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  465. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  466. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  467. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  468. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  469. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  470. package/lib/layer/layer.module.d.ts +4 -18
  471. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  472. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  473. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  474. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  475. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  476. package/lib/map/index.d.ts +14 -0
  477. package/lib/map/info-section/info-section.component.d.ts +1 -1
  478. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  479. package/lib/map/map-center/map-center.component.d.ts +1 -1
  480. package/lib/map/map.module.d.ts +4 -7
  481. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  482. package/lib/map/offline-button/offline-button.component.d.ts +2 -2
  483. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  484. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  485. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  486. package/lib/map/shared/mapOffline.directive.d.ts +1 -1
  487. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  488. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  489. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  490. package/lib/measure/index.d.ts +1 -2
  491. package/lib/measure/measure.module.d.ts +3 -0
  492. package/lib/measure/measurer/index.d.ts +5 -0
  493. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  494. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  495. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  496. package/lib/measure/measurer/measurer.component.d.ts +2 -3
  497. package/lib/measure/measurer/measurer.module.d.ts +3 -18
  498. package/lib/metadata/index.d.ts +2 -0
  499. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  500. package/lib/metadata/metadata.module.d.ts +4 -7
  501. package/lib/overlay/overlay.module.d.ts +4 -1
  502. package/lib/overlay/shared/overlay.d.ts +1 -1
  503. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  504. package/lib/print/print/print.component.d.ts +1 -1
  505. package/lib/print/print-form/print-form.component.d.ts +1 -1
  506. package/lib/print/print.module.d.ts +4 -12
  507. package/lib/query/query.module.d.ts +4 -4
  508. package/lib/query/shared/query.directive.d.ts +1 -1
  509. package/lib/query/shared/query.service.d.ts +2 -3
  510. package/lib/search/index.d.ts +6 -4
  511. package/lib/search/search-bar/search-bar.component.d.ts +1 -1
  512. package/lib/search/search-bar/search-bar.module.d.ts +2 -16
  513. package/lib/search/search-results/index.d.ts +6 -0
  514. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  515. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  516. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  517. package/lib/search/search-results/search-results.component.d.ts +1 -1
  518. package/lib/search/search-results/search-results.module.d.ts +3 -21
  519. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  520. package/lib/search/search-selector/search-selector.module.d.ts +2 -11
  521. package/lib/search/search-settings/search-settings.component.d.ts +1 -1
  522. package/lib/search/search-settings/search-settings.module.d.ts +2 -12
  523. package/lib/search/search.module.d.ts +6 -7
  524. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  525. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  526. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  527. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  528. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  529. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  530. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  531. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  532. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
  533. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
  534. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
  535. package/lib/style/style.module.d.ts +5 -16
  536. package/lib/toast/toast.component.d.ts +1 -1
  537. package/lib/toast/toast.module.d.ts +4 -6
  538. package/lib/wkt/wkt.module.d.ts +3 -0
  539. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  540. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
  541. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  542. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
  543. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  544. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
  545. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  546. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
  547. package/lib/workspace/workspace.module.d.ts +5 -9
  548. package/locale/en.geo.json +3 -3
  549. package/locale/fr.geo.json +3 -3
  550. package/package.json +15 -13
  551. package/public_api.d.ts +10 -11
  552. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
  553. package/src/lib/catalog/catalog.theming.scss +5 -5
  554. package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
  555. package/src/lib/directions/directions.theming.scss +6 -6
  556. package/src/lib/draw/draw.theming.scss +32 -32
  557. package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
  558. package/src/lib/feature/feature.theming.scss +4 -4
  559. package/src/lib/measure/measure.theming.scss +5 -5
  560. package/src/lib/measure/measurer/measurer.theming.scss +26 -26
  561. package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
  562. package/src/lib/search/search.theming.scss +7 -7
  563. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  564. package/src/lib/workspace/workspace.theming.scss +6 -6
  565. package/esm2022/lib/datasource/datasource.module.mjs +0 -22
  566. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
  567. package/lib/datasource/datasource.module.d.ts +0 -8
  568. package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
@@ -1,7 +1,14 @@
1
+ import { AsyncPipe, NgFor } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
3
+ import { FormsModule, ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
4
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
+ import { MatOptionModule } from '@angular/material/core';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatSelectModule } from '@angular/material/select';
3
9
  import { EntityStore } from '@igo2/common';
4
10
  import { MessageService } from '@igo2/core';
11
+ import { TranslateModule } from '@ngx-translate/core';
5
12
  import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
6
13
  import { MeasureLengthUnit } from '../../../measure/shared';
7
14
  import { SpatialFilterQueryType, SpatialFilterType } from './../../shared/spatial-filter.enum';
@@ -9,14 +16,13 @@ import { SpatialFilterService } from './../../shared/spatial-filter.service';
9
16
  import * as i0 from "@angular/core";
10
17
  import * as i1 from "./../../shared/spatial-filter.service";
11
18
  import * as i2 from "@igo2/core";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@angular/material/autocomplete";
15
- import * as i6 from "@angular/material/core";
16
- import * as i7 from "@angular/material/form-field";
17
- import * as i8 from "@angular/material/input";
18
- import * as i9 from "@angular/material/select";
19
- import * as i10 from "@ngx-translate/core";
19
+ import * as i3 from "@angular/material/form-field";
20
+ import * as i4 from "@angular/material/input";
21
+ import * as i5 from "@angular/forms";
22
+ import * as i6 from "@angular/material/autocomplete";
23
+ import * as i7 from "@angular/material/core";
24
+ import * as i8 from "@angular/material/select";
25
+ import * as i9 from "@ngx-translate/core";
20
26
  export class SpatialFilterListComponent {
21
27
  spatialFilterService;
22
28
  messageService;
@@ -154,13 +160,24 @@ export class SpatialFilterListComponent {
154
160
  : this.bufferFormControl.setValue(this.bufferFormControl.value / 1000);
155
161
  }
156
162
  }
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpatialFilterListComponent, deps: [{ token: i1.SpatialFilterService }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpatialFilterListComponent, selector: "igo-spatial-filter-list", inputs: { store: "store", queryType: "queryType", zone: "zone", layers: "layers" }, outputs: { zoneChange: "zoneChange", zoneWithBufferChange: "zoneWithBufferChange", bufferChange: "bufferChange", measureUnitChange: "measureUnitChange" }, ngImport: i0, template: "<div class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <mat-label>{{ 'igo.geo.spatialFilter.listLabel' | translate }}</mat-label>\n <input\n #input\n type=\"text\"\n placeholder=\"{{ 'igo.geo.spatialFilter.listLabel' | translate }}\"\n matInput\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"let entities of this.store.view.all$() | async\"\n [value]=\"entities\"\n >\n {{ entities.properties.nom }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <div class=\"buffer-div\">\n <mat-form-field class=\"buffer\">\n <mat-label>{{ 'igo.geo.spatialFilter.buffer' | translate }}</mat-label>\n <input\n type=\"number\"\n matInput\n placeholder=\"{{ 'igo.geo.spatialFilter.buffer' | translate }}\"\n [formControl]=\"bufferFormControl\"\n [value]=\"0\"\n [readonly]=\"!zone\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\"\n >\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\"\n >\n {{ 'igo.geo.measure.' + measureUnit | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}:host .buffer-div{display:flex;width:100%}:host .zone-list{width:100%}:host .buffer{flex:2}:host .unit-field{flex:1;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SpatialFilterListComponent, deps: [{ token: i1.SpatialFilterService }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SpatialFilterListComponent, isStandalone: true, selector: "igo-spatial-filter-list", inputs: { store: "store", queryType: "queryType", zone: "zone", layers: "layers" }, outputs: { zoneChange: "zoneChange", zoneWithBufferChange: "zoneWithBufferChange", bufferChange: "bufferChange", measureUnitChange: "measureUnitChange" }, ngImport: i0, template: "<div class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <mat-label>{{ 'igo.geo.spatialFilter.listLabel' | translate }}</mat-label>\n <input\n #input\n type=\"text\"\n placeholder=\"{{ 'igo.geo.spatialFilter.listLabel' | translate }}\"\n matInput\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"let entities of this.store.view.all$() | async\"\n [value]=\"entities\"\n >\n {{ entities.properties.nom }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <div class=\"buffer-div\">\n <mat-form-field class=\"buffer\">\n <mat-label>{{ 'igo.geo.spatialFilter.buffer' | translate }}</mat-label>\n <input\n type=\"number\"\n matInput\n placeholder=\"{{ 'igo.geo.spatialFilter.buffer' | translate }}\"\n [formControl]=\"bufferFormControl\"\n [value]=\"0\"\n [readonly]=\"!zone\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\"\n >\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\"\n >\n {{ 'igo.geo.measure.' + measureUnit | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}:host .buffer-div{display:flex;width:100%}:host .zone-list{width:100%}:host .buffer{flex:2}:host .unit-field{flex:1;margin-left:8px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
159
165
  }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpatialFilterListComponent, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SpatialFilterListComponent, decorators: [{
161
167
  type: Component,
162
- args: [{ selector: 'igo-spatial-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <mat-label>{{ 'igo.geo.spatialFilter.listLabel' | translate }}</mat-label>\n <input\n #input\n type=\"text\"\n placeholder=\"{{ 'igo.geo.spatialFilter.listLabel' | translate }}\"\n matInput\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"let entities of this.store.view.all$() | async\"\n [value]=\"entities\"\n >\n {{ entities.properties.nom }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <div class=\"buffer-div\">\n <mat-form-field class=\"buffer\">\n <mat-label>{{ 'igo.geo.spatialFilter.buffer' | translate }}</mat-label>\n <input\n type=\"number\"\n matInput\n placeholder=\"{{ 'igo.geo.spatialFilter.buffer' | translate }}\"\n [formControl]=\"bufferFormControl\"\n [value]=\"0\"\n [readonly]=\"!zone\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\"\n >\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\"\n >\n {{ 'igo.geo.measure.' + measureUnit | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}:host .buffer-div{display:flex;width:100%}:host .zone-list{width:100%}:host .buffer{flex:2}:host .unit-field{flex:1;margin-left:8px}\n"] }]
163
- }], ctorParameters: function () { return [{ type: i1.SpatialFilterService }, { type: i2.MessageService }]; }, propDecorators: { store: [{
168
+ args: [{ selector: 'igo-spatial-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
169
+ MatFormFieldModule,
170
+ MatInputModule,
171
+ FormsModule,
172
+ MatAutocompleteModule,
173
+ ReactiveFormsModule,
174
+ NgFor,
175
+ MatOptionModule,
176
+ MatSelectModule,
177
+ AsyncPipe,
178
+ TranslateModule
179
+ ], template: "<div class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <mat-label>{{ 'igo.geo.spatialFilter.listLabel' | translate }}</mat-label>\n <input\n #input\n type=\"text\"\n placeholder=\"{{ 'igo.geo.spatialFilter.listLabel' | translate }}\"\n matInput\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"let entities of this.store.view.all$() | async\"\n [value]=\"entities\"\n >\n {{ entities.properties.nom }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <div class=\"buffer-div\">\n <mat-form-field class=\"buffer\">\n <mat-label>{{ 'igo.geo.spatialFilter.buffer' | translate }}</mat-label>\n <input\n type=\"number\"\n matInput\n placeholder=\"{{ 'igo.geo.spatialFilter.buffer' | translate }}\"\n [formControl]=\"bufferFormControl\"\n [value]=\"0\"\n [readonly]=\"!zone\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\"\n >\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\"\n >\n {{ 'igo.geo.measure.' + measureUnit | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}:host .buffer-div{display:flex;width:100%}:host .zone-list{width:100%}:host .buffer{flex:2}:host .unit-field{flex:1;margin-left:8px}\n"] }]
180
+ }], ctorParameters: () => [{ type: i1.SpatialFilterService }, { type: i2.MessageService }], propDecorators: { store: [{
164
181
  type: Input
165
182
  }], queryType: [{
166
183
  type: Input
@@ -177,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
177
194
  }], measureUnitChange: [{
178
195
  type: Output
179
196
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXIvc3BhdGlhbC1maWx0ZXItbGlzdC9zcGF0aWFsLWZpbHRlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci9zcGF0aWFsLWZpbHRlci1saXN0L3NwYXRpYWwtZmlsdGVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDBCQUEwQjtJQTZEM0I7SUFDQTtJQTdEVixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQTJCO1FBQ25DLElBQUks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Q3BDLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsSUFBdUI7UUFDekMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM3QixPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxXQUFXLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3RFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO3dHQTNLVSwwQkFBMEI7NEZBQTFCLDBCQUEwQiw4U0NoQ3ZDLDZvREFzREE7OzRGRHRCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNO3dJQUkzQyxLQUFLO3NCQURSLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO2dCQVdGLElBQUk7c0JBRFAsS0FBSztnQkFhRyxNQUFNO3NCQUFkLEtBQUs7Z0JBbUJJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uLy4uL2xheWVyJztcclxuaW1wb3J0IHsgTWVhc3VyZUxlbmd0aFVuaXQgfSBmcm9tICcuLi8uLi8uLi9tZWFzdXJlL3NoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSxcclxuICBTcGF0aWFsRmlsdGVyVHlwZVxyXG59IGZyb20gJy4vLi4vLi4vc2hhcmVkL3NwYXRpYWwtZmlsdGVyLmVudW0nO1xyXG5pbXBvcnQgeyBTcGF0aWFsRmlsdGVyU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL3NwYXRpYWwtZmlsdGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3BhdGlhbC1maWx0ZXItbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwYXRpYWwtZmlsdGVyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwYXRpYWwtZmlsdGVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhdGlhbEZpbHRlckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBnZXQgc3RvcmUoKTogRW50aXR5U3RvcmU8RmVhdHVyZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlO1xyXG4gIH1cclxuICBzZXQgc3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+KSB7XHJcbiAgICB0aGlzLl9zdG9yZSA9IHN0b3JlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdG9yZTogRW50aXR5U3RvcmU8RmVhdHVyZT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHF1ZXJ5VHlwZSgpOiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl9xdWVyeVR5cGU7XHJcbiAgfVxyXG4gIHNldCBxdWVyeVR5cGUocXVlcnlUeXBlOiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcclxuICAgIHRoaXMuX3F1ZXJ5VHlwZSA9IHF1ZXJ5VHlwZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcXVlcnlUeXBlOiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB6b25lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3pvbmU7XHJcbiAgfVxyXG4gIHNldCB6b25lKHZhbHVlKSB7XHJcbiAgICB0aGlzLl96b25lID0gdmFsdWU7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuem9uZVdpdGhCdWZmZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuYnVmZmVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX3pvbmU7XHJcblxyXG4gIEBJbnB1dCgpIGxheWVyczogTGF5ZXJbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgem9uZVdpdGhCdWZmZXI7XHJcbiAgcHVibGljIHNlbGVjdGVkWm9uZTogYW55O1xyXG5cclxuICBwdWJsaWMgbWVhc3VyZVVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xyXG5cclxuICBwdWJsaWMgZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XHJcblxyXG4gIHB1YmxpYyBidWZmZXJGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQXZhaWxhYmxlIG1lYXN1cmUgdW5pdHMgZm9yIHRoZSBtZWFzdXJlIHR5cGUgZ2l2ZW5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWVhc3VyZVVuaXRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzLCBNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzXTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSB6b25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xyXG4gIEBPdXRwdXQoKSB6b25lV2l0aEJ1ZmZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZT4oKTtcclxuICBAT3V0cHV0KCkgYnVmZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIG1lYXN1cmVVbml0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZWFzdXJlTGVuZ3RoVW5pdD4oKTtcclxuXHJcbiAgZm9ybVZhbHVlQ2hhbmdlcyQkOiBTdWJzY3JpcHRpb247XHJcbiAgYnVmZmVyVmFsdWVDaGFuZ2VzJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNwYXRpYWxGaWx0ZXJTZXJ2aWNlOiBTcGF0aWFsRmlsdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybVZhbHVlQ2hhbmdlcyQkID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKFxyXG4gICAgICAodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlLnZpZXcuZmlsdGVyKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlck5vcm1hbGl6ZWQgPSB2YWx1ZVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlTmFtZU5vcm1hbGl6ZWQgPSBmZWF0dXJlLnByb3BlcnRpZXMubm9tXHJcbiAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlTmFtZU5vcm1hbGl6ZWQuaW5jbHVkZXMoZmlsdGVyTm9ybWFsaXplZCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5idWZmZXJWYWx1ZUNoYW5nZXMkJCA9IHRoaXMuYnVmZmVyRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMubWVhc3VyZVVuaXQgPT09IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycyAmJlxyXG4gICAgICAgICAgdmFsdWUgPiAwICYmXHJcbiAgICAgICAgICB2YWx1ZSA8PSAxMDAwMDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5zcGF0aWFsRmlsdGVyU2VydmljZVxyXG4gICAgICAgICAgICAubG9hZEJ1ZmZlckdlb21ldHJ5KFxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab25lLFxyXG4gICAgICAgICAgICAgIFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgICAgdGhpcy5xdWVyeVR5cGVcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmZWF0dXJlR2VvbTogRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuem9uZVdpdGhCdWZmZXIgPSBmZWF0dXJlR2VvbTtcclxuICAgICAgICAgICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyQ2hhbmdlLmVtaXQodGhpcy56b25lV2l0aEJ1ZmZlcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICB0aGlzLm1lYXN1cmVVbml0ID09PSBNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzICYmXHJcbiAgICAgICAgICB2YWx1ZSA+IDAgJiZcclxuICAgICAgICAgIHZhbHVlIDw9IDEwMFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5idWZmZXJDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnNwYXRpYWxGaWx0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5sb2FkQnVmZmVyR2VvbWV0cnkoXHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUsXHJcbiAgICAgICAgICAgICAgU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCxcclxuICAgICAgICAgICAgICB2YWx1ZSAqIDEwMDAsXHJcbiAgICAgICAgICAgICAgdGhpcy5xdWVyeVR5cGVcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmZWF0dXJlR2VvbTogRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuem9uZVdpdGhCdWZmZXIgPSBmZWF0dXJlR2VvbTtcclxuICAgICAgICAgICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyQ2hhbmdlLmVtaXQodGhpcy56b25lV2l0aEJ1ZmZlcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IDAgJiYgdGhpcy5sYXllcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5idWZmZXJDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFpvbmUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICB2YWx1ZSA8IDAgfHxcclxuICAgICAgICAgICh0aGlzLm1lYXN1cmVVbml0ID09PSBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnMgJiYgdmFsdWUgPiAxMDAwMDApIHx8XHJcbiAgICAgICAgICAodGhpcy5tZWFzdXJlVW5pdCA9PT0gTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVycyAmJiB2YWx1ZSA+IDEwMClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoMCk7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFsZXJ0KFxyXG4gICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLmJ1ZmZlckFsZXJ0JyxcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZvcm1WYWx1ZUNoYW5nZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUZuKGZlYXR1cmU/OiBGZWF0dXJlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZS5wcm9wZXJ0aWVzLm5vbSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG9uWm9uZUNoYW5nZShmZWF0dXJlKSB7XHJcbiAgICBpZiAoZmVhdHVyZSAmJiB0aGlzLnF1ZXJ5VHlwZSkge1xyXG4gICAgICB0aGlzLnNwYXRpYWxGaWx0ZXJTZXJ2aWNlXHJcbiAgICAgICAgLmxvYWRJdGVtQnlJZChmZWF0dXJlLCB0aGlzLnF1ZXJ5VHlwZSlcclxuICAgICAgICAuc3Vic2NyaWJlKChmZWF0dXJlR2VvbTogRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSBmZWF0dXJlR2VvbTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYW5nZS5lbWl0KGZlYXR1cmVHZW9tKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgbWVhc3VyZSB1bml0XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25NZWFzdXJlVW5pdENoYW5nZSh1bml0OiBNZWFzdXJlTGVuZ3RoVW5pdCkge1xyXG4gICAgaWYgKHVuaXQgPT09IHRoaXMubWVhc3VyZVVuaXQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZWFzdXJlVW5pdCA9IHVuaXQ7XHJcbiAgICAgIHRoaXMubWVhc3VyZVVuaXRDaGFuZ2UuZW1pdCh0aGlzLm1lYXN1cmVVbml0KTtcclxuICAgICAgdGhpcy5tZWFzdXJlVW5pdCA9PT0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzXHJcbiAgICAgICAgPyB0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuYnVmZmVyRm9ybUNvbnRyb2wudmFsdWUgKiAxMDAwKVxyXG4gICAgICAgIDogdGhpcy5idWZmZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnZhbHVlIC8gMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWxpc3RcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiem9uZS1saXN0XCI+XG4gICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLmxpc3RMYWJlbCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgICNpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLmxpc3RMYWJlbCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgIC8+XG4gICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxuICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlGblwiXG4gICAgPlxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGVudGl0aWVzIG9mIHRoaXMuc3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiXG4gICAgICAgIFt2YWx1ZV09XCJlbnRpdGllc1wiXG4gICAgICA+XG4gICAgICAgIHt7IGVudGl0aWVzLnByb3BlcnRpZXMubm9tIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJidWZmZXItZGl2XCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJidWZmZXJcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLmJ1ZmZlcicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuYnVmZmVyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImJ1ZmZlckZvcm1Db250cm9sXCJcbiAgICAgICAgICBbdmFsdWVdPVwiMFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIiF6b25lXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInVuaXQtZmllbGRcIj5cbiAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICBbdmFsdWVdPVwibWVhc3VyZVVuaXRcIlxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25NZWFzdXJlVW5pdENoYW5nZSgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgbWVhc3VyZVVuaXQgb2YgbWVhc3VyZVVuaXRzXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJtZWFzdXJlVW5pdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2lnby5nZW8ubWVhc3VyZS4nICsgbWVhc3VyZVVuaXQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXIvc3BhdGlhbC1maWx0ZXItbGlzdC9zcGF0aWFsLWZpbHRlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci9zcGF0aWFsLWZpbHRlci1saXN0L3NwYXRpYWwtZmlsdGVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRE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QUFDO3VHQTNLVSwwQkFBMEI7MkZBQTFCLDBCQUEwQixrVUN4RHZDLDZvREFzREEsbU5EVkksa0JBQWtCLDBTQUNsQixjQUFjLDBXQUNkLFdBQVcsd2pCQUNYLHFCQUFxQix3MUJBQ3JCLG1CQUFtQixrTkFDbkIsS0FBSyxrSEFDTCxlQUFlLDhCQUNmLGVBQWUsOGdCQUNmLFNBQVMsNkNBQ1QsZUFBZTs7MkZBR04sMEJBQTBCO2tCQW5CdEMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixTQUFTO3dCQUNULGVBQWU7cUJBQ2hCO3NIQUlHLEtBQUs7c0JBRFIsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7Z0JBV0YsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLE1BQU07c0JBQWQsS0FBSztnQkFtQkksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2xcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXInO1xyXG5pbXBvcnQgeyBNZWFzdXJlTGVuZ3RoVW5pdCB9IGZyb20gJy4uLy4uLy4uL21lYXN1cmUvc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlLFxyXG4gIFNwYXRpYWxGaWx0ZXJUeXBlXHJcbn0gZnJvbSAnLi8uLi8uLi9zaGFyZWQvc3BhdGlhbC1maWx0ZXIuZW51bSc7XHJcbmltcG9ydCB7IFNwYXRpYWxGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zaGFyZWQvc3BhdGlhbC1maWx0ZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zcGF0aWFsLWZpbHRlci1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3BhdGlhbC1maWx0ZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BhdGlhbC1maWx0ZXItbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ0ZvcixcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwYXRpYWxGaWx0ZXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHN0b3JlKCk6IEVudGl0eVN0b3JlPEZlYXR1cmU+IHtcclxuICAgIHJldHVybiB0aGlzLl9zdG9yZTtcclxuICB9XHJcbiAgc2V0IHN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZTxGZWF0dXJlPikge1xyXG4gICAgdGhpcy5fc3RvcmUgPSBzdG9yZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBxdWVyeVR5cGUoKTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlUeXBlO1xyXG4gIH1cclxuICBzZXQgcXVlcnlUeXBlKHF1ZXJ5VHlwZTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLl9xdWVyeVR5cGUgPSBxdWVyeVR5cGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3F1ZXJ5VHlwZTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgem9uZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl96b25lO1xyXG4gIH1cclxuICBzZXQgem9uZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5fem9uZSA9IHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnNldFZhbHVlKDApO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF96b25lO1xyXG5cclxuICBASW5wdXQoKSBsYXllcnM6IExheWVyW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHpvbmVXaXRoQnVmZmVyO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFpvbmU6IGFueTtcclxuXHJcbiAgcHVibGljIG1lYXN1cmVVbml0OiBNZWFzdXJlTGVuZ3RoVW5pdCA9IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycztcclxuXHJcbiAgcHVibGljIGZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xyXG5cclxuICBwdWJsaWMgYnVmZmVyRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEF2YWlsYWJsZSBtZWFzdXJlIHVuaXRzIGZvciB0aGUgbWVhc3VyZSB0eXBlIGdpdmVuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IG1lYXN1cmVVbml0cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW01lYXN1cmVMZW5ndGhVbml0Lk1ldGVycywgTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVyc107XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgem9uZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZT4oKTtcclxuICBAT3V0cHV0KCkgem9uZVdpdGhCdWZmZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XHJcbiAgQE91dHB1dCgpIGJ1ZmZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIEBPdXRwdXQoKSBtZWFzdXJlVW5pdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWVhc3VyZUxlbmd0aFVuaXQ+KCk7XHJcblxyXG4gIGZvcm1WYWx1ZUNoYW5nZXMkJDogU3Vic2NyaXB0aW9uO1xyXG4gIGJ1ZmZlclZhbHVlQ2hhbmdlcyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzcGF0aWFsRmlsdGVyU2VydmljZTogU3BhdGlhbEZpbHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1WYWx1ZUNoYW5nZXMkJCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZS52aWV3LmZpbHRlcigoZmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJOb3JtYWxpemVkID0gdmFsdWVcclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXHJcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgICAgICAgICAgY29uc3QgZmVhdHVyZU5hbWVOb3JtYWxpemVkID0gZmVhdHVyZS5wcm9wZXJ0aWVzLm5vbVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmVhdHVyZU5hbWVOb3JtYWxpemVkLmluY2x1ZGVzKGZpbHRlck5vcm1hbGl6ZWQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuYnVmZmVyVmFsdWVDaGFuZ2VzJCQgPSB0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLm1lYXN1cmVVbml0ID09PSBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnMgJiZcclxuICAgICAgICAgIHZhbHVlID4gMCAmJlxyXG4gICAgICAgICAgdmFsdWUgPD0gMTAwMDAwXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlckNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuc3BhdGlhbEZpbHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmxvYWRCdWZmZXJHZW9tZXRyeShcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkWm9uZSxcclxuICAgICAgICAgICAgICBTcGF0aWFsRmlsdGVyVHlwZS5QcmVkZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgICAgIHRoaXMucXVlcnlUeXBlXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmVhdHVyZUdlb206IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyID0gZmVhdHVyZUdlb207XHJcbiAgICAgICAgICAgICAgdGhpcy56b25lV2l0aEJ1ZmZlckNoYW5nZS5lbWl0KHRoaXMuem9uZVdpdGhCdWZmZXIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tZWFzdXJlVW5pdCA9PT0gTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVycyAmJlxyXG4gICAgICAgICAgdmFsdWUgPiAwICYmXHJcbiAgICAgICAgICB2YWx1ZSA8PSAxMDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5zcGF0aWFsRmlsdGVyU2VydmljZVxyXG4gICAgICAgICAgICAubG9hZEJ1ZmZlckdlb21ldHJ5KFxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab25lLFxyXG4gICAgICAgICAgICAgIFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdmFsdWUgKiAxMDAwLFxyXG4gICAgICAgICAgICAgIHRoaXMucXVlcnlUeXBlXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmVhdHVyZUdlb206IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnpvbmVXaXRoQnVmZmVyID0gZmVhdHVyZUdlb207XHJcbiAgICAgICAgICAgICAgdGhpcy56b25lV2l0aEJ1ZmZlckNoYW5nZS5lbWl0KHRoaXMuem9uZVdpdGhCdWZmZXIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAwICYmIHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy56b25lV2l0aEJ1ZmZlckNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRab25lKTtcclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgdmFsdWUgPCAwIHx8XHJcbiAgICAgICAgICAodGhpcy5tZWFzdXJlVW5pdCA9PT0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzICYmIHZhbHVlID4gMTAwMDAwKSB8fFxyXG4gICAgICAgICAgKHRoaXMubWVhc3VyZVVuaXQgPT09IE1lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMgJiYgdmFsdWUgPiAxMDApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnNldFZhbHVlKDApO1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5idWZmZXJBbGVydCcsXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIud2FybmluZydcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2VzJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlGbihmZWF0dXJlPzogRmVhdHVyZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gZmVhdHVyZSA/IGZlYXR1cmUucHJvcGVydGllcy5ub20gOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvblpvbmVDaGFuZ2UoZmVhdHVyZSkge1xyXG4gICAgaWYgKGZlYXR1cmUgJiYgdGhpcy5xdWVyeVR5cGUpIHtcclxuICAgICAgdGhpcy5zcGF0aWFsRmlsdGVyU2VydmljZVxyXG4gICAgICAgIC5sb2FkSXRlbUJ5SWQoZmVhdHVyZSwgdGhpcy5xdWVyeVR5cGUpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZmVhdHVyZUdlb206IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab25lID0gZmVhdHVyZUdlb207XHJcbiAgICAgICAgICB0aGlzLnpvbmVDaGFuZ2UuZW1pdChmZWF0dXJlR2VvbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIG1lYXN1cmUgdW5pdFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTWVhc3VyZVVuaXRDaGFuZ2UodW5pdDogTWVhc3VyZUxlbmd0aFVuaXQpIHtcclxuICAgIGlmICh1bml0ID09PSB0aGlzLm1lYXN1cmVVbml0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWVhc3VyZVVuaXQgPSB1bml0O1xyXG4gICAgICB0aGlzLm1lYXN1cmVVbml0Q2hhbmdlLmVtaXQodGhpcy5tZWFzdXJlVW5pdCk7XHJcbiAgICAgIHRoaXMubWVhc3VyZVVuaXQgPT09IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVyc1xyXG4gICAgICAgID8gdGhpcy5idWZmZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmJ1ZmZlckZvcm1Db250cm9sLnZhbHVlICogMTAwMClcclxuICAgICAgICA6IHRoaXMuYnVmZmVyRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5idWZmZXJGb3JtQ29udHJvbC52YWx1ZSAvIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1saXN0XCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInpvbmUtbGlzdFwiPlxuICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5saXN0TGFiZWwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5saXN0TGFiZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIG1hdElucHV0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAvPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25ab25lQ2hhbmdlKCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIlxuICAgID5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBlbnRpdGllcyBvZiB0aGlzLnN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIlxuICAgICAgICBbdmFsdWVdPVwiZW50aXRpZXNcIlxuICAgICAgPlxuICAgICAgICB7eyBlbnRpdGllcy5wcm9wZXJ0aWVzLm5vbSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYnVmZmVyLWRpdlwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYnVmZmVyXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5idWZmZXInIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLmJ1ZmZlcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJidWZmZXJGb3JtQ29udHJvbFwiXG4gICAgICAgICAgW3ZhbHVlXT1cIjBcIlxuICAgICAgICAgIFtyZWFkb25seV09XCIhem9uZVwiXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgW3ZhbHVlXT1cIm1lYXN1cmVVbml0XCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTWVhc3VyZVVuaXRDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1lYXN1cmVVbml0IG9mIG1lYXN1cmVVbml0c1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwibWVhc3VyZVVuaXRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdpZ28uZ2VvLm1lYXN1cmUuJyArIG1lYXN1cmVVbml0IHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,18 +1,26 @@
1
+ import { NgFor } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
3
  import { UntypedFormControl } from '@angular/forms';
4
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
+ import { MatOptionModule } from '@angular/material/core';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatSelectModule } from '@angular/material/select';
9
+ import { MatTabsModule } from '@angular/material/tabs';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
3
11
  import { EntityStore } from '@igo2/common';
12
+ import { TranslateModule } from '@ngx-translate/core';
4
13
  import { SpatialFilterQueryType, SpatialFilterType } from '../../shared/spatial-filter.enum';
14
+ import { SpatialFilterListComponent } from '../spatial-filter-list/spatial-filter-list.component';
5
15
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/core";
8
- import * as i3 from "@angular/material/icon";
9
- import * as i4 from "@angular/material/tabs";
16
+ import * as i1 from "@angular/material/tabs";
17
+ import * as i2 from "@angular/material/form-field";
18
+ import * as i3 from "@angular/material/select";
19
+ import * as i4 from "@angular/material/core";
10
20
  import * as i5 from "@angular/material/button-toggle";
11
- import * as i6 from "@angular/material/form-field";
12
- import * as i7 from "@angular/material/select";
13
- import * as i8 from "@angular/material/tooltip";
14
- import * as i9 from "../spatial-filter-list/spatial-filter-list.component";
15
- import * as i10 from "@ngx-translate/core";
21
+ import * as i6 from "@angular/material/tooltip";
22
+ import * as i7 from "@angular/material/icon";
23
+ import * as i8 from "@ngx-translate/core";
16
24
  /**
17
25
  * Spatial Filter Type
18
26
  */
@@ -78,13 +86,24 @@ export class SpatialFilterTypeComponent {
78
86
  this.eventQueryType.emit(this.selectedQueryType);
79
87
  this.zoneChange.emit(undefined);
80
88
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpatialFilterTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpatialFilterTypeComponent, selector: "igo-spatial-filter-type", inputs: { store: "store", selectedQueryType: "selectedQueryType", zone: "zone", layers: "layers" }, outputs: { eventType: "eventType", eventQueryType: "eventQueryType", zoneChange: "zoneChange", zoneWithBufferChange: "zoneWithBufferChange", bufferChange: "bufferChange", measureUnitChange: "measureUnitChange" }, ngImport: i0, template: "<mat-tab-group\n [selectedIndex]=\"selectedTypeIndex.value\"\n (selectedIndexChange)=\"selectedTypeIndex.setValue($event)\"\n (selectedTabChange)=\"onTypeChange($event)\"\n>\n <mat-tab [label]=\"'igo.geo.spatialFilter.predefined' | translate\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.spatialFilter.searchLabel' | translate\n }}</mat-label>\n <mat-select\n (selectionChange)=\"onSelectionChange()\"\n [(value)]=\"selectedQueryType\"\n >\n <mat-option *ngFor=\"let queryType of queryType\" [value]=\"queryType\">\n {{ 'igo.geo.terrapi.' + queryType | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <igo-spatial-filter-list\n [store]=\"store\"\n [queryType]=\"selectedQueryType\"\n [zone]=\"zone\"\n [layers]=\"layers\"\n (zoneChange)=\"zoneChange.emit($event)\"\n (zoneWithBufferChange)=\"zoneWithBufferChange.emit($event)\"\n (bufferChange)=\"bufferChange.emit($event)\"\n (measureUnitChange)=\"measureUnitChange.emit($event)\"\n >\n </igo-spatial-filter-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.draw' | translate\">\n <div class=\"spatial-type-toggle\">\n <mat-button-toggle-group\n [value]=\"activeDrawType\"\n (change)=\"onDrawTypeChange($event.value)\"\n >\n <mat-button-toggle\n [value]=\"spatialType.Polygon\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawPolygon' | translate\"\n >\n <mat-icon svgIcon=\"pentagon-outline\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n [value]=\"spatialType.Point\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawCircle' | translate\"\n >\n <mat-icon svgIcon=\"record-circle-outline\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host .mat-mdc-form-field{width:100%}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-label{padding:10px}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:5px}:host .spatial-type-toggle{padding:10px;text-align:center}:host .spatial-type-toggle mat-button-toggle-group{width:50%}:host .spatial-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i9.SpatialFilterListComponent, selector: "igo-spatial-filter-list", inputs: ["store", "queryType", "zone", "layers"], outputs: ["zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SpatialFilterTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SpatialFilterTypeComponent, isStandalone: true, selector: "igo-spatial-filter-type", inputs: { store: "store", selectedQueryType: "selectedQueryType", zone: "zone", layers: "layers" }, outputs: { eventType: "eventType", eventQueryType: "eventQueryType", zoneChange: "zoneChange", zoneWithBufferChange: "zoneWithBufferChange", bufferChange: "bufferChange", measureUnitChange: "measureUnitChange" }, ngImport: i0, template: "<mat-tab-group\n [selectedIndex]=\"selectedTypeIndex.value\"\n (selectedIndexChange)=\"selectedTypeIndex.setValue($event)\"\n (selectedTabChange)=\"onTypeChange($event)\"\n>\n <mat-tab [label]=\"'igo.geo.spatialFilter.predefined' | translate\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.spatialFilter.searchLabel' | translate\n }}</mat-label>\n <mat-select\n (selectionChange)=\"onSelectionChange()\"\n [(value)]=\"selectedQueryType\"\n >\n <mat-option *ngFor=\"let queryType of queryType\" [value]=\"queryType\">\n {{ 'igo.geo.terrapi.' + queryType | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <igo-spatial-filter-list\n [store]=\"store\"\n [queryType]=\"selectedQueryType\"\n [zone]=\"zone\"\n [layers]=\"layers\"\n (zoneChange)=\"zoneChange.emit($event)\"\n (zoneWithBufferChange)=\"zoneWithBufferChange.emit($event)\"\n (bufferChange)=\"bufferChange.emit($event)\"\n (measureUnitChange)=\"measureUnitChange.emit($event)\"\n >\n </igo-spatial-filter-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.draw' | translate\">\n <div class=\"spatial-type-toggle\">\n <mat-button-toggle-group\n [value]=\"activeDrawType\"\n (change)=\"onDrawTypeChange($event.value)\"\n >\n <mat-button-toggle\n [value]=\"spatialType.Polygon\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawPolygon' | translate\"\n >\n <mat-icon svgIcon=\"pentagon-outline\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n [value]=\"spatialType.Point\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawCircle' | translate\"\n >\n <mat-icon svgIcon=\"record-circle-outline\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host .mat-mdc-form-field{width:100%}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-label{padding:10px}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:5px}:host .spatial-type-toggle{padding:10px;text-align:center}:host .spatial-type-toggle mat-button-toggle-group{width:50%}:host .spatial-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: SpatialFilterListComponent, selector: "igo-spatial-filter-list", inputs: ["store", "queryType", "zone", "layers"], outputs: ["zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
91
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpatialFilterTypeComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SpatialFilterTypeComponent, decorators: [{
85
93
  type: Component,
86
- args: [{ selector: 'igo-spatial-filter-type', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\n [selectedIndex]=\"selectedTypeIndex.value\"\n (selectedIndexChange)=\"selectedTypeIndex.setValue($event)\"\n (selectedTabChange)=\"onTypeChange($event)\"\n>\n <mat-tab [label]=\"'igo.geo.spatialFilter.predefined' | translate\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.spatialFilter.searchLabel' | translate\n }}</mat-label>\n <mat-select\n (selectionChange)=\"onSelectionChange()\"\n [(value)]=\"selectedQueryType\"\n >\n <mat-option *ngFor=\"let queryType of queryType\" [value]=\"queryType\">\n {{ 'igo.geo.terrapi.' + queryType | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <igo-spatial-filter-list\n [store]=\"store\"\n [queryType]=\"selectedQueryType\"\n [zone]=\"zone\"\n [layers]=\"layers\"\n (zoneChange)=\"zoneChange.emit($event)\"\n (zoneWithBufferChange)=\"zoneWithBufferChange.emit($event)\"\n (bufferChange)=\"bufferChange.emit($event)\"\n (measureUnitChange)=\"measureUnitChange.emit($event)\"\n >\n </igo-spatial-filter-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.draw' | translate\">\n <div class=\"spatial-type-toggle\">\n <mat-button-toggle-group\n [value]=\"activeDrawType\"\n (change)=\"onDrawTypeChange($event.value)\"\n >\n <mat-button-toggle\n [value]=\"spatialType.Polygon\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawPolygon' | translate\"\n >\n <mat-icon svgIcon=\"pentagon-outline\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n [value]=\"spatialType.Point\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawCircle' | translate\"\n >\n <mat-icon svgIcon=\"record-circle-outline\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host .mat-mdc-form-field{width:100%}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-label{padding:10px}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:5px}:host .spatial-type-toggle{padding:10px;text-align:center}:host .spatial-type-toggle mat-button-toggle-group{width:50%}:host .spatial-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}\n"] }]
87
- }], ctorParameters: function () { return []; }, propDecorators: { store: [{
94
+ args: [{ selector: 'igo-spatial-filter-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
95
+ MatTabsModule,
96
+ MatFormFieldModule,
97
+ MatSelectModule,
98
+ NgFor,
99
+ MatOptionModule,
100
+ SpatialFilterListComponent,
101
+ MatButtonToggleModule,
102
+ MatTooltipModule,
103
+ MatIconModule,
104
+ TranslateModule
105
+ ], template: "<mat-tab-group\n [selectedIndex]=\"selectedTypeIndex.value\"\n (selectedIndexChange)=\"selectedTypeIndex.setValue($event)\"\n (selectedTabChange)=\"onTypeChange($event)\"\n>\n <mat-tab [label]=\"'igo.geo.spatialFilter.predefined' | translate\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.spatialFilter.searchLabel' | translate\n }}</mat-label>\n <mat-select\n (selectionChange)=\"onSelectionChange()\"\n [(value)]=\"selectedQueryType\"\n >\n <mat-option *ngFor=\"let queryType of queryType\" [value]=\"queryType\">\n {{ 'igo.geo.terrapi.' + queryType | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <igo-spatial-filter-list\n [store]=\"store\"\n [queryType]=\"selectedQueryType\"\n [zone]=\"zone\"\n [layers]=\"layers\"\n (zoneChange)=\"zoneChange.emit($event)\"\n (zoneWithBufferChange)=\"zoneWithBufferChange.emit($event)\"\n (bufferChange)=\"bufferChange.emit($event)\"\n (measureUnitChange)=\"measureUnitChange.emit($event)\"\n >\n </igo-spatial-filter-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.draw' | translate\">\n <div class=\"spatial-type-toggle\">\n <mat-button-toggle-group\n [value]=\"activeDrawType\"\n (change)=\"onDrawTypeChange($event.value)\"\n >\n <mat-button-toggle\n [value]=\"spatialType.Polygon\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawPolygon' | translate\"\n >\n <mat-icon svgIcon=\"pentagon-outline\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n [value]=\"spatialType.Point\"\n [matTooltip]=\"'igo.geo.spatialFilter.drawCircle' | translate\"\n >\n <mat-icon svgIcon=\"record-circle-outline\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host .mat-mdc-form-field{width:100%}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-label{padding:10px}:host .mat-mdc-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:5px}:host .spatial-type-toggle{padding:10px;text-align:center}:host .spatial-type-toggle mat-button-toggle-group{width:50%}:host .spatial-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}\n"] }]
106
+ }], ctorParameters: () => [], propDecorators: { store: [{
88
107
  type: Input
89
108
  }], selectedQueryType: [{
90
109
  type: Input
@@ -105,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
105
124
  }], measureUnitChange: [{
106
125
  type: Output
107
126
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXIvc3BhdGlhbC1maWx0ZXItdHlwZS9zcGF0aWFsLWZpbHRlci10eXBlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci9zcGF0aWFsLWZpbHRlci10eXBlL3NwYXRpYWwtZmlsdGVyLXR5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUszQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNsQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFFMUM7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBMkI7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNPLE1BQU0sQ0FBdUI7SUFFOUIsU0FBUyxHQUFhO1FBQzNCLFFBQVE7UUFDUixTQUFTO1FBQ1QsVUFBVTtRQUNWLFFBQVE7UUFDUixLQUFLO1FBQ0wsS0FBSztRQUNMLFdBQVc7UUFDWCxTQUFTO0tBQ1YsQ0FBQztJQUNLLGlCQUFpQixHQUFHLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckQ7OztPQUdHO0lBQ0ksV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBRWhDLGNBQWMsR0FBc0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFFM0QsaUJBQWlCLENBQXlCO0lBRTFDLElBQUksQ0FBVTtJQUVkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFdkIsSUFBSSxDQUFvQjtJQUVyQixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFbEQsY0FBYyxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO0lBRTVELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3pDLG9CQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFbkQsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDMUMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFcEUsZ0JBQWUsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7U0FDMUM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBOEI7UUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQTlFVSwwQkFBMEI7NEZBQTFCLDBCQUEwQix3WEM3QnZDLCs1REFzREE7OzRGRHpCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUkzQyxLQUFLO3NCQURSLEtBQUs7Z0JBNkJHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUlJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi8uLi9sYXllcic7XHJcbmltcG9ydCB7IE1lYXN1cmVMZW5ndGhVbml0IH0gZnJvbSAnLi4vLi4vLi4vbWVhc3VyZSc7XHJcbmltcG9ydCB7XHJcbiAgU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSxcclxuICBTcGF0aWFsRmlsdGVyVHlwZVxyXG59IGZyb20gJy4uLy4uL3NoYXJlZC9zcGF0aWFsLWZpbHRlci5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBTcGF0aWFsIEZpbHRlciBUeXBlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zcGF0aWFsLWZpbHRlci10eXBlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3BhdGlhbC1maWx0ZXItdHlwZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BhdGlhbC1maWx0ZXItdHlwZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGF0aWFsRmlsdGVyVHlwZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBnZXQgc3RvcmUoKTogRW50aXR5U3RvcmU8RmVhdHVyZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlO1xyXG4gIH1cclxuICBzZXQgc3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+KSB7XHJcbiAgICB0aGlzLl9zdG9yZSA9IHN0b3JlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdG9yZTogRW50aXR5U3RvcmU8RmVhdHVyZT47XHJcblxyXG4gIHB1YmxpYyBxdWVyeVR5cGU6IHN0cmluZ1tdID0gW1xyXG4gICAgJ0Fycm9uZCcsXHJcbiAgICAnQ2lyY0ZlZCcsXHJcbiAgICAnQ2lyY1Byb3YnLFxyXG4gICAgJ0RpclJlZycsXHJcbiAgICAnTXVuJyxcclxuICAgICdNUkMnLFxyXG4gICAgJ0FkbVJlZ2lvbicsXHJcbiAgICAnUmVnVG91cidcclxuICBdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFR5cGVJbmRleCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woMCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgU3BhdGlhbEZJbHRlclR5cGUgZW51bVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzcGF0aWFsVHlwZSA9IFNwYXRpYWxGaWx0ZXJUeXBlO1xyXG5cclxuICBwdWJsaWMgYWN0aXZlRHJhd1R5cGU6IFNwYXRpYWxGaWx0ZXJUeXBlID0gdGhpcy5zcGF0aWFsVHlwZS5Qb2x5Z29uO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZFF1ZXJ5VHlwZTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZTtcclxuXHJcbiAgQElucHV0KCkgem9uZTogRmVhdHVyZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJzOiBMYXllcltdID0gW107XHJcblxyXG4gIHB1YmxpYyB0eXBlOiBTcGF0aWFsRmlsdGVyVHlwZTtcclxuXHJcbiAgQE91dHB1dCgpIGV2ZW50VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BhdGlhbEZpbHRlclR5cGU+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBldmVudFF1ZXJ5VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BhdGlhbEZpbHRlclF1ZXJ5VHlwZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHpvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XHJcbiAgQE91dHB1dCgpIHpvbmVXaXRoQnVmZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYnVmZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIG1lYXN1cmVVbml0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZWFzdXJlTGVuZ3RoVW5pdD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAwKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuc3BhdGlhbFR5cGUuUHJlZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAxKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuYWN0aXZlRHJhd1R5cGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmV2ZW50VHlwZS5lbWl0KHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblR5cGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAwKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFR5cGVJbmRleC52YWx1ZSA9PT0gMSkge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLmFjdGl2ZURyYXdUeXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ldmVudFR5cGUuZW1pdCh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgb25EcmF3VHlwZUNoYW5nZShzcGF0aWFsVHlwZTogU3BhdGlhbEZpbHRlclR5cGUpIHtcclxuICAgIHRoaXMuYWN0aXZlRHJhd1R5cGUgPSBzcGF0aWFsVHlwZTtcclxuICAgIHRoaXMuZXZlbnRUeXBlLmVtaXQodGhpcy5hY3RpdmVEcmF3VHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSgpIHtcclxuICAgIHRoaXMuZXZlbnRRdWVyeVR5cGUuZW1pdCh0aGlzLnNlbGVjdGVkUXVlcnlUeXBlKTtcclxuICAgIHRoaXMuem9uZUNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdGFiLWdyb3VwXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkVHlwZUluZGV4LnZhbHVlXCJcbiAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRUeXBlSW5kZXguc2V0VmFsdWUoJGV2ZW50KVwiXG4gIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblR5cGVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLnByZWRlZmluZWQnIHwgdHJhbnNsYXRlXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD57e1xuICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNlYXJjaExhYmVsJyB8IHRyYW5zbGF0ZVxuICAgICAgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoKVwiXG4gICAgICAgIFsodmFsdWUpXT1cInNlbGVjdGVkUXVlcnlUeXBlXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHF1ZXJ5VHlwZSBvZiBxdWVyeVR5cGVcIiBbdmFsdWVdPVwicXVlcnlUeXBlXCI+XG4gICAgICAgICAge3sgJ2lnby5nZW8udGVycmFwaS4nICsgcXVlcnlUeXBlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxpZ28tc3BhdGlhbC1maWx0ZXItbGlzdFxuICAgICAgW3N0b3JlXT1cInN0b3JlXCJcbiAgICAgIFtxdWVyeVR5cGVdPVwic2VsZWN0ZWRRdWVyeVR5cGVcIlxuICAgICAgW3pvbmVdPVwiem9uZVwiXG4gICAgICBbbGF5ZXJzXT1cImxheWVyc1wiXG4gICAgICAoem9uZUNoYW5nZSk9XCJ6b25lQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAoem9uZVdpdGhCdWZmZXJDaGFuZ2UpPVwiem9uZVdpdGhCdWZmZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgIChidWZmZXJDaGFuZ2UpPVwiYnVmZmVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9pZ28tc3BhdGlhbC1maWx0ZXItbGlzdD5cbiAgPC9tYXQtdGFiPlxuXG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLmRyYXcnIHwgdHJhbnNsYXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNwYXRpYWwtdHlwZS10b2dnbGVcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgICBbdmFsdWVdPVwiYWN0aXZlRHJhd1R5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRHJhd1R5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgIFt2YWx1ZV09XCJzcGF0aWFsVHlwZS5Qb2x5Z29uXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLmRyYXdQb2x5Z29uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBlbnRhZ29uLW91dGxpbmVcIj48L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAgICAgICBbdmFsdWVdPVwic3BhdGlhbFR5cGUuUG9pbnRcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuZHJhd0NpcmNsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJyZWNvcmQtY2lyY2xlLW91dGxpbmVcIj48L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXIvc3BhdGlhbC1maWx0ZXItdHlwZS9zcGF0aWFsLWZpbHRlci10eXBlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci9zcGF0aWFsLWZpbHRlci10eXBlL3NwYXRpYWwtZmlsdGVyLXR5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFB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WUNyRHZDLCs1REFzREEsa2dCRGJJLGFBQWEsMm1CQUNiLGtCQUFrQiwwU0FDbEIsZUFBZSxvckJBQ2YsS0FBSyxrSEFDTCxlQUFlLCtCQUNmLDBCQUEwQiwyTUFDMUIscUJBQXFCLHNoQkFDckIsZ0JBQWdCLDRUQUNoQixhQUFhLG1MQUNiLGVBQWU7OzJGQUdOLDBCQUEwQjtrQkFuQnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3FCQUNoQjt3REFJRyxLQUFLO3NCQURSLEtBQUs7Z0JBNkJHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUlJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXInO1xyXG5pbXBvcnQgeyBNZWFzdXJlTGVuZ3RoVW5pdCB9IGZyb20gJy4uLy4uLy4uL21lYXN1cmUnO1xyXG5pbXBvcnQge1xyXG4gIFNwYXRpYWxGaWx0ZXJRdWVyeVR5cGUsXHJcbiAgU3BhdGlhbEZpbHRlclR5cGVcclxufSBmcm9tICcuLi8uLi9zaGFyZWQvc3BhdGlhbC1maWx0ZXIuZW51bSc7XHJcbmltcG9ydCB7IFNwYXRpYWxGaWx0ZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vc3BhdGlhbC1maWx0ZXItbGlzdC9zcGF0aWFsLWZpbHRlci1saXN0LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU3BhdGlhbCBGaWx0ZXIgVHlwZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3BhdGlhbC1maWx0ZXItdHlwZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwYXRpYWwtZmlsdGVyLXR5cGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwYXRpYWwtZmlsdGVyLXR5cGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBOZ0ZvcixcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIFNwYXRpYWxGaWx0ZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGF0aWFsRmlsdGVyVHlwZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBnZXQgc3RvcmUoKTogRW50aXR5U3RvcmU8RmVhdHVyZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlO1xyXG4gIH1cclxuICBzZXQgc3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+KSB7XHJcbiAgICB0aGlzLl9zdG9yZSA9IHN0b3JlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdG9yZTogRW50aXR5U3RvcmU8RmVhdHVyZT47XHJcblxyXG4gIHB1YmxpYyBxdWVyeVR5cGU6IHN0cmluZ1tdID0gW1xyXG4gICAgJ0Fycm9uZCcsXHJcbiAgICAnQ2lyY0ZlZCcsXHJcbiAgICAnQ2lyY1Byb3YnLFxyXG4gICAgJ0RpclJlZycsXHJcbiAgICAnTXVuJyxcclxuICAgICdNUkMnLFxyXG4gICAgJ0FkbVJlZ2lvbicsXHJcbiAgICAnUmVnVG91cidcclxuICBdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFR5cGVJbmRleCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woMCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgU3BhdGlhbEZJbHRlclR5cGUgZW51bVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzcGF0aWFsVHlwZSA9IFNwYXRpYWxGaWx0ZXJUeXBlO1xyXG5cclxuICBwdWJsaWMgYWN0aXZlRHJhd1R5cGU6IFNwYXRpYWxGaWx0ZXJUeXBlID0gdGhpcy5zcGF0aWFsVHlwZS5Qb2x5Z29uO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZFF1ZXJ5VHlwZTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZTtcclxuXHJcbiAgQElucHV0KCkgem9uZTogRmVhdHVyZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJzOiBMYXllcltdID0gW107XHJcblxyXG4gIHB1YmxpYyB0eXBlOiBTcGF0aWFsRmlsdGVyVHlwZTtcclxuXHJcbiAgQE91dHB1dCgpIGV2ZW50VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BhdGlhbEZpbHRlclR5cGU+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBldmVudFF1ZXJ5VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BhdGlhbEZpbHRlclF1ZXJ5VHlwZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHpvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XHJcbiAgQE91dHB1dCgpIHpvbmVXaXRoQnVmZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYnVmZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIG1lYXN1cmVVbml0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZWFzdXJlTGVuZ3RoVW5pdD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAwKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuc3BhdGlhbFR5cGUuUHJlZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAxKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuYWN0aXZlRHJhd1R5cGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmV2ZW50VHlwZS5lbWl0KHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblR5cGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZUluZGV4LnZhbHVlID09PSAwKSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFR5cGVJbmRleC52YWx1ZSA9PT0gMSkge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLmFjdGl2ZURyYXdUeXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ldmVudFR5cGUuZW1pdCh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgb25EcmF3VHlwZUNoYW5nZShzcGF0aWFsVHlwZTogU3BhdGlhbEZpbHRlclR5cGUpIHtcclxuICAgIHRoaXMuYWN0aXZlRHJhd1R5cGUgPSBzcGF0aWFsVHlwZTtcclxuICAgIHRoaXMuZXZlbnRUeXBlLmVtaXQodGhpcy5hY3RpdmVEcmF3VHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSgpIHtcclxuICAgIHRoaXMuZXZlbnRRdWVyeVR5cGUuZW1pdCh0aGlzLnNlbGVjdGVkUXVlcnlUeXBlKTtcclxuICAgIHRoaXMuem9uZUNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdGFiLWdyb3VwXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkVHlwZUluZGV4LnZhbHVlXCJcbiAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRUeXBlSW5kZXguc2V0VmFsdWUoJGV2ZW50KVwiXG4gIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblR5cGVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLnByZWRlZmluZWQnIHwgdHJhbnNsYXRlXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD57e1xuICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNlYXJjaExhYmVsJyB8IHRyYW5zbGF0ZVxuICAgICAgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoKVwiXG4gICAgICAgIFsodmFsdWUpXT1cInNlbGVjdGVkUXVlcnlUeXBlXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHF1ZXJ5VHlwZSBvZiBxdWVyeVR5cGVcIiBbdmFsdWVdPVwicXVlcnlUeXBlXCI+XG4gICAgICAgICAge3sgJ2lnby5nZW8udGVycmFwaS4nICsgcXVlcnlUeXBlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxpZ28tc3BhdGlhbC1maWx0ZXItbGlzdFxuICAgICAgW3N0b3JlXT1cInN0b3JlXCJcbiAgICAgIFtxdWVyeVR5cGVdPVwic2VsZWN0ZWRRdWVyeVR5cGVcIlxuICAgICAgW3pvbmVdPVwiem9uZVwiXG4gICAgICBbbGF5ZXJzXT1cImxheWVyc1wiXG4gICAgICAoem9uZUNoYW5nZSk9XCJ6b25lQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAoem9uZVdpdGhCdWZmZXJDaGFuZ2UpPVwiem9uZVdpdGhCdWZmZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgIChidWZmZXJDaGFuZ2UpPVwiYnVmZmVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9pZ28tc3BhdGlhbC1maWx0ZXItbGlzdD5cbiAgPC9tYXQtdGFiPlxuXG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLmRyYXcnIHwgdHJhbnNsYXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNwYXRpYWwtdHlwZS10b2dnbGVcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgICBbdmFsdWVdPVwiYWN0aXZlRHJhd1R5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRHJhd1R5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgIFt2YWx1ZV09XCJzcGF0aWFsVHlwZS5Qb2x5Z29uXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zcGF0aWFsRmlsdGVyLmRyYXdQb2x5Z29uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBlbnRhZ29uLW91dGxpbmVcIj48L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAgICAgICBbdmFsdWVdPVwic3BhdGlhbFR5cGUuUG9pbnRcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuZHJhd0NpcmNsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJyZWNvcmQtY2lyY2xlLW91dGxpbmVcIj48L21hdC1pY29uPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
@@ -1,15 +1,20 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { MatBadgeModule } from '@angular/material/badge';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
7
+ import { ListItemDirective } from '@igo2/common';
8
+ import { TranslateModule } from '@ngx-translate/core';
2
9
  import { Layer } from '../../layer/shared/layers/layer';
3
10
  import { IgoMap } from '../../map/shared/map';
11
+ import { TimeFilterItemComponent } from '../time-filter-item/time-filter-item.component';
4
12
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/icon";
7
- import * as i3 from "@angular/material/button";
8
- import * as i4 from "@angular/material/tooltip";
9
- import * as i5 from "@igo2/common";
10
- import * as i6 from "@angular/material/badge";
11
- import * as i7 from "../time-filter-item/time-filter-item.component";
12
- import * as i8 from "@ngx-translate/core";
13
+ import * as i1 from "@angular/material/button";
14
+ import * as i2 from "@angular/material/tooltip";
15
+ import * as i3 from "@angular/material/icon";
16
+ import * as i4 from "@angular/material/badge";
17
+ import * as i5 from "@ngx-translate/core";
13
18
  export class TimeFilterButtonComponent {
14
19
  options;
15
20
  get badge() {
@@ -39,13 +44,22 @@ export class TimeFilterButtonComponent {
39
44
  ngOnInit() {
40
45
  this.options = this.layer.dataSource.options;
41
46
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeFilterButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: { layer: "layer", map: "map", color: "color", header: "header" }, ngImport: i0, template: "<button\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\"\n>\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"badge\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n svgIcon=\"history\"\n ></mat-icon>\n</button>\n\n<div\n #ogcFilter\n class=\"igo-layer-actions-container\"\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n>\n <igo-time-filter-item\n *ngIf=\"timeFilterCollapse && options.timeFilter\"\n igoListItem\n [header]=\"false\"\n [layer]=\"layer\"\n >\n </igo-time-filter-item>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i7.TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeFilterButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TimeFilterButtonComponent, isStandalone: true, selector: "igo-time-filter-button", inputs: { layer: "layer", map: "map", color: "color", header: "header" }, ngImport: i0, template: "<button\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\"\n>\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"badge\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n svgIcon=\"history\"\n ></mat-icon>\n</button>\n\n<div\n #ogcFilter\n class=\"igo-layer-actions-container\"\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n>\n <igo-time-filter-item\n *ngIf=\"timeFilterCollapse && options.timeFilter\"\n igoListItem\n [header]=\"false\"\n [layer]=\"layer\"\n >\n </igo-time-filter-item>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
49
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeFilterButtonComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeFilterButtonComponent, decorators: [{
46
51
  type: Component,
47
- args: [{ selector: 'igo-time-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\"\n>\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"badge\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n svgIcon=\"history\"\n ></mat-icon>\n</button>\n\n<div\n #ogcFilter\n class=\"igo-layer-actions-container\"\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n>\n <igo-time-filter-item\n *ngIf=\"timeFilterCollapse && options.timeFilter\"\n igoListItem\n [header]=\"false\"\n [layer]=\"layer\"\n >\n </igo-time-filter-item>\n</div>\n" }]
48
- }], ctorParameters: function () { return []; }, propDecorators: { layer: [{
52
+ args: [{ selector: 'igo-time-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
53
+ NgIf,
54
+ MatButtonModule,
55
+ MatTooltipModule,
56
+ MatIconModule,
57
+ MatBadgeModule,
58
+ TimeFilterItemComponent,
59
+ ListItemDirective,
60
+ TranslateModule
61
+ ], template: "<button\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\"\n>\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"badge\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n svgIcon=\"history\"\n ></mat-icon>\n</button>\n\n<div\n #ogcFilter\n class=\"igo-layer-actions-container\"\n *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n>\n <igo-time-filter-item\n *ngIf=\"timeFilterCollapse && options.timeFilter\"\n igoListItem\n [header]=\"false\"\n [layer]=\"layer\"\n >\n </igo-time-filter-item>\n</div>\n" }]
62
+ }], ctorParameters: () => [], propDecorators: { layer: [{
49
63
  type: Input
50
64
  }], map: [{
51
65
  type: Input
@@ -54,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
68
  }], header: [{
55
69
  type: Input
56
70
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci90aW1lLWZpbHRlci1idXR0b24vdGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci90aW1lLWZpbHRlci1idXR0b24vdGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsT0FBTyxDQUFrQztJQUVoRCxJQUFJLEtBQUs7UUFDUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQWlCLENBQUM7UUFDOUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUM1QixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUErQixDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUNPLE1BQU0sQ0FBQztJQUVOLEdBQUcsQ0FBUztJQUVaLEtBQUssR0FBVyxTQUFTLENBQUM7SUFFMUIsTUFBTSxHQUFZLElBQUksQ0FBQztJQUV6QixrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFbEMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUErQixDQUFDO0lBQ3ZFLENBQUM7d0dBcENVLHlCQUF5Qjs0RkFBekIseUJBQXlCLHdJQ2xCdEMsb3ZCQStCQTs7NEZEYmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTswRUFlM0MsS0FBSztzQkFEUixLQUFLO2dCQVlHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgV01TRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10aW1lLWZpbHRlci1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lRmlsdGVyQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgb3B0aW9uczogVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuXHJcbiAgZ2V0IGJhZGdlKCkge1xyXG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5vcHRpb25zLnRpbWVGaWx0ZXIgYXMgYW55O1xyXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuZW5hYmxlZCkge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLl9sYXllcjtcclxuICB9XHJcbiAgc2V0IGxheWVyKHZhbHVlOiBMYXllcikge1xyXG4gICAgdGhpcy5fbGF5ZXIgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBXTVNEYXRhU291cmNlT3B0aW9ucztcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfbGF5ZXI7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKSBoZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgdGltZUZpbHRlckNvbGxhcHNlID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBXTVNEYXRhU291cmNlT3B0aW9ucztcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImhlYWRlciAmJiBvcHRpb25zLnRpbWVGaWx0ZXJhYmxlICYmIG9wdGlvbnMudGltZUZpbHRlclwiXG4gIG1hdC1pY29uLWJ1dHRvblxuICBjb2xsYXBzaWJsZUJ1dHRvblxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZmlsdGVyLmZpbHRlckJ5JyB8IHRyYW5zbGF0ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4+XG4gIDxtYXQtaWNvblxuICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgIFttYXRCYWRnZV09XCJiYWRnZVwiXG4gICAgbWF0QmFkZ2VDb2xvcj1cIndhcm5cIlxuICAgIG1hdEJhZGdlU2l6ZT1cIm1lZGl1bVwiXG4gICAgc3ZnSWNvbj1cImhpc3RvcnlcIlxuICA+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48ZGl2XG4gICNvZ2NGaWx0ZXJcbiAgY2xhc3M9XCJpZ28tbGF5ZXItYWN0aW9ucy1jb250YWluZXJcIlxuICAqbmdJZj1cImhlYWRlciAmJiBvcHRpb25zLnRpbWVGaWx0ZXJhYmxlICYmIG9wdGlvbnMudGltZUZpbHRlclwiXG4+XG4gIDxpZ28tdGltZS1maWx0ZXItaXRlbVxuICAgICpuZ0lmPVwidGltZUZpbHRlckNvbGxhcHNlICYmIG9wdGlvbnMudGltZUZpbHRlclwiXG4gICAgaWdvTGlzdEl0ZW1cbiAgICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICA+XG4gIDwvaWdvLXRpbWUtZmlsdGVyLWl0ZW0+XG48L2Rpdj5cbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci90aW1lLWZpbHRlci1idXR0b24vdGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci90aW1lLWZpbHRlci1idXR0b24vdGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBbUJ6RixNQUFNLE9BQU8seUJBQXlCO0lBQzdCLE9BQU8sQ0FBa0M7SUFFaEQsSUFBSSxLQUFLO1FBQ1AsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFpQixDQUFDO1FBQzlDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQStCLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7SUFDTyxNQUFNLENBQUM7SUFFTixHQUFHLENBQVM7SUFFWixLQUFLLEdBQVcsU0FBUyxDQUFDO0lBRTFCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFFekIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRWxDLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBK0IsQ0FBQztJQUN2RSxDQUFDO3VHQXBDVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw0SkN2Q3RDLG92QkErQkEsMERERkksSUFBSSw0RkFDSixlQUFlLDJJQUNmLGdCQUFnQiw0VEFDaEIsYUFBYSxtTEFDYixjQUFjLDRQQUNkLHVCQUF1Qiw4RkFDdkIsaUJBQWlCLDRSQUNqQixlQUFlOzsyRkFHTix5QkFBeUI7a0JBakJyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNoQjt3REFlRyxLQUFLO3NCQURSLEtBQUs7Z0JBWUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBUaW1lRmlsdGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3RpbWUtZmlsdGVyLWl0ZW0vdGltZS1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tdGltZS1maWx0ZXItYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW1lLWZpbHRlci1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgVGltZUZpbHRlckl0ZW1Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVGaWx0ZXJCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBvcHRpb25zOiBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xyXG5cclxuICBnZXQgYmFkZ2UoKSB7XHJcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLm9wdGlvbnMudGltZUZpbHRlciBhcyBhbnk7XHJcbiAgICBpZiAoZmlsdGVyICYmIGZpbHRlci5lbmFibGVkKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbGF5ZXIoKTogTGF5ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xyXG4gIH1cclxuICBzZXQgbGF5ZXIodmFsdWU6IExheWVyKSB7XHJcbiAgICB0aGlzLl9sYXllciA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIFdNU0RhdGFTb3VyY2VPcHRpb25zO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9sYXllcjtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAncHJpbWFyeSc7XHJcblxyXG4gIEBJbnB1dCgpIGhlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyB0aW1lRmlsdGVyQ29sbGFwc2UgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIFdNU0RhdGFTb3VyY2VPcHRpb25zO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwiaGVhZGVyICYmIG9wdGlvbnMudGltZUZpbHRlcmFibGUgJiYgb3B0aW9ucy50aW1lRmlsdGVyXCJcbiAgbWF0LWljb24tYnV0dG9uXG4gIGNvbGxhcHNpYmxlQnV0dG9uXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5maWx0ZXIuZmlsdGVyQnknIHwgdHJhbnNsYXRlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbj5cbiAgPG1hdC1pY29uXG4gICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgW21hdEJhZGdlXT1cImJhZGdlXCJcbiAgICBtYXRCYWRnZUNvbG9yPVwid2FyblwiXG4gICAgbWF0QmFkZ2VTaXplPVwibWVkaXVtXCJcbiAgICBzdmdJY29uPVwiaGlzdG9yeVwiXG4gID48L21hdC1pY29uPlxuPC9idXR0b24+XG5cbjxkaXZcbiAgI29nY0ZpbHRlclxuICBjbGFzcz1cImlnby1sYXllci1hY3Rpb25zLWNvbnRhaW5lclwiXG4gICpuZ0lmPVwiaGVhZGVyICYmIG9wdGlvbnMudGltZUZpbHRlcmFibGUgJiYgb3B0aW9ucy50aW1lRmlsdGVyXCJcbj5cbiAgPGlnby10aW1lLWZpbHRlci1pdGVtXG4gICAgKm5nSWY9XCJ0aW1lRmlsdGVyQ29sbGFwc2UgJiYgb3B0aW9ucy50aW1lRmlsdGVyXCJcbiAgICBpZ29MaXN0SXRlbVxuICAgIFtoZWFkZXJdPVwiZmFsc2VcIlxuICAgIFtsYXllcl09XCJsYXllclwiXG4gID5cbiAgPC9pZ28tdGltZS1maWx0ZXItaXRlbT5cbjwvZGl2PlxuIl19