@igo2/geo 1.13.0 → 1.13.2

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 (466) 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 +2 -2
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +2 -2
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
  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 +2 -2
  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/index.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  19. package/esm2020/lib/catalog/shared/catalog.service.mjs +1 -1
  20. package/esm2020/lib/catalog/shared/index.mjs +1 -1
  21. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  22. package/esm2020/lib/datasource/index.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/capabilities.service.mjs +22 -17
  24. package/esm2020/lib/datasource/shared/datasource.service.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/index.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  61. package/esm2020/lib/datasource/shared/index.mjs +1 -1
  62. package/esm2020/lib/datasource/shared/options/index.mjs +1 -1
  63. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  64. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  65. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  66. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  67. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +1 -1
  68. package/esm2020/lib/datasource/utils/index.mjs +1 -1
  69. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  70. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
  71. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  73. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  74. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  75. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  76. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  77. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  78. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  79. package/esm2020/lib/directions/directions-sources/index.mjs +1 -1
  80. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  81. package/esm2020/lib/directions/directions.component.mjs +2 -2
  82. package/esm2020/lib/directions/directions.module.mjs +1 -1
  83. package/esm2020/lib/directions/index.mjs +1 -1
  84. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  85. package/esm2020/lib/directions/shared/directions.enum.mjs +1 -1
  86. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  87. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  88. package/esm2020/lib/directions/shared/directions.utils.mjs +1 -1
  89. package/esm2020/lib/directions/shared/index.mjs +1 -1
  90. package/esm2020/lib/directions/shared/store.mjs +1 -1
  91. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  92. package/esm2020/lib/download/download-button/index.mjs +1 -1
  93. package/esm2020/lib/download/download.module.mjs +1 -1
  94. package/esm2020/lib/download/index.mjs +1 -1
  95. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  96. package/esm2020/lib/download/shared/download.service.mjs +1 -1
  97. package/esm2020/lib/download/shared/index.mjs +1 -1
  98. package/esm2020/lib/draw/draw/draw-popup.component.mjs +5 -5
  99. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  100. package/esm2020/lib/draw/draw/draw.component.mjs +384 -273
  101. package/esm2020/lib/draw/draw/draw.module.mjs +19 -15
  102. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  103. package/esm2020/lib/draw/index.mjs +1 -1
  104. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw-style.service.mjs +35 -18
  106. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -1
  107. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  108. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  109. package/esm2020/lib/draw/shared/index.mjs +1 -1
  110. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +52 -27
  111. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  112. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  113. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  114. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  115. package/esm2020/lib/feature/feature.module.mjs +1 -1
  116. package/esm2020/lib/feature/index.mjs +1 -1
  117. package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
  118. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  119. package/esm2020/lib/feature/shared/feature.utils.mjs +4 -5
  120. package/esm2020/lib/feature/shared/index.mjs +1 -1
  121. package/esm2020/lib/feature/shared/store.mjs +14 -2
  122. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  123. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  124. package/esm2020/lib/feature/shared/strategies/index.mjs +1 -1
  125. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  126. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  127. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  128. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  129. package/esm2020/lib/filter/filter.module.mjs +2 -2
  130. package/esm2020/lib/filter/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  132. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  133. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  134. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  135. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  136. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +3 -3
  137. package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  139. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  140. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  141. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  143. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +44 -39
  144. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
  145. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  146. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +23 -10
  147. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  148. package/esm2020/lib/filter/shared/index.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  150. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  151. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  152. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  153. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  154. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  155. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  157. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  158. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  159. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +2 -2
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  163. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
  164. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  165. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  166. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  167. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  168. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  169. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  170. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  171. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  172. package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
  173. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  174. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  175. package/esm2020/lib/geo.module.mjs +1 -1
  176. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  177. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  178. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  179. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  180. package/esm2020/lib/geometry/index.mjs +1 -1
  181. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  182. package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
  183. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  185. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  186. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  187. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  188. package/esm2020/lib/geometry/shared/index.mjs +1 -1
  189. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  190. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  191. package/esm2020/lib/import-export/import-export/import-export.component.mjs +98 -68
  192. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  193. package/esm2020/lib/import-export/import-export.module.mjs +6 -3
  194. package/esm2020/lib/import-export/index.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +1 -1
  196. package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
  197. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  198. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  199. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/export.utils.mjs +1 -1
  201. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  202. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  203. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  204. package/esm2020/lib/import-export/shared/import.utils.mjs +3 -2
  205. package/esm2020/lib/import-export/shared/index.mjs +1 -1
  206. package/esm2020/lib/import-export/style-list/index.mjs +1 -1
  207. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  208. package/esm2020/lib/import-export/style-list/style-list.module.mjs +1 -1
  209. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +1 -1
  210. package/esm2020/lib/import-export/style-list/style-list.service.mjs +1 -1
  211. package/esm2020/lib/layer/index.mjs +2 -1
  212. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  213. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  214. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  215. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +28 -22
  216. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  217. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  218. package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
  219. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  220. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  221. package/esm2020/lib/layer/layer-list/index.mjs +1 -1
  222. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  223. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +47 -28
  224. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  225. package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +5 -5
  227. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
  228. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  229. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  230. package/esm2020/lib/layer/layer.module.mjs +19 -7
  231. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  232. package/esm2020/lib/layer/shared/index.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layer.service.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  236. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  237. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  238. package/esm2020/lib/layer/shared/layers/image-layer.mjs +1 -1
  239. package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  241. package/esm2020/lib/layer/shared/layers/layer.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  243. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  245. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +4 -1
  246. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  247. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  248. package/esm2020/lib/layer/shared/style.service.mjs +1 -1
  249. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  250. package/esm2020/lib/layer/style-modal/index.mjs +2 -0
  251. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +288 -0
  252. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  253. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  254. package/esm2020/lib/layer/utils/image-watcher.mjs +1 -1
  255. package/esm2020/lib/layer/utils/index.mjs +1 -1
  256. package/esm2020/lib/layer/utils/layer.utils.mjs +1 -1
  257. package/esm2020/lib/layer/utils/outputLegend.mjs +1 -1
  258. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  259. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  260. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  261. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  262. package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
  263. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  264. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +21 -18
  265. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  266. package/esm2020/lib/map/index.mjs +1 -1
  267. package/esm2020/lib/map/info-section/index.mjs +1 -1
  268. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  269. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  270. package/esm2020/lib/map/map-browser/map-browser.component.mjs +2 -2
  271. package/esm2020/lib/map/map-center/index.mjs +1 -1
  272. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  273. package/esm2020/lib/map/map.module.mjs +1 -1
  274. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  275. package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
  276. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  277. package/esm2020/lib/map/offline-button/offline-button.component.mjs +2 -2
  278. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  279. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +41 -62
  280. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  281. package/esm2020/lib/map/shared/controllers/geolocation.mjs +1 -1
  282. package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
  283. package/esm2020/lib/map/shared/controllers/view.mjs +11 -2
  284. package/esm2020/lib/map/shared/hover-feature.directive.mjs +10 -13
  285. package/esm2020/lib/map/shared/index.mjs +1 -1
  286. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  287. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  288. package/esm2020/lib/map/shared/map.enums.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  290. package/esm2020/lib/map/shared/map.mjs +2 -1
  291. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  292. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  293. package/esm2020/lib/map/shared/mapOffline.directive.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  295. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  296. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  297. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  298. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  299. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  300. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  301. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
  302. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  303. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  304. package/esm2020/lib/measure/index.mjs +1 -1
  305. package/esm2020/lib/measure/measure.module.mjs +1 -1
  306. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  307. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  308. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  309. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  310. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  311. package/esm2020/lib/measure/shared/index.mjs +1 -1
  312. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  314. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  315. package/esm2020/lib/metadata/index.mjs +1 -1
  316. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  317. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  318. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  319. package/esm2020/lib/metadata/shared/index.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  321. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  322. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +76 -0
  323. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  325. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +7 -1
  326. package/esm2020/lib/offline/geoDB/index.mjs +2 -1
  327. package/esm2020/lib/offline/index.mjs +1 -1
  328. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  329. package/esm2020/lib/offline/shared/index.mjs +1 -1
  330. package/esm2020/lib/overlay/index.mjs +1 -1
  331. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  332. package/esm2020/lib/overlay/shared/index.mjs +1 -1
  333. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +1 -1
  334. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  335. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  336. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  337. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  338. package/esm2020/lib/overlay/shared/overlay.utils.mjs +1 -1
  339. package/esm2020/lib/print/index.mjs +1 -1
  340. package/esm2020/lib/print/print/print.component.mjs +2 -2
  341. package/esm2020/lib/print/print-form/index.mjs +1 -1
  342. package/esm2020/lib/print/print-form/print-form.component.mjs +2 -2
  343. package/esm2020/lib/print/print.module.mjs +1 -1
  344. package/esm2020/lib/print/shared/index.mjs +1 -1
  345. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.service.mjs +1 -1
  347. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  348. package/esm2020/lib/query/index.mjs +1 -1
  349. package/esm2020/lib/query/query.module.mjs +1 -1
  350. package/esm2020/lib/query/shared/index.mjs +1 -1
  351. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  352. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  353. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  354. package/esm2020/lib/query/shared/query.enums.mjs +1 -1
  355. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  356. package/esm2020/lib/query/shared/query.service.mjs +4 -1
  357. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  358. package/esm2020/lib/search/index.mjs +1 -1
  359. package/esm2020/lib/search/search-bar/search-bar.component.mjs +16 -14
  360. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  361. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  362. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +2 -2
  363. package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
  364. package/esm2020/lib/search/search-results/search-results.component.mjs +2 -2
  365. package/esm2020/lib/search/search-results/search-results.module.mjs +1 -1
  366. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  367. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  368. package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
  369. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  370. package/esm2020/lib/search/search.module.mjs +1 -1
  371. package/esm2020/lib/search/shared/index.mjs +1 -1
  372. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
  373. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  374. package/esm2020/lib/search/shared/search-source.service.mjs +1 -1
  375. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  376. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  377. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.utils.mjs +13 -1
  379. package/esm2020/lib/search/shared/sources/cadastre.mjs +1 -1
  380. package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  382. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  383. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  385. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  386. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  388. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  389. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  390. package/esm2020/lib/search/shared/sources/index.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  392. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  393. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  395. package/esm2020/lib/search/shared/sources/source.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  397. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  398. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  399. package/esm2020/lib/toast/index.mjs +1 -1
  400. package/esm2020/lib/toast/toast.component.mjs +2 -2
  401. package/esm2020/lib/toast/toast.module.mjs +1 -1
  402. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  403. package/esm2020/lib/utils/commonVectorStyle.mjs +1 -1
  404. package/esm2020/lib/utils/googleLinks.mjs +1 -1
  405. package/esm2020/lib/utils/id-generator.mjs +1 -1
  406. package/esm2020/lib/utils/index.mjs +1 -1
  407. package/esm2020/lib/utils/osmLinks.mjs +1 -1
  408. package/esm2020/lib/wkt/index.mjs +1 -1
  409. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  410. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  411. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  412. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  413. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  414. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  415. package/esm2020/lib/workspace/index.mjs +1 -1
  416. package/esm2020/lib/workspace/shared/edition-workspace.mjs +8 -6
  417. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +9 -4
  418. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  419. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +1 -1
  420. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  421. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  422. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
  423. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +1 -1
  424. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  425. package/esm2020/lib/workspace/widgets/index.mjs +1 -1
  426. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  427. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  428. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  429. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  430. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  431. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  432. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  433. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  434. package/esm2020/public_api.mjs +1 -1
  435. package/fesm2015/igo2-geo.mjs +4313 -3672
  436. package/fesm2015/igo2-geo.mjs.map +1 -1
  437. package/fesm2020/igo2-geo.mjs +4530 -3916
  438. package/fesm2020/igo2-geo.mjs.map +1 -1
  439. package/lib/draw/draw/draw-popup.component.d.ts +0 -3
  440. package/lib/draw/draw/draw.component.d.ts +71 -50
  441. package/lib/draw/draw/draw.module.d.ts +13 -10
  442. package/lib/draw/shared/draw-style.service.d.ts +7 -1
  443. package/lib/draw/shared/draw.interface.d.ts +4 -0
  444. package/lib/feature/feature-details/feature-details.component.d.ts +4 -0
  445. package/lib/feature/shared/store.d.ts +1 -0
  446. package/lib/import-export/import-export/import-export.component.d.ts +2 -0
  447. package/lib/import-export/import-export.module.d.ts +1 -1
  448. package/lib/layer/index.d.ts +1 -0
  449. package/lib/layer/layer-list/layer-list.component.d.ts +3 -4
  450. package/lib/layer/layer.module.d.ts +20 -18
  451. package/lib/layer/shared/layers/layer.interface.d.ts +1 -0
  452. package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
  453. package/lib/layer/style-modal/index.d.ts +1 -0
  454. package/lib/layer/style-modal/style-modal.component.d.ts +42 -0
  455. package/lib/map/geolocate-button/geolocate-button.component.d.ts +3 -1
  456. package/lib/map/rotation-button/rotation-button.component.d.ts +11 -12
  457. package/lib/map/shared/controllers/view.d.ts +6 -1
  458. package/lib/map/shared/hover-feature.directive.d.ts +0 -5
  459. package/lib/map/shared/map.interface.d.ts +2 -1
  460. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +13 -0
  461. package/lib/offline/geoDB/geoDB.interface.d.ts +10 -1
  462. package/lib/offline/geoDB/geoDB.service.d.ts +3 -1
  463. package/lib/offline/geoDB/index.d.ts +1 -0
  464. package/ngcc.config.js +3 -3
  465. package/package.json +8 -8
  466. package/style/geo.theming.scss +12 -12
@@ -3,14 +3,15 @@ import { Subject } from 'rxjs';
3
3
  import { takeUntil } from 'rxjs/operators';
4
4
  import { userAgent } from '@igo2/utils';
5
5
  import { getEntityTitle, getEntityIcon } from '@igo2/common';
6
+ import { Clipboard } from '@igo2/utils';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common/http";
8
9
  import * as i2 from "@angular/platform-browser";
9
10
  import * as i3 from "@igo2/core";
10
11
  import * as i4 from "@angular/common";
11
12
  import * as i5 from "@angular/material/icon";
12
- import * as i6 from "@ngx-translate/core";
13
- import * as i7 from "@igo2/common";
13
+ import * as i6 from "@igo2/common";
14
+ import * as i7 from "@ngx-translate/core";
14
15
  function FeatureDetailsComponent_table_0_tr_2_td_1_Template(rf, ctx) { if (rf & 1) {
15
16
  i0.ɵɵelementStart(0, "td");
16
17
  i0.ɵɵelement(1, "mat-icon", 7);
@@ -21,9 +22,14 @@ function FeatureDetailsComponent_table_0_tr_2_td_1_Template(rf, ctx) { if (rf &
21
22
  i0.ɵɵpropertyInterpolate("svgIcon", ctx_r4.icon);
22
23
  } }
23
24
  function FeatureDetailsComponent_table_0_tr_2_td_2_Template(rf, ctx) { if (rf & 1) {
25
+ const _r14 = i0.ɵɵgetCurrentView();
24
26
  i0.ɵɵelementStart(0, "td")(1, "a", 8);
25
27
  i0.ɵɵtext(2);
26
28
  i0.ɵɵpipe(3, "translate");
29
+ i0.ɵɵelementEnd();
30
+ i0.ɵɵelementStart(4, "button", 9);
31
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r14); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.copyTextToClipboard(property_r3.value)); });
32
+ i0.ɵɵelement(5, "mat-icon", 10);
27
33
  i0.ɵɵelementEnd()();
28
34
  } if (rf & 2) {
29
35
  const property_r3 = i0.ɵɵnextContext().$implicit;
@@ -34,7 +40,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_2_Template(rf, ctx) { if (rf &
34
40
  i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(3, 3, "igo.geo.targetHtmlUrl"), " ", ctx_r5.title, "");
35
41
  } }
36
42
  function FeatureDetailsComponent_table_0_tr_2_td_3_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "td", 9);
43
+ i0.ɵɵelementStart(0, "td", 11);
38
44
  i0.ɵɵtext(1);
39
45
  i0.ɵɵelementEnd();
40
46
  } if (rf & 2) {
@@ -43,16 +49,16 @@ function FeatureDetailsComponent_table_0_tr_2_td_3_Template(rf, ctx) { if (rf &
43
49
  i0.ɵɵtextInterpolate1(" ", property_r3.key, " ");
44
50
  } }
45
51
  function FeatureDetailsComponent_table_0_tr_2_td_4_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelement(0, "td", 10);
52
+ i0.ɵɵelement(0, "td", 12);
47
53
  } if (rf & 2) {
48
54
  const property_r3 = i0.ɵɵnextContext().$implicit;
49
55
  i0.ɵɵproperty("innerHTML", property_r3.value, i0.ɵɵsanitizeHtml);
50
56
  } }
51
57
  const _c0 = function () { return { "cursor": "pointer", "color": "blue" }; };
52
58
  function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf & 1) {
53
- const _r17 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "td")(1, "u", 11);
55
- i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_5_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r17); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.openSecureUrl(property_r3.value)); });
59
+ const _r20 = i0.ɵɵgetCurrentView();
60
+ i0.ɵɵelementStart(0, "td")(1, "u", 13);
61
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_5_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r20); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.openSecureUrl(property_r3.value)); });
56
62
  i0.ɵɵtext(2);
57
63
  i0.ɵɵelementEnd()();
58
64
  } if (rf & 2) {
@@ -64,11 +70,15 @@ function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf &
64
70
  i0.ɵɵtextInterpolate(ctx_r8.getEmbeddedLinkText(property_r3.value));
65
71
  } }
66
72
  function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf & 1) {
67
- const _r21 = i0.ɵɵgetCurrentView();
68
- i0.ɵɵelementStart(0, "td")(1, "u", 11);
69
- i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_6_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r21); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.openSecureUrl(property_r3.value)); });
73
+ const _r24 = i0.ɵɵgetCurrentView();
74
+ i0.ɵɵelementStart(0, "td")(1, "u", 13);
75
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_6_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r24); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.openSecureUrl(property_r3.value)); });
70
76
  i0.ɵɵtext(2);
71
77
  i0.ɵɵpipe(3, "translate");
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelementStart(4, "button", 9);
80
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_6_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r24); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.copyTextToClipboard(property_r3.value)); });
81
+ i0.ɵɵelement(5, "mat-icon", 10);
72
82
  i0.ɵɵelementEnd()();
73
83
  } if (rf & 2) {
74
84
  i0.ɵɵadvance(1);
@@ -77,10 +87,10 @@ function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf &
77
87
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.geo.targetHtmlUrl"));
78
88
  } }
79
89
  function FeatureDetailsComponent_table_0_tr_2_td_7_Template(rf, ctx) { if (rf & 1) {
80
- const _r24 = i0.ɵɵgetCurrentView();
81
- i0.ɵɵelementStart(0, "td")(1, "a", 12);
82
- i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_7_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r24); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.openSecureUrl(property_r3.value)); });
83
- i0.ɵɵelement(2, "img", 13);
90
+ const _r29 = i0.ɵɵgetCurrentView();
91
+ i0.ɵɵelementStart(0, "td")(1, "a", 14);
92
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_7_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r29); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.openSecureUrl(property_r3.value)); });
93
+ i0.ɵɵelement(2, "img", 15);
84
94
  i0.ɵɵpipe(3, "async");
85
95
  i0.ɵɵpipe(4, "secureImage");
86
96
  i0.ɵɵelementEnd()();
@@ -92,7 +102,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_7_Template(rf, ctx) { if (rf &
92
102
  i0.ɵɵpropertyInterpolate("src", i0.ɵɵpipeBind1(3, 2, i0.ɵɵpipeBind1(4, 4, property_r3.value)), i0.ɵɵsanitizeUrl);
93
103
  } }
94
104
  function FeatureDetailsComponent_table_0_tr_2_td_8_Template(rf, ctx) { if (rf & 1) {
95
- i0.ɵɵelement(0, "td", 10);
105
+ i0.ɵɵelement(0, "td", 12);
96
106
  i0.ɵɵpipe(1, "json");
97
107
  } if (rf & 2) {
98
108
  const property_r3 = i0.ɵɵnextContext().$implicit;
@@ -101,11 +111,11 @@ function FeatureDetailsComponent_table_0_tr_2_td_8_Template(rf, ctx) { if (rf &
101
111
  function FeatureDetailsComponent_table_0_tr_2_Template(rf, ctx) { if (rf & 1) {
102
112
  i0.ɵɵelementStart(0, "tr");
103
113
  i0.ɵɵtemplate(1, FeatureDetailsComponent_table_0_tr_2_td_1_Template, 2, 1, "td", 4);
104
- i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_td_2_Template, 4, 5, "td", 4);
114
+ i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_td_2_Template, 6, 5, "td", 4);
105
115
  i0.ɵɵtemplate(3, FeatureDetailsComponent_table_0_tr_2_td_3_Template, 2, 1, "td", 5);
106
116
  i0.ɵɵtemplate(4, FeatureDetailsComponent_table_0_tr_2_td_4_Template, 1, 1, "td", 6);
107
117
  i0.ɵɵtemplate(5, FeatureDetailsComponent_table_0_tr_2_td_5_Template, 3, 3, "td", 4);
108
- i0.ɵɵtemplate(6, FeatureDetailsComponent_table_0_tr_2_td_6_Template, 4, 5, "td", 4);
118
+ i0.ɵɵtemplate(6, FeatureDetailsComponent_table_0_tr_2_td_6_Template, 6, 5, "td", 4);
109
119
  i0.ɵɵtemplate(7, FeatureDetailsComponent_table_0_tr_2_td_7_Template, 5, 6, "td", 4);
110
120
  i0.ɵɵtemplate(8, FeatureDetailsComponent_table_0_tr_2_td_8_Template, 2, 3, "td", 6);
111
121
  i0.ɵɵelementEnd();
@@ -140,7 +150,7 @@ function FeatureDetailsComponent_table_0_Template(rf, ctx) { if (rf & 1) {
140
150
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 1, ctx_r0.filterFeatureProperties(ctx_r0.feature)));
141
151
  } }
142
152
  function FeatureDetailsComponent_iframe_1_Template(rf, ctx) { if (rf & 1) {
143
- i0.ɵɵelement(0, "iframe", 14);
153
+ i0.ɵɵelement(0, "iframe", 16);
144
154
  } if (rf & 2) {
145
155
  const ctx_r1 = i0.ɵɵnextContext();
146
156
  i0.ɵɵproperty("srcdoc", ctx_r1.htmlSanitizer(ctx_r1.feature.properties), i0.ɵɵsanitizeHtml)("src", ctx_r1.urlSanitizer(ctx_r1.feature.properties.url), i0.ɵɵsanitizeResourceUrl);
@@ -227,7 +237,6 @@ export class FeatureDetailsComponent {
227
237
  openSecureUrl(value) {
228
238
  let url;
229
239
  const regexDepot = new RegExp(this.configService?.getConfig('depot.url') + '.*?(?="|$)');
230
- const regexUrl = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
231
240
  if (regexDepot.test(value)) {
232
241
  url = value.match(regexDepot)[0];
233
242
  this.http.get(url, {
@@ -245,8 +254,7 @@ export class FeatureDetailsComponent {
245
254
  });
246
255
  }
247
256
  else {
248
- url = value.match(regexUrl)[0];
249
- window.open(url, '_blank');
257
+ window.open(value, '_blank');
250
258
  }
251
259
  }
252
260
  isUrl(value) {
@@ -279,9 +287,17 @@ export class FeatureDetailsComponent {
279
287
  }
280
288
  isEmbeddedLink(value) {
281
289
  if (typeof value === 'string') {
282
- const regex = /^<a/;
283
- return regex.test(value);
290
+ const matchRegex = /<a/g;
291
+ const match = value.match(matchRegex) || [];
292
+ const count = match.length;
293
+ if (count === 1) {
294
+ return true;
295
+ }
296
+ else {
297
+ return false;
298
+ }
284
299
  }
300
+ return false;
285
301
  }
286
302
  getEmbeddedLinkText(value) {
287
303
  const regex = /(?:>).*?(?=<|$)/;
@@ -347,19 +363,28 @@ export class FeatureDetailsComponent {
347
363
  }
348
364
  return feature.properties;
349
365
  }
366
+ /**
367
+ * Copy the url to a clipboard
368
+ */
369
+ copyTextToClipboard(value) {
370
+ const successful = Clipboard.copy(value);
371
+ if (successful) {
372
+ this.messageService.success('igo.geo.query.link.message');
373
+ }
374
+ }
350
375
  }
351
376
  FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.NetworkService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.ConfigService)); };
352
- FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["id", "keyValue"], [3, "innerHTML"], [3, "ngStyle", "click"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["width", "225", "height", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
377
+ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["mat-icon-button", "", 1, "copyClipboard", 3, "click"], ["svgIcon", "content-copy"], ["id", "keyValue"], [3, "innerHTML"], [3, "ngStyle", "click"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["igoImageError", "", "width", "225", "height", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
353
378
  i0.ɵɵtemplate(0, FeatureDetailsComponent_table_0_Template, 4, 3, "table", 0);
354
379
  i0.ɵɵtemplate(1, FeatureDetailsComponent_iframe_1_Template, 1, 2, "iframe", 1);
355
380
  } if (rf & 2) {
356
381
  i0.ɵɵproperty("ngIf", ctx.ready && ctx.feature && ctx.isObject(ctx.feature.properties) && ctx.feature.properties.target !== "iframe");
357
382
  i0.ɵɵadvance(1);
358
383
  i0.ɵɵproperty("ngIf", ctx.isHtmlDisplay());
359
- } }, dependencies: [i4.NgForOf, i4.NgIf, i4.NgStyle, i5.MatIcon, i4.AsyncPipe, i4.JsonPipe, i6.TranslatePipe, i7.KeyValuePipe, i7.SecureImagePipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}"], changeDetection: 0 });
384
+ } }, dependencies: [i4.NgForOf, i4.NgIf, i4.NgStyle, i5.MatIcon, i6.ImageErrorDirective, i4.AsyncPipe, i4.JsonPipe, i7.TranslatePipe, i6.KeyValuePipe, i6.SecureImagePipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}.copyClipboard[_ngcontent-%COMP%]{border:none;background:transparent;cursor:pointer}"], changeDetection: 0 });
360
385
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
361
386
  type: Component,
362
- args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\n </td>\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{property.key}}\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\n <img src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\n </a>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\n </td>\n\n </tr>\n </tbody>\n</table>\n\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}\n"] }]
387
+ args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\r\n <tbody>\r\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\r\n {{property.key}}\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\r\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\r\n <img igoImageError src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\r\n </a>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\r\n </td>\r\n\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\r\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
363
388
  }], function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.NetworkService }, { type: i3.MessageService }, { type: i3.LanguageService }, { type: i3.ConfigService }]; }, { source: [{
364
389
  type: Input
365
390
  }], map: [{
@@ -375,4 +400,4 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
375
400
  }], htmlDisplayEvent: [{
376
401
  type: Output
377
402
  }] }); })();
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztJQ2J2RCwwQkFBNkU7SUFDM0UsOEJBQXdEO0lBQzFELGlCQUFLOzs7SUFEdUIsZUFBa0I7SUFBbEIsZ0RBQWtCOzs7SUFHOUMsMEJBQTZFLFdBQUE7SUFDSCxZQUFtRDs7SUFBQSxpQkFBSSxFQUFBOzs7O0lBQTVILGVBQXlCO0lBQXpCLHFFQUF5QjtJQUE0QyxlQUFtRDtJQUFuRCxnR0FBbUQ7OztJQUc3SCw2QkFBa0U7SUFDaEUsWUFDRjtJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUsZ0RBQ0Y7OztJQUVBLHlCQUNLOzs7SUFEeUksZ0VBQTRCOzs7OztJQUcxSywwQkFBc0YsWUFBQTtJQUM5QixnT0FBUyxlQUFBLHdDQUE2QixDQUFBLElBQUM7SUFBQyxZQUF5QztJQUFBLGlCQUFJLEVBQUE7Ozs7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Q0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDNUIsQ0FBQzs7OEZBdk9VLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDaENwQyw0RUFzQ1E7UUFFUiw4RUFBbUk7O1FBeEN4RixxSUFBZ0c7UUF3Q2xJLGVBQXFCO1FBQXJCLDBDQUFxQjs7dUZEUmpCLHVCQUF1QjtjQVBuQyxTQUFTOzJCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzRPQVMzQyxNQUFNO2tCQURULEtBQUs7WUFTRyxHQUFHO2tCQUFYLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFHRixPQUFPO2tCQURWLEtBQUs7WUFhSSxVQUFVO2tCQUFuQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdXNlckFnZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UsIENvbm5lY3Rpb25TdGF0ZSwgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUsIGdldEVudGl0eUljb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBUb29sYm94IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mZWF0dXJlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgRmVhdHVyZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICByZWFkeSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzb3VyY2UoKTogU2VhcmNoU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG4gIHNldCBzb3VyY2UodmFsdWU6IFNlYXJjaFNvdXJjZSkge1xuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcblxuICBASW5wdXQoKVxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xuICAgIHRoaXMuX2ZlYXR1cmUgPSB2YWx1ZTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcbiAgcHJpdmF0ZSBfc291cmNlOiBTZWFyY2hTb3VyY2U7XG5cbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RGZWF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgaHRtbERpc3BsYXlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubmV0d29ya1NlcnZpY2UuY3VycmVudFN0YXRlKCkucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKHN0YXRlOiBDb25uZWN0aW9uU3RhdGUpID0+IHtcbiAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICB1cmxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xuICB9XG5cblxuICBpc0h0bWxEaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZlYXR1cmUgJiYgdGhpcy5pc09iamVjdCh0aGlzLmZlYXR1cmUucHJvcGVydGllcykgJiYgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnaWZyYW1lJykge1xuICAgICAgdGhpcy5odG1sRGlzcGxheUV2ZW50LmVtaXQodHJ1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5odG1sRGlzcGxheUV2ZW50LmVtaXQoZmFsc2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGh0bWxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xuICAgIGlmICghdmFsdWUuYm9keSB8fCB1c2VyQWdlbnQuZ2V0QnJvd3Nlck5hbWUoKSA9PT0gJ0ludGVybmV0IEV4cGxvcmVyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWdleEJhc2UgPSAvPGJhc2UgaHJlZj1cIltcXHc6XFwvXFwuXStcIj4vO1xuICAgIGlmICghcmVnZXhCYXNlLnRlc3QodmFsdWUuYm9keSkpIHtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUudXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcbiAgICAgIHZhbHVlLmJvZHkgPSB2YWx1ZS5ib2R5LnJlcGxhY2UoJzxoZWFkPicsIGA8aGVhZD48YmFzZSBocmVmPVwiJHt1cmwub3JpZ2lufVwiPmApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZS5ib2R5KTtcbiAgfVxuXG4gIGlzT2JqZWN0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG4gIH1cblxuICBvcGVuU2VjdXJlVXJsKHZhbHVlKSB7XG4gICAgbGV0IHVybDogc3RyaW5nO1xuICAgIGNvbnN0IHJlZ2V4RGVwb3QgPSBuZXcgUmVnRXhwKHRoaXMuY29uZmlnU2VydmljZT8uZ2V0Q29uZmlnKCdkZXBvdC51cmwnKSArICcuKj8oPz1cInwkKScpO1xuICAgIGNvbnN0IHJlZ2V4VXJsID0gL2h0dHBzPzpcXC9cXC8od3d3XFwuKT9bLWEtekEtWjAtOUA6JS5fXFwrfiM9XXsxLDI1Nn1cXC5bYS16QS1aMC05KCldezEsNn1cXGIoWy1hLXpBLVowLTkoKUA6JV9cXCsufiM/Ji8vPV0qKS87XG5cbiAgICBpZiAocmVnZXhEZXBvdC50ZXN0KHZhbHVlKSkge1xuICAgICAgdXJsID0gdmFsdWUubWF0Y2gocmVnZXhEZXBvdClbMF07XG5cbiAgICAgIHRoaXMuaHR0cC5nZXQodXJsLCB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoZG9jT3JJbWFnZSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb2NPckltYWdlKTtcbiAgICAgICAgd2luZG93Lm9wZW4oZmlsZVVybCwgJ19ibGFuaycpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby50YXJnZXRIdG1sVXJsVW5hdXRob3JpemVkVGl0bGUnKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnRhcmdldEh0bWxVcmxVbmF1dGhvcml6ZWQnKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsID0gdmFsdWUubWF0Y2gocmVnZXhVcmwpWzBdO1xuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG5cbiAgaXNVcmwodmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcmVnZXggPSAvXmh0dHBzPzpcXC9cXC8vO1xuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRG9jKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xuICAgICAgICBjb25zdCByZWdleCA9IC8ocGRmfGRvY3g/fHhsc3g/KSQvO1xuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0ltZyh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09J3N0cmluZycpIHtcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xuICAgICAgICBjb25zdCByZWdleCA9IC8oanBlP2d8cG5nfGdpZikkLztcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNFbWJlZGRlZExpbmsodmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcmVnZXggPSAvXjxhLztcbiAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXRFbWJlZGRlZExpbmtUZXh0KHZhbHVlKSB7XG4gICAgY29uc3QgcmVnZXggPSAvKD86PikuKj8oPz08fCQpLztcbiAgICBsZXQgdGV4dCA9IHZhbHVlLm1hdGNoKHJlZ2V4KVswXSBhcyBzdHJpbmc7XG4gICAgdGV4dCA9IHRleHQucmVwbGFjZSgvPi9nLCAnJyk7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB7XG4gICAgY29uc3QgYWxsb3dlZEZpZWxkc0FuZEFsaWFzID0gZmVhdHVyZS5tZXRhID8gZmVhdHVyZS5tZXRhLmFsaWFzIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcbiAgICBsZXQgb2ZmbGluZUJ1dHRvblN0YXRlO1xuXG4gICAgaWYgKHRoaXMubWFwKSB7XG4gICAgICB0aGlzLm1hcC5vZmZsaW5lQnV0dG9uVG9nZ2xlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgIG9mZmxpbmVCdXR0b25TdGF0ZSA9IHN0YXRlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGZlYXR1cmUucHJvcGVydGllcyAmJiBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGUgJiYgdGhpcy50b29sYm94ICYmICF0aGlzLnRvb2xib3guZ2V0VG9vbCgnZGlyZWN0aW9ucycpKSB7XG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xuICAgIH1cblxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRGaWVsZHNBbmRBbGlhcykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgIHByb3BlcnRpZXNbYWxsb3dlZEZpZWxkc0FuZEFsaWFzW2ZpZWxkXV0gPSBmZWF0dXJlLnByb3BlcnRpZXNbZmllbGRdO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvcGVydGllcztcbiAgICB9IGVsc2UgaWYgKG9mZmxpbmVCdXR0b25TdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIW9mZmxpbmVCdXR0b25TdGF0ZSkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZSkge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goYXR0cmlidXRlID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlT2ZmbGluZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZTtcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJiBmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xuICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiaWdvLXN0cmlwZWQgbWF0LXR5cG9ncmFwaHlcIiAqbmdJZj1cInJlYWR5ICYmIGZlYXR1cmUgJiYgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ICE9PSAnaWZyYW1lJ1wiPlxuICA8dGJvZHk+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB8IGtleXZhbHVlXCI+XG5cbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIj5cbiAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwie3tpY29ufX1cIj48L21hdC1pY29uPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj4ge3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX0ge3t0aXRsZX19PC9hPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkIGlkPVwia2V5VmFsdWVcIiAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZFwiPlxuICAgICAgICB7e3Byb3BlcnR5LmtleX19XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJiAhaXNVcmwocHJvcGVydHkudmFsdWUpICYmICFpc0VtYmVkZGVkTGluayhwcm9wZXJ0eS52YWx1ZSlcIiBbaW5uZXJIVE1MXT1cInByb3BlcnR5LnZhbHVlXCI+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNFbWJlZGRlZExpbmsocHJvcGVydHkudmFsdWUpXCI+XG4gICAgICAgIDx1IFtuZ1N0eWxlXT1cInsnY3Vyc29yJzogJ3BvaW50ZXInLCAnY29sb3InOiAnYmx1ZSd9XCIgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCI+e3sgZ2V0RW1iZWRkZWRMaW5rVGV4dChwcm9wZXJ0eS52YWx1ZSkgfX08L3U+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJiAoaXNEb2MocHJvcGVydHkudmFsdWUpIHx8IGlzVXJsKHByb3BlcnR5LnZhbHVlKSkgJiYgIWlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91PlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgaXNVcmwocHJvcGVydHkudmFsdWUpICYmIGlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICA8aW1nIHNyYz1cInt7KHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UpIHzCoGFzeW5jfX1cIiB3aWR0aD1cIjIyNVwiIGhlaWdodD1cImF1dG9cIj5cbiAgICAgICAgPC9hPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmIGlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKVwiIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWUgfCBqc29uXCI+XG4gICAgICA8L3RkPlxuXG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxpZnJhbWUgKm5nSWY9XCJpc0h0bWxEaXNwbGF5KClcIiBbc3JjZG9jXT1cImh0bWxTYW5pdGl6ZXIoZmVhdHVyZS5wcm9wZXJ0aWVzKVwiIFtzcmNdPVwidXJsU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcy51cmwpXCI+PC9pZnJhbWU+XG4iXX0=
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU83RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7O0lDcEJsQywwQkFBNkU7SUFDM0UsOEJBQXdEO0lBQzFELGlCQUFLOzs7SUFEdUIsZUFBa0I7SUFBbEIsZ0RBQWtCOzs7O0lBRzlDLDBCQUE2RSxXQUFBO0lBQ0gsWUFBbUQ7O0lBQUEsaUJBQUk7SUFDL0gsaUNBQTRGO0lBQTlDLHFPQUFTLGVBQUEsOENBQW1DLENBQUEsSUFBQztJQUN6RiwrQkFBNEM7SUFDOUMsaUJBQVMsRUFBQTs7OztJQUhOLGVBQXlCO0lBQXpCLHFFQUF5QjtJQUE0QyxlQUFtRDtJQUFuRCxnR0FBbUQ7OztJQU03SCw4QkFBa0U7SUFDaEUsWUFDRjtJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUsZ0RBQ0Y7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bnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgdXNlckFnZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSwgQ29ubmVjdGlvblN0YXRlLCBNZXNzYWdlU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUsIGdldEVudGl0eUljb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IFRvb2xib3ggfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc291cmNlKCk6IFNlYXJjaFNvdXJjZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xyXG4gIH1cclxuICBzZXQgc291cmNlKHZhbHVlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xyXG4gIH1cclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xyXG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcclxuICBwcml2YXRlIF9zb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuXHJcbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdEZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGh0bWxEaXNwbGF5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB1cmxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaXNIdG1sRGlzcGxheSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZlYXR1cmUgJiYgdGhpcy5pc09iamVjdCh0aGlzLmZlYXR1cmUucHJvcGVydGllcykgJiYgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnaWZyYW1lJykge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdCh0cnVlKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGh0bWxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgaWYgKCF2YWx1ZS5ib2R5IHx8IHVzZXJBZ2VudC5nZXRCcm93c2VyTmFtZSgpID09PSAnSW50ZXJuZXQgRXhwbG9yZXInKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlZ2V4QmFzZSA9IC88YmFzZSBocmVmPVwiW1xcdzpcXC9cXC5dK1wiPi87XHJcbiAgICBpZiAoIXJlZ2V4QmFzZS50ZXN0KHZhbHVlLmJvZHkpKSB7XHJcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUudXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgdmFsdWUuYm9keSA9IHZhbHVlLmJvZHkucmVwbGFjZSgnPGhlYWQ+JywgYDxoZWFkPjxiYXNlIGhyZWY9XCIke3VybC5vcmlnaW59XCI+YCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlLmJvZHkpO1xyXG4gIH1cclxuXHJcbiAgaXNPYmplY3QodmFsdWUpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgb3BlblNlY3VyZVVybCh2YWx1ZSkge1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgY29uc3QgcmVnZXhEZXBvdCA9IG5ldyBSZWdFeHAodGhpcy5jb25maWdTZXJ2aWNlPy5nZXRDb25maWcoJ2RlcG90LnVybCcpICsgJy4qPyg/PVwifCQpJyk7XHJcblxyXG4gICAgaWYgKHJlZ2V4RGVwb3QudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgdXJsID0gdmFsdWUubWF0Y2gocmVnZXhEZXBvdClbMF07XHJcblxyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRvY09ySW1hZ2UpID0+IHtcclxuICAgICAgICBjb25zdCBmaWxlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb2NPckltYWdlKTtcclxuICAgICAgICB3aW5kb3cub3BlbihmaWxlVXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcjogRXJyb3IpID0+IHtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby50YXJnZXRIdG1sVXJsVW5hdXRob3JpemVkVGl0bGUnKTtcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHZhbHVlLCAnX2JsYW5rJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1VybCh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSAvXmh0dHBzPzpcXC9cXC8vO1xyXG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0RvYyh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHRoaXMuaXNVcmwodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKHBkZnxkb2N4P3x4bHN4PykkLztcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW1nKHZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhqcGU/Z3xwbmd8Z2lmKSQvO1xyXG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFbWJlZGRlZExpbmsodmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hSZWdleCA9IC88YS9nO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gobWF0Y2hSZWdleCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgY291bnQgPSBtYXRjaC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGNvdW50ID09PSAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbiAgZ2V0RW1iZWRkZWRMaW5rVGV4dCh2YWx1ZSkge1xyXG4gICAgY29uc3QgcmVnZXggPSAvKD86PikuKj8oPz08fCQpLztcclxuICAgIGxldCB0ZXh0ID0gdmFsdWUubWF0Y2gocmVnZXgpWzBdIGFzIHN0cmluZztcclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLz4vZywgJycpO1xyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB7XHJcbiAgICBjb25zdCBhbGxvd2VkRmllbGRzQW5kQWxpYXMgPSBmZWF0dXJlLm1ldGEgPyBmZWF0dXJlLm1ldGEuYWxpYXMgOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBsZXQgb2ZmbGluZUJ1dHRvblN0YXRlO1xyXG5cclxuICAgIGlmICh0aGlzLm1hcCkge1xyXG4gICAgICB0aGlzLm1hcC5vZmZsaW5lQnV0dG9uVG9nZ2xlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XHJcbiAgICAgICAgb2ZmbGluZUJ1dHRvblN0YXRlID0gc3RhdGU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmZWF0dXJlLnByb3BlcnRpZXMgJiYgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlICYmIHRoaXMudG9vbGJveCAmJiAhdGhpcy50b29sYm94LmdldFRvb2woJ2RpcmVjdGlvbnMnKSkge1xyXG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMoYWxsb3dlZEZpZWxkc0FuZEFsaWFzKS5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgICBwcm9wZXJ0aWVzW2FsbG93ZWRGaWVsZHNBbmRBbGlhc1tmaWVsZF1dID0gZmVhdHVyZS5wcm9wZXJ0aWVzW2ZpZWxkXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xyXG4gICAgfSBlbHNlIGlmIChvZmZsaW5lQnV0dG9uU3RhdGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoIW9mZmxpbmVCdXR0b25TdGF0ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGU7XHJcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XHJcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xyXG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goYXR0cmlidXRlID0+IHtcclxuICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcHkgdGhlIHVybCB0byBhIGNsaXBib2FyZFxyXG4gICAqL1xyXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHZhbHVlKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcygnaWdvLmdlby5xdWVyeS5saW5rLm1lc3NhZ2UnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwiaWdvLXN0cmlwZWQgbWF0LXR5cG9ncmFwaHlcIiAqbmdJZj1cInJlYWR5ICYmIGZlYXR1cmUgJiYgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ICE9PSAnaWZyYW1lJ1wiPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgZmlsdGVyRmVhdHVyZVByb3BlcnRpZXMoZmVhdHVyZSkgfCBrZXl2YWx1ZVwiPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cInt7aWNvbn19XCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIj5cclxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj4ge3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX0ge3t0aXRsZX19PC9hPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkIGlkPVwia2V5VmFsdWVcIiAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgIHt7cHJvcGVydHkua2V5fX1cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiAhaXNPYmplY3QocHJvcGVydHkudmFsdWUpICYmICFpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiYgIWlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVwiIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiBpc0VtYmVkZGVkTGluayhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7IGdldEVtYmVkZGVkTGlua1RleHQocHJvcGVydHkudmFsdWUpIH19PC91PlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgKGlzRG9jKHByb3BlcnR5LnZhbHVlKSB8fCBpc1VybChwcm9wZXJ0eS52YWx1ZSkpICYmICFpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcIj5cclxuICAgICAgICA8dSBbbmdTdHlsZV09XCJ7J2N1cnNvcic6ICdwb2ludGVyJywgJ2NvbG9yJzogJ2JsdWUnfVwiIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3B5Q2xpcGJvYXJkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgaXNVcmwocHJvcGVydHkudmFsdWUpICYmIGlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJ7e3Byb3BlcnR5LnZhbHVlfX1cIiB0YXJnZXQ9J19ibGFuaycgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxyXG4gICAgICAgICAgPGltZyBpZ29JbWFnZUVycm9yIHNyYz1cInt7KHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UpIHzCoGFzeW5jfX1cIiB3aWR0aD1cIjIyNVwiIGhlaWdodD1cImF1dG9cIj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZSB8IGpzb25cIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcblxyXG48aWZyYW1lICpuZ0lmPVwiaXNIdG1sRGlzcGxheSgpXCIgW3NyY2RvY109XCJodG1sU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcylcIiBbc3JjXT1cInVybFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMudXJsKVwiPjwvaWZyYW1lPlxyXG4iXX0=
@@ -51,4 +51,4 @@ FeatureDetailsDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Fea
51
51
  type: HostListener,
52
52
  args: ['selectFeature']
53
53
  }] }); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFjLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUXZDLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFlBQ1UsU0FBa0MsRUFDbEMsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFaeEIsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVdoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBbEJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQU9ELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQVNELFFBQVE7UUFFTixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDekUsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7OEZBMUNVLHVCQUF1QjswRUFBdkIsdUJBQXVCO29IQUF2QixnQkFBWTs7dUZBQVosdUJBQXVCO2NBTG5DLFNBQVM7ZUFBQztnQkFDVCxzRkFBc0Y7Z0JBQ3RGLFFBQVEsRUFBRSw4QkFBOEI7YUFDekM7O3NCQW9CSSxJQUFJO2lEQVJHLFlBQVk7a0JBQXJCLE1BQU07WUFHUCxVQUFVO2tCQURULFlBQVk7bUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBTZWxmLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAvLyBUaGlzIGRpcmVjdGl2ZSBhbGxvdyB0byB2aWV3IHRoZSByb3V0ZSBiZXR3ZWVuIHRoZSB1c2VyIGNvb3JkaW5hdGVzIGFuZCB0aGUgZmVhdHVyZVxuICBzZWxlY3RvcjogJ1tpZ29GZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZV0nXG59KVxuXG5leHBvcnQgY2xhc3MgRmVhdHVyZURldGFpbHNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGNvbXBvbmVudDogRmVhdHVyZURldGFpbHNDb21wb25lbnQ7XG5cblxuICBnZXQgZmVhdHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuZmVhdHVyZTtcbiAgfVxuICBmZWF0dXJlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuXG4gIEBPdXRwdXQoKSByb3V0aW5nRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignc2VsZWN0RmVhdHVyZScpXG4gIHNldEZlYXR1cmUoKSB7XG4gICAgdGhpcy5mZWF0dXJlJC5uZXh0KHRoaXMuZmVhdHVyZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIGNvbXBvbmVudDogRmVhdHVyZURldGFpbHNDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5mZWF0dXJlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmVhdHVyZS5nZW9tZXRyeSkge1xuICAgICAgICB0aGlzLmJpbmRDbGlja2luZygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYmluZENsaWNraW5nKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgcm91dGVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4ucm91dGluZycpO1xuICAgICAgaWYgKHJvdXRlRWxlbWVudCkge1xuICAgICAgICByb3V0ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0aW5nRXZlbnQuZW1pdCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCAxKTtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFjLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUXZDLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFlBQ1UsU0FBa0MsRUFDbEMsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFaeEIsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVdoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBbEJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQU9ELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQVNELFFBQVE7UUFFTixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDekUsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7OEZBMUNVLHVCQUF1QjswRUFBdkIsdUJBQXVCO29IQUF2QixnQkFBWTs7dUZBQVosdUJBQXVCO2NBTG5DLFNBQVM7ZUFBQztnQkFDVCxzRkFBc0Y7Z0JBQ3RGLFFBQVEsRUFBRSw4QkFBOEI7YUFDekM7O3NCQW9CSSxJQUFJO2lEQVJHLFlBQVk7a0JBQXJCLE1BQU07WUFHUCxVQUFVO2tCQURULFlBQVk7bUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBTZWxmLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIC8vIFRoaXMgZGlyZWN0aXZlIGFsbG93IHRvIHZpZXcgdGhlIHJvdXRlIGJldHdlZW4gdGhlIHVzZXIgY29vcmRpbmF0ZXMgYW5kIHRoZSBmZWF0dXJlXHJcbiAgc2VsZWN0b3I6ICdbaWdvRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGNvbXBvbmVudDogRmVhdHVyZURldGFpbHNDb21wb25lbnQ7XHJcblxyXG5cclxuICBnZXQgZmVhdHVyZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5mZWF0dXJlO1xyXG4gIH1cclxuICBmZWF0dXJlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcblxyXG4gIEBPdXRwdXQoKSByb3V0aW5nRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3NlbGVjdEZlYXR1cmUnKVxyXG4gIHNldEZlYXR1cmUoKSB7XHJcbiAgICB0aGlzLmZlYXR1cmUkLm5leHQodGhpcy5mZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBjb21wb25lbnQ6IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmZlYXR1cmUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcclxuICAgICAgICB0aGlzLmJpbmRDbGlja2luZygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGJpbmRDbGlja2luZygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5yb3V0aW5nJyk7XHJcbiAgICAgIGlmIChyb3V0ZUVsZW1lbnQpIHtcclxuICAgICAgICByb3V0ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRpbmdFdmVudC5lbWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sIDEpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -45,4 +45,4 @@ IgoFeatureDetailsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
45
45
  IgoKeyValueModule,
46
46
  IgoImageModule], exports: [FeatureDetailsComponent,
47
47
  FeatureDetailsDirective] }); })();
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBYmhDLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixjQUFjO3VGQVNMLHVCQUF1QjtjQWZuQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQUM7Z0JBQzFCLFlBQVksRUFBRTtvQkFDWix1QkFBdUI7b0JBQ3ZCLHVCQUF1QjtpQkFBQzthQUMzQjs7d0ZBQ1ksdUJBQXVCLG1CQUhoQyx1QkFBdUI7UUFDdkIsdUJBQXVCLGFBWHZCLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixjQUFjLGFBR2QsdUJBQXVCO1FBQ3ZCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgSWdvS2V5VmFsdWVNb2R1bGUsIElnb0ltYWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgRmVhdHVyZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZURldGFpbHNEaXJlY3RpdmUgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb0tleVZhbHVlTW9kdWxlLFxuICAgIElnb0ltYWdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSB7fVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBYmhDLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixjQUFjO3VGQVNMLHVCQUF1QjtjQWZuQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQUM7Z0JBQzFCLFlBQVksRUFBRTtvQkFDWix1QkFBdUI7b0JBQ3ZCLHVCQUF1QjtpQkFBQzthQUMzQjs7d0ZBQ1ksdUJBQXVCLG1CQUhoQyx1QkFBdUI7UUFDdkIsdUJBQXVCLGFBWHZCLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixjQUFjLGFBR2QsdUJBQXVCO1FBQ3ZCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IElnb0tleVZhbHVlTW9kdWxlLCBJZ29JbWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIElnb0tleVZhbHVlTW9kdWxlLFxyXG4gICAgSWdvSW1hZ2VNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmVhdHVyZURldGFpbHNDb21wb25lbnQsXHJcbiAgICBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlIHt9XHJcbiJdfQ==
@@ -98,7 +98,7 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
98
98
  } }, dependencies: [i1.FormComponent, i2.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block}igo-form[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
99
99
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureFormComponent, [{
100
100
  type: Component,
101
- args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\">\n\n <ng-content></ng-content>\n \n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n \n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
101
+ args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<igo-form\r\n #igoForm\r\n [form]=\"form\"\r\n [formData]=\"feature$ | async\"\r\n (submitForm)=\"onSubmit($event)\">\r\n\r\n <ng-content></ng-content>\r\n \r\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\r\n \r\n</igo-form>\r\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
102
102
  }], function () { return []; }, { form: [{
103
103
  type: Input
104
104
  }], feature: [{
@@ -109,4 +109,4 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
109
109
  type: ViewChild,
110
110
  args: ['igoForm', { static: true }]
111
111
  }] }); })();
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFRLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBR2xEOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBVFMsYUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBSXBDLENBQUM7SUFmaEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEU7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNsQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDOzt3RkE1RVUsb0JBQW9CO3VFQUFwQixvQkFBb0I7Ozs7Ozs7UUM5QmpDLHNDQUlrQztRQUFoQyxtSEFBYyxvQkFBZ0IsSUFBQzs7UUFFL0Isa0JBQXlCO1FBRXpCLDBDQUE0RDtRQUU5RCxpQkFBVzs7UUFSVCwrQkFBYSxnREFBQTs7dUZENEJGLG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO3NDQU90QyxJQUFJO2tCQUFaLEtBQUs7WUFNRixPQUFPO2tCQURWLEtBQUs7WUFRSSxVQUFVO2tCQUFuQixNQUFNO1lBRWlDLE9BQU87a0JBQTlDLFNBQVM7bUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9ybSwgZ2V0RW50aXR5UmV2aXNpb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlTWV0YSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEEgY29uZmlndXJhYmxlIGZvcm0sIG9wdGlvbm5hbGx5IGJvdW5kIHRvIGEgZmVhdHVyZS5cbiAqIFRoaXMgY29tcG9uZW50IGNyZWF0ZXMgYW4gZW50aXR5IGZvcm0gYW5kLCBvbiBzdWJtaXQsXG4gKiByZXR1cm5zIGEgZmVhdHVyZSBtYWRlIG91dCBvZiB0aGUgc3VibWl0dGVkIGRhdGEuIEl0IGFsc29cbiAqIGRvZXMgdGhpbmdzIGxpa2UgbWFuYWdpbmcgdGhlIGZlYXR1cmUgdmlzaWJpbGl0eSB3aGlsZSBpdCdzIGJlaW5nIHVwZGF0ZWRcbiAqIGFzIHdlbGwgYXMgZGlzYWJsaW5nIHRoZSBzZWxlY3Rpb24gb2YgYW5vdGhlciBmZWF0dXJlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRm9ybUNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEZvcm1cbiAgICovXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XG5cbiAgLyoqXG4gICAqIEZlYXR1cmUgdG8gdXBkYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSB8IHVuZGVmaW5lZCkgeyB0aGlzLmZlYXR1cmUkLm5leHQodmFsdWUpOyB9XG4gIGdldCBmZWF0dXJlKCk6IEZlYXR1cmUgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5mZWF0dXJlJC52YWx1ZTsgfVxuICByZWFkb25seSBmZWF0dXJlJDogQmVoYXZpb3JTdWJqZWN0PEZlYXR1cmU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0Rm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZT4oKTtcblxuICBAVmlld0NoaWxkKCdpZ29Gb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgaWdvRm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZSBhbmQgZW1pdCBhbiBldmVudFxuICAgKiBAcGFyYW0gZXZlbnQgRm9ybSBzdWJtaXQgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblN1Ym1pdChkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XG4gICAgY29uc3QgZmVhdHVyZSA9IHRoaXMuZm9ybURhdGFUb0ZlYXR1cmUoZGF0YSk7XG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQoZmVhdHVyZSk7XG4gIH1cblxuICBnZXREYXRhKCk6IEZlYXR1cmUge1xuICAgIHJldHVybiB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKHRoaXMuaWdvRm9ybS5nZXREYXRhKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZVxuICAgKiBAcGFyYW0gZGF0YSBGb3JtIGRhdGFcbiAgICogQHJldHVybnMgQSBmZWF0dXJlXG4gICAqL1xuICBwcml2YXRlIGZvcm1EYXRhVG9GZWF0dXJlKGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBGZWF0dXJlIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XG4gICAgY29uc3QgbWV0YSA9IHt9O1xuICAgIGlmICh0aGlzLmZlYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgKG1ldGEgYXMgYW55KS5pZCA9IHV1aWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wZXJ0aWVzLCB0aGlzLmZlYXR1cmUucHJvcGVydGllcyk7XG4gICAgICBPYmplY3QuYXNzaWduKG1ldGEsIHRoaXMuZmVhdHVyZS5tZXRhLCB7XG4gICAgICAgIHJldmlzaW9uOiBnZXRFbnRpdHlSZXZpc2lvbih0aGlzLmZlYXR1cmUpICsgMVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlQcmVmaXggPSAncHJvcGVydGllcy4nO1xuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBlbnRyeTtcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChwcm9wZXJ0eVByZWZpeCkpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHkgPSBrZXkuc3Vic3RyKHByb3BlcnR5UHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIHByb3BlcnRpZXNbcHJvcGVydHldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgZ2VvbWV0cnkgPSBkYXRhLmdlb21ldHJ5O1xuICAgIGlmIChnZW9tZXRyeSA9PT0gdW5kZWZpbmVkICYmIHRoaXMuZmVhdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBnZW9tZXRyeSA9IHRoaXMuZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWV0YTogbWV0YSBhcyBGZWF0dXJlTWV0YSxcbiAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICBnZW9tZXRyeSxcbiAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgcHJvcGVydGllc1xuICAgIH07XG4gIH1cbn1cbiIsIlxuPGlnby1mb3JtXG4gICNpZ29Gb3JtXG4gIFtmb3JtXT1cImZvcm1cIlxuICBbZm9ybURhdGFdPVwiZmVhdHVyZSQgfCBhc3luY1wiXG4gIChzdWJtaXRGb3JtKT1cIm9uU3VibWl0KCRldmVudClcIj5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIFxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9ybUJ1dHRvbnNdXCIgZm9ybUJ1dHRvbnM+PC9uZy1jb250ZW50PlxuICBcbjwvaWdvLWZvcm0+XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFRLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBR2xEOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBVFMsYUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBSXBDLENBQUM7SUFmaEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEU7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNsQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDOzt3RkE1RVUsb0JBQW9CO3VFQUFwQixvQkFBb0I7Ozs7Ozs7UUM5QmpDLHNDQUlrQztRQUFoQyxtSEFBYyxvQkFBZ0IsSUFBQzs7UUFFL0Isa0JBQXlCO1FBRXpCLDBDQUE0RDtRQUU5RCxpQkFBVzs7UUFSVCwrQkFBYSxnREFBQTs7dUZENEJGLG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO3NDQU90QyxJQUFJO2tCQUFaLEtBQUs7WUFNRixPQUFPO2tCQURWLEtBQUs7WUFRSSxVQUFVO2tCQUFuQixNQUFNO1lBRWlDLE9BQU87a0JBQTlDLFNBQVM7bUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEZvcm0sIGdldEVudGl0eVJldmlzaW9uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVNZXRhIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogQSBjb25maWd1cmFibGUgZm9ybSwgb3B0aW9ubmFsbHkgYm91bmQgdG8gYSBmZWF0dXJlLlxyXG4gKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGFuIGVudGl0eSBmb3JtIGFuZCwgb24gc3VibWl0LFxyXG4gKiByZXR1cm5zIGEgZmVhdHVyZSBtYWRlIG91dCBvZiB0aGUgc3VibWl0dGVkIGRhdGEuIEl0IGFsc29cclxuICogZG9lcyB0aGluZ3MgbGlrZSBtYW5hZ2luZyB0aGUgZmVhdHVyZSB2aXNpYmlsaXR5IHdoaWxlIGl0J3MgYmVpbmcgdXBkYXRlZFxyXG4gKiBhcyB3ZWxsIGFzIGRpc2FibGluZyB0aGUgc2VsZWN0aW9uIG9mIGFub3RoZXIgZmVhdHVyZS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWZlYXR1cmUtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVGb3JtQ29tcG9uZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcblxyXG4gIC8qKlxyXG4gICAqIEZlYXR1cmUgdG8gdXBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSB8IHVuZGVmaW5lZCkgeyB0aGlzLmZlYXR1cmUkLm5leHQodmFsdWUpOyB9XHJcbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmZlYXR1cmUkLnZhbHVlOyB9XHJcbiAgcmVhZG9ubHkgZmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdpZ29Gb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgaWdvRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmUgYW5kIGVtaXQgYW4gZXZlbnRcclxuICAgKiBAcGFyYW0gZXZlbnQgRm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblN1Ym1pdChkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZShkYXRhKTtcclxuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KGZlYXR1cmUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKHRoaXMuaWdvRm9ybS5nZXREYXRhKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJhbnNmb3JtIHRoZSBmb3JtIGRhdGEgdG8gYSBmZWF0dXJlXHJcbiAgICogQHBhcmFtIGRhdGEgRm9ybSBkYXRhXHJcbiAgICogQHJldHVybnMgQSBmZWF0dXJlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb3JtRGF0YVRvRmVhdHVyZShkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmVhdHVyZSB7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBjb25zdCBtZXRhID0ge307XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgKG1ldGEgYXMgYW55KS5pZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKG1ldGEsIHRoaXMuZmVhdHVyZS5tZXRhLCB7XHJcbiAgICAgICAgcmV2aXNpb246IGdldEVudGl0eVJldmlzaW9uKHRoaXMuZmVhdHVyZSkgKyAxXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BlcnR5UHJlZml4ID0gJ3Byb3BlcnRpZXMuJztcclxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGVudHJ5O1xyXG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJvcGVydHlQcmVmaXgpKSB7XHJcbiAgICAgICAgY29uc3QgcHJvcGVydHkgPSBrZXkuc3Vic3RyKHByb3BlcnR5UHJlZml4Lmxlbmd0aCk7XHJcbiAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IGdlb21ldHJ5ID0gZGF0YS5nZW9tZXRyeTtcclxuICAgIGlmIChnZW9tZXRyeSA9PT0gdW5kZWZpbmVkICYmIHRoaXMuZmVhdHVyZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGdlb21ldHJ5ID0gdGhpcy5mZWF0dXJlLmdlb21ldHJ5O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1ldGE6IG1ldGEgYXMgRmVhdHVyZU1ldGEsXHJcbiAgICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICAgIGdlb21ldHJ5LFxyXG4gICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgcHJvcGVydGllc1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxpZ28tZm9ybVxyXG4gICNpZ29Gb3JtXHJcbiAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgW2Zvcm1EYXRhXT1cImZlYXR1cmUkIHwgYXN5bmNcIlxyXG4gIChzdWJtaXRGb3JtKT1cIm9uU3VibWl0KCRldmVudClcIj5cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIFxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb3JtQnV0dG9uc11cIiBmb3JtQnV0dG9ucz48L25nLWNvbnRlbnQ+XHJcbiAgXHJcbjwvaWdvLWZvcm0+XHJcbiJdfQ==
@@ -31,4 +31,4 @@ IgoFeatureFormModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Com
31
31
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFeatureFormModule, { declarations: [FeatureFormComponent], imports: [CommonModule,
32
32
  IgoFormModule], exports: [IgoFormModule,
33
33
  FeatureFormComponent] }); })();
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9COzt3RkFBcEIsb0JBQW9CO3NFQUFwQixvQkFBb0I7MEVBWDdCLFlBQVk7UUFDWixhQUFhLEVBR2IsYUFBYTt1RkFPSixvQkFBb0I7Y0FiaEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2Isb0JBQW9CO2lCQUNyQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osb0JBQW9CO2lCQUNyQjthQUNGOzt3RkFDWSxvQkFBb0IsbUJBSDdCLG9CQUFvQixhQVJwQixZQUFZO1FBQ1osYUFBYSxhQUdiLGFBQWE7UUFDYixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSWdvRm9ybU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSWdvRm9ybU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgSWdvRm9ybU1vZHVsZSxcbiAgICBGZWF0dXJlRm9ybUNvbXBvbmVudFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGZWF0dXJlRm9ybUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVGb3JtTW9kdWxlIHt9XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9COzt3RkFBcEIsb0JBQW9CO3NFQUFwQixvQkFBb0I7MEVBWDdCLFlBQVk7UUFDWixhQUFhLEVBR2IsYUFBYTt1RkFPSixvQkFBb0I7Y0FiaEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2Isb0JBQW9CO2lCQUNyQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osb0JBQW9CO2lCQUNyQjthQUNGOzt3RkFDWSxvQkFBb0IsbUJBSDdCLG9CQUFvQixhQVJwQixZQUFZO1FBQ1osYUFBYSxhQUdiLGFBQWE7UUFDYixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvRm9ybU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJZ29Gb3JtTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29Gb3JtTW9kdWxlLFxyXG4gICAgRmVhdHVyZUZvcm1Db21wb25lbnRcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmVhdHVyZUZvcm1Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB7fVxyXG4iXX0=
@@ -25,4 +25,4 @@ IgoFeatureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonM
25
25
  }], null, null); })();
26
26
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFeatureModule, { imports: [CommonModule], exports: [IgoFeatureDetailsModule,
27
27
  IgoFeatureFormModule] }); })();
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWExRSxNQUFNLE9BQU8sZ0JBQWdCOztnRkFBaEIsZ0JBQWdCO2tFQUFoQixnQkFBZ0I7c0VBVHpCLFlBQVksRUFHWix1QkFBdUI7UUFDdkIsb0JBQW9CO3VGQUtYLGdCQUFnQjtjQVg1QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsb0JBQW9CO2lCQUNyQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsU0FBUyxFQUFFLEVBQUU7YUFDZDs7d0ZBQ1ksZ0JBQWdCLGNBVHpCLFlBQVksYUFHWix1QkFBdUI7UUFDdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMvZmVhdHVyZS1kZXRhaWxzLm1vZHVsZSc7XG5pbXBvcnQgeyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSxcbiAgICBJZ29GZWF0dXJlRm9ybU1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVNb2R1bGUge31cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWExRSxNQUFNLE9BQU8sZ0JBQWdCOztnRkFBaEIsZ0JBQWdCO2tFQUFoQixnQkFBZ0I7c0VBVHpCLFlBQVksRUFHWix1QkFBdUI7UUFDdkIsb0JBQW9CO3VGQUtYLGdCQUFnQjtjQVg1QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsb0JBQW9CO2lCQUNyQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsU0FBUyxFQUFFLEVBQUU7YUFDZDs7d0ZBQ1ksZ0JBQWdCLGNBVHpCLFlBQVksYUFHWix1QkFBdUI7UUFDdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMvZmVhdHVyZS1kZXRhaWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb0ZlYXR1cmVGb3JtTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUsXHJcbiAgICBJZ29GZWF0dXJlRm9ybU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export * from './shared';
2
2
  export * from './feature-details/feature-details.component';
3
3
  export * from './feature-form/feature-form.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMvZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -6,4 +6,4 @@ export var FeatureMotion;
6
6
  FeatureMotion[FeatureMotion["Zoom"] = 2] = "Zoom";
7
7
  FeatureMotion[FeatureMotion["Default"] = 3] = "Default";
8
8
  })(FeatureMotion || (FeatureMotion = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcblxuZXhwb3J0IGVudW0gRmVhdHVyZU1vdGlvbiB7XG4gIE5vbmUsXG4gIE1vdmUsXG4gIFpvb20sXG4gIERlZmF1bHRcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcclxuXHJcbmV4cG9ydCBlbnVtIEZlYXR1cmVNb3Rpb24ge1xyXG4gIE5vbmUsXHJcbiAgTW92ZSxcclxuICBab29tLFxyXG4gIERlZmF1bHRcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XG5cbmltcG9ydCB7XG4gIEVudGl0eUtleSxcbiAgRW50aXR5U3RvcmVPcHRpb25zLFxuICBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9uc1xufSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmU8UCA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICBnZW9tZXRyeT86IEZlYXR1cmVHZW9tZXRyeTtcbiAgcHJvcGVydGllczogUDtcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIG1ldGE/OiBGZWF0dXJlTWV0YTtcbiAgb2w/OiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4gfCBPbFJlbmRlckZlYXR1cmU7XG4gIHNvdXJjZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVNZXRhIHtcbiAgaWQ6IEVudGl0eUtleTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1hcFRpdGxlPzogc3RyaW5nO1xuICBzb3VyY2VUaXRsZT86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGljb24/OiBzdHJpbmc7XG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgYWxpYXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICByZXZpc2lvbj86IG51bWJlcjtcbiAgZXhjbHVkZUF0dHJpYnV0ZT86IEFycmF5PHN0cmluZz47XG4gIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2VvbWV0cnkge1xuICB0eXBlOiBHZW9Kc29uR2VvbWV0cnlUeXBlcztcbiAgY29vcmRpbmF0ZXM6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVPcHRpb25zIGV4dGVuZHMgRW50aXR5U3RvcmVPcHRpb25zIHtcbiAgbWFwOiBJZ29NYXA7XG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICAvLyBXaGVuIHRoZSBzdG9yZSBtb3ZlcyBmZWF0dXJlcyBpbnRvIHZpZXcsIHRoZSB2aWV3IGV4dGVudCwgd2hpY2ggaXMgYWxzbyB0aGUgZmVhdHVyZXMgZXh0ZW50LFxuICAvLyBpcyBzY2FsZWQgYnkgdGhvc2UgZmFjdG9ycywgZWZmZWN0aXZlbHkgcmVzdWx0aW5nIGluIGEgZGVjZW50ZXJlZCB2aWV3IG9yIGEgbW9yZSB6b29tZWQgaW4vb3V0IHZpZXcuXG4gIC8vIFRoZXNlIGZhY3RvcnMgYXJlIGFwcGxpZWQgdG8gdGhlIHRvcCwgcmlnaHQsIGJvdHRvbSBhbmQgbGVmdCBkaXJlY3Rpb25zLCBpbiB0aGF0IG9yZGVyLlxuICAvLyBBIGZhY3RvciBvZiAxIG1lYW5zIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBjZW50ZXIsIGluIHRoYXQgZGlyZWN0aW9uLCBpcyBkb3VibGVkLlxuICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgLy8gRmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IHJhdGlvIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdG9yZSBzaG91bGQgdHJpZ2dlclxuICAvLyBhIG1hcCB6b29tIHdoZW4gZmVhdHVyZXMgYXJlIGFkZGVkIHRvIGl0LlxuICBhcmVhUmF0aW8/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XG4gIG1vdGlvbj86IEZlYXR1cmVNb3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneU9wdGlvbnNcbmV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgbWFwOiBJZ29NYXA7XG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XG4gIG1vdGlvbj86IEZlYXR1cmVNb3Rpb247XG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XG4gIG1hbnk/OiBib29sZWFuO1xuICBoaXRUb2xlcmFuY2U/OiBudW1iZXI7XG4gIGRyYWdCb3g/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBmZWF0dXJlOiBGZWF0dXJlIHwgdW5kZWZpbmVkO1xuICBkYXRhOiBGZWF0dXJlO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eUtleSxcclxuICBFbnRpdHlTdG9yZU9wdGlvbnMsXHJcbiAgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnNcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllcic7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlPFAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XHJcbiAgZ2VvbWV0cnk/OiBGZWF0dXJlR2VvbWV0cnk7XHJcbiAgcHJvcGVydGllczogUDtcclxuICBleHRlbnQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuICBtZXRhPzogRmVhdHVyZU1ldGE7XHJcbiAgb2w/OiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4gfCBPbFJlbmRlckZlYXR1cmU7XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZU1ldGEge1xyXG4gIGlkOiBFbnRpdHlLZXk7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWFwVGl0bGU/OiBzdHJpbmc7XHJcbiAgc291cmNlVGl0bGU/OiBzdHJpbmc7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgYWxpYXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIHJldmlzaW9uPzogbnVtYmVyO1xyXG4gIGV4Y2x1ZGVBdHRyaWJ1dGU/OiBBcnJheTxzdHJpbmc+O1xyXG4gIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lPzogQXJyYXk8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2VvbWV0cnkge1xyXG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xyXG4gIGNvb3JkaW5hdGVzOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlT3B0aW9ucyBleHRlbmRzIEVudGl0eVN0b3JlT3B0aW9ucyB7XHJcbiAgbWFwOiBJZ29NYXA7XHJcbiAgbGF5ZXI/OiBWZWN0b3JMYXllcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcclxuICAvLyBXaGVuIHRoZSBzdG9yZSBtb3ZlcyBmZWF0dXJlcyBpbnRvIHZpZXcsIHRoZSB2aWV3IGV4dGVudCwgd2hpY2ggaXMgYWxzbyB0aGUgZmVhdHVyZXMgZXh0ZW50LFxyXG4gIC8vIGlzIHNjYWxlZCBieSB0aG9zZSBmYWN0b3JzLCBlZmZlY3RpdmVseSByZXN1bHRpbmcgaW4gYSBkZWNlbnRlcmVkIHZpZXcgb3IgYSBtb3JlIHpvb21lZCBpbi9vdXQgdmlldy5cclxuICAvLyBUaGVzZSBmYWN0b3JzIGFyZSBhcHBsaWVkIHRvIHRoZSB0b3AsIHJpZ2h0LCBib3R0b20gYW5kIGxlZnQgZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlci5cclxuICAvLyBBIGZhY3RvciBvZiAxIG1lYW5zIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBjZW50ZXIsIGluIHRoYXQgZGlyZWN0aW9uLCBpcyBkb3VibGVkLlxyXG4gIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xyXG4gIC8vIEZlYXR1cmVzIGV4dGVudCB0byB2aWV3IGV4dGVudCByYXRpbyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgc3RvcmUgc2hvdWxkIHRyaWdnZXJcclxuICAvLyBhIG1hcCB6b29tIHdoZW4gZmVhdHVyZXMgYXJlIGFkZGVkIHRvIGl0LlxyXG4gIGFyZWFSYXRpbz86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3lPcHRpb25zXHJcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge1xyXG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XHJcbiAgbW90aW9uPzogRmVhdHVyZU1vdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5T3B0aW9uc1xyXG5leHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XHJcbiAgbWFwOiBJZ29NYXA7XHJcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcclxuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xyXG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XHJcbiAgbWFueT86IGJvb2xlYW47XHJcbiAgaGl0VG9sZXJhbmNlPzogbnVtYmVyO1xyXG4gIGRyYWdCb3g/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xyXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgZmVhdHVyZTogRmVhdHVyZSB8IHVuZGVmaW5lZDtcclxuICBkYXRhOiBGZWF0dXJlO1xyXG59XHJcbiJdfQ==