@igo2/geo 1.14.2 → 1.15.1

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 (493) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +13 -11
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +10 -10
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +20 -17
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  11. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  12. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +7 -12
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.service.mjs +3 -5
  19. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  20. package/esm2020/lib/datasource/shared/capabilities.service.mjs +2 -2
  21. package/esm2020/lib/datasource/shared/datasource.service.mjs +27 -31
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  60. package/esm2020/lib/datasource/utils/index.mjs +1 -2
  61. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  62. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -10
  63. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  64. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  65. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  66. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  67. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  68. package/esm2020/lib/directions/directions.component.mjs +2 -2
  69. package/esm2020/lib/directions/directions.module.mjs +1 -1
  70. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  71. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  72. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  73. package/esm2020/lib/directions/shared/directions.utils.mjs +2 -2
  74. package/esm2020/lib/directions/shared/store.mjs +1 -1
  75. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  76. package/esm2020/lib/download/download.module.mjs +1 -1
  77. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  78. package/esm2020/lib/download/shared/download.service.mjs +5 -8
  79. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  80. package/esm2020/lib/draw/draw/draw-popup.component.mjs +3 -3
  81. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  82. package/esm2020/lib/draw/draw/draw.component.mjs +11 -10
  83. package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
  84. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  85. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  86. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -17
  87. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  88. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  89. package/esm2020/lib/draw/shared/index.mjs +1 -2
  90. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +4 -5
  91. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  92. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  93. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  94. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  95. package/esm2020/lib/feature/feature.module.mjs +1 -1
  96. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  97. package/esm2020/lib/feature/shared/feature.utils.mjs +7 -5
  98. package/esm2020/lib/feature/shared/store.mjs +10 -1
  99. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2020/lib/feature/shared/strategies/index.mjs +2 -1
  102. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2020/lib/feature/shared/strategies/search.mjs +150 -0
  105. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2020/lib/filter/filter.module.mjs +1 -1
  108. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  109. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  110. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  111. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  112. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  113. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  114. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  115. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  116. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  117. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  118. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  119. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  120. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  121. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  122. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  123. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  124. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  125. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  126. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  127. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  128. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +5 -5
  129. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +6 -7
  130. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  131. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  132. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  133. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  134. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  135. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  136. package/esm2020/lib/geo.module.mjs +5 -1
  137. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +13 -12
  138. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  139. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  140. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  141. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  142. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  143. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  144. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  145. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  146. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  147. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  148. package/esm2020/lib/import-export/import-export/import-export.component.mjs +53 -45
  149. package/esm2020/lib/import-export/import-export.module.mjs +5 -9
  150. package/esm2020/lib/import-export/index.mjs +1 -2
  151. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +31 -14
  152. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  153. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  154. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  155. package/esm2020/lib/import-export/shared/export.utils.mjs +8 -17
  156. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  157. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  158. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  159. package/esm2020/lib/import-export/shared/import.utils.mjs +58 -91
  160. package/esm2020/lib/layer/index.mjs +1 -2
  161. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  162. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  163. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  164. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  165. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  166. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  167. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
  168. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  169. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  170. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  171. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  172. package/esm2020/lib/layer/layer.module.mjs +6 -11
  173. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  174. package/esm2020/lib/layer/shared/index.mjs +1 -3
  175. package/esm2020/lib/layer/shared/layer.service.mjs +80 -29
  176. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  177. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  178. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  179. package/esm2020/lib/layer/shared/layers/image-layer.mjs +6 -7
  180. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  181. package/esm2020/lib/layer/shared/layers/layer.mjs +5 -3
  182. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  183. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  184. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  185. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +155 -6
  186. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  187. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  188. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  189. package/esm2020/lib/layer/utils/image-watcher.mjs +3 -6
  190. package/esm2020/lib/layer/utils/layer.utils.mjs +2 -2
  191. package/esm2020/lib/layer/utils/outputLegend.mjs +3 -2
  192. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  193. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  194. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  195. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  196. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  197. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  198. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  199. package/esm2020/lib/map/map-browser/map-browser.component.mjs +3 -3
  200. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  201. package/esm2020/lib/map/map.module.mjs +1 -1
  202. package/esm2020/lib/map/menu-button/menu-button.component.mjs +3 -3
  203. package/esm2020/lib/map/offline-button/offline-button.component.mjs +34 -57
  204. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  205. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2020/lib/map/shared/controllers/geolocation.mjs +151 -36
  207. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2020/lib/map/shared/hover-feature.directive.mjs +24 -73
  209. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  210. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  211. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  212. package/esm2020/lib/map/shared/map.mjs +7 -5
  213. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  214. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2020/lib/map/shared/mapOffline.directive.mjs +50 -115
  216. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  217. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  218. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  219. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  220. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  221. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +24 -35
  222. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  223. package/esm2020/lib/measure/measure.module.mjs +1 -1
  224. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  225. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  226. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  227. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  228. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  229. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  230. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  231. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  232. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  233. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  234. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  235. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  236. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +4 -4
  237. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  238. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  239. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +2 -2
  240. package/esm2020/lib/offline/index.mjs +2 -1
  241. package/esm2020/lib/offline/layerDB/index.mjs +3 -0
  242. package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  243. package/esm2020/lib/offline/layerDB/layerDB.service.mjs +76 -0
  244. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  245. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  246. package/esm2020/lib/overlay/shared/index.mjs +1 -2
  247. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  248. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  249. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  250. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  251. package/esm2020/lib/overlay/shared/overlay.utils.mjs +2 -88
  252. package/esm2020/lib/print/print/print.component.mjs +6 -20
  253. package/esm2020/lib/print/print-form/print-form.component.mjs +197 -111
  254. package/esm2020/lib/print/print.module.mjs +1 -1
  255. package/esm2020/lib/print/shared/geopdf.mjs +1 -1
  256. package/esm2020/lib/print/shared/index.mjs +1 -1
  257. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  258. package/esm2020/lib/print/shared/print.service.mjs +85 -35
  259. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  260. package/esm2020/lib/query/query.module.mjs +1 -1
  261. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  262. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  263. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  264. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  265. package/esm2020/lib/query/shared/query.service.mjs +3 -5
  266. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  267. package/esm2020/lib/search/search-bar/search-bar.component.mjs +3 -3
  268. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  269. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  270. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  271. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +88 -31
  272. package/esm2020/lib/search/search-results/search-results-item.component.mjs +36 -13
  273. package/esm2020/lib/search/search-results/search-results.component.mjs +172 -58
  274. package/esm2020/lib/search/search-results/search-results.module.mjs +5 -1
  275. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  276. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  277. package/esm2020/lib/search/search-settings/search-settings.component.mjs +54 -56
  278. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  279. package/esm2020/lib/search/search.module.mjs +1 -1
  280. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +3 -30
  281. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  282. package/esm2020/lib/search/shared/search-source.service.mjs +9 -1
  283. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  284. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  285. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  286. package/esm2020/lib/search/shared/search.utils.mjs +3 -3
  287. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  288. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  289. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +4 -4
  290. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  291. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  292. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  293. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  294. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  295. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  296. package/esm2020/lib/search/shared/sources/index.mjs +4 -1
  297. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  298. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  299. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  300. package/esm2020/lib/search/shared/sources/source.mjs +31 -1
  301. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  302. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  303. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  304. package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  305. package/esm2020/lib/search/shared/sources/workspace.mjs +186 -0
  306. package/esm2020/lib/search/shared/sources/workspace.providers.mjs +26 -0
  307. package/esm2020/lib/style/index.mjs +5 -0
  308. package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +357 -0
  309. package/esm2020/lib/style/shared/datasource/index.mjs +2 -0
  310. package/esm2020/lib/style/shared/feature/feature-style.mjs +141 -0
  311. package/esm2020/lib/style/shared/feature/index.mjs +2 -0
  312. package/esm2020/lib/style/shared/font.enum.mjs +17 -0
  313. package/esm2020/lib/style/shared/index.mjs +5 -0
  314. package/esm2020/lib/style/shared/overlay/index.mjs +3 -0
  315. package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +43 -0
  316. package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  317. package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +75 -0
  318. package/esm2020/lib/style/shared/vector/conversion.utils.mjs +27 -0
  319. package/esm2020/lib/style/shared/vector/index.mjs +4 -0
  320. package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  321. package/esm2020/lib/style/style-list/index.mjs +5 -0
  322. package/esm2020/lib/style/style-list/style-list.interface.mjs +2 -0
  323. package/esm2020/lib/style/style-list/style-list.module.mjs +23 -0
  324. package/esm2020/lib/style/style-list/style-list.provider.mjs +21 -0
  325. package/esm2020/lib/style/style-list/style-list.service.mjs +51 -0
  326. package/esm2020/lib/style/style-modal/drawing/index.mjs +2 -0
  327. package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
  328. package/esm2020/lib/style/style-modal/index.mjs +5 -0
  329. package/esm2020/lib/style/style-modal/layer/index.mjs +2 -0
  330. package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +187 -0
  331. package/esm2020/lib/style/style-modal/layer-button/index.mjs +2 -0
  332. package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
  333. package/esm2020/lib/style/style-modal/shared/index.mjs +2 -0
  334. package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  335. package/esm2020/lib/style/style-service/draw-style.service.mjs +187 -0
  336. package/esm2020/lib/style/style-service/index.mjs +3 -0
  337. package/esm2020/lib/style/style-service/style.service.mjs +356 -0
  338. package/esm2020/lib/style/style.module.mjs +74 -0
  339. package/esm2020/lib/toast/toast.component.mjs +3 -3
  340. package/esm2020/lib/toast/toast.module.mjs +1 -1
  341. package/esm2020/lib/utils/id-generator.mjs +1 -1
  342. package/esm2020/lib/utils/index.mjs +1 -3
  343. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  344. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  345. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  346. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  347. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  348. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  349. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +19 -34
  350. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  351. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +10 -3
  352. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  353. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +2 -2
  354. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +3 -3
  355. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  356. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  357. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  358. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  359. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  360. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  361. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  362. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  363. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  364. package/esm2020/public_api.mjs +3 -1
  365. package/fesm2015/igo2-geo.mjs +6707 -5364
  366. package/fesm2015/igo2-geo.mjs.map +1 -1
  367. package/fesm2020/igo2-geo.mjs +7617 -6346
  368. package/fesm2020/igo2-geo.mjs.map +1 -1
  369. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +5 -14
  370. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -5
  371. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -9
  372. package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -3
  373. package/lib/catalog/shared/catalog.interface.d.ts +10 -0
  374. package/lib/datasource/shared/datasources/datasource.interface.d.ts +13 -0
  375. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +5 -0
  376. package/lib/datasource/utils/index.d.ts +0 -1
  377. package/lib/download/shared/download.service.d.ts +2 -3
  378. package/lib/draw/draw/draw.component.d.ts +3 -2
  379. package/lib/draw/shared/draw.enum.d.ts +0 -15
  380. package/lib/draw/shared/index.d.ts +0 -1
  381. package/lib/feature/shared/feature.interfaces.d.ts +5 -0
  382. package/lib/feature/shared/feature.utils.d.ts +4 -2
  383. package/lib/feature/shared/store.d.ts +7 -0
  384. package/lib/feature/shared/strategies/index.d.ts +1 -0
  385. package/lib/feature/shared/strategies/search.d.ts +55 -0
  386. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -3
  387. package/lib/geo.module.d.ts +3 -2
  388. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +5 -9
  389. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
  390. package/lib/import-export/import-export/import-export.component.d.ts +9 -4
  391. package/lib/import-export/import-export.module.d.ts +1 -2
  392. package/lib/import-export/index.d.ts +0 -1
  393. package/lib/import-export/shared/drop-geo-file.directive.d.ts +10 -7
  394. package/lib/import-export/shared/export.utils.d.ts +4 -4
  395. package/lib/import-export/shared/import.interface.d.ts +2 -0
  396. package/lib/import-export/shared/import.utils.d.ts +14 -12
  397. package/lib/layer/index.d.ts +0 -1
  398. package/lib/layer/layer.module.d.ts +19 -20
  399. package/lib/layer/shared/index.d.ts +0 -2
  400. package/lib/layer/shared/layer.service.d.ts +8 -5
  401. package/lib/layer/shared/layers/image-layer.d.ts +2 -3
  402. package/lib/layer/shared/layers/layer.d.ts +5 -1
  403. package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
  404. package/lib/layer/shared/layers/vector-layer.d.ts +18 -2
  405. package/lib/layer/shared/layers/vector-layer.interface.d.ts +8 -7
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +2 -4
  407. package/lib/layer/utils/image-watcher.d.ts +2 -3
  408. package/lib/map/offline-button/offline-button.component.d.ts +10 -18
  409. package/lib/map/shared/controllers/geolocation.d.ts +17 -2
  410. package/lib/map/shared/hover-feature.directive.d.ts +2 -10
  411. package/lib/map/shared/map.d.ts +2 -2
  412. package/lib/map/shared/mapOffline.directive.d.ts +4 -7
  413. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +3 -6
  414. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  415. package/lib/offline/index.d.ts +1 -0
  416. package/lib/offline/layerDB/index.d.ts +2 -0
  417. package/lib/offline/layerDB/layerDB.interface.d.ts +7 -0
  418. package/lib/offline/layerDB/layerDB.service.d.ts +36 -0
  419. package/lib/overlay/shared/index.d.ts +0 -1
  420. package/lib/overlay/shared/overlay.utils.d.ts +0 -11
  421. package/lib/print/print-form/print-form.component.d.ts +2 -0
  422. package/lib/print/shared/print.service.d.ts +6 -0
  423. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  424. package/lib/search/search-results/search-results-add-button.component.d.ts +10 -2
  425. package/lib/search/search-results/search-results-item.component.d.ts +5 -0
  426. package/lib/search/search-results/search-results.component.d.ts +5 -1
  427. package/lib/search/search-results/search-results.module.d.ts +11 -10
  428. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -9
  429. package/lib/search/shared/search-source.service.d.ts +7 -0
  430. package/lib/search/shared/search.interfaces.d.ts +1 -1
  431. package/lib/search/shared/sources/coordinates.providers.d.ts +3 -3
  432. package/lib/search/shared/sources/index.d.ts +3 -0
  433. package/lib/search/shared/sources/source.d.ts +6 -0
  434. package/lib/search/shared/sources/workspace.d.ts +33 -0
  435. package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -0
  436. package/lib/search/shared/sources/workspace.providers.d.ts +17 -0
  437. package/lib/style/index.d.ts +4 -0
  438. package/lib/style/shared/datasource/index.d.ts +1 -0
  439. package/lib/style/shared/feature/feature-style.d.ts +18 -0
  440. package/lib/style/shared/feature/index.d.ts +1 -0
  441. package/lib/style/shared/font.enum.d.ts +15 -0
  442. package/lib/style/shared/index.d.ts +4 -0
  443. package/lib/style/shared/overlay/index.d.ts +2 -0
  444. package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -0
  445. package/lib/{utils → style/shared/vector}/commonVectorStyle.d.ts +4 -4
  446. package/lib/style/shared/vector/conversion.utils.d.ts +22 -0
  447. package/lib/style/shared/vector/index.d.ts +3 -0
  448. package/lib/style/shared/vector/vector-style.interface.d.ts +69 -0
  449. package/lib/style/style-modal/drawing/index.d.ts +1 -0
  450. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +31 -0
  451. package/lib/style/style-modal/index.d.ts +4 -0
  452. package/lib/style/style-modal/layer/index.d.ts +1 -0
  453. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +30 -0
  454. package/lib/style/style-modal/layer-button/index.d.ts +1 -0
  455. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -0
  456. package/lib/style/style-modal/shared/index.d.ts +1 -0
  457. package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -0
  458. package/lib/{draw/shared → style/style-service}/draw-style.service.d.ts +3 -4
  459. package/lib/style/style-service/index.d.ts +2 -0
  460. package/lib/{layer/shared → style/style-service}/style.service.d.ts +5 -5
  461. package/lib/style/style.module.d.ts +22 -0
  462. package/lib/utils/index.d.ts +0 -2
  463. package/lib/workspace/shared/edition-workspace.service.d.ts +3 -4
  464. package/lib/workspace/shared/wms-workspace.service.d.ts +1 -1
  465. package/ngcc.config.js +3 -3
  466. package/package.json +17 -11
  467. package/public_api.d.ts +2 -0
  468. package/style/geo.theming.scss +12 -12
  469. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +0 -357
  470. package/esm2020/lib/draw/shared/draw-style.service.mjs +0 -190
  471. package/esm2020/lib/import-export/style-list/index.mjs +0 -5
  472. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +0 -2
  473. package/esm2020/lib/import-export/style-list/style-list.module.mjs +0 -23
  474. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +0 -21
  475. package/esm2020/lib/import-export/style-list/style-list.service.mjs +0 -51
  476. package/esm2020/lib/layer/shared/style.service.mjs +0 -356
  477. package/esm2020/lib/layer/shared/vector-style.interface.mjs +0 -2
  478. package/esm2020/lib/layer/style-modal/index.mjs +0 -2
  479. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +0 -288
  480. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +0 -69
  481. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +0 -2
  482. package/esm2020/lib/utils/commonVectorStyle.mjs +0 -75
  483. package/lib/layer/shared/vector-style.interface.d.ts +0 -38
  484. package/lib/layer/style-modal/index.d.ts +0 -1
  485. package/lib/layer/style-modal/style-modal.component.d.ts +0 -42
  486. package/lib/utils/commonVectorStyle.interface.d.ts +0 -16
  487. /package/lib/{datasource/utils → style/shared/datasource}/esri-style-generator.d.ts +0 -0
  488. /package/lib/{overlay/shared → style/shared/overlay}/overlay-marker-style.utils.d.ts +0 -0
  489. /package/lib/{import-export → style}/style-list/index.d.ts +0 -0
  490. /package/lib/{import-export → style}/style-list/style-list.interface.d.ts +0 -0
  491. /package/lib/{import-export → style}/style-list/style-list.module.d.ts +0 -0
  492. /package/lib/{import-export → style}/style-list/style-list.provider.d.ts +0 -0
  493. /package/lib/{import-export → style}/style-list/style-list.service.d.ts +0 -0
@@ -0,0 +1,356 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as olStyle from 'ol/style';
3
+ import OlFeature from 'ol/Feature';
4
+ import { createOverlayMarkerStyle } from '../shared/overlay/overlay-marker-style.utils';
5
+ import { getResolutionFromScale } from '../../map/shared/map.utils';
6
+ import * as i0 from "@angular/core";
7
+ export class StyleService {
8
+ /**
9
+ * Create a style based on a object as
10
+ * style: {
11
+ * "stroke": {
12
+ * "color": "blue",
13
+ * "lineDash": [10, 5]
14
+ * },
15
+ * "text": {
16
+ * "minScaleDenom": 50000,
17
+ * "maxScaleDenom": 200000,
18
+ * "minResolution": 100,
19
+ * "maxResolution": 400,
20
+ * "attribute": "THE COLUMN NAME TO RETRIEVE THE LABEL VALUE",
21
+ * "text": "MY HARCODED TEXT",
22
+ * "stroke": {
23
+ * "color": "blue",
24
+ * "width": 0.75
25
+ * },
26
+ * "fill": {
27
+ * "color": "black"
28
+ * },
29
+ * "font": "20px sans-serif",
30
+ * "overflow": true,
31
+ * "offsetX": 10,
32
+ * "offsetY": 20,
33
+ * "padding": [2.5, 2.5, 2.5, 2.5]
34
+ * },
35
+ * "width": 5
36
+ * }
37
+ *
38
+ * @param options
39
+ * @param feature feature to apply style on
40
+ * @param resolution current map resolution, to control label resolution range
41
+ * @returns
42
+ */
43
+ createStyle(options, feature, resolution) {
44
+ if (!options) {
45
+ return createOverlayMarkerStyle();
46
+ }
47
+ if (typeof options === 'function' || options instanceof olStyle.Style) {
48
+ return options;
49
+ }
50
+ const parsedStyle = this.parseStyle('style', options);
51
+ if (parsedStyle.getText()) {
52
+ let labelMinResolution = 0;
53
+ let labelMaxResolution = Infinity;
54
+ if (options.text) {
55
+ const labelMinResolutionFromScale = options.text?.minScaleDenom ? getResolutionFromScale(Number(options.text.minScaleDenom)) : undefined;
56
+ const labelMaxResolutionFromScale = options.text?.maxScaleDenom ? getResolutionFromScale(Number(options.text.maxScaleDenom)) : undefined;
57
+ const minResolution = options.text?.minResolution ? options.text.minResolution : 0;
58
+ const maxResolution = options.text?.maxResolution ? options.text.maxResolution : Infinity;
59
+ labelMinResolution = labelMinResolutionFromScale || minResolution;
60
+ labelMaxResolution = labelMaxResolutionFromScale || maxResolution;
61
+ }
62
+ if (feature && resolution >= labelMinResolution && resolution <= labelMaxResolution) {
63
+ if (feature && options.text.attribute) {
64
+ parsedStyle.getText().setText(this.getLabel(feature, options.text.attribute));
65
+ }
66
+ }
67
+ else {
68
+ parsedStyle.setText();
69
+ }
70
+ }
71
+ return parsedStyle;
72
+ }
73
+ parseStyle(key, value) {
74
+ const styleOptions = {};
75
+ const olCls = this.getOlCls(key);
76
+ if (olCls && value instanceof Object) {
77
+ Object.keys(value).forEach(_key => {
78
+ const olKey = this.getOlKey(_key);
79
+ styleOptions[olKey] = this.parseStyle(_key, value[_key]);
80
+ });
81
+ return new olCls(styleOptions);
82
+ }
83
+ else {
84
+ return value;
85
+ }
86
+ }
87
+ getOlKey(key) {
88
+ let olKey;
89
+ switch (key.toLowerCase()) {
90
+ case 'circle':
91
+ case 'regularshape':
92
+ case 'icon':
93
+ olKey = 'image';
94
+ break;
95
+ default:
96
+ break;
97
+ }
98
+ return olKey || key;
99
+ }
100
+ getOlCls(key) {
101
+ let olCls = olStyle[key.charAt(0).toUpperCase() + key.slice(1)];
102
+ if (key === 'regularshape') {
103
+ olCls = olStyle.RegularShape;
104
+ }
105
+ if (key === 'backgroundFill') {
106
+ olCls = olStyle.Fill;
107
+ }
108
+ if (key === 'backgroundStroke') {
109
+ olCls = olStyle.Stroke;
110
+ }
111
+ return olCls;
112
+ }
113
+ createStyleByAttribute(feature, styleByAttribute, resolution) {
114
+ let style;
115
+ const type = styleByAttribute.type ? styleByAttribute.type : this.guessTypeFeature(feature);
116
+ const attribute = styleByAttribute.attribute;
117
+ const data = styleByAttribute.data;
118
+ const stroke = styleByAttribute.stroke;
119
+ const width = styleByAttribute.width;
120
+ const fill = styleByAttribute.fill;
121
+ const anchor = styleByAttribute.anchor;
122
+ const radius = styleByAttribute.radius;
123
+ const icon = styleByAttribute.icon;
124
+ const scale = styleByAttribute.scale;
125
+ const size = data ? data.length : 0;
126
+ const label = styleByAttribute.label ? styleByAttribute.label.attribute : undefined;
127
+ const labelMinResolutionFromScale = styleByAttribute.label?.minScaleDenom ? getResolutionFromScale(Number(styleByAttribute.label.minScaleDenom)) : undefined;
128
+ const labelMaxResolutionFromScale = styleByAttribute.label?.maxScaleDenom ? getResolutionFromScale(Number(styleByAttribute.label.maxScaleDenom)) : undefined;
129
+ const minResolution = styleByAttribute.label?.minResolution ? styleByAttribute.label.minResolution : 0;
130
+ const maxResolution = styleByAttribute.label?.maxResolution ? styleByAttribute.label.maxResolution : Infinity;
131
+ const labelMinResolution = labelMinResolutionFromScale || minResolution;
132
+ const labelMaxResolution = labelMaxResolutionFromScale || maxResolution;
133
+ let labelStyle = styleByAttribute.label?.style ? this.parseStyle('text', styleByAttribute.label.style) : undefined;
134
+ if (!labelStyle && label) {
135
+ labelStyle = new olStyle.Text();
136
+ }
137
+ const baseStyle = styleByAttribute.baseStyle;
138
+ if (labelStyle) {
139
+ if (resolution >= labelMinResolution && resolution <= labelMaxResolution) {
140
+ labelStyle.setText(this.getLabel(feature, label));
141
+ }
142
+ else {
143
+ labelStyle.setText('');
144
+ }
145
+ }
146
+ if (type === 'circle') {
147
+ for (let i = 0; i < size; i++) {
148
+ const val = typeof feature.get(attribute) !== 'undefined' && feature.get(attribute) !== null
149
+ ? feature.get(attribute)
150
+ : '';
151
+ if (val === data[i] || val.toString().match(new RegExp(data[i], 'gmi'))) {
152
+ if (icon) {
153
+ style = [
154
+ new olStyle.Style({
155
+ image: new olStyle.Icon({
156
+ color: fill ? fill[i] : undefined,
157
+ src: icon[i],
158
+ scale: scale ? scale[i] : 1,
159
+ anchor: anchor ? anchor[i] : [0.5, 0.5]
160
+ }),
161
+ text: labelStyle instanceof olStyle.Text ? labelStyle : undefined
162
+ })
163
+ ];
164
+ return style;
165
+ }
166
+ style = [
167
+ new olStyle.Style({
168
+ image: new olStyle.Circle({
169
+ radius: radius ? radius[i] : 4,
170
+ stroke: new olStyle.Stroke({
171
+ color: stroke ? stroke[i] : 'black',
172
+ width: width ? width[i] : 1
173
+ }),
174
+ fill: new olStyle.Fill({
175
+ color: fill ? fill[i] : 'black'
176
+ })
177
+ }),
178
+ text: labelStyle instanceof olStyle.Text ? labelStyle : undefined
179
+ })
180
+ ];
181
+ return style;
182
+ }
183
+ }
184
+ if (!feature.getStyle()) {
185
+ if (baseStyle) {
186
+ style = this.createStyle(baseStyle, feature, resolution);
187
+ if (labelStyle) {
188
+ style.setText(labelStyle);
189
+ }
190
+ return style;
191
+ }
192
+ style = [
193
+ new olStyle.Style({
194
+ image: new olStyle.Circle({
195
+ radius: 4,
196
+ stroke: new olStyle.Stroke({
197
+ color: 'black'
198
+ }),
199
+ fill: new olStyle.Fill({
200
+ color: '#bbbbf2'
201
+ })
202
+ })
203
+ })
204
+ ];
205
+ return style;
206
+ }
207
+ }
208
+ else if (type === 'regular') {
209
+ for (let i = 0; i < size; i++) {
210
+ const val = typeof feature.get(attribute) !== 'undefined' && feature.get(attribute) !== null
211
+ ? feature.get(attribute)
212
+ : '';
213
+ if (val === data[i] || val.toString().match(new RegExp(data[i], 'gmi'))) {
214
+ style = [
215
+ new olStyle.Style({
216
+ stroke: new olStyle.Stroke({
217
+ color: stroke ? stroke[i] : 'black',
218
+ width: width ? width[i] : 1
219
+ }),
220
+ fill: new olStyle.Fill({
221
+ color: fill ? fill[i] : 'rgba(255,255,255,0.4)'
222
+ }),
223
+ text: labelStyle instanceof olStyle.Text ? labelStyle : undefined
224
+ })
225
+ ];
226
+ return style;
227
+ }
228
+ }
229
+ if (feature instanceof OlFeature) {
230
+ if (!feature.getStyle()) {
231
+ if (baseStyle) {
232
+ style = this.createStyle(baseStyle, feature, resolution);
233
+ if (labelStyle) {
234
+ style.setText(labelStyle);
235
+ }
236
+ return style;
237
+ }
238
+ style = [
239
+ new olStyle.Style({
240
+ stroke: new olStyle.Stroke({
241
+ color: 'black'
242
+ }),
243
+ fill: new olStyle.Fill({
244
+ color: '#bbbbf2'
245
+ })
246
+ })
247
+ ];
248
+ return style;
249
+ }
250
+ }
251
+ }
252
+ }
253
+ createClusterStyle(feature, resolution, clusterParam = {}, layerStyle) {
254
+ let style;
255
+ const size = feature.get('features').length;
256
+ if (size !== 1) {
257
+ if (clusterParam.clusterRanges) {
258
+ for (const r of clusterParam.clusterRanges) {
259
+ if ((!r.minRadius || r.minRadius <= size) &&
260
+ (!r.maxRadius || r.maxRadius >= size)) {
261
+ style = this.createStyle(r.style);
262
+ if (r.showRange) {
263
+ const text = new olStyle.Text({
264
+ text: size.toString(),
265
+ fill: new olStyle.Fill({
266
+ color: '#fff'
267
+ })
268
+ });
269
+ style.setText(text);
270
+ }
271
+ if (r.dynamicRadius) {
272
+ let clusterRadius;
273
+ const radiusMin = style.getRadius();
274
+ clusterRadius = 5 * Math.log(size);
275
+ if (clusterRadius < radiusMin) {
276
+ clusterRadius = radiusMin;
277
+ }
278
+ style.image_.setRadius(clusterRadius);
279
+ }
280
+ break;
281
+ }
282
+ }
283
+ }
284
+ if (!style) {
285
+ let clusterRadius;
286
+ if (clusterParam.radiusCalc) {
287
+ clusterRadius = clusterParam.radiusCalc(size);
288
+ }
289
+ else {
290
+ const radiusMin = 6;
291
+ clusterRadius = 5 * Math.log(size);
292
+ if (clusterRadius < radiusMin) {
293
+ clusterRadius = radiusMin;
294
+ }
295
+ }
296
+ style = [
297
+ new olStyle.Style({
298
+ image: new olStyle.Circle({
299
+ radius: clusterRadius,
300
+ stroke: new olStyle.Stroke({
301
+ color: 'black'
302
+ }),
303
+ fill: new olStyle.Fill({
304
+ color: 'rgba(24, 134, 45, 0.5)'
305
+ })
306
+ }),
307
+ text: new olStyle.Text({
308
+ text: size.toString(),
309
+ fill: new olStyle.Fill({
310
+ color: '#fff'
311
+ })
312
+ })
313
+ })
314
+ ];
315
+ }
316
+ }
317
+ else {
318
+ style = this.createStyle(layerStyle, feature, resolution);
319
+ }
320
+ return style;
321
+ }
322
+ getLabel(feature, labelMatch) {
323
+ let label = labelMatch;
324
+ if (!label) {
325
+ return;
326
+ }
327
+ const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
328
+ labelToGet.forEach(v => {
329
+ label = label.replace(v[0], feature.get(v[1]));
330
+ });
331
+ // Nothing done? check feature's attribute
332
+ if (labelToGet.length === 0 && label === labelMatch) {
333
+ label = feature.get(labelMatch) || labelMatch;
334
+ }
335
+ return label;
336
+ }
337
+ guessTypeFeature(feature) {
338
+ switch (feature.getGeometry().getType()) {
339
+ case 'Point':
340
+ case 'MultiPoint':
341
+ case 'Circle':
342
+ return 'circle';
343
+ default:
344
+ return 'regular';
345
+ }
346
+ }
347
+ }
348
+ StyleService.ɵfac = function StyleService_Factory(t) { return new (t || StyleService)(); };
349
+ StyleService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StyleService, factory: StyleService.ɵfac, providedIn: 'root' });
350
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleService, [{
351
+ type: Injectable,
352
+ args: [{
353
+ providedIn: 'root'
354
+ }]
355
+ }], null, null); })();
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLFlBQVk7SUFHdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQ0c7SUFDSCxXQUFXLENBQUMsT0FBK0IsRUFBRSxPQUErQyxFQUFFLFVBQW1CO1FBRS9HLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLHdCQUF3QixFQUFFLENBQUM7U0FDbkM7UUFDRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsSUFBSSxPQUFPLFlBQVksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNyRSxPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pCLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksa0JBQWtCLEdBQUcsUUFBUSxDQUFDO1lBQ2xDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDaEIsTUFBTSwyQkFBMkIsR0FDL0IsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdkcsTUFBTSwyQkFBMkIsR0FDL0IsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdkcsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUUxRixrQkFBa0IsR0FBRywyQkFBMkIsSUFBSSxhQUFhLENBQUM7Z0JBQ2xFLGtCQUFrQixHQUFHLDJCQUEyQixJQUFJLGFBQWEsQ0FBQzthQUNuRTtZQUNELElBQUksT0FBTyxJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLElBQUksa0JBQWtCLEVBQUU7Z0JBQ25GLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNyQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDL0U7YUFDRjtpQkFBTTtnQkFDTCxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdkI7U0FDRjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakMsSUFBSSxLQUFLLElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRTtZQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsR0FBUTtRQUN2QixJQUFJLEtBQUssQ0FBQztRQUNWLFFBQVEsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3pCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxjQUFjLENBQUM7WUFDcEIsS0FBSyxNQUFNO2dCQUNULEtBQUssR0FBRyxPQUFPLENBQUM7Z0JBQ2hCLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7UUFFRCxPQUFPLEtBQUssSUFBSSxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFRO1FBQ3ZCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLEdBQUcsS0FBSyxjQUFjLEVBQUU7WUFDMUIsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDOUI7UUFDRCxJQUFJLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRTtZQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztTQUN0QjtRQUNELElBQUksR0FBRyxLQUFLLGtCQUFrQixFQUFFO1lBQzlCLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBOEMsRUFBRSxnQkFBa0MsRUFBRSxVQUFrQjtRQUUzSCxJQUFJLEtBQUssQ0FBQztRQUNWLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEYsTUFBTSwyQkFBMkIsR0FDL0IsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDM0gsTUFBTSwyQkFBMkIsR0FDL0IsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDM0gsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUU5RyxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixJQUFJLGFBQWEsQ0FBQztRQUN4RSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixJQUFJLGFBQWEsQ0FBQztRQUV4RSxJQUFJLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuSCxJQUFJLENBQUMsVUFBVSxJQUFJLEtBQUssRUFBRTtZQUN0QixVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkM7UUFDRCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7UUFFN0MsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3hFLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuRDtpQkFBTTtnQkFDTCxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0Y7UUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsTUFBTSxHQUFHLEdBQ1AsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUk7b0JBQzlFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDeEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDdkUsSUFBSSxJQUFJLEVBQUU7d0JBQ1IsS0FBSyxHQUFHOzRCQUNOLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQztnQ0FDaEIsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztvQ0FDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO29DQUNqQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztvQ0FDWixLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0NBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2lDQUN4QyxDQUFDO2dDQUNGLElBQUksRUFBRSxVQUFVLFlBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTOzZCQUNsRSxDQUFDO3lCQUNILENBQUM7d0JBQ0YsT0FBTyxLQUFLLENBQUM7cUJBQ2Q7b0JBQ0QsS0FBSyxHQUFHO3dCQUNOLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQzs0QkFDaEIsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQ0FDeEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUM5QixNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO29DQUN6QixLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87b0NBQ25DLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQ0FDNUIsQ0FBQztnQ0FDRixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO29DQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87aUNBQ2hDLENBQUM7NkJBQ0gsQ0FBQzs0QkFDRixJQUFJLEVBQUUsVUFBVSxZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUzt5QkFDbEUsQ0FBQztxQkFDSCxDQUFDO29CQUNGLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7WUFDRCxJQUFJLENBQUUsT0FBaUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDekQsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDM0I7b0JBQ0QsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBQ0QsS0FBSyxHQUFHO29CQUNOLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQzt3QkFDaEIsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQzs0QkFDeEIsTUFBTSxFQUFFLENBQUM7NEJBQ1QsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQ0FDekIsS0FBSyxFQUFFLE9BQU87NkJBQ2YsQ0FBQzs0QkFDRixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO2dDQUNyQixLQUFLLEVBQUUsU0FBUzs2QkFDakIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNILENBQUM7aUJBQ0gsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7YUFBTSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsTUFBTSxHQUFHLEdBQ1QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUk7b0JBQzVFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDeEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDdkUsS0FBSyxHQUFHO3dCQUNOLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQzs0QkFDaEIsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQ0FDekIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO2dDQUNuQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQzVCLENBQUM7NEJBQ0YsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztnQ0FDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7NkJBQ2hELENBQUM7NEJBQ0YsSUFBSSxFQUFFLFVBQVUsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVM7eUJBQ2xFLENBQUM7cUJBQ0gsQ0FBQztvQkFDRixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUN2QixJQUFJLFNBQVMsRUFBRTt3QkFDYixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO3dCQUN6RCxJQUFJLFVBQVUsRUFBRTs0QkFDZCxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3lCQUMzQjt3QkFDRCxPQUFPLEtBQUssQ0FBQztxQkFDZDtvQkFDRCxLQUFLLEdBQUc7d0JBQ04sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDOzRCQUNoQixNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO2dDQUN6QixLQUFLLEVBQUUsT0FBTzs2QkFDZixDQUFDOzRCQUNGLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ3JCLEtBQUssRUFBRSxTQUFTOzZCQUNqQixDQUFDO3lCQUNILENBQUM7cUJBQ0gsQ0FBQztvQkFDRixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBOEMsRUFBRSxVQUFrQixFQUFFLGVBQTZCLEVBQUUsRUFBRSxVQUFVO1FBQ2hJLElBQUksS0FBSyxDQUFDO1FBQ1YsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDNUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ2QsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFO2dCQUM5QixLQUFLLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLEVBQUU7b0JBQzFDLElBQ0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7d0JBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQ3JDO3dCQUNBLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQW1CLENBQUM7d0JBRXBELElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRTs0QkFDZixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dDQUNyQixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO29DQUNyQixLQUFLLEVBQUUsTUFBTTtpQ0FDZCxDQUFDOzZCQUNILENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUNyQjt3QkFFRCxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7NEJBQ25CLElBQUksYUFBcUIsQ0FBQzs0QkFDMUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDOzRCQUNwQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ25DLElBQUksYUFBYSxHQUFHLFNBQVMsRUFBRTtnQ0FDN0IsYUFBYSxHQUFHLFNBQVMsQ0FBQzs2QkFDM0I7NEJBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7eUJBQ3ZDO3dCQUNELE1BQU07cUJBQ1A7aUJBQ0Y7YUFDRjtZQUVELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsSUFBSSxhQUFxQixDQUFDO2dCQUMxQixJQUFJLFlBQVksQ0FBQyxVQUFVLEVBQUU7b0JBQzNCLGFBQWEsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMvQztxQkFBTTtvQkFDTCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7b0JBQ3BCLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxhQUFhLEdBQUcsU0FBUyxFQUFFO3dCQUM3QixhQUFhLEdBQUcsU0FBUyxDQUFDO3FCQUMzQjtpQkFDRjtnQkFFRCxLQUFLLEdBQUc7b0JBQ04sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO3dCQUNoQixLQUFLLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDOzRCQUN4QixNQUFNLEVBQUUsYUFBYTs0QkFDckIsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQ0FDekIsS0FBSyxFQUFFLE9BQU87NkJBQ2YsQ0FBQzs0QkFDRixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO2dDQUNyQixLQUFLLEVBQUUsd0JBQXdCOzZCQUNoQyxDQUFDO3lCQUNILENBQUM7d0JBQ0YsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQzs0QkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7NEJBQ3JCLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ3JCLEtBQUssRUFBRSxNQUFNOzZCQUNkLENBQUM7eUJBQ0gsQ0FBQztxQkFDSCxDQUFDO2lCQUNILENBQUM7YUFDSDtTQUNGO2FBQU07WUFDTCxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVO1FBQzFCLElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUV4RSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCwwQ0FBMEM7UUFDMUMsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssVUFBVSxFQUFFO1lBQ25ELEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQztTQUMvQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQU87UUFDOUIsUUFBUSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFlBQVksQ0FBQztZQUNsQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDOzt3RUEvV1UsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNO3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvb3ZlcmxheS9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCBSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcclxuaW1wb3J0IHsgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLnV0aWxzJztcclxuaW1wb3J0IHsgU3R5bGVCeUF0dHJpYnV0ZSB9IGZyb20gJy4uL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENsdXN0ZXJQYXJhbSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9jbHVzdGVyUGFyYW0nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVTZXJ2aWNlIHtcclxuICBwdWJsaWMgc3R5bGU6IG9sU3R5bGUuU3R5bGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN0eWxlIGJhc2VkIG9uIGEgb2JqZWN0IGFzXHJcbiAgICogc3R5bGU6IHtcclxuICAgKiAgICAgICBcInN0cm9rZVwiOiB7XHJcbiAgICogICAgICAgICBcImNvbG9yXCI6IFwiYmx1ZVwiLFxyXG4gICAqICAgICAgICAgXCJsaW5lRGFzaFwiOiBbMTAsIDVdXHJcbiAgICogICAgICAgfSxcclxuICAgKiAgICAgICBcInRleHRcIjoge1xyXG4gICAqICAgICAgICAgXCJtaW5TY2FsZURlbm9tXCI6IDUwMDAwLFxyXG4gICAqICAgICAgICAgXCJtYXhTY2FsZURlbm9tXCI6IDIwMDAwMCxcclxuICAgKiAgICAgICAgIFwibWluUmVzb2x1dGlvblwiOiAxMDAsXHJcbiAgICogICAgICAgICBcIm1heFJlc29sdXRpb25cIjogNDAwLFxyXG4gICAqICAgICAgICAgXCJhdHRyaWJ1dGVcIjogXCJUSEUgQ09MVU1OIE5BTUUgVE8gUkVUUklFVkUgVEhFIExBQkVMIFZBTFVFXCIsXHJcbiAgICogICAgICAgICBcInRleHRcIjogXCJNWSBIQVJDT0RFRCBURVhUXCIsXHJcbiAgICogICAgICAgICBcInN0cm9rZVwiOiB7XHJcbiAgICogICAgICAgICAgIFwiY29sb3JcIjogXCJibHVlXCIsXHJcbiAgICogICAgICAgICAgIFwid2lkdGhcIjogMC43NVxyXG4gICAqICAgICAgICAgfSxcclxuICAgKiAgICAgICAgIFwiZmlsbFwiOiB7XHJcbiAgICogICAgICAgICAgIFwiY29sb3JcIjogXCJibGFja1wiXHJcbiAgICogICAgICAgICB9LFxyXG4gICAqICAgICAgICAgXCJmb250XCI6IFwiMjBweCBzYW5zLXNlcmlmXCIsXHJcbiAgICogICAgICAgICBcIm92ZXJmbG93XCI6IHRydWUsXHJcbiAgICogICAgICAgICBcIm9mZnNldFhcIjogMTAsXHJcbiAgICogICAgICAgICBcIm9mZnNldFlcIjogMjAsXHJcbiAgICogICAgICAgICBcInBhZGRpbmdcIjogWzIuNSwgMi41LCAyLjUsIDIuNV1cclxuICAgKiAgICAgICB9LFxyXG4gICAqICAgICAgIFwid2lkdGhcIjogNVxyXG4gICAqICAgICB9XHJcbiAgICpcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmUgdG8gYXBwbHkgc3R5bGUgb25cclxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBjdXJyZW50IG1hcCByZXNvbHV0aW9uLCB0byBjb250cm9sIGxhYmVsIHJlc29sdXRpb24gcmFuZ2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGNyZWF0ZVN0eWxlKG9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGZlYXR1cmU/OiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LCByZXNvbHV0aW9uPzogbnVtYmVyKSB7XHJcblxyXG4gICAgaWYgKCFvcHRpb25zKSB7XHJcbiAgICAgIHJldHVybiBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJyB8fCBvcHRpb25zIGluc3RhbmNlb2Ygb2xTdHlsZS5TdHlsZSkge1xyXG4gICAgICByZXR1cm4gb3B0aW9ucztcclxuICAgIH1cclxuICAgIGNvbnN0IHBhcnNlZFN0eWxlID0gdGhpcy5wYXJzZVN0eWxlKCdzdHlsZScsIG9wdGlvbnMpO1xyXG4gICAgaWYgKHBhcnNlZFN0eWxlLmdldFRleHQoKSkge1xyXG4gICAgICBsZXQgbGFiZWxNaW5SZXNvbHV0aW9uID0gMDtcclxuICAgICAgbGV0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IEluZmluaXR5O1xyXG4gICAgICBpZiAob3B0aW9ucy50ZXh0KSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlID1cclxuICAgICAgICAgIG9wdGlvbnMudGV4dD8ubWluU2NhbGVEZW5vbSA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5taW5TY2FsZURlbm9tKSkgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID1cclxuICAgICAgICAgIG9wdGlvbnMudGV4dD8ubWF4U2NhbGVEZW5vbSA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5tYXhTY2FsZURlbm9tKSkgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IG9wdGlvbnMudGV4dD8ubWluUmVzb2x1dGlvbiA/IG9wdGlvbnMudGV4dC5taW5SZXNvbHV0aW9uIDogMDtcclxuICAgICAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uID8gb3B0aW9ucy50ZXh0Lm1heFJlc29sdXRpb24gOiBJbmZpbml0eTtcclxuXHJcbiAgICAgICAgbGFiZWxNaW5SZXNvbHV0aW9uID0gbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1pblJlc29sdXRpb247XHJcbiAgICAgICAgbGFiZWxNYXhSZXNvbHV0aW9uID0gbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1heFJlc29sdXRpb247XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZlYXR1cmUgJiYgcmVzb2x1dGlvbiA+PSBsYWJlbE1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb24pIHtcclxuICAgICAgICBpZiAoZmVhdHVyZSAmJiBvcHRpb25zLnRleHQuYXR0cmlidXRlKSB7XHJcbiAgICAgICAgICBwYXJzZWRTdHlsZS5nZXRUZXh0KCkuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIG9wdGlvbnMudGV4dC5hdHRyaWJ1dGUpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcGFyc2VkU3R5bGUuc2V0VGV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyc2VkU3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFyc2VTdHlsZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgY29uc3Qgc3R5bGVPcHRpb25zID0ge307XHJcbiAgICBjb25zdCBvbENscyA9IHRoaXMuZ2V0T2xDbHMoa2V5KTtcclxuXHJcbiAgICBpZiAob2xDbHMgJiYgdmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goX2tleSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2xLZXkgPSB0aGlzLmdldE9sS2V5KF9rZXkpO1xyXG4gICAgICAgIHN0eWxlT3B0aW9uc1tvbEtleV0gPSB0aGlzLnBhcnNlU3R5bGUoX2tleSwgdmFsdWVbX2tleV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG5ldyBvbENscyhzdHlsZU9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPbEtleShrZXk6IGFueSkge1xyXG4gICAgbGV0IG9sS2V5O1xyXG4gICAgc3dpdGNoIChrZXkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdjaXJjbGUnOlxyXG4gICAgICBjYXNlICdyZWd1bGFyc2hhcGUnOlxyXG4gICAgICBjYXNlICdpY29uJzpcclxuICAgICAgICBvbEtleSA9ICdpbWFnZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sS2V5IHx8IGtleTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2xDbHMoa2V5OiBhbnkpIHtcclxuICAgIGxldCBvbENscyA9IG9sU3R5bGVba2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpXTtcclxuICAgIGlmIChrZXkgPT09ICdyZWd1bGFyc2hhcGUnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5SZWd1bGFyU2hhcGU7XHJcbiAgICB9XHJcbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZEZpbGwnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5GaWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRTdHJva2UnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5TdHJva2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sQ2xzO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LCBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlLCByZXNvbHV0aW9uOiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgc3R5bGU7XHJcbiAgICBjb25zdCB0eXBlID0gc3R5bGVCeUF0dHJpYnV0ZS50eXBlID8gc3R5bGVCeUF0dHJpYnV0ZS50eXBlIDogdGhpcy5ndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlID0gc3R5bGVCeUF0dHJpYnV0ZS5hdHRyaWJ1dGU7XHJcbiAgICBjb25zdCBkYXRhID0gc3R5bGVCeUF0dHJpYnV0ZS5kYXRhO1xyXG4gICAgY29uc3Qgc3Ryb2tlID0gc3R5bGVCeUF0dHJpYnV0ZS5zdHJva2U7XHJcbiAgICBjb25zdCB3aWR0aCA9IHN0eWxlQnlBdHRyaWJ1dGUud2lkdGg7XHJcbiAgICBjb25zdCBmaWxsID0gc3R5bGVCeUF0dHJpYnV0ZS5maWxsO1xyXG4gICAgY29uc3QgYW5jaG9yID0gc3R5bGVCeUF0dHJpYnV0ZS5hbmNob3I7XHJcbiAgICBjb25zdCByYWRpdXMgPSBzdHlsZUJ5QXR0cmlidXRlLnJhZGl1cztcclxuICAgIGNvbnN0IGljb24gPSBzdHlsZUJ5QXR0cmlidXRlLmljb247XHJcbiAgICBjb25zdCBzY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc2NhbGU7XHJcbiAgICBjb25zdCBzaXplID0gZGF0YSA/IGRhdGEubGVuZ3RoIDogMDtcclxuICAgIGNvbnN0IGxhYmVsID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbCA/IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwuYXR0cmlidXRlIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlID1cclxuICAgICAgc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWluU2NhbGVEZW5vbSA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWluU2NhbGVEZW5vbSkpIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID1cclxuICAgICAgc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWF4U2NhbGVEZW5vbSA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWF4U2NhbGVEZW5vbSkpIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1pblJlc29sdXRpb24gPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1pblJlc29sdXRpb24gOiAwO1xyXG4gICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1heFJlc29sdXRpb24gPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1heFJlc29sdXRpb24gOiBJbmZpbml0eTtcclxuXHJcbiAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSB8fCBtYXhSZXNvbHV0aW9uO1xyXG5cclxuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGUgPyB0aGlzLnBhcnNlU3R5bGUoJ3RleHQnLCBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLnN0eWxlKSA6IHVuZGVmaW5lZDtcclxuICAgIGlmICghbGFiZWxTdHlsZSAmJiBsYWJlbCkge1xyXG4gICAgICAgIGxhYmVsU3R5bGUgPSBuZXcgb2xTdHlsZS5UZXh0KCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBiYXNlU3R5bGUgPSBzdHlsZUJ5QXR0cmlidXRlLmJhc2VTdHlsZTtcclxuXHJcbiAgICBpZiAobGFiZWxTdHlsZSkge1xyXG4gICAgICBpZiAocmVzb2x1dGlvbiA+PSBsYWJlbE1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb24pIHtcclxuICAgICAgICBsYWJlbFN0eWxlLnNldFRleHQodGhpcy5nZXRMYWJlbChmZWF0dXJlLCBsYWJlbCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxhYmVsU3R5bGUuc2V0VGV4dCgnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ2NpcmNsZScpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcclxuICAgICAgICBjb25zdCB2YWwgPVxyXG4gICAgICAgICAgdHlwZW9mIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09ICd1bmRlZmluZWQnICYmIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcclxuICAgICAgICAgICAgPyBmZWF0dXJlLmdldChhdHRyaWJ1dGUpXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgaWYgKHZhbCA9PT0gZGF0YVtpXSB8fCB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSkpIHtcclxuICAgICAgICAgIGlmIChpY29uKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5JY29uKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICBzcmM6IGljb25baV0sXHJcbiAgICAgICAgICAgICAgICAgIHNjYWxlOiBzY2FsZSA/IHNjYWxlW2ldIDogMSxcclxuICAgICAgICAgICAgICAgICAgYW5jaG9yOiBhbmNob3IgPyBhbmNob3JbaV0gOiBbMC41LCAwLjVdXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICAgIHJhZGl1czogcmFkaXVzID8gcmFkaXVzW2ldIDogNCxcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHN0cm9rZSA/IHN0cm9rZVtpXSA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoW2ldIDogMVxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICB0ZXh0OiBsYWJlbFN0eWxlIGluc3RhbmNlb2Ygb2xTdHlsZS5UZXh0ID8gbGFiZWxTdHlsZSA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCEoZmVhdHVyZSBhcyBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pLmdldFN0eWxlKCkpIHtcclxuICAgICAgICBpZiAoYmFzZVN0eWxlKSB7XHJcbiAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoYmFzZVN0eWxlLCBmZWF0dXJlLCByZXNvbHV0aW9uKTtcclxuICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgICAgICAgIHN0eWxlLnNldFRleHQobGFiZWxTdHlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICByYWRpdXM6IDQsXHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2JiYmJmMidcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBdO1xyXG4gICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAncmVndWxhcicpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcclxuICAgICAgICBjb25zdCB2YWwgPVxyXG4gICAgICAgIHR5cGVvZiBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSAndW5kZWZpbmVkJyAmJiBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSBudWxsXHJcbiAgICAgICAgICAgID8gZmVhdHVyZS5nZXQoYXR0cmlidXRlKVxyXG4gICAgICAgICAgICA6ICcnO1xyXG4gICAgICAgIGlmICh2YWwgPT09IGRhdGFbaV0gfHwgdmFsLnRvU3RyaW5nKCkubWF0Y2gobmV3IFJlZ0V4cChkYXRhW2ldLCAnZ21pJykpKSB7XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBzdHJva2UgPyBzdHJva2VbaV0gOiAnYmxhY2snLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZmVhdHVyZSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICAgIGlmICghZmVhdHVyZS5nZXRTdHlsZSgpKSB7XHJcbiAgICAgICAgICBpZiAoYmFzZVN0eWxlKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxTdHlsZSkge1xyXG4gICAgICAgICAgICAgIHN0eWxlLnNldFRleHQobGFiZWxTdHlsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ2x1c3RlclN0eWxlKGZlYXR1cmU6IFJlbmRlckZlYXR1cmUgfCBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sIHJlc29sdXRpb246IG51bWJlciwgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSB7fSwgbGF5ZXJTdHlsZSkge1xyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpLmxlbmd0aDtcclxuICAgIGlmIChzaXplICE9PSAxKSB7XHJcbiAgICAgIGlmIChjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgciBvZiBjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoIXIubWluUmFkaXVzIHx8IHIubWluUmFkaXVzIDw9IHNpemUpICYmXHJcbiAgICAgICAgICAgICghci5tYXhSYWRpdXMgfHwgci5tYXhSYWRpdXMgPj0gc2l6ZSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoci5zdHlsZSkgYXMgb2xTdHlsZS5DaXJjbGU7XHJcblxyXG4gICAgICAgICAgICBpZiAoci5zaG93UmFuZ2UpIHtcclxuICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbmV3IG9sU3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBzaXplLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoci5keW5hbWljUmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgbGV0IGNsdXN0ZXJSYWRpdXM6IG51bWJlcjtcclxuICAgICAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSBzdHlsZS5nZXRSYWRpdXMoKTtcclxuICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xyXG4gICAgICAgICAgICAgIGlmIChjbHVzdGVyUmFkaXVzIDwgcmFkaXVzTWluKSB7XHJcbiAgICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gcmFkaXVzTWluO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBzdHlsZS5pbWFnZV8uc2V0UmFkaXVzKGNsdXN0ZXJSYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFzdHlsZSkge1xyXG4gICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XHJcbiAgICAgICAgaWYgKGNsdXN0ZXJQYXJhbS5yYWRpdXNDYWxjKSB7XHJcbiAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gY2x1c3RlclBhcmFtLnJhZGl1c0NhbGMoc2l6ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHJhZGl1c01pbiA9IDY7XHJcbiAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xyXG4gICAgICAgICAgaWYgKGNsdXN0ZXJSYWRpdXMgPCByYWRpdXNNaW4pIHtcclxuICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IHJhZGl1c01pbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNCwgMTM0LCA0NSwgMC41KSdcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGV4dDogbmV3IG9sU3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShsYXllclN0eWxlLCBmZWF0dXJlLCByZXNvbHV0aW9uKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsKGZlYXR1cmUsIGxhYmVsTWF0Y2gpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxhYmVsID0gbGFiZWxNYXRjaDtcclxuICAgIGlmICghbGFiZWwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFiZWxUb0dldCA9IEFycmF5LmZyb20obGFiZWxNYXRjaC5tYXRjaEFsbCgvXFwkXFx7KFteXFx7XFx9XSspXFx9L2cpKTtcclxuXHJcbiAgICBsYWJlbFRvR2V0LmZvckVhY2godiA9PiB7XHJcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLmdldCh2WzFdKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBOb3RoaW5nIGRvbmU/IGNoZWNrIGZlYXR1cmUncyBhdHRyaWJ1dGVcclxuICAgIGlmIChsYWJlbFRvR2V0Lmxlbmd0aCA9PT0gMCAmJiBsYWJlbCA9PT0gbGFiZWxNYXRjaCkge1xyXG4gICAgICBsYWJlbCA9IGZlYXR1cmUuZ2V0KGxhYmVsTWF0Y2gpIHx8IGxhYmVsTWF0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpIHtcclxuICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xyXG4gICAgICBjYXNlICdQb2ludCc6XHJcbiAgICAgIGNhc2UgJ011bHRpUG9pbnQnOlxyXG4gICAgICBjYXNlICdDaXJjbGUnOlxyXG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3JlZ3VsYXInO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatSelectModule } from '@angular/material/select';
9
+ import { MatTooltipModule } from '@angular/material/tooltip';
10
+ import { IgoLanguageModule } from '@igo2/core';
11
+ import { ColorPickerModule } from 'ngx-color-picker';
12
+ import { IgoStyleListModule } from './style-list/style-list.module';
13
+ import { StyleModalDrawingComponent } from './style-modal/drawing/style-modal-drawing.component';
14
+ import { StyleModalLayerComponent } from './style-modal/layer/style-modal-layer.component';
15
+ import { StyleModalLayerButtonComponent } from './style-modal/layer-button/style-modal-layer-button.component';
16
+ import { DrawStyleService } from './style-service/draw-style.service';
17
+ import { StyleService } from './style-service/style.service';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "./style-list/style-list.module";
20
+ export class IgoStyleModule {
21
+ static forRoot() {
22
+ return {
23
+ ngModule: IgoStyleModule,
24
+ providers: [StyleService, DrawStyleService]
25
+ };
26
+ }
27
+ }
28
+ IgoStyleModule.ɵfac = function IgoStyleModule_Factory(t) { return new (t || IgoStyleModule)(); };
29
+ IgoStyleModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoStyleModule });
30
+ IgoStyleModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [ColorPickerModule,
31
+ CommonModule,
32
+ FormsModule,
33
+ IgoLanguageModule,
34
+ MatFormFieldModule,
35
+ MatIconModule,
36
+ MatButtonModule,
37
+ MatInputModule,
38
+ MatSelectModule,
39
+ MatTooltipModule,
40
+ ReactiveFormsModule,
41
+ IgoStyleListModule.forRoot(), IgoStyleListModule] });
42
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStyleModule, [{
43
+ type: NgModule,
44
+ args: [{
45
+ imports: [
46
+ ColorPickerModule,
47
+ CommonModule,
48
+ FormsModule,
49
+ IgoLanguageModule,
50
+ MatFormFieldModule,
51
+ MatIconModule,
52
+ MatButtonModule,
53
+ MatInputModule,
54
+ MatSelectModule,
55
+ MatTooltipModule,
56
+ ReactiveFormsModule,
57
+ IgoStyleListModule.forRoot()
58
+ ],
59
+ exports: [IgoStyleListModule, StyleModalDrawingComponent, StyleModalLayerComponent, StyleModalLayerButtonComponent],
60
+ declarations: [StyleModalDrawingComponent, StyleModalLayerComponent, StyleModalLayerButtonComponent]
61
+ }]
62
+ }], null, null); })();
63
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStyleModule, { declarations: [StyleModalDrawingComponent, StyleModalLayerComponent, StyleModalLayerButtonComponent], imports: [ColorPickerModule,
64
+ CommonModule,
65
+ FormsModule,
66
+ IgoLanguageModule,
67
+ MatFormFieldModule,
68
+ MatIconModule,
69
+ MatButtonModule,
70
+ MatInputModule,
71
+ MatSelectModule,
72
+ MatTooltipModule,
73
+ ReactiveFormsModule, i1.IgoStyleListModule], exports: [IgoStyleListModule, StyleModalDrawingComponent, StyleModalLayerComponent, StyleModalLayerButtonComponent] }); })();
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQW9CN0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOzs0RUFOVSxjQUFjO2dFQUFkLGNBQWM7b0VBaEJ2QixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixlQUFlO1FBQ2YsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUVwQixrQkFBa0I7dUZBR2pCLGNBQWM7Y0FsQjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsaUJBQWlCO29CQUNqQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLENBQUM7Z0JBQ25ILFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDO2FBQ3JHOzt3RkFDWSxjQUFjLG1CQUZWLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixhQWRqRyxpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixlQUFlO1FBQ2YsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsbUJBQW1CLG9DQUdYLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1jb2xvci1waWNrZXInO1xyXG5pbXBvcnQgeyBJZ29TdHlsZUxpc3RNb2R1bGUgfSBmcm9tICcuL3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvbGF5ZXIvc3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS1tb2RhbC9sYXllci1idXR0b24vc3R5bGUtbW9kYWwtbGF5ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYXdTdHlsZVNlcnZpY2UgfSBmcm9tICcuL3N0eWxlLXNlcnZpY2UvZHJhdy1zdHlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIElnb1N0eWxlTGlzdE1vZHVsZS5mb3JSb290KClcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtJZ29TdHlsZUxpc3RNb2R1bGUsIFN0eWxlTW9kYWxEcmF3aW5nQ29tcG9uZW50LCBTdHlsZU1vZGFsTGF5ZXJDb21wb25lbnQsIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQsIFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCwgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU3R5bGVNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU3R5bGVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29TdHlsZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbU3R5bGVTZXJ2aWNlLCBEcmF3U3R5bGVTZXJ2aWNlXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -97,10 +97,10 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
97
97
  i0.ɵɵproperty("ngIf", ctx.feature.geometry);
98
98
  i0.ɵɵadvance(1);
99
99
  i0.ɵɵproperty("feature", ctx.feature);
100
- } }, dependencies: [i1.NgIf, i2.MatIcon, i3.MatButton, i4.PanelComponent, i4.FlexibleComponent, i5.FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
100
+ } }, dependencies: [i1.NgIf, i2.MatIcon, i3.MatButton, i4.PanelComponent, i4.FlexibleComponent, i5.FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
101
101
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
102
102
  type: Component,
103
- args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\n collapsedMobile=\"51px\"\n expandedMobile=\"300px\"\n [state]=\"state\"\n (swipeup)=\"swipe($event.type)\"\n (swipedown)=\"swipe($event.type)\">\n\n <igo-panel [title]=\"title\">\n <button\n mat-icon-button\n panelLeftButton\n (click)=\"toggle()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\n </button>\n\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </igo-panel>\n\n</igo-flexible>\n", styles: [":host{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
103
+ args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\r\n collapsedMobile=\"51px\"\r\n expandedMobile=\"300px\"\r\n [state]=\"state\"\r\n (swipeup)=\"swipe($event.type)\"\r\n (swipedown)=\"swipe($event.type)\">\r\n\r\n <igo-panel [title]=\"title\">\r\n <button\r\n mat-icon-button\r\n panelLeftButton\r\n (click)=\"toggle()\">\r\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\r\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </igo-panel>\r\n\r\n</igo-flexible>\r\n", styles: [":host{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
104
104
  }], function () { return []; }, { expanded: [{
105
105
  type: Input
106
106
  }], map: [{
@@ -110,4 +110,4 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
110
110
  }], opened: [{
111
111
  type: Output
112
112
  }] }); })();
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztJQ1MvRCxpQ0FBMEg7SUFBekQsOEpBQVMsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDO0lBQzlGLDhCQUF1QztJQUN6QyxpQkFBUzs7O0FESGIsTUFBTSxPQUFPLGNBQWM7SUE0Q3pCO1FBdkNRLFdBQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBOEI3QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQVNoQyxDQUFDO0lBckNoQixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBT0Q7O09BRUc7SUFDSCxJQUFJLEtBQUssS0FBYSxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSTVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTthQUN2QyxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFjO1FBQ2xCLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtTQUNGO2FBQU0sSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtTQUNGO0lBQ0gsQ0FBQzs7QUF0RU0sMkJBQVksR0FBRztJQUNwQixFQUFFLEVBQUUsU0FBUztJQUNiLElBQUksRUFBRSxXQUFXO0NBQ2xCLENBQUM7NEVBSlMsY0FBYztpRUFBZCxjQUFjO1FDZDNCLDBDQUttQztRQURqQywyR0FBVyxzQkFBa0IsSUFBQyxrR0FDakIsc0JBQWtCLElBREQ7UUFHOUIsb0NBQTJCLGdCQUFBO1FBSXZCLDJGQUFTLFlBQVEsSUFBQztRQUNsQiw4QkFBdUg7UUFDekgsaUJBQVM7UUFFVCxxRUFFUztRQUVULHlDQUErRDtRQUNqRSxpQkFBWSxFQUFBOzs7UUFqQlosaUNBQWU7UUFJSixlQUFlO1FBQWYsaUNBQWU7UUFLWixlQUFpRztRQUFqRyxnSEFBaUc7UUFHWCxlQUFzQjtRQUF0QiwyQ0FBc0I7UUFJbkcsZUFBbUI7UUFBbkIscUNBQW1COzt1RkRML0IsY0FBYztjQUwxQixTQUFTOzJCQUNFLFdBQVc7c0NBWWpCLFFBQVE7a0JBRFgsS0FBSztZQVdGLEdBQUc7a0JBRE4sS0FBSztZQVVGLE9BQU87a0JBRFYsS0FBSztZQVNJLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZsZXhpYmxlU3RhdGUsIGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBtb3ZlVG9PbEZlYXR1cmVzIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS51dGlscyc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi9tYXAvc2hhcmVkL21hcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby10b2FzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RDb21wb25lbnQge1xuICBzdGF0aWMgU1dJUEVfQUNUSU9OID0ge1xuICAgIFVQOiAnc3dpcGV1cCcsXG4gICAgRE9XTjogJ3N3aXBlZG93bidcbiAgfTtcbiAgcHJpdmF0ZSBmb3JtYXQgPSBuZXcgb2xGb3JtYXRHZW9KU09OKCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgfVxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0YXRlID0gdmFsdWUgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCc7XG4gICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuX21hcDtcbiAgfVxuICBzZXQgbWFwKHZhbHVlOiBJZ29NYXApIHtcbiAgICB0aGlzLl9tYXAgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9tYXA6IElnb01hcDtcblxuICBASW5wdXQoKVxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xuICAgIHRoaXMuX2ZlYXR1cmUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlO1xuXG4gIEBPdXRwdXQoKSBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHN0YXRlOiBGbGV4aWJsZVN0YXRlO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcgeyByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTsgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gIH1cblxuICB6b29tVG9GZWF0dXJlRXh0ZW50KCkge1xuICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMuZmVhdHVyZSwge1xuICAgICAgICBkYXRhUHJvamVjdGlvbjogdGhpcy5mZWF0dXJlLnByb2plY3Rpb24sXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICB9KTtcbiAgICAgIG1vdmVUb09sRmVhdHVyZXModGhpcy5tYXAsIFtvbEZlYXR1cmVdLCBGZWF0dXJlTW90aW9uLlpvb20pO1xuICAgIH1cbiAgfVxuXG4gIHN3aXBlKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gVG9hc3RDb21wb25lbnQuU1dJUEVfQUNUSU9OLlVQKSB7XG4gICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gVG9hc3RDb21wb25lbnQuU1dJUEVfQUNUSU9OLkRPV04pIHtcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8aWdvLWZsZXhpYmxlICNmbGV4XG4gIGNvbGxhcHNlZE1vYmlsZT1cIjUxcHhcIlxuICBleHBhbmRlZE1vYmlsZT1cIjMwMHB4XCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgKHN3aXBldXApPVwic3dpcGUoJGV2ZW50LnR5cGUpXCJcbiAgKHN3aXBlZG93bik9XCJzd2lwZSgkZXZlbnQudHlwZSlcIj5cblxuICA8aWdvLXBhbmVsIFt0aXRsZV09XCJ0aXRsZVwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgcGFuZWxMZWZ0QnV0dG9uXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJbJ2NvbGxhcHNlZCcsICdpbml0aWFsJ10uaW5kZXhPZihmbGV4LnN0YXRlKSA+PSAwID8gJ2Fycm93X3Vwd2FyZCcgOiAnYXJyb3dfZG93bndhcmQnXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHBhbmVsUmlnaHRCdXR0b24gY2xhc3M9XCJpZ28taWNvbi1idXR0b25cIiAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCIgKm5nSWY9XCJmZWF0dXJlLmdlb21ldHJ5XCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInpvb20taW5cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlnby1mZWF0dXJlLWRldGFpbHMgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiPjwvaWdvLWZlYXR1cmUtZGV0YWlscz5cbiAgPC9pZ28tcGFuZWw+XG5cbjwvaWdvLWZsZXhpYmxlPlxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztJQ1MvRCxpQ0FBMEg7SUFBekQsOEpBQVMsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDO0lBQzlGLDhCQUF1QztJQUN6QyxpQkFBUzs7O0FESGIsTUFBTSxPQUFPLGNBQWM7SUE0Q3pCO1FBdkNRLFdBQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBOEI3QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQVNoQyxDQUFDO0lBckNoQixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBT0Q7O09BRUc7SUFDSCxJQUFJLEtBQUssS0FBYSxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSTVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTthQUN2QyxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFjO1FBQ2xCLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtTQUNGO2FBQU0sSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtTQUNGO0lBQ0gsQ0FBQzs7QUF0RU0sMkJBQVksR0FBRztJQUNwQixFQUFFLEVBQUUsU0FBUztJQUNiLElBQUksRUFBRSxXQUFXO0NBQ2xCLENBQUM7NEVBSlMsY0FBYztpRUFBZCxjQUFjO1FDZDNCLDBDQUttQztRQURqQywyR0FBVyxzQkFBa0IsSUFBQyxrR0FDakIsc0JBQWtCLElBREQ7UUFHOUIsb0NBQTJCLGdCQUFBO1FBSXZCLDJGQUFTLFlBQVEsSUFBQztRQUNsQiw4QkFBdUg7UUFDekgsaUJBQVM7UUFFVCxxRUFFUztRQUVULHlDQUErRDtRQUNqRSxpQkFBWSxFQUFBOzs7UUFqQlosaUNBQWU7UUFJSixlQUFlO1FBQWYsaUNBQWU7UUFLWixlQUFpRztRQUFqRyxnSEFBaUc7UUFHWCxlQUFzQjtRQUF0QiwyQ0FBc0I7UUFJbkcsZUFBbUI7UUFBbkIscUNBQW1COzt1RkRML0IsY0FBYztjQUwxQixTQUFTOzJCQUNFLFdBQVc7c0NBWWpCLFFBQVE7a0JBRFgsS0FBSztZQVdGLEdBQUc7a0JBRE4sS0FBSztZQVVGLE9BQU87a0JBRFYsS0FBSztZQVNJLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGbGV4aWJsZVN0YXRlLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBtb3ZlVG9PbEZlYXR1cmVzIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS51dGlscyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uL21hcC9zaGFyZWQvbWFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXRvYXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IHtcclxuICBzdGF0aWMgU1dJUEVfQUNUSU9OID0ge1xyXG4gICAgVVA6ICdzd2lwZXVwJyxcclxuICAgIERPV046ICdzd2lwZWRvd24nXHJcbiAgfTtcclxuICBwcml2YXRlIGZvcm1hdCA9IG5ldyBvbEZvcm1hdEdlb0pTT04oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XHJcbiAgfVxyXG4gIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zdGF0ZSA9IHZhbHVlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xyXG4gICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX21hcDtcclxuICB9XHJcbiAgc2V0IG1hcCh2YWx1ZTogSWdvTWFwKSB7XHJcbiAgICB0aGlzLl9tYXAgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbWFwOiBJZ29NYXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcclxuICB9XHJcbiAgc2V0IGZlYXR1cmUodmFsdWU6IEZlYXR1cmUpIHtcclxuICAgIHRoaXMuX2ZlYXR1cmUgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcclxuXHJcbiAgQE91dHB1dCgpIG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHVibGljIHN0YXRlOiBGbGV4aWJsZVN0YXRlO1xyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHsgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7IH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICB0b2dnbGUoKSB7XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLm9wZW5lZC5lbWl0KHRoaXMuZXhwYW5kZWQpO1xyXG4gIH1cclxuXHJcbiAgem9vbVRvRmVhdHVyZUV4dGVudCgpIHtcclxuICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcclxuICAgICAgY29uc3Qgb2xGZWF0dXJlID0gdGhpcy5mb3JtYXQucmVhZEZlYXR1cmUodGhpcy5mZWF0dXJlLCB7XHJcbiAgICAgICAgZGF0YVByb2plY3Rpb246IHRoaXMuZmVhdHVyZS5wcm9qZWN0aW9uLFxyXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgICBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLCBbb2xGZWF0dXJlXSwgRmVhdHVyZU1vdGlvbi5ab29tKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN3aXBlKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSBUb2FzdENvbXBvbmVudC5TV0lQRV9BQ1RJT04uVVApIHtcclxuICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09IFRvYXN0Q29tcG9uZW50LlNXSVBFX0FDVElPTi5ET1dOKSB7XHJcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aWdvLWZsZXhpYmxlICNmbGV4XHJcbiAgY29sbGFwc2VkTW9iaWxlPVwiNTFweFwiXHJcbiAgZXhwYW5kZWRNb2JpbGU9XCIzMDBweFwiXHJcbiAgW3N0YXRlXT1cInN0YXRlXCJcclxuICAoc3dpcGV1cCk9XCJzd2lwZSgkZXZlbnQudHlwZSlcIlxyXG4gIChzd2lwZWRvd24pPVwic3dpcGUoJGV2ZW50LnR5cGUpXCI+XHJcblxyXG4gIDxpZ28tcGFuZWwgW3RpdGxlXT1cInRpdGxlXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBwYW5lbExlZnRCdXR0b25cclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJbJ2NvbGxhcHNlZCcsICdpbml0aWFsJ10uaW5kZXhPZihmbGV4LnN0YXRlKSA+PSAwID8gJ2Fycm93X3Vwd2FyZCcgOiAnYXJyb3dfZG93bndhcmQnXCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHBhbmVsUmlnaHRCdXR0b24gY2xhc3M9XCJpZ28taWNvbi1idXR0b25cIiAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCIgKm5nSWY9XCJmZWF0dXJlLmdlb21ldHJ5XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiem9vbS1pblwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8aWdvLWZlYXR1cmUtZGV0YWlscyBbZmVhdHVyZV09XCJmZWF0dXJlXCI+PC9pZ28tZmVhdHVyZS1kZXRhaWxzPlxyXG4gIDwvaWdvLXBhbmVsPlxyXG5cclxuPC9pZ28tZmxleGlibGU+XHJcbiJdfQ==
@@ -42,4 +42,4 @@ IgoToastModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonMod
42
42
  IgoPanelModule,
43
43
  IgoFlexibleModule,
44
44
  IgoFeatureModule], exports: [ToastComponent] }); })();
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzs7NEVBTFUsY0FBYztnRUFBZCxjQUFjO29FQVZ2QixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQjt1RkFLUCxjQUFjO2NBWjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDL0I7O3dGQUNZLGNBQWMsbUJBRlYsY0FBYyxhQVIzQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQixhQUVSLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IElnb1BhbmVsTW9kdWxlLCBJZ29GbGV4aWJsZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb0ZlYXR1cmVNb2R1bGUgfSBmcm9tICcuLi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlJztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb1BhbmVsTW9kdWxlLFxuICAgIElnb0ZsZXhpYmxlTW9kdWxlLFxuICAgIElnb0ZlYXR1cmVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1RvYXN0Q29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbVG9hc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb1RvYXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Ub2FzdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvVG9hc3RNb2R1bGVcbiAgICB9O1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzs7NEVBTFUsY0FBYztnRUFBZCxjQUFjO29FQVZ2QixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQjt1RkFLUCxjQUFjO2NBWjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDL0I7O3dGQUNZLGNBQWMsbUJBRlYsY0FBYyxhQVIzQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQixhQUVSLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG5pbXBvcnQgeyBJZ29QYW5lbE1vZHVsZSwgSWdvRmxleGlibGVNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvRmVhdHVyZU1vZHVsZSB9IGZyb20gJy4uL2ZlYXR1cmUvZmVhdHVyZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIElnb1BhbmVsTW9kdWxlLFxyXG4gICAgSWdvRmxleGlibGVNb2R1bGUsXHJcbiAgICBJZ29GZWF0dXJlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVG9hc3RDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1RvYXN0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvVG9hc3RNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvVG9hc3RNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29Ub2FzdE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -107,4 +107,4 @@ export function standardizeUrl(url) {
107
107
  }
108
108
  return urlStandardized;
109
109
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVFuQzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE9BQTBCO0lBQ3BFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxHQUFHLEVBQUUsOEJBQThCO1FBQ25DLE9BQU8sRUFBRSxrQ0FBa0M7UUFDM0MsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxVQUFVLEVBQUUscUNBQXFDO1FBQ2pELGVBQWUsRUFBRSxxQ0FBcUM7UUFDdEQsY0FBYyxFQUFFLHFDQUFxQztRQUNyRCxHQUFHLEVBQUUsQ0FBQyxRQUE4QixFQUFFLEVBQUUsQ0FBQyxLQUFLO1FBQzlDLFNBQVMsRUFBRSxDQUFDLFFBQThCLEVBQUUsRUFBRSxDQUFDLFdBQVc7S0FDM0QsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDO0lBQ3pELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE9BQTZCO0lBQzFFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxNQUFNLENB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QUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3RGLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUN2QixlQUFlLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakQ7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9hcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XG5cbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEFueURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYW55LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV01TRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV01UU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2UnO1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBpdCdzIGRhdGFzb3VyY2Ugb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25zIERhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBEYXRhU291cmNlT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IGdlbmVyYXRvcnMgPSB7XG4gICAgd21zOiBnZW5lcmF0ZVdNU0lkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgd210czogZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICB4eXo6IGdlbmVyYXRlWFlaSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICBmZWF0dXJlOiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHdmczogZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIGFyY2dpc3Jlc3Q6IGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgaW1hZ2VhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHRpbGVhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIG9zbTogKF9vcHRpb25zOiBBbnlEYXRhU291cmNlT3B0aW9ucykgPT4gJ09TTScsXG4gICAgdGlsZWRlYnVnOiAoX29wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zKSA9PiAndGlsZWRlYnVnJ1xuICB9O1xuICBjb25zdCBnZW5lcmF0b3IgPSBnZW5lcmF0b3JzW29wdGlvbnMudHlwZV0gfHwgZ2VuZXJhdGVJZDtcbiAgcmV0dXJuIGdlbmVyYXRvcihvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gV01TIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEBwYXJhbSBvcHRpb25zIFdNUyBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlV01TSWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucykge1xuICBjb25zdCBsYXllcnMgPSBvcHRpb25zLnBhcmFtcy5MQVlFUlM7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnd21zJyArIHVybCArIGxheWVycztcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIFdNVFMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgV01UUyBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgY29uc3QgbGF5ZXIgPSBvcHRpb25zLmxheWVyO1xuICBjb25zdCB1cmwgPSBzdGFuZGFyZGl6ZVVybChvcHRpb25zLnVybCk7XG4gIGNvbnN0IGNoYWluID0gJ3dtdHMnICsgdXJsICsgbGF5ZXI7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBYWVogZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVhZWklkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAneHl6JyArIHVybDtcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIGZlYXR1cmUgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdNVFNEYXRhU291cmNlT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMudXJsKSB7IHJldHVybiBnZW5lcmF0ZUlkKG9wdGlvbnMpOyB9XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnZmVhdHVyZScgKyB1cmw7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBmZWF0dXJlIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEBwYXJhbSBvcHRpb25zIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucy51cmwgfHwgIW9wdGlvbnMucGFyYW1zKSB7IHJldHVybiBnZW5lcmF0ZUlkKG9wdGlvbnMpOyB9XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnd2ZzJyArIHVybCArIG9wdGlvbnMucGFyYW1zLmZlYXR1cmVUeXBlcztcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBBcmNHSVMgUmVzdCBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcGFyYW0gb3B0aW9ucyBBcmNHSVMgUmVzdCBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB1cmwgYW5kIGxheWVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBcmNnaXNSZXN0SWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgY29uc3QgbGF5ZXJzID0gb3B0aW9ucy5sYXllcjtcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xuICBjb25zdCBjaGFpbiA9IChvcHRpb25zLnR5cGUgfHwgJ2FyY2dpcycpICsgdXJsICsgbGF5ZXJzO1xuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHVuaXF1ZSBpZFxuICogQHJldHVybnMgQSB1dWlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUlkKF9vcHRpb25zOiBBbnlEYXRhU291cmNlT3B0aW9ucykge1xuICByZXR1cm4gdXVpZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhYnNVcmwgPSB1cmwuY2hhckF0KDApID09PSAnLycgPyB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgdXJsIDogdXJsO1xuICBjb25zdCB1cmxEZWNvbXBvc2VkID0gYWJzVXJsLnNwbGl0KC9bPyZdLyk7XG4gIGxldCB1cmxTdGFuZGFyZGl6ZWQgPSB1cmxEZWNvbXBvc2VkLnNoaWZ0KCk7XG4gIGNvbnN0IHBhcmFtc1RvS2VlcCA9IHVybERlY29tcG9zZWQuZmlsdGVyKHAgPT4gcC5sZW5ndGggIT09IDAgJiYgcC5jaGFyQXQoMCkgIT09ICdfJyk7XG4gIGlmIChwYXJhbXNUb0tlZXAubGVuZ3RoKSB7XG4gICAgdXJsU3RhbmRhcmRpemVkICs9ICc/JyArIHBhcmFtc1RvS2VlcC5qb2luKCcmJyk7XG4gIH1cbiAgcmV0dXJuIHVybFN0YW5kYXJkaXplZDtcbn1cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVFuQzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE9BQTBCO0lBQ3BFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxHQUFHLEVBQUUsOEJBQThCO1FBQ25DLE9BQU8sRUFBRSxrQ0FBa0M7UUFDM0MsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxVQUFVLEVBQUUscUNBQXFDO1FBQ2pELGVBQWUsRUFBRSxxQ0FBcUM7UUFDdEQsY0FBYyxFQUFFLHFDQUFxQztRQUNyRCxHQUFHLEVBQUUsQ0FBQyxRQUE4QixFQUFFLEVBQUUsQ0FBQyxLQUFLO1FBQzlDLFNBQVMsRUFBRSxDQUFDLFFBQThCLEVBQUUsRUFBRSxDQUFDLFdBQVc7S0FDM0QsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDO0lBQ3pELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE9BQTZCO0lBQzFFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxNQUFNLENB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QUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3RGLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUN2QixlQUFlLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakQ7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9hcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuXHJcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBBbnlEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2FueS1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtdHMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2UnO1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBpdCdzIGRhdGFzb3VyY2Ugb3B0aW9ucy5cclxuICogQHBhcmFtIG9wdGlvbnMgRGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBBIGlkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IERhdGFTb3VyY2VPcHRpb25zKTogc3RyaW5nIHtcclxuICBjb25zdCBnZW5lcmF0b3JzID0ge1xyXG4gICAgd21zOiBnZW5lcmF0ZVdNU0lkRnJvbVNvdXJjZU9wdGlvbnMsXHJcbiAgICB3bXRzOiBnZW5lcmF0ZVdNVFNJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgeHl6OiBnZW5lcmF0ZVhZWklkRnJvbVNvdXJjZU9wdGlvbnMsXHJcbiAgICBmZWF0dXJlOiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgd2ZzOiBnZW5lcmF0ZVdmc0lkRnJvbVNvdXJjZU9wdGlvbnMsXHJcbiAgICBhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgaW1hZ2VhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgdGlsZWFyY2dpc3Jlc3Q6IGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMsXHJcbiAgICBvc206IChfb3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnMpID0+ICdPU00nLFxyXG4gICAgdGlsZWRlYnVnOiAoX29wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zKSA9PiAndGlsZWRlYnVnJ1xyXG4gIH07XHJcbiAgY29uc3QgZ2VuZXJhdG9yID0gZ2VuZXJhdG9yc1tvcHRpb25zLnR5cGVdIHx8IGdlbmVyYXRlSWQ7XHJcbiAgcmV0dXJuIGdlbmVyYXRvcihvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBXTVMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyBXTVMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllcnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdNU0lkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMpIHtcclxuICBjb25zdCBsYXllcnMgPSBvcHRpb25zLnBhcmFtcy5MQVlFUlM7XHJcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xyXG4gIGNvbnN0IGNoYWluID0gJ3dtcycgKyB1cmwgKyBsYXllcnM7XHJcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gV01UUyBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEBwYXJhbSBvcHRpb25zIFdNVFMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlV01UU0lkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgY29uc3QgbGF5ZXIgPSBvcHRpb25zLmxheWVyO1xyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICd3bXRzJyArIHVybCArIGxheWVyO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogR2VuZXJhdGUgYSBpZCBmcm9tIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEBwYXJhbSBvcHRpb25zIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVYWVpJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdNVFNEYXRhU291cmNlT3B0aW9ucykge1xyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICd4eXonICsgdXJsO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogR2VuZXJhdGUgYSBpZCBmcm9tIGZlYXR1cmUgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyBYWVogZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmVhdHVyZUlkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgaWYgKCFvcHRpb25zLnVybCkgeyByZXR1cm4gZ2VuZXJhdGVJZChvcHRpb25zKTsgfVxyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICdmZWF0dXJlJyArIHVybDtcclxuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBmZWF0dXJlIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdmc0lkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMpIHtcclxuICBpZiAoIW9wdGlvbnMudXJsIHx8ICFvcHRpb25zLnBhcmFtcykgeyByZXR1cm4gZ2VuZXJhdGVJZChvcHRpb25zKTsgfVxyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICd3ZnMnICsgdXJsICsgb3B0aW9ucy5wYXJhbXMuZmVhdHVyZVR5cGVzO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyBBcmNHSVMgUmVzdCBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHVybCBhbmQgbGF5ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBcmNnaXNSZXN0SWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMpIHtcclxuICBjb25zdCBsYXllcnMgPSBvcHRpb25zLmxheWVyO1xyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9IChvcHRpb25zLnR5cGUgfHwgJ2FyY2dpcycpICsgdXJsICsgbGF5ZXJzO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogR2VuZXJhdGUgYSB1bmlxdWUgaWRcclxuICogQHJldHVybnMgQSB1dWlkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJZChfb3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnMpIHtcclxuICByZXR1cm4gdXVpZCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIGNvbnN0IGFic1VybCA9IHVybC5jaGFyQXQoMCkgPT09ICcvJyA/IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB1cmwgOiB1cmw7XHJcbiAgY29uc3QgdXJsRGVjb21wb3NlZCA9IGFic1VybC5zcGxpdCgvWz8mXS8pO1xyXG4gIGxldCB1cmxTdGFuZGFyZGl6ZWQgPSB1cmxEZWNvbXBvc2VkLnNoaWZ0KCk7XHJcbiAgY29uc3QgcGFyYW1zVG9LZWVwID0gdXJsRGVjb21wb3NlZC5maWx0ZXIocCA9PiBwLmxlbmd0aCAhPT0gMCAmJiBwLmNoYXJBdCgwKSAhPT0gJ18nKTtcclxuICBpZiAocGFyYW1zVG9LZWVwLmxlbmd0aCkge1xyXG4gICAgdXJsU3RhbmRhcmRpemVkICs9ICc/JyArIHBhcmFtc1RvS2VlcC5qb2luKCcmJyk7XHJcbiAgfVxyXG4gIHJldHVybiB1cmxTdGFuZGFyZGl6ZWQ7XHJcbn1cclxuIl19