@igo2/geo 16.2.0 → 17.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
  9. package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +9 -37
  11. package/esm2022/lib/catalog/index.mjs +7 -1
  12. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  14. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2022/lib/catalog/shared/catalog.service.mjs +72 -31
  16. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  18. package/esm2022/lib/datasource/index.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +7 -1
  20. package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
  21. package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
  22. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  25. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
  42. package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
  43. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
  44. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  45. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
  46. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
  48. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  50. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  51. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  52. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  53. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
  54. package/esm2022/lib/directions/directions.component.mjs +18 -10
  55. package/esm2022/lib/directions/directions.module.mjs +17 -70
  56. package/esm2022/lib/directions/index.mjs +1 -1
  57. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  58. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
  61. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  62. package/esm2022/lib/directions/shared/index.mjs +1 -1
  63. package/esm2022/lib/directions/shared/store.mjs +1 -1
  64. package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
  65. package/esm2022/lib/download/download-button/index.mjs +1 -1
  66. package/esm2022/lib/download/download.module.mjs +10 -27
  67. package/esm2022/lib/download/index.mjs +1 -1
  68. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  69. package/esm2022/lib/download/shared/download.service.mjs +5 -5
  70. package/esm2022/lib/download/shared/index.mjs +1 -1
  71. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
  72. package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
  73. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
  74. package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
  75. package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
  76. package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
  77. package/esm2022/lib/draw/index.mjs +1 -1
  78. package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
  79. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  80. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  81. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  82. package/esm2022/lib/draw/shared/index.mjs +1 -1
  83. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  84. package/esm2022/lib/environment/index.mjs +1 -1
  85. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
  86. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
  87. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
  88. package/esm2022/lib/feature/feature-details/index.mjs +9 -0
  89. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
  90. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
  91. package/esm2022/lib/feature/feature.module.mjs +9 -10
  92. package/esm2022/lib/feature/index.mjs +8 -2
  93. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  94. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  95. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  96. package/esm2022/lib/feature/shared/index.mjs +1 -1
  97. package/esm2022/lib/feature/shared/store.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  99. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  102. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
  105. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2022/lib/filter/filter.module.mjs +47 -177
  108. package/esm2022/lib/filter/index.mjs +36 -1
  109. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
  110. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
  111. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
  112. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
  113. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
  114. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
  115. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
  116. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
  117. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
  118. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
  119. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
  120. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  121. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
  122. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
  123. package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
  125. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
  126. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
  127. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
  128. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
  129. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
  130. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
  131. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
  132. package/esm2022/lib/geo.module.mjs +5 -43
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  134. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
  135. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
  136. package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
  137. package/esm2022/lib/geometry/geometry.module.mjs +9 -10
  138. package/esm2022/lib/geometry/index.mjs +2 -3
  139. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  143. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  145. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  146. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  147. package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
  148. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  149. package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
  150. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  151. package/esm2022/lib/import-export/import-export.module.mjs +10 -81
  152. package/esm2022/lib/import-export/index.mjs +9 -1
  153. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
  154. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  156. package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
  157. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  158. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  159. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  160. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  161. package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
  162. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  163. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  164. package/esm2022/lib/layer/index.mjs +19 -1
  165. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
  166. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
  167. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
  168. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
  169. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
  170. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
  171. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
  172. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
  173. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
  174. package/esm2022/lib/layer/layer.module.mjs +16 -93
  175. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  176. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  179. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  180. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  181. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  182. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  183. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  184. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  185. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  186. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  187. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
  188. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  189. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  190. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  191. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  192. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  193. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
  194. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
  195. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
  196. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
  197. package/esm2022/lib/map/index.mjs +32 -1
  198. package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
  199. package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
  200. package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
  201. package/esm2022/lib/map/map.module.mjs +36 -66
  202. package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
  203. package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
  204. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
  205. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  207. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
  209. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  210. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
  211. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  212. package/esm2022/lib/map/shared/map.mjs +1 -1
  213. package/esm2022/lib/map/shared/map.service.mjs +5 -5
  214. package/esm2022/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
  216. package/esm2022/lib/map/shared/projection.service.mjs +5 -5
  217. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  218. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
  219. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  220. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
  221. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
  222. package/esm2022/lib/measure/index.mjs +2 -3
  223. package/esm2022/lib/measure/measure.module.mjs +8 -5
  224. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  225. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
  226. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
  227. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
  228. package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
  229. package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
  230. package/esm2022/lib/measure/shared/index.mjs +1 -1
  231. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  232. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  233. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  234. package/esm2022/lib/metadata/index.mjs +6 -1
  235. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  236. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
  237. package/esm2022/lib/metadata/metadata.module.mjs +10 -31
  238. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  239. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  240. package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
  241. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  242. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  243. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  244. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
  245. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  246. package/esm2022/lib/offline/index.mjs +1 -1
  247. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  248. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  249. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
  250. package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
  251. package/esm2022/lib/offline/shared/index.mjs +1 -1
  252. package/esm2022/lib/overlay/index.mjs +1 -1
  253. package/esm2022/lib/overlay/overlay.module.mjs +10 -8
  254. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  255. package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
  256. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  257. package/esm2022/lib/overlay/shared/overlay.mjs +2 -2
  258. package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
  259. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  260. package/esm2022/lib/print/index.mjs +1 -1
  261. package/esm2022/lib/print/print/print.component.mjs +7 -7
  262. package/esm2022/lib/print/print-form/index.mjs +1 -1
  263. package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
  264. package/esm2022/lib/print/print.module.mjs +10 -54
  265. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  266. package/esm2022/lib/print/shared/index.mjs +1 -1
  267. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  268. package/esm2022/lib/print/shared/print.service.mjs +10 -10
  269. package/esm2022/lib/print/shared/print.type.mjs +1 -1
  270. package/esm2022/lib/query/index.mjs +1 -1
  271. package/esm2022/lib/query/query.module.mjs +7 -8
  272. package/esm2022/lib/query/shared/index.mjs +1 -1
  273. package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
  274. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  275. package/esm2022/lib/query/shared/query.directive.mjs +8 -7
  276. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  277. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  278. package/esm2022/lib/query/shared/query.service.mjs +7 -9
  279. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  280. package/esm2022/lib/search/index.mjs +14 -5
  281. package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
  282. package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
  283. package/esm2022/lib/search/search-results/index.mjs +10 -0
  284. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
  285. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
  286. package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
  287. package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
  288. package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
  289. package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
  290. package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
  291. package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
  292. package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
  293. package/esm2022/lib/search/search.module.mjs +10 -13
  294. package/esm2022/lib/search/shared/index.mjs +1 -1
  295. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
  296. package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
  297. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  298. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  299. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  300. package/esm2022/lib/search/shared/search.service.mjs +5 -5
  301. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  302. package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
  303. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  304. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  305. package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
  306. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  307. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  308. package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
  309. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +1 -1
  310. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  311. package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
  312. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  313. package/esm2022/lib/search/shared/sources/index.mjs +1 -1
  314. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  315. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  316. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  317. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  318. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  319. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  320. package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
  321. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  322. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  323. package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
  324. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  325. package/esm2022/lib/style/index.mjs +1 -1
  326. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  327. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  328. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  329. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  330. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  331. package/esm2022/lib/style/shared/index.mjs +1 -1
  332. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  333. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  334. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  335. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  336. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  337. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  338. package/esm2022/lib/style/style-list/index.mjs +1 -1
  339. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  340. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  341. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  342. package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
  343. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  344. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
  345. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  346. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  347. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
  348. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  349. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
  350. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  351. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  352. package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
  353. package/esm2022/lib/style/style-service/index.mjs +1 -1
  354. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  355. package/esm2022/lib/style/style.module.mjs +12 -57
  356. package/esm2022/lib/toast/index.mjs +1 -1
  357. package/esm2022/lib/toast/toast.component.mjs +19 -11
  358. package/esm2022/lib/toast/toast.module.mjs +10 -30
  359. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  360. package/esm2022/lib/utils/id-generator.mjs +1 -1
  361. package/esm2022/lib/utils/index.mjs +1 -1
  362. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  363. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  364. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  365. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
  366. package/esm2022/lib/wkt/index.mjs +1 -1
  367. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  368. package/esm2022/lib/wkt/shared/wkt.service.mjs +19 -19
  369. package/esm2022/lib/wkt/wkt.module.mjs +8 -5
  370. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
  371. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
  372. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  373. package/esm2022/lib/workspace/index.mjs +1 -1
  374. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  375. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
  376. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  377. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
  378. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  379. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  380. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
  381. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  382. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  383. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  384. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
  385. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
  386. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  387. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
  388. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
  389. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  390. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
  391. package/esm2022/lib/workspace/workspace.module.mjs +10 -35
  392. package/esm2022/public_api.mjs +11 -12
  393. package/fesm2022/igo2-geo.mjs +31812 -31914
  394. package/fesm2022/igo2-geo.mjs.map +1 -1
  395. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  396. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  397. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  398. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
  399. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  400. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  401. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  402. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
  403. package/lib/catalog/catalog-library/index.d.ts +5 -0
  404. package/lib/catalog/catalog.module.d.ts +6 -9
  405. package/lib/catalog/index.d.ts +2 -0
  406. package/lib/datasource/shared/capabilities.interface.d.ts +16 -0
  407. package/lib/datasource/shared/datasource.service.d.ts +2 -4
  408. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
  409. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  410. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  411. package/lib/directions/directions.component.d.ts +1 -1
  412. package/lib/directions/directions.module.d.ts +9 -20
  413. package/lib/download/download-button/download-button.component.d.ts +1 -1
  414. package/lib/download/download.module.d.ts +4 -6
  415. package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
  416. package/lib/draw/draw/draw-popup.component.d.ts +4 -4
  417. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  418. package/lib/draw/draw/draw.component.d.ts +1 -1
  419. package/lib/draw/draw/draw.module.d.ts +2 -25
  420. package/lib/draw/drawingTool.module.d.ts +3 -0
  421. package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
  422. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  423. package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
  424. package/lib/feature/feature-details/index.d.ts +5 -0
  425. package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
  426. package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
  427. package/lib/feature/feature.module.d.ts +6 -4
  428. package/lib/feature/index.d.ts +3 -1
  429. package/lib/filter/filter.module.d.ts +4 -28
  430. package/lib/filter/index.d.ts +16 -0
  431. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
  432. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  433. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
  434. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  435. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
  436. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
  437. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
  438. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  439. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
  440. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  441. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
  442. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  443. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  444. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  445. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
  446. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  447. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  448. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  449. package/lib/geo.module.d.ts +14 -24
  450. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  451. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  452. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
  453. package/lib/geometry/geometry-form-field/index.d.ts +5 -0
  454. package/lib/geometry/geometry.module.d.ts +5 -3
  455. package/lib/geometry/index.d.ts +1 -2
  456. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  457. package/lib/import-export/import-export/import-export.component.d.ts +1 -1
  458. package/lib/import-export/import-export.module.d.ts +4 -15
  459. package/lib/import-export/index.d.ts +4 -0
  460. package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
  461. package/lib/layer/index.d.ts +8 -0
  462. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  463. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  464. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  465. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  466. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  467. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  468. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  469. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  470. package/lib/layer/layer.module.d.ts +4 -18
  471. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  472. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  473. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  474. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  475. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  476. package/lib/map/index.d.ts +14 -0
  477. package/lib/map/info-section/info-section.component.d.ts +1 -1
  478. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  479. package/lib/map/map-center/map-center.component.d.ts +1 -1
  480. package/lib/map/map.module.d.ts +4 -7
  481. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  482. package/lib/map/offline-button/offline-button.component.d.ts +2 -2
  483. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  484. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  485. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  486. package/lib/map/shared/mapOffline.directive.d.ts +1 -1
  487. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  488. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  489. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  490. package/lib/measure/index.d.ts +1 -2
  491. package/lib/measure/measure.module.d.ts +3 -0
  492. package/lib/measure/measurer/index.d.ts +5 -0
  493. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  494. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  495. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  496. package/lib/measure/measurer/measurer.component.d.ts +2 -3
  497. package/lib/measure/measurer/measurer.module.d.ts +3 -18
  498. package/lib/metadata/index.d.ts +2 -0
  499. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  500. package/lib/metadata/metadata.module.d.ts +4 -7
  501. package/lib/overlay/overlay.module.d.ts +4 -1
  502. package/lib/overlay/shared/overlay.d.ts +1 -1
  503. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  504. package/lib/print/print/print.component.d.ts +1 -1
  505. package/lib/print/print-form/print-form.component.d.ts +1 -1
  506. package/lib/print/print.module.d.ts +4 -12
  507. package/lib/query/query.module.d.ts +4 -4
  508. package/lib/query/shared/query.directive.d.ts +1 -1
  509. package/lib/query/shared/query.service.d.ts +2 -3
  510. package/lib/search/index.d.ts +6 -4
  511. package/lib/search/search-bar/search-bar.component.d.ts +1 -1
  512. package/lib/search/search-bar/search-bar.module.d.ts +2 -16
  513. package/lib/search/search-results/index.d.ts +6 -0
  514. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  515. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  516. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  517. package/lib/search/search-results/search-results.component.d.ts +1 -1
  518. package/lib/search/search-results/search-results.module.d.ts +3 -21
  519. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  520. package/lib/search/search-selector/search-selector.module.d.ts +2 -11
  521. package/lib/search/search-settings/search-settings.component.d.ts +1 -1
  522. package/lib/search/search-settings/search-settings.module.d.ts +2 -12
  523. package/lib/search/search.module.d.ts +6 -7
  524. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  525. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  526. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  527. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  528. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  529. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  530. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  531. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  532. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
  533. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
  534. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
  535. package/lib/style/style.module.d.ts +5 -16
  536. package/lib/toast/toast.component.d.ts +1 -1
  537. package/lib/toast/toast.module.d.ts +4 -6
  538. package/lib/wkt/wkt.module.d.ts +3 -0
  539. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  540. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
  541. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  542. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
  543. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  544. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
  545. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  546. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
  547. package/lib/workspace/workspace.module.d.ts +5 -9
  548. package/locale/en.geo.json +3 -3
  549. package/locale/fr.geo.json +3 -3
  550. package/package.json +15 -13
  551. package/public_api.d.ts +10 -11
  552. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
  553. package/src/lib/catalog/catalog.theming.scss +5 -5
  554. package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
  555. package/src/lib/directions/directions.theming.scss +6 -6
  556. package/src/lib/draw/draw.theming.scss +32 -32
  557. package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
  558. package/src/lib/feature/feature.theming.scss +4 -4
  559. package/src/lib/measure/measure.theming.scss +5 -5
  560. package/src/lib/measure/measurer/measurer.theming.scss +26 -26
  561. package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
  562. package/src/lib/search/search.theming.scss +7 -7
  563. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  564. package/src/lib/workspace/workspace.theming.scss +6 -6
  565. package/esm2022/lib/datasource/datasource.module.mjs +0 -22
  566. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
  567. package/lib/datasource/datasource.module.d.ts +0 -8
  568. package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
@@ -1,8 +1,18 @@
1
- import { moveItemInArray } from '@angular/cdk/drag-drop';
1
+ import { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
2
+ import { AsyncPipe, NgClass, NgFor, NgIf } from '@angular/common';
2
3
  import { Component, EventEmitter, Input, Output } from '@angular/core';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatOptionModule } from '@angular/material/core';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatTooltipModule } from '@angular/material/tooltip';
3
12
  import { LanguageService } from '@igo2/core';
4
13
  import * as olObservable from 'ol/Observable';
5
14
  import * as olProj from 'ol/proj';
15
+ import { TranslateModule } from '@ngx-translate/core';
6
16
  import pointOnFeature from '@turf/point-on-feature';
7
17
  import { roundCoordTo } from '../../map/shared/map.utils';
8
18
  import { DirectionRelativePositionType } from '../shared/directions.enum';
@@ -10,17 +20,15 @@ import { computeRelativePosition, removeStopFromStore, updateStoreSorting } from
10
20
  import { StopsFeatureStore, StopsStore } from '../shared/store';
11
21
  import * as i0 from "@angular/core";
12
22
  import * as i1 from "@igo2/core";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/cdk/drag-drop";
23
+ import * as i2 from "@angular/material/form-field";
24
+ import * as i3 from "@angular/material/input";
15
25
  import * as i4 from "@angular/forms";
16
- import * as i5 from "@angular/material/icon";
17
- import * as i6 from "@angular/material/button";
18
- import * as i7 from "@angular/material/form-field";
19
- import * as i8 from "@angular/material/input";
20
- import * as i9 from "@angular/material/core";
21
- import * as i10 from "@angular/material/tooltip";
22
- import * as i11 from "@angular/material/autocomplete";
23
- import * as i12 from "@ngx-translate/core";
26
+ import * as i5 from "@angular/material/autocomplete";
27
+ import * as i6 from "@angular/material/core";
28
+ import * as i7 from "@angular/material/tooltip";
29
+ import * as i8 from "@angular/material/button";
30
+ import * as i9 from "@angular/material/icon";
31
+ import * as i10 from "@ngx-translate/core";
24
32
  export class DirectionsInputsComponent {
25
33
  languageService;
26
34
  invalidKeys = ['Control', 'Shift', 'Alt'];
@@ -169,13 +177,30 @@ export class DirectionsInputsComponent {
169
177
  });
170
178
  this.onMapClickEventKeys = [];
171
179
  }
172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectionsInputsComponent, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DirectionsInputsComponent, selector: "igo-directions-inputs", inputs: { stopsStore: "stopsStore", stopsFeatureStore: "stopsFeatureStore", projection: "projection", coordRoundedDecimals: "coordRoundedDecimals", debounce: "debounce", length: "length" }, outputs: { stopInputHasFocus: "stopInputHasFocus" }, ngImport: i0, template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\n <div\n touchleave\n (touchenter)=\"onStopEnter(stop)\"\n (touchleave)=\"onStopLeave()\"\n (mouseover)=\"onStopEnter(stop)\"\n (mouseleave)=\"onStopLeave()\"\n (cdkDragStarted)=\"stopIsDragged = true\"\n (cdkDragEnded)=\"stopIsDragged = false\"\n cdkDragLockAxis=\"y\"\n class=\"stop-box\"\n *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index\"\n cdkDrag\n >\n <div [ngClass]=\"getNgClass(stop)\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{ getPlaceholder(stop) }}</mat-label>\n <input\n id=\"{{ stop.id }}\"\n type=\"text\"\n [placeholder]=\"getPlaceholder(stop)\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"stop.text\"\n aria-label=\"Number\"\n matInput\n (focus)=\"onInputFocus(stop)\"\n [(ngModel)]=\"stop.text\"\n (keyup)=\"setStopText($event, stop)\"\n (keydown.enter)=\"$event.preventDefault()\"\n [matAutocomplete]=\"auto\"\n />\n <button\n *ngIf=\"\n (stop.text || stop.coordinates) &&\n stopWithHover &&\n stop.id === stopWithHover.id\n \"\n mat-icon-button\n matSuffix\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\n color=\"warn\"\n aria-label=\"Clear\"\n (click)=\"clearStop(stop)\"\n >\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n\n <mat-autocomplete\n [displayWith]=\"getOptionText\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"chooseProposal($event, stop)\"\n >\n <mat-optgroup\n *ngFor=\"let source of stop.searchProposals\"\n [label]=\"source.source.title\"\n [disabled]=\"source.source.enabled === false\"\n >\n <mat-option\n *ngFor=\"let result of source.results\"\n [value]=\"result\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"result.meta ? result.meta.title : ''\"\n >\n {{ result.meta ? result.meta.title : '' }}\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\"\n class=\"igo-form-button-group\"\n >\n <button\n class=\"swipe-vertical\"\n cdkDragHandle\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\n </button>\n\n <button\n *ngIf=\"(stopsStore.count$ | async) > 2\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\"\n color=\"warn\"\n (click)=\"removeStop(stop)\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .igo-input-container{display:flex;width:100%}:host .igo-input-container mat-form-field{flex:1}:host .igo-form-button-group{display:flex;align-items:center;padding-left:12px}:host .stops-list{max-width:100%;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden;padding:20px 10px}:host .swipe-vertical{cursor:move}:host .stop-box{color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff}:host .stop-box:not(:last-child){margin-bottom:16px}:host .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}:host .cdk-drag-placeholder{opacity:0}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i11.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
180
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DirectionsInputsComponent, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
181
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: DirectionsInputsComponent, isStandalone: true, selector: "igo-directions-inputs", inputs: { stopsStore: "stopsStore", stopsFeatureStore: "stopsFeatureStore", projection: "projection", coordRoundedDecimals: "coordRoundedDecimals", debounce: "debounce", length: "length" }, outputs: { stopInputHasFocus: "stopInputHasFocus" }, ngImport: i0, template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div\r\n touchleave\r\n (touchenter)=\"onStopEnter(stop)\"\r\n (touchleave)=\"onStopLeave()\"\r\n (mouseover)=\"onStopEnter(stop)\"\r\n (mouseleave)=\"onStopLeave()\"\r\n (cdkDragStarted)=\"stopIsDragged = true\"\r\n (cdkDragEnded)=\"stopIsDragged = false\"\r\n cdkDragLockAxis=\"y\"\r\n class=\"stop-box\"\r\n *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index\"\r\n cdkDrag\r\n >\r\n <div [ngClass]=\"getNgClass(stop)\">\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{ getPlaceholder(stop) }}</mat-label>\r\n <input\r\n id=\"{{ stop.id }}\"\r\n type=\"text\"\r\n [placeholder]=\"getPlaceholder(stop)\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"stop.text\"\r\n aria-label=\"Number\"\r\n matInput\r\n (focus)=\"onInputFocus(stop)\"\r\n [(ngModel)]=\"stop.text\"\r\n (keyup)=\"setStopText($event, stop)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <button\r\n *ngIf=\"\r\n (stop.text || stop.coordinates) &&\r\n stopWithHover &&\r\n stop.id === stopWithHover.id\r\n \"\r\n mat-icon-button\r\n matSuffix\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\r\n color=\"warn\"\r\n aria-label=\"Clear\"\r\n (click)=\"clearStop(stop)\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n\r\n <mat-autocomplete\r\n [displayWith]=\"getOptionText\"\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"chooseProposal($event, stop)\"\r\n >\r\n <mat-optgroup\r\n *ngFor=\"let source of stop.searchProposals\"\r\n [label]=\"source.source.title\"\r\n [disabled]=\"source.source.enabled === false\"\r\n >\r\n <mat-option\r\n *ngFor=\"let result of source.results\"\r\n [value]=\"result\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"result.meta ? result.meta.title : ''\"\r\n >\r\n {{ result.meta ? result.meta.title : '' }}\r\n </mat-option>\r\n </mat-optgroup>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\"\r\n class=\"igo-form-button-group\"\r\n >\r\n <button\r\n class=\"swipe-vertical\"\r\n cdkDragHandle\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"(stopsStore.count$ | async) > 2\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\"\r\n color=\"warn\"\r\n (click)=\"removeStop(stop)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .igo-input-container{display:flex;width:100%}:host .igo-input-container mat-form-field{flex:1}:host .igo-form-button-group{display:flex;align-items:center;padding-left:12px}:host .stops-list{max-width:100%;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden;padding:20px 10px}:host .swipe-vertical{cursor:move}:host .stop-box{color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff}:host .stop-box:not(:last-child){margin-bottom:16px}:host .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}:host .cdk-drag-placeholder{opacity:0}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
174
182
  }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectionsInputsComponent, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DirectionsInputsComponent, decorators: [{
176
184
  type: Component,
177
- args: [{ selector: 'igo-directions-inputs', template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\n <div\n touchleave\n (touchenter)=\"onStopEnter(stop)\"\n (touchleave)=\"onStopLeave()\"\n (mouseover)=\"onStopEnter(stop)\"\n (mouseleave)=\"onStopLeave()\"\n (cdkDragStarted)=\"stopIsDragged = true\"\n (cdkDragEnded)=\"stopIsDragged = false\"\n cdkDragLockAxis=\"y\"\n class=\"stop-box\"\n *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index\"\n cdkDrag\n >\n <div [ngClass]=\"getNgClass(stop)\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{ getPlaceholder(stop) }}</mat-label>\n <input\n id=\"{{ stop.id }}\"\n type=\"text\"\n [placeholder]=\"getPlaceholder(stop)\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"stop.text\"\n aria-label=\"Number\"\n matInput\n (focus)=\"onInputFocus(stop)\"\n [(ngModel)]=\"stop.text\"\n (keyup)=\"setStopText($event, stop)\"\n (keydown.enter)=\"$event.preventDefault()\"\n [matAutocomplete]=\"auto\"\n />\n <button\n *ngIf=\"\n (stop.text || stop.coordinates) &&\n stopWithHover &&\n stop.id === stopWithHover.id\n \"\n mat-icon-button\n matSuffix\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\n color=\"warn\"\n aria-label=\"Clear\"\n (click)=\"clearStop(stop)\"\n >\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n\n <mat-autocomplete\n [displayWith]=\"getOptionText\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"chooseProposal($event, stop)\"\n >\n <mat-optgroup\n *ngFor=\"let source of stop.searchProposals\"\n [label]=\"source.source.title\"\n [disabled]=\"source.source.enabled === false\"\n >\n <mat-option\n *ngFor=\"let result of source.results\"\n [value]=\"result\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"result.meta ? result.meta.title : ''\"\n >\n {{ result.meta ? result.meta.title : '' }}\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\"\n class=\"igo-form-button-group\"\n >\n <button\n class=\"swipe-vertical\"\n cdkDragHandle\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\n </button>\n\n <button\n *ngIf=\"(stopsStore.count$ | async) > 2\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\"\n color=\"warn\"\n (click)=\"removeStop(stop)\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .igo-input-container{display:flex;width:100%}:host .igo-input-container mat-form-field{flex:1}:host .igo-form-button-group{display:flex;align-items:center;padding-left:12px}:host .stops-list{max-width:100%;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden;padding:20px 10px}:host .swipe-vertical{cursor:move}:host .stop-box{color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff}:host .stop-box:not(:last-child){margin-bottom:16px}:host .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}:host .cdk-drag-placeholder{opacity:0}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
178
- }], ctorParameters: function () { return [{ type: i1.LanguageService }]; }, propDecorators: { stopsStore: [{
185
+ args: [{ selector: 'igo-directions-inputs', standalone: true, imports: [
186
+ CdkDropList,
187
+ NgFor,
188
+ CdkDrag,
189
+ NgClass,
190
+ MatFormFieldModule,
191
+ MatInputModule,
192
+ FormsModule,
193
+ MatAutocompleteModule,
194
+ MatTooltipModule,
195
+ NgIf,
196
+ MatButtonModule,
197
+ MatIconModule,
198
+ MatOptionModule,
199
+ CdkDragHandle,
200
+ AsyncPipe,
201
+ TranslateModule
202
+ ], template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div\r\n touchleave\r\n (touchenter)=\"onStopEnter(stop)\"\r\n (touchleave)=\"onStopLeave()\"\r\n (mouseover)=\"onStopEnter(stop)\"\r\n (mouseleave)=\"onStopLeave()\"\r\n (cdkDragStarted)=\"stopIsDragged = true\"\r\n (cdkDragEnded)=\"stopIsDragged = false\"\r\n cdkDragLockAxis=\"y\"\r\n class=\"stop-box\"\r\n *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index\"\r\n cdkDrag\r\n >\r\n <div [ngClass]=\"getNgClass(stop)\">\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{ getPlaceholder(stop) }}</mat-label>\r\n <input\r\n id=\"{{ stop.id }}\"\r\n type=\"text\"\r\n [placeholder]=\"getPlaceholder(stop)\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"stop.text\"\r\n aria-label=\"Number\"\r\n matInput\r\n (focus)=\"onInputFocus(stop)\"\r\n [(ngModel)]=\"stop.text\"\r\n (keyup)=\"setStopText($event, stop)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <button\r\n *ngIf=\"\r\n (stop.text || stop.coordinates) &&\r\n stopWithHover &&\r\n stop.id === stopWithHover.id\r\n \"\r\n mat-icon-button\r\n matSuffix\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\r\n color=\"warn\"\r\n aria-label=\"Clear\"\r\n (click)=\"clearStop(stop)\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n\r\n <mat-autocomplete\r\n [displayWith]=\"getOptionText\"\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"chooseProposal($event, stop)\"\r\n >\r\n <mat-optgroup\r\n *ngFor=\"let source of stop.searchProposals\"\r\n [label]=\"source.source.title\"\r\n [disabled]=\"source.source.enabled === false\"\r\n >\r\n <mat-option\r\n *ngFor=\"let result of source.results\"\r\n [value]=\"result\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"result.meta ? result.meta.title : ''\"\r\n >\r\n {{ result.meta ? result.meta.title : '' }}\r\n </mat-option>\r\n </mat-optgroup>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\"\r\n class=\"igo-form-button-group\"\r\n >\r\n <button\r\n class=\"swipe-vertical\"\r\n cdkDragHandle\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"(stopsStore.count$ | async) > 2\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\"\r\n color=\"warn\"\r\n (click)=\"removeStop(stop)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .igo-input-container{display:flex;width:100%}:host .igo-input-container mat-form-field{flex:1}:host .igo-form-button-group{display:flex;align-items:center;padding-left:12px}:host .stops-list{max-width:100%;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden;padding:20px 10px}:host .swipe-vertical{cursor:move}:host .stop-box{color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff}:host .stop-box:not(:last-child){margin-bottom:16px}:host .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}:host .cdk-drag-placeholder{opacity:0}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
203
+ }], ctorParameters: () => [{ type: i1.LanguageService }], propDecorators: { stopsStore: [{
179
204
  type: Input
180
205
  }], stopsFeatureStore: [{
181
206
  type: Input
@@ -190,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
190
215
  }], stopInputHasFocus: [{
191
216
  type: Output
192
217
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1pbnB1dHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLWlucHV0cy9kaXJlY3Rpb25zLWlucHV0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtaW5wdXRzL2RpcmVjdGlvbnMtaW5wdXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0MsT0FBTyxLQUFLLFlBQVksTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFbEMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNuQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLHlCQUF5QjtJQWVoQjtJQWRILFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsbUJBQW1CLEdBQUcsRUFB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QXpCLHlCQUF5QixnVENsQ3RDLHV4R0FxR0E7OzRGRG5FYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO3NHQVN4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbE9ic2VydmFibGUgZnJvbSAnb2wvT2JzZXJ2YWJsZSc7XHJcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcclxuXHJcbmltcG9ydCBwb2ludE9uRmVhdHVyZSBmcm9tICdAdHVyZi9wb2ludC1vbi1mZWF0dXJlJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyByb3VuZENvb3JkVG8gfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuZW51bSc7XHJcbmltcG9ydCB7IFN0b3AgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uLFxyXG4gIHJlbW92ZVN0b3BGcm9tU3RvcmUsXHJcbiAgdXBkYXRlU3RvcmVTb3J0aW5nXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5pbXBvcnQgeyBTdG9wc0ZlYXR1cmVTdG9yZSwgU3RvcHNTdG9yZSB9IGZyb20gJy4uL3NoYXJlZC9zdG9yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kaXJlY3Rpb25zLWlucHV0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpcmVjdGlvbnMtaW5wdXRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaXJlY3Rpb25zLWlucHV0cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXJlY3Rpb25zSW5wdXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGludmFsaWRLZXlzID0gWydDb250cm9sJywgJ1NoaWZ0JywgJ0FsdCddO1xyXG4gIHByaXZhdGUgb25NYXBDbGlja0V2ZW50S2V5cyA9IFtdO1xyXG4gIHB1YmxpYyBzdG9wV2l0aEhvdmVyOiBTdG9wO1xyXG4gIHB1YmxpYyBzdG9wSXNEcmFnZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3RvcHNTdG9yZTogU3RvcHNTdG9yZTtcclxuICBASW5wdXQoKSBzdG9wc0ZlYXR1cmVTdG9yZTogU3RvcHNGZWF0dXJlU3RvcmU7XHJcbiAgQElucHV0KCkgcHJvamVjdGlvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvb3JkUm91bmRlZERlY2ltYWxzOiBudW1iZXIgPSA2O1xyXG5cclxuICBASW5wdXQoKSBkZWJvdW5jZTogbnVtYmVyID0gMjAwO1xyXG4gIEBJbnB1dCgpIGxlbmd0aDogbnVtYmVyID0gMjtcclxuXHJcbiAgQE91dHB1dCgpIHN0b3BJbnB1dEhhc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVubGlzdGVuTWFwU2luZ2xlQ2xpY2soKTtcclxuICB9XHJcbiAgb25TdG9wRW50ZXIoc3RvcDogU3RvcCkge1xyXG4gICAgdGhpcy5zdG9wV2l0aEhvdmVyID0gc3RvcDtcclxuICB9XHJcbiAgb25TdG9wTGVhdmUoKSB7XHJcbiAgICB0aGlzLnN0b3BXaXRoSG92ZXIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25UZXh0KG9wdGlvbikge1xyXG4gICAgaWYgKG9wdGlvbiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICByZXR1cm4gb3B0aW9uPy5tZXRhID8gb3B0aW9uLm1ldGEudGl0bGUgOiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBvcHRpb247XHJcbiAgfVxyXG5cclxuICBjaG9vc2VQcm9wb3NhbChcclxuICAgIGV2ZW50OiB7IHNvdXJjZTogTWF0QXV0b2NvbXBsZXRlOyBvcHRpb246IE1hdE9wdGlvbiB9LFxyXG4gICAgc3RvcDogU3RvcFxyXG4gICkge1xyXG4gICAgY29uc3QgcmVzdWx0OiBGZWF0dXJlID0gZXZlbnQub3B0aW9uLnZhbHVlO1xyXG4gICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICBsZXQgZ2VvbUNvb3JkO1xyXG4gICAgICBjb25zdCBnZW9tID0gcmVzdWx0Lmdlb21ldHJ5O1xyXG4gICAgICBpZiAoZ2VvbS50eXBlID09PSAnUG9pbnQnKSB7XHJcbiAgICAgICAgZ2VvbUNvb3JkID0gZ2VvbS5jb29yZGluYXRlcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBwb2ludCA9IHBvaW50T25GZWF0dXJlKHJlc3VsdC5nZW9tZXRyeSk7XHJcbiAgICAgICAgZ2VvbUNvb3JkID0gW1xyXG4gICAgICAgICAgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICBwb2ludC5nZW9tZXRyeS5jb29yZGluYXRlc1sxXVxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGdlb21Db29yZCkge1xyXG4gICAgICAgIHN0b3AuY29vcmRpbmF0ZXMgPSBnZW9tQ29vcmQ7XHJcbiAgICAgICAgc3RvcC50ZXh0ID0gcmVzdWx0Lm1ldGEudGl0bGU7XHJcbiAgICAgICAgdGhpcy5zdG9wc1N0b3JlLnVwZGF0ZShzdG9wKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U3RvcFRleHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHN0b3A6IFN0b3ApIHtcclxuICAgIHRoaXMudW5saXN0ZW5NYXBTaW5nbGVDbGljaygpO1xyXG4gICAgY29uc3QgdGVybSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgICBpZiAodGVybS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5jbGVhclN0b3Aoc3RvcCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsaWRhdGVUZXJtKHRlcm0pKSB7XHJcbiAgICAgIHN0b3AudGV4dCA9IHRlcm07XHJcbiAgICAgIHRoaXMuc3RvcHNTdG9yZS51cGRhdGUoc3RvcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZVRlcm0odGVybTogc3RyaW5nKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMua2V5SXNWYWxpZCh0ZXJtKSAmJlxyXG4gICAgICAodGVybS5sZW5ndGggPj0gdGhpcy5sZW5ndGggfHwgdGVybS5sZW5ndGggPT09IDApXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGtleUlzVmFsaWQoa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWRLZXlzLmZpbmQoKHZhbHVlKSA9PiB2YWx1ZSA9PT0ga2V5KSA9PT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmdDbGFzcyhzdG9wOiBTdG9wKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5zdG9wV2l0aEhvdmVyKSB7XHJcbiAgICAgIHJldHVybiAnaWdvLWlucHV0LWNvbnRhaW5lcic7XHJcbiAgICB9IGVsc2UgaWYgKHN0b3AuaWQgPT09IHRoaXMuc3RvcFdpdGhIb3Zlci5pZCkge1xyXG4gICAgICByZXR1cm4gJ2lnby1pbnB1dC1jb250YWluZXIgcmVkdWNlJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnaWdvLWlucHV0LWNvbnRhaW5lcic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlcihzdG9wOiBTdG9wKTogc3RyaW5nIHtcclxuICAgIGxldCBleHRyYSA9ICcnO1xyXG4gICAgaWYgKHN0b3AucmVsYXRpdmVQb3NpdGlvbikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RvcC5yZWxhdGl2ZVBvc2l0aW9uID09PSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5JbnRlcm1lZGlhdGVcclxuICAgICAgKSB7XHJcbiAgICAgICAgZXh0cmEgPSAnICMnICsgc3RvcC5wb3NpdGlvbjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uJyArIHN0b3AucmVsYXRpdmVQb3NpdGlvblxyXG4gICAgICAgICkgKyBleHRyYVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlU3RvcChzdG9wOiBTdG9wKSB7XHJcbiAgICByZW1vdmVTdG9wRnJvbVN0b3JlKHRoaXMuc3RvcHNTdG9yZSwgc3RvcCk7XHJcbiAgfVxyXG5cclxuICBjbGVhclN0b3Aoc3RvcDogU3RvcCkge1xyXG4gICAgdGhpcy5zdG9wc1N0b3JlLnVwZGF0ZSh7XHJcbiAgICAgIGlkOiBzdG9wLmlkLFxyXG4gICAgICByZWxhdGl2ZVBvc2l0aW9uOiBzdG9wLnJlbGF0aXZlUG9zaXRpb24sXHJcbiAgICAgIHBvc2l0aW9uOiBzdG9wLnBvc2l0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgdGhpcy5tb3ZlU3RvcHMoZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW92ZVN0b3BzKGZyb21JbmRleCwgdG9JbmRleCkge1xyXG4gICAgaWYgKGZyb21JbmRleCAhPT0gdG9JbmRleCkge1xyXG4gICAgICBjb25zdCBzdG9wcyA9IFsuLi50aGlzLnN0b3BzU3RvcmUudmlldy5hbGwoKV07XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShzdG9wcywgZnJvbUluZGV4LCB0b0luZGV4KTtcclxuICAgICAgc3RvcHMubWFwKChzdG9wLCBpKSA9PiB7XHJcbiAgICAgICAgc3RvcC5yZWxhdGl2ZVBvc2l0aW9uID0gY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oaSwgc3RvcHMubGVuZ3RoKTtcclxuICAgICAgICBzdG9wLnBvc2l0aW9uID0gaTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3RvcHNTdG9yZS51cGRhdGVNYW55KHN0b3BzKTtcclxuICAgICAgdXBkYXRlU3RvcmVTb3J0aW5nKHRoaXMuc3RvcHNTdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0Rm9jdXMoc3RvcDogU3RvcCkge1xyXG4gICAgaWYgKCFzdG9wLnRleHQgfHwgc3RvcC50ZXh0Py5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy51bmxpc3Rlbk1hcFNpbmdsZUNsaWNrKCk7XHJcbiAgICAgIHRoaXMuc3RvcElucHV0SGFzRm9jdXMuZW1pdCh0cnVlKTtcclxuICAgICAgdGhpcy5saXN0ZW5NYXBTaW5nbGVDbGljayhzdG9wKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuTWFwU2luZ2xlQ2xpY2soc3RvcDogU3RvcCkge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5zdG9wc0ZlYXR1cmVTdG9yZS5sYXllci5tYXAub2wub25jZShcclxuICAgICAgJ3NpbmdsZWNsaWNrJyxcclxuICAgICAgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2xpY2tDb29yZGluYXRlcyA9IG9sUHJvai50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBldmVudC5jb29yZGluYXRlLFxyXG4gICAgICAgICAgdGhpcy5zdG9wc0ZlYXR1cmVTdG9yZS5sYXllci5tYXAucHJvamVjdGlvbixcclxuICAgICAgICAgIHRoaXMucHJvamVjdGlvblxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3Qgcm91bmRlZENvb3JkID0gcm91bmRDb29yZFRvKFxyXG4gICAgICAgICAgY2xpY2tDb29yZGluYXRlcyBhcyBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgICAgICAgdGhpcy5jb29yZFJvdW5kZWREZWNpbWFsc1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgc3RvcC50ZXh0ID0gcm91bmRlZENvb3JkLmpvaW4oJywnKTtcclxuICAgICAgICBzdG9wLmNvb3JkaW5hdGVzID0gcm91bmRlZENvb3JkO1xyXG4gICAgICAgIHRoaXMuc3RvcHNTdG9yZS51cGRhdGUoc3RvcCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN0b3BJbnB1dEhhc0ZvY3VzLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0sIDUwMCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLm9uTWFwQ2xpY2tFdmVudEtleXMucHVzaChrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1bmxpc3Rlbk1hcFNpbmdsZUNsaWNrKCkge1xyXG4gICAgdGhpcy5vbk1hcENsaWNrRXZlbnRLZXlzLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIG9sT2JzZXJ2YWJsZS51bkJ5S2V5KGtleSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub25NYXBDbGlja0V2ZW50S2V5cyA9IFtdO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwic3RvcHMtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gIDxkaXZcbiAgICB0b3VjaGxlYXZlXG4gICAgKHRvdWNoZW50ZXIpPVwib25TdG9wRW50ZXIoc3RvcClcIlxuICAgICh0b3VjaGxlYXZlKT1cIm9uU3RvcExlYXZlKClcIlxuICAgIChtb3VzZW92ZXIpPVwib25TdG9wRW50ZXIoc3RvcClcIlxuICAgIChtb3VzZWxlYXZlKT1cIm9uU3RvcExlYXZlKClcIlxuICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdG9wSXNEcmFnZ2VkID0gdHJ1ZVwiXG4gICAgKGNka0RyYWdFbmRlZCk9XCJzdG9wSXNEcmFnZ2VkID0gZmFsc2VcIlxuICAgIGNka0RyYWdMb2NrQXhpcz1cInlcIlxuICAgIGNsYXNzPVwic3RvcC1ib3hcIlxuICAgICpuZ0Zvcj1cImxldCBzdG9wIG9mIHN0b3BzU3RvcmUudmlldy5hbGwkKCkgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2RrRHJhZ1xuICA+XG4gICAgPGRpdiBbbmdDbGFzc109XCJnZXROZ0NsYXNzKHN0b3ApXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGdldFBsYWNlaG9sZGVyKHN0b3ApIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGlkPVwie3sgc3RvcC5pZCB9fVwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcihzdG9wKVwiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwic3RvcC50ZXh0XCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTnVtYmVyXCJcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoc3RvcClcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic3RvcC50ZXh0XCJcbiAgICAgICAgICAoa2V5dXApPVwic2V0U3RvcFRleHQoJGV2ZW50LCBzdG9wKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgKHN0b3AudGV4dCB8fCBzdG9wLmNvb3JkaW5hdGVzKSAmJlxuICAgICAgICAgICAgc3RvcFdpdGhIb3ZlciAmJlxuICAgICAgICAgICAgc3RvcC5pZCA9PT0gc3RvcFdpdGhIb3Zlci5pZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uY2xlYXJTdG9wJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclN0b3Aoc3RvcClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImdldE9wdGlvblRleHRcIlxuICAgICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hvb3NlUHJvcG9zYWwoJGV2ZW50LCBzdG9wKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGdyb3VwXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc291cmNlIG9mIHN0b3Auc2VhcmNoUHJvcG9zYWxzXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJzb3VyY2Uuc291cmNlLnRpdGxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzb3VyY2Uuc291cmNlLmVuYWJsZWQgPT09IGZhbHNlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHNvdXJjZS5yZXN1bHRzXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJlc3VsdFwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJyZXN1bHQubWV0YSA/IHJlc3VsdC5tZXRhLnRpdGxlIDogJydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByZXN1bHQubWV0YSA/IHJlc3VsdC5tZXRhLnRpdGxlIDogJycgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiIXN0b3BJc0RyYWdnZWQgJiYgc3RvcFdpdGhIb3ZlciAmJiBzdG9wLmlkID09PSBzdG9wV2l0aEhvdmVyLmlkXCJcbiAgICAgIGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic3dpcGUtdmVydGljYWxcIlxuICAgICAgICBjZGtEcmFnSGFuZGxlXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ubW92ZVN0b3AnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnZXN0dXJlLXN3aXBlLXZlcnRpY2FsXCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiKHN0b3BzU3RvcmUuY291bnQkIHwgYXN5bmMpID4gMlwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ucmVtb3ZlU3RvcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlU3RvcChzdG9wKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1pbnB1dHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLWlucHV0cy9kaXJlY3Rpb25zLWlucHV0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtaW5wdXRzL2RpcmVjdGlvbnMtaW5wdXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBRVAsYUFBYSxFQUNiLFdBQVcsRUFDWCxlQUFlLEVBQ2hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFFTCxxQkFBcUIsRUFDdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFB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K0JBQ0UsdUJBQXVCLGNBR3JCLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxlQUFlO3FCQUNoQjtvRkFPUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENka0RyYWcsXHJcbiAgQ2RrRHJhZ0Ryb3AsXHJcbiAgQ2RrRHJhZ0hhbmRsZSxcclxuICBDZGtEcm9wTGlzdCxcclxuICBtb3ZlSXRlbUluQXJyYXlcclxufSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIE1hdEF1dG9jb21wbGV0ZSxcclxuICBNYXRBdXRvY29tcGxldGVNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRPcHRpb24sIE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbE9ic2VydmFibGUgZnJvbSAnb2wvT2JzZXJ2YWJsZSc7XHJcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgcG9pbnRPbkZlYXR1cmUgZnJvbSAnQHR1cmYvcG9pbnQtb24tZmVhdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgcm91bmRDb29yZFRvIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBTdG9wIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtcclxuICBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbixcclxuICByZW1vdmVTdG9wRnJvbVN0b3JlLFxyXG4gIHVwZGF0ZVN0b3JlU29ydGluZ1xyXG59IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLnV0aWxzJztcclxuaW1wb3J0IHsgU3RvcHNGZWF0dXJlU3RvcmUsIFN0b3BzU3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZGlyZWN0aW9ucy1pbnB1dHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXJlY3Rpb25zLWlucHV0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlyZWN0aW9ucy1pbnB1dHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENka0Ryb3BMaXN0LFxyXG4gICAgTmdGb3IsXHJcbiAgICBDZGtEcmFnLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTmdJZixcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBDZGtEcmFnSGFuZGxlLFxyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc0lucHV0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBpbnZhbGlkS2V5cyA9IFsnQ29udHJvbCcsICdTaGlmdCcsICdBbHQnXTtcclxuICBwcml2YXRlIG9uTWFwQ2xpY2tFdmVudEtleXMgPSBbXTtcclxuICBwdWJsaWMgc3RvcFdpdGhIb3ZlcjogU3RvcDtcclxuICBwdWJsaWMgc3RvcElzRHJhZ2dlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmU7XHJcbiAgQElucHV0KCkgc3RvcHNGZWF0dXJlU3RvcmU6IFN0b3BzRmVhdHVyZVN0b3JlO1xyXG4gIEBJbnB1dCgpIHByb2plY3Rpb246IHN0cmluZztcclxuICBASW5wdXQoKSBjb29yZFJvdW5kZWREZWNpbWFsczogbnVtYmVyID0gNjtcclxuXHJcbiAgQElucHV0KCkgZGVib3VuY2U6IG51bWJlciA9IDIwMDtcclxuICBASW5wdXQoKSBsZW5ndGg6IG51bWJlciA9IDI7XHJcblxyXG4gIEBPdXRwdXQoKSBzdG9wSW5wdXRIYXNGb2N1czogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bmxpc3Rlbk1hcFNpbmdsZUNsaWNrKCk7XHJcbiAgfVxyXG4gIG9uU3RvcEVudGVyKHN0b3A6IFN0b3ApIHtcclxuICAgIHRoaXMuc3RvcFdpdGhIb3ZlciA9IHN0b3A7XHJcbiAgfVxyXG4gIG9uU3RvcExlYXZlKCkge1xyXG4gICAgdGhpcy5zdG9wV2l0aEhvdmVyID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3B0aW9uVGV4dChvcHRpb24pIHtcclxuICAgIGlmIChvcHRpb24gaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgcmV0dXJuIG9wdGlvbj8ubWV0YSA/IG9wdGlvbi5tZXRhLnRpdGxlIDogJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0aW9uO1xyXG4gIH1cclxuXHJcbiAgY2hvb3NlUHJvcG9zYWwoXHJcbiAgICBldmVudDogeyBzb3VyY2U6IE1hdEF1dG9jb21wbGV0ZTsgb3B0aW9uOiBNYXRPcHRpb24gfSxcclxuICAgIHN0b3A6IFN0b3BcclxuICApIHtcclxuICAgIGNvbnN0IHJlc3VsdDogRmVhdHVyZSA9IGV2ZW50Lm9wdGlvbi52YWx1ZTtcclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgbGV0IGdlb21Db29yZDtcclxuICAgICAgY29uc3QgZ2VvbSA9IHJlc3VsdC5nZW9tZXRyeTtcclxuICAgICAgaWYgKGdlb20udHlwZSA9PT0gJ1BvaW50Jykge1xyXG4gICAgICAgIGdlb21Db29yZCA9IGdlb20uY29vcmRpbmF0ZXM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludE9uRmVhdHVyZShyZXN1bHQuZ2VvbWV0cnkpO1xyXG4gICAgICAgIGdlb21Db29yZCA9IFtcclxuICAgICAgICAgIHBvaW50Lmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLFxyXG4gICAgICAgICAgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1cclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChnZW9tQ29vcmQpIHtcclxuICAgICAgICBzdG9wLmNvb3JkaW5hdGVzID0gZ2VvbUNvb3JkO1xyXG4gICAgICAgIHN0b3AudGV4dCA9IHJlc3VsdC5tZXRhLnRpdGxlO1xyXG4gICAgICAgIHRoaXMuc3RvcHNTdG9yZS51cGRhdGUoc3RvcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFN0b3BUZXh0KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBzdG9wOiBTdG9wKSB7XHJcbiAgICB0aGlzLnVubGlzdGVuTWFwU2luZ2xlQ2xpY2soKTtcclxuICAgIGNvbnN0IHRlcm0gPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG4gICAgaWYgKHRlcm0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdG9wKHN0b3ApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhbGlkYXRlVGVybSh0ZXJtKSkge1xyXG4gICAgICBzdG9wLnRleHQgPSB0ZXJtO1xyXG4gICAgICB0aGlzLnN0b3BzU3RvcmUudXBkYXRlKHN0b3ApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVUZXJtKHRlcm06IHN0cmluZykge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmtleUlzVmFsaWQodGVybSkgJiZcclxuICAgICAgKHRlcm0ubGVuZ3RoID49IHRoaXMubGVuZ3RoIHx8IHRlcm0ubGVuZ3RoID09PSAwKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBrZXlJc1ZhbGlkKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkS2V5cy5maW5kKCh2YWx1ZSkgPT4gdmFsdWUgPT09IGtleSkgPT09IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGdldE5nQ2xhc3Moc3RvcDogU3RvcCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuc3RvcFdpdGhIb3Zlcikge1xyXG4gICAgICByZXR1cm4gJ2lnby1pbnB1dC1jb250YWluZXInO1xyXG4gICAgfSBlbHNlIGlmIChzdG9wLmlkID09PSB0aGlzLnN0b3BXaXRoSG92ZXIuaWQpIHtcclxuICAgICAgcmV0dXJuICdpZ28taW5wdXQtY29udGFpbmVyIHJlZHVjZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2lnby1pbnB1dC1jb250YWluZXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UGxhY2Vob2xkZXIoc3RvcDogU3RvcCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZXh0cmEgPSAnJztcclxuICAgIGlmIChzdG9wLnJlbGF0aXZlUG9zaXRpb24pIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0b3AucmVsYXRpdmVQb3NpdGlvbiA9PT0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuSW50ZXJtZWRpYXRlXHJcbiAgICAgICkge1xyXG4gICAgICAgIGV4dHJhID0gJyAjJyArIHN0b3AucG9zaXRpb247XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLicgKyBzdG9wLnJlbGF0aXZlUG9zaXRpb25cclxuICAgICAgICApICsgZXh0cmFcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZVN0b3Aoc3RvcDogU3RvcCkge1xyXG4gICAgcmVtb3ZlU3RvcEZyb21TdG9yZSh0aGlzLnN0b3BzU3RvcmUsIHN0b3ApO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTdG9wKHN0b3A6IFN0b3ApIHtcclxuICAgIHRoaXMuc3RvcHNTdG9yZS51cGRhdGUoe1xyXG4gICAgICBpZDogc3RvcC5pZCxcclxuICAgICAgcmVsYXRpdmVQb3NpdGlvbjogc3RvcC5yZWxhdGl2ZVBvc2l0aW9uLFxyXG4gICAgICBwb3NpdGlvbjogc3RvcC5wb3NpdGlvblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIHRoaXMubW92ZVN0b3BzKGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdmVTdG9wcyhmcm9tSW5kZXgsIHRvSW5kZXgpIHtcclxuICAgIGlmIChmcm9tSW5kZXggIT09IHRvSW5kZXgpIHtcclxuICAgICAgY29uc3Qgc3RvcHMgPSBbLi4udGhpcy5zdG9wc1N0b3JlLnZpZXcuYWxsKCldO1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkoc3RvcHMsIGZyb21JbmRleCwgdG9JbmRleCk7XHJcbiAgICAgIHN0b3BzLm1hcCgoc3RvcCwgaSkgPT4ge1xyXG4gICAgICAgIHN0b3AucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKGksIHN0b3BzLmxlbmd0aCk7XHJcbiAgICAgICAgc3RvcC5wb3NpdGlvbiA9IGk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnN0b3BzU3RvcmUudXBkYXRlTWFueShzdG9wcyk7XHJcbiAgICAgIHVwZGF0ZVN0b3JlU29ydGluZyh0aGlzLnN0b3BzU3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dEZvY3VzKHN0b3A6IFN0b3ApIHtcclxuICAgIGlmICghc3RvcC50ZXh0IHx8IHN0b3AudGV4dD8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5NYXBTaW5nbGVDbGljaygpO1xyXG4gICAgICB0aGlzLnN0b3BJbnB1dEhhc0ZvY3VzLmVtaXQodHJ1ZSk7XHJcbiAgICAgIHRoaXMubGlzdGVuTWFwU2luZ2xlQ2xpY2soc3RvcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxpc3Rlbk1hcFNpbmdsZUNsaWNrKHN0b3A6IFN0b3ApIHtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuc3RvcHNGZWF0dXJlU3RvcmUubGF5ZXIubWFwLm9sLm9uY2UoXHJcbiAgICAgICdzaW5nbGVjbGljaycsXHJcbiAgICAgIChldmVudCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrQ29vcmRpbmF0ZXMgPSBvbFByb2oudHJhbnNmb3JtKFxyXG4gICAgICAgICAgZXZlbnQuY29vcmRpbmF0ZSxcclxuICAgICAgICAgIHRoaXMuc3RvcHNGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb24sXHJcbiAgICAgICAgICB0aGlzLnByb2plY3Rpb25cclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHJvdW5kZWRDb29yZCA9IHJvdW5kQ29vcmRUbyhcclxuICAgICAgICAgIGNsaWNrQ29vcmRpbmF0ZXMgYXMgW251bWJlciwgbnVtYmVyXSxcclxuICAgICAgICAgIHRoaXMuY29vcmRSb3VuZGVkRGVjaW1hbHNcclxuICAgICAgICApO1xyXG4gICAgICAgIHN0b3AudGV4dCA9IHJvdW5kZWRDb29yZC5qb2luKCcsJyk7XHJcbiAgICAgICAgc3RvcC5jb29yZGluYXRlcyA9IHJvdW5kZWRDb29yZDtcclxuICAgICAgICB0aGlzLnN0b3BzU3RvcmUudXBkYXRlKHN0b3ApO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdG9wSW5wdXRIYXNGb2N1cy5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9LCA1MDApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5vbk1hcENsaWNrRXZlbnRLZXlzLnB1c2goa2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5saXN0ZW5NYXBTaW5nbGVDbGljaygpIHtcclxuICAgIHRoaXMub25NYXBDbGlja0V2ZW50S2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICBvbE9ic2VydmFibGUudW5CeUtleShrZXkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9uTWFwQ2xpY2tFdmVudEtleXMgPSBbXTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjZGtEcm9wTGlzdCBjbGFzcz1cInN0b3BzLWxpc3RcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgIHRvdWNobGVhdmVcclxuICAgICh0b3VjaGVudGVyKT1cIm9uU3RvcEVudGVyKHN0b3ApXCJcclxuICAgICh0b3VjaGxlYXZlKT1cIm9uU3RvcExlYXZlKClcIlxyXG4gICAgKG1vdXNlb3Zlcik9XCJvblN0b3BFbnRlcihzdG9wKVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJvblN0b3BMZWF2ZSgpXCJcclxuICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdG9wSXNEcmFnZ2VkID0gdHJ1ZVwiXHJcbiAgICAoY2RrRHJhZ0VuZGVkKT1cInN0b3BJc0RyYWdnZWQgPSBmYWxzZVwiXHJcbiAgICBjZGtEcmFnTG9ja0F4aXM9XCJ5XCJcclxuICAgIGNsYXNzPVwic3RvcC1ib3hcIlxyXG4gICAgKm5nRm9yPVwibGV0IHN0b3Agb2Ygc3RvcHNTdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcclxuICAgIGNka0RyYWdcclxuICA+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImdldE5nQ2xhc3Moc3RvcClcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7IGdldFBsYWNlaG9sZGVyKHN0b3ApIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cInt7IHN0b3AuaWQgfX1cIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKHN0b3ApXCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwic3RvcC50ZXh0XCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoc3RvcClcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzdG9wLnRleHRcIlxyXG4gICAgICAgICAgKGtleXVwKT1cInNldFN0b3BUZXh0KCRldmVudCwgc3RvcClcIlxyXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxyXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgIChzdG9wLnRleHQgfHwgc3RvcC5jb29yZGluYXRlcykgJiZcclxuICAgICAgICAgICAgc3RvcFdpdGhIb3ZlciAmJlxyXG4gICAgICAgICAgICBzdG9wLmlkID09PSBzdG9wV2l0aEhvdmVyLmlkXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uY2xlYXJTdG9wJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhclN0b3Aoc3RvcClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImdldE9wdGlvblRleHRcIlxyXG4gICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNob29zZVByb3Bvc2FsKCRldmVudCwgc3RvcClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBzdG9wLnNlYXJjaFByb3Bvc2Fsc1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJzb3VyY2Uuc291cmNlLnRpdGxlXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNvdXJjZS5zb3VyY2UuZW5hYmxlZCA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZXN1bHQgb2Ygc291cmNlLnJlc3VsdHNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJyZXN1bHRcIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInJlc3VsdC5tZXRhID8gcmVzdWx0Lm1ldGEudGl0bGUgOiAnJ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyByZXN1bHQubWV0YSA/IHJlc3VsdC5tZXRhLnRpdGxlIDogJycgfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtb3B0Z3JvdXA+XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIiFzdG9wSXNEcmFnZ2VkICYmIHN0b3BXaXRoSG92ZXIgJiYgc3RvcC5pZCA9PT0gc3RvcFdpdGhIb3Zlci5pZFwiXHJcbiAgICAgIGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwic3dpcGUtdmVydGljYWxcIlxyXG4gICAgICAgIGNka0RyYWdIYW5kbGVcclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLm1vdmVTdG9wJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2VzdHVyZS1zd2lwZS12ZXJ0aWNhbFwiPjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwiKHN0b3BzU3RvcmUuY291bnQkIHwgYXN5bmMpID4gMlwiXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5yZW1vdmVTdG9wJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlU3RvcChzdG9wKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './directions-inputs.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtaW5wdXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtaW5wdXRzLmNvbXBvbmVudCc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtaW5wdXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtaW5wdXRzLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,8 +1,17 @@
1
+ import { NgClass, NgFor, NgIf } from '@angular/common';
1
2
  import { ChangeDetectorRef, Component, Input } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatOptionModule } from '@angular/material/core';
5
+ import { MatDividerModule } from '@angular/material/divider';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatListModule } from '@angular/material/list';
9
+ import { MatSelectModule } from '@angular/material/select';
2
10
  import { LanguageService } from '@igo2/core';
3
11
  import olFeature from 'ol/Feature';
4
12
  import OlGeoJSON from 'ol/format/GeoJSON';
5
13
  import * as olGeom from 'ol/geom';
14
+ import { TranslateModule } from '@ngx-translate/core';
6
15
  import { debounceTime } from 'rxjs/operators';
7
16
  import { FEATURE } from '../../feature/shared/feature.enums';
8
17
  import { DirectionType } from '../shared/directions.enum';
@@ -10,15 +19,14 @@ import { formatDistance, formatDuration, formatInstruction } from '../shared/dir
10
19
  import { RoutesFeatureStore, StepFeatureStore } from '../shared/store';
11
20
  import * as i0 from "@angular/core";
12
21
  import * as i1 from "@igo2/core";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/forms";
15
- import * as i4 from "@angular/material/icon";
16
- import * as i5 from "@angular/material/list";
22
+ import * as i2 from "@angular/material/form-field";
23
+ import * as i3 from "@angular/material/select";
24
+ import * as i4 from "@angular/material/core";
25
+ import * as i5 from "@angular/forms";
17
26
  import * as i6 from "@angular/material/divider";
18
- import * as i7 from "@angular/material/form-field";
19
- import * as i8 from "@angular/material/core";
20
- import * as i9 from "@angular/material/select";
21
- import * as i10 from "@ngx-translate/core";
27
+ import * as i7 from "@angular/material/list";
28
+ import * as i8 from "@angular/material/icon";
29
+ import * as i9 from "@ngx-translate/core";
22
30
  export class DirectionsResultsComponent {
23
31
  languageService;
24
32
  cdRef;
@@ -109,15 +117,27 @@ export class DirectionsResultsComponent {
109
117
  this.stepFeatureStore.layer.map.viewController.zoomToExtent(feature.getGeometry().getExtent());
110
118
  }
111
119
  }
112
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectionsResultsComponent, deps: [{ token: i1.LanguageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
113
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DirectionsResultsComponent, selector: "igo-directions-results", inputs: { routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore" }, ngImport: i0, template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\n <mat-label>{{\n 'igo.geo.directionsForm.drivingOptions' | translate\n }}</mat-label>\n <mat-select\n placeholder=\"{{ 'igo.geo.directionsForm.drivingOptions' | translate }}\"\n (selectionChange)=\"changeRoute()\"\n [(ngModel)]=\"activeDirection\"\n >\n <mat-option\n *ngFor=\"let direction of directions; let cnt = index\"\n [value]=\"direction\"\n >\n Option {{ cnt + 1 }} : {{ formatDistance(direction.distance) }} ({{\n formatDuration(direction.duration)\n }})\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\n\n <mat-list (mouseleave)=\"onStepsListBlur()\">\n <h2 mat-header class=\"igo-route-title\">{{ activeDirection.title }}</h2>\n <span class=\"mat-caption\">\n {{ formatDistance(activeDirection.distance) }},\n {{ formatDuration(activeDirection.duration) }}\n </span>\n <mat-list-item\n class=\"igo-steps\"\n (mouseenter)=\"showSegment(step)\"\n (click)=\"showSegment(step, true)\"\n *ngFor=\"let step of activeDirection.steps; let cnt = index\"\n igoListItem\n >\n <mat-icon\n [ngClass]=\"formatStep(step, cnt).cssClass\"\n matListItemIcon\n svgIcon=\"{{ formatStep(step, cnt).image }}\"\n >\n </mat-icon>\n\n <span class=\"igo-step-text\">\n {{ cnt + 1 }}. {{ formatStep(step, cnt).instruction }}\n </span>\n <span matListItemMeta>\n {{ formatDistance(step.distance) }}\n </span>\n </mat-list-item>\n\n <mat-divider></mat-divider>\n </mat-list>\n</div>\n", styles: [".igo-input-container{width:100%;padding:20px 10px;box-sizing:border-box}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer;padding:35px 0}.igo-steps .igo-step-text{overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.mat-mdc-list-item{word-wrap:break-word!important;white-space:pre-wrap!important}.rotate-90{transform:rotate(90deg)}.rotate-45{transform:rotate(45deg)}.rotate-270{transform:rotate(270deg)}.rotate-250{transform:rotate(250deg)}.rotate-290{transform:rotate(290deg)}.icon-flipped{transform:scaleY(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i5.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DirectionsResultsComponent, deps: [{ token: i1.LanguageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
121
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: DirectionsResultsComponent, isStandalone: true, selector: "igo-directions-results", inputs: { routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore" }, ngImport: i0, template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\r\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\r\n <mat-label>{{\r\n 'igo.geo.directionsForm.drivingOptions' | translate\r\n }}</mat-label>\r\n <mat-select\r\n placeholder=\"{{ 'igo.geo.directionsForm.drivingOptions' | translate }}\"\r\n (selectionChange)=\"changeRoute()\"\r\n [(ngModel)]=\"activeDirection\"\r\n >\r\n <mat-option\r\n *ngFor=\"let direction of directions; let cnt = index\"\r\n [value]=\"direction\"\r\n >\r\n Option {{ cnt + 1 }} : {{ formatDistance(direction.distance) }} ({{\r\n formatDuration(direction.duration)\r\n }})\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\r\n\r\n <mat-list (mouseleave)=\"onStepsListBlur()\">\r\n <h2 mat-header class=\"igo-route-title\">{{ activeDirection.title }}</h2>\r\n <span class=\"mat-caption\">\r\n {{ formatDistance(activeDirection.distance) }},\r\n {{ formatDuration(activeDirection.duration) }}\r\n </span>\r\n <mat-list-item\r\n class=\"igo-steps\"\r\n (mouseenter)=\"showSegment(step)\"\r\n (click)=\"showSegment(step, true)\"\r\n *ngFor=\"let step of activeDirection.steps; let cnt = index\"\r\n igoListItem\r\n >\r\n <mat-icon\r\n [ngClass]=\"formatStep(step, cnt).cssClass\"\r\n matListItemIcon\r\n svgIcon=\"{{ formatStep(step, cnt).image }}\"\r\n >\r\n </mat-icon>\r\n\r\n <span class=\"igo-step-text\">\r\n {{ cnt + 1 }}. {{ formatStep(step, cnt).instruction }}\r\n </span>\r\n <span matListItemMeta>\r\n {{ formatDistance(step.distance) }}\r\n </span>\r\n </mat-list-item>\r\n\r\n <mat-divider></mat-divider>\r\n </mat-list>\r\n</div>\r\n", styles: [".igo-input-container{width:100%;padding:20px 10px;box-sizing:border-box}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer;padding:35px 0}.igo-steps .igo-step-text{overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.mat-mdc-list-item{word-wrap:break-word!important;white-space:pre-wrap!important}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-45{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.rotate-250{-webkit-transform:rotate(250deg);-moz-transform:rotate(250deg);-ms-transform:rotate(250deg);-o-transform:rotate(250deg);transform:rotate(250deg)}.rotate-290{-webkit-transform:rotate(290deg);-moz-transform:rotate(290deg);-ms-transform:rotate(290deg);-o-transform:rotate(290deg);transform:rotate(290deg)}.icon-flipped{-o-transform:scaleY(-1);-moz-transform:scaleY(-1);-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
114
122
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectionsResultsComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DirectionsResultsComponent, decorators: [{
116
124
  type: Component,
117
- args: [{ selector: 'igo-directions-results', template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\n <mat-label>{{\n 'igo.geo.directionsForm.drivingOptions' | translate\n }}</mat-label>\n <mat-select\n placeholder=\"{{ 'igo.geo.directionsForm.drivingOptions' | translate }}\"\n (selectionChange)=\"changeRoute()\"\n [(ngModel)]=\"activeDirection\"\n >\n <mat-option\n *ngFor=\"let direction of directions; let cnt = index\"\n [value]=\"direction\"\n >\n Option {{ cnt + 1 }} : {{ formatDistance(direction.distance) }} ({{\n formatDuration(direction.duration)\n }})\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\n\n <mat-list (mouseleave)=\"onStepsListBlur()\">\n <h2 mat-header class=\"igo-route-title\">{{ activeDirection.title }}</h2>\n <span class=\"mat-caption\">\n {{ formatDistance(activeDirection.distance) }},\n {{ formatDuration(activeDirection.duration) }}\n </span>\n <mat-list-item\n class=\"igo-steps\"\n (mouseenter)=\"showSegment(step)\"\n (click)=\"showSegment(step, true)\"\n *ngFor=\"let step of activeDirection.steps; let cnt = index\"\n igoListItem\n >\n <mat-icon\n [ngClass]=\"formatStep(step, cnt).cssClass\"\n matListItemIcon\n svgIcon=\"{{ formatStep(step, cnt).image }}\"\n >\n </mat-icon>\n\n <span class=\"igo-step-text\">\n {{ cnt + 1 }}. {{ formatStep(step, cnt).instruction }}\n </span>\n <span matListItemMeta>\n {{ formatDistance(step.distance) }}\n </span>\n </mat-list-item>\n\n <mat-divider></mat-divider>\n </mat-list>\n</div>\n", styles: [".igo-input-container{width:100%;padding:20px 10px;box-sizing:border-box}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer;padding:35px 0}.igo-steps .igo-step-text{overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.mat-mdc-list-item{word-wrap:break-word!important;white-space:pre-wrap!important}.rotate-90{transform:rotate(90deg)}.rotate-45{transform:rotate(45deg)}.rotate-270{transform:rotate(270deg)}.rotate-250{transform:rotate(250deg)}.rotate-290{transform:rotate(290deg)}.icon-flipped{transform:scaleY(-1)}\n"] }]
118
- }], ctorParameters: function () { return [{ type: i1.LanguageService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { routesFeatureStore: [{
125
+ args: [{ selector: 'igo-directions-results', standalone: true, imports: [
126
+ NgIf,
127
+ MatFormFieldModule,
128
+ MatSelectModule,
129
+ FormsModule,
130
+ NgFor,
131
+ MatOptionModule,
132
+ MatDividerModule,
133
+ MatListModule,
134
+ MatIconModule,
135
+ NgClass,
136
+ TranslateModule
137
+ ], template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\r\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\r\n <mat-label>{{\r\n 'igo.geo.directionsForm.drivingOptions' | translate\r\n }}</mat-label>\r\n <mat-select\r\n placeholder=\"{{ 'igo.geo.directionsForm.drivingOptions' | translate }}\"\r\n (selectionChange)=\"changeRoute()\"\r\n [(ngModel)]=\"activeDirection\"\r\n >\r\n <mat-option\r\n *ngFor=\"let direction of directions; let cnt = index\"\r\n [value]=\"direction\"\r\n >\r\n Option {{ cnt + 1 }} : {{ formatDistance(direction.distance) }} ({{\r\n formatDuration(direction.duration)\r\n }})\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\r\n\r\n <mat-list (mouseleave)=\"onStepsListBlur()\">\r\n <h2 mat-header class=\"igo-route-title\">{{ activeDirection.title }}</h2>\r\n <span class=\"mat-caption\">\r\n {{ formatDistance(activeDirection.distance) }},\r\n {{ formatDuration(activeDirection.duration) }}\r\n </span>\r\n <mat-list-item\r\n class=\"igo-steps\"\r\n (mouseenter)=\"showSegment(step)\"\r\n (click)=\"showSegment(step, true)\"\r\n *ngFor=\"let step of activeDirection.steps; let cnt = index\"\r\n igoListItem\r\n >\r\n <mat-icon\r\n [ngClass]=\"formatStep(step, cnt).cssClass\"\r\n matListItemIcon\r\n svgIcon=\"{{ formatStep(step, cnt).image }}\"\r\n >\r\n </mat-icon>\r\n\r\n <span class=\"igo-step-text\">\r\n {{ cnt + 1 }}. {{ formatStep(step, cnt).instruction }}\r\n </span>\r\n <span matListItemMeta>\r\n {{ formatDistance(step.distance) }}\r\n </span>\r\n </mat-list-item>\r\n\r\n <mat-divider></mat-divider>\r\n </mat-list>\r\n</div>\r\n", styles: [".igo-input-container{width:100%;padding:20px 10px;box-sizing:border-box}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer;padding:35px 0}.igo-steps .igo-step-text{overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.mat-mdc-list-item{word-wrap:break-word!important;white-space:pre-wrap!important}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-45{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.rotate-250{-webkit-transform:rotate(250deg);-moz-transform:rotate(250deg);-ms-transform:rotate(250deg);-o-transform:rotate(250deg);transform:rotate(250deg)}.rotate-290{-webkit-transform:rotate(290deg);-moz-transform:rotate(290deg);-ms-transform:rotate(290deg);-o-transform:rotate(290deg);transform:rotate(290deg)}.icon-flipped{-o-transform:scaleY(-1);-moz-transform:scaleY(-1);-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}\n"] }]
138
+ }], ctorParameters: () => [{ type: i1.LanguageService }, { type: i0.ChangeDetectorRef }], propDecorators: { routesFeatureStore: [{
119
139
  type: Input
120
140
  }], stepFeatureStore: [{
121
141
  type: Input
122
142
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1yZXN1bHRzL2RpcmVjdGlvbnMtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0MsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTTFELE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPdkUsTUFBTSxPQUFPLDBCQUEwQjtJQVUzQjtJQUNBO0lBVkgsZUFBZSxDQUFZO0lBQzNCLFVBQVUsQ0FBYztJQUV2QixVQUFVLENBQWU7SUFFeEIsa0JBQWtCLENBQXFCO0lBQ3ZDLGdCQUFnQixDQUFtQjtJ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LENBQUMsVUFBVTtZQUN0RCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxFQUFFLFFBQVE7Z0JBQ1osSUFBSTtnQkFDSixJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU07YUFDM0I7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLFFBQVE7Z0JBQ1osUUFBUSxFQUFFLHNCQUFzQixHQUFHLENBQUM7YUFDckM7WUFDRCxFQUFFLEVBQUUsT0FBTztTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQ3pELE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQXNDLENBQ3RFLENBQUM7U0FDSDtJQUNILENBQUM7d0dBMUhVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLDBKQ3JDdkMscXhEQXNEQTs7NEZEakJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7c0lBVXpCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25UeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgRGlyZWN0aW9uLFxyXG4gIEZlYXR1cmVXaXRoU3RlcCxcclxuICBJZ29TdGVwXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtcclxuICBmb3JtYXREaXN0YW5jZSxcclxuICBmb3JtYXREdXJhdGlvbixcclxuICBmb3JtYXRJbnN0cnVjdGlvblxyXG59IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLnV0aWxzJztcclxuaW1wb3J0IHsgUm91dGVzRmVhdHVyZVN0b3JlLCBTdGVwRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRpcmVjdGlvbnMtcmVzdWx0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpcmVjdGlvbnMtcmVzdWx0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNSZXN1bHRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBhY3RpdmVEaXJlY3Rpb246IERpcmVjdGlvbjtcclxuICBwdWJsaWMgZGlyZWN0aW9uczogRGlyZWN0aW9uW107XHJcblxyXG4gIHByaXZhdGUgZW50aXRpZXMkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSByb3V0ZXNGZWF0dXJlU3RvcmU6IFJvdXRlc0ZlYXR1cmVTdG9yZTtcclxuICBASW5wdXQoKSBzdGVwRmVhdHVyZVN0b3JlOiBTdGVwRmVhdHVyZVN0b3JlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVudGl0aWVzJCQgPSB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5lbnRpdGllcyRcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGVudGl0aWVzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24gPSBlbnRpdGllcy5maW5kKFxyXG4gICAgICAgICAgKGVudGl0eSkgPT4gZW50aXR5LnByb3BlcnRpZXMuYWN0aXZlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbnMgPSBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gZW50aXR5LnByb3BlcnRpZXMuZGlyZWN0aW9uKTtcclxuICAgICAgICBpZiAoYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aW9uID1cclxuICAgICAgICAgICAgYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24ucHJvcGVydGllcy5kaXJlY3Rpb247XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW50aXRpZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUm91dGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5lbnRpdGllcyQudmFsdWUubWFwKFxyXG4gICAgICAoZW50aXR5KSA9PiAoZW50aXR5LnByb3BlcnRpZXMuYWN0aXZlID0gIWVudGl0eS5wcm9wZXJ0aWVzLmFjdGl2ZSlcclxuICAgICk7XHJcbiAgICB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5sYXllci5vbFxyXG4gICAgICAuZ2V0U291cmNlKClcclxuICAgICAgLmdldEZlYXR1cmVzKClcclxuICAgICAgLm1hcCgoZmVhdHVyZSkgPT4gZmVhdHVyZS5zZXQoJ2FjdGl2ZScsICFmZWF0dXJlLmdldCgnYWN0aXZlJykpKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdFN0ZXAoc3RlcCwgY250KSB7XHJcbiAgICByZXR1cm4gZm9ybWF0SW5zdHJ1Y3Rpb24oXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIudHlwZSxcclxuICAgICAgc3RlcC5tYW5ldXZlci5tb2RpZmllcixcclxuICAgICAgc3RlcC5uYW1lLFxyXG4gICAgICBzdGVwLm1hbmV1dmVyLmJlYXJpbmdfYWZ0ZXIsXHJcbiAgICAgIGNudCxcclxuICAgICAgc3RlcC5tYW5ldXZlci5leGl0LFxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZSxcclxuICAgICAgY250ID09PSB0aGlzLmFjdGl2ZURpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25TdGVwc0xpc3RCbHVyKCkge1xyXG4gICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBzaG93U2VnbWVudChzdGVwOiBJZ29TdGVwLCB6b29tVG9FeHRlbnQgPSBmYWxzZSkge1xyXG4gICAgdGhpcy5zaG93Um91dGVTZWdtZW50R2VvbWV0cnkoc3RlcCwgem9vbVRvRXh0ZW50KTtcclxuICB9XHJcblxyXG4gIHNob3dSb3V0ZVNlZ21lbnRHZW9tZXRyeShzdGVwOiBJZ29TdGVwLCB6b29tVG9FeHRlbnQgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBzdGVwLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xyXG4gICAgY29uc3QgdmVydGV4SWQgPSAndmVydGV4JztcclxuICAgIGNvbnN0IGdlb21ldHJ5NDMyNiA9IG5ldyBvbEdlb20uTGluZVN0cmluZyhjb29yZGluYXRlcyk7XHJcbiAgICBjb25zdCBnZW9tZXRyeU1hcFByb2plY3Rpb24gPSBnZW9tZXRyeTQzMjYudHJhbnNmb3JtKFxyXG4gICAgICAnRVBTRzo0MzI2JyxcclxuICAgICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmxheWVyLm1hcC5wcm9qZWN0aW9uXHJcbiAgICApO1xyXG4gICAgY29uc3Qgcm91dGVTZWdtZW50Q29vcmRpbmF0ZXMgPSAoXHJcbiAgICAgIGdlb21ldHJ5TWFwUHJvamVjdGlvbiBhcyBhbnlcclxuICAgICkuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgIGNvbnN0IGxhc3RQb2ludCA9IHJvdXRlU2VnbWVudENvb3JkaW5hdGVzWzBdO1xyXG5cclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sR2VvbS5Qb2ludChsYXN0UG9pbnQpO1xyXG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KTtcclxuXHJcbiAgICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb24sXHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb25cclxuICAgIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBwcmV2aW91c1ZlcnRleCA9IHRoaXMuc3RlcEZlYXR1cmVTdG9yZS5nZXQodmVydGV4SWQpO1xyXG4gICAgY29uc3QgcHJldmlvdXNWZXJ0ZXhSZXZpc2lvbiA9IHByZXZpb3VzVmVydGV4XHJcbiAgICAgID8gcHJldmlvdXNWZXJ0ZXgubWV0YS5yZXZpc2lvblxyXG4gICAgICA6IDA7XHJcblxyXG4gICAgY29uc3Qgc3RlcEZlYXR1cmU6IEZlYXR1cmVXaXRoU3RlcCA9IHtcclxuICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgZ2VvbWV0cnk6IGdlb2pzb25HZW9tLFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb24sXHJcbiAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICBpZDogdmVydGV4SWQsXHJcbiAgICAgICAgc3RlcCxcclxuICAgICAgICB0eXBlOiBEaXJlY3Rpb25UeXBlLlZlcnRleFxyXG4gICAgICB9LFxyXG4gICAgICBtZXRhOiB7XHJcbiAgICAgICAgaWQ6IHZlcnRleElkLFxyXG4gICAgICAgIHJldmlzaW9uOiBwcmV2aW91c1ZlcnRleFJldmlzaW9uICsgMVxyXG4gICAgICB9LFxyXG4gICAgICBvbDogZmVhdHVyZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc3RlcEZlYXR1cmVTdG9yZS51cGRhdGUoc3RlcEZlYXR1cmUpO1xyXG4gICAgaWYgKHpvb21Ub0V4dGVudCkge1xyXG4gICAgICB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnpvb21Ub0V4dGVudChcclxuICAgICAgICBmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0RXh0ZW50KCkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cImRpcmVjdGlvbnMgJiYgYWN0aXZlRGlyZWN0aW9uXCI+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImRpcmVjdGlvbnMgJiYgZGlyZWN0aW9ucy5sZW5ndGggPiAxXCI+XG4gICAgPG1hdC1sYWJlbD57e1xuICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZHJpdmluZ09wdGlvbnMnIHwgdHJhbnNsYXRlXG4gICAgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kcml2aW5nT3B0aW9ucycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VSb3V0ZSgpXCJcbiAgICAgIFsobmdNb2RlbCldPVwiYWN0aXZlRGlyZWN0aW9uXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgZGlyZWN0aW9uIG9mIGRpcmVjdGlvbnM7IGxldCBjbnQgPSBpbmRleFwiXG4gICAgICAgIFt2YWx1ZV09XCJkaXJlY3Rpb25cIlxuICAgICAgPlxuICAgICAgICBPcHRpb24ge3sgY250ICsgMSB9fSA6IHt7IGZvcm1hdERpc3RhbmNlKGRpcmVjdGlvbi5kaXN0YW5jZSkgfX0gKHt7XG4gICAgICAgICAgZm9ybWF0RHVyYXRpb24oZGlyZWN0aW9uLmR1cmF0aW9uKVxuICAgICAgICB9fSlcbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiZGlyZWN0aW9ucyAmJiBkaXJlY3Rpb25zLmxlbmd0aCA9PT0gMFwiPjwvbWF0LWRpdmlkZXI+XG5cbiAgPG1hdC1saXN0IChtb3VzZWxlYXZlKT1cIm9uU3RlcHNMaXN0Qmx1cigpXCI+XG4gICAgPGgyIG1hdC1oZWFkZXIgY2xhc3M9XCJpZ28tcm91dGUtdGl0bGVcIj57eyBhY3RpdmVEaXJlY3Rpb24udGl0bGUgfX08L2gyPlxuICAgIDxzcGFuIGNsYXNzPVwibWF0LWNhcHRpb25cIj5cbiAgICAgIHt7IGZvcm1hdERpc3RhbmNlKGFjdGl2ZURpcmVjdGlvbi5kaXN0YW5jZSkgfX0sXG4gICAgICB7eyBmb3JtYXREdXJhdGlvbihhY3RpdmVEaXJlY3Rpb24uZHVyYXRpb24pIH19XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtbGlzdC1pdGVtXG4gICAgICBjbGFzcz1cImlnby1zdGVwc1wiXG4gICAgICAobW91c2VlbnRlcik9XCJzaG93U2VnbWVudChzdGVwKVwiXG4gICAgICAoY2xpY2spPVwic2hvd1NlZ21lbnQoc3RlcCwgdHJ1ZSlcIlxuICAgICAgKm5nRm9yPVwibGV0IHN0ZXAgb2YgYWN0aXZlRGlyZWN0aW9uLnN0ZXBzOyBsZXQgY250ID0gaW5kZXhcIlxuICAgICAgaWdvTGlzdEl0ZW1cbiAgICA+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgW25nQ2xhc3NdPVwiZm9ybWF0U3RlcChzdGVwLCBjbnQpLmNzc0NsYXNzXCJcbiAgICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICAgIHN2Z0ljb249XCJ7eyBmb3JtYXRTdGVwKHN0ZXAsIGNudCkuaW1hZ2UgfX1cIlxuICAgICAgPlxuICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJpZ28tc3RlcC10ZXh0XCI+XG4gICAgICAgIHt7IGNudCArIDEgfX0uIHt7IGZvcm1hdFN0ZXAoc3RlcCwgY250KS5pbnN0cnVjdGlvbiB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1NZXRhPlxuICAgICAgICB7eyBmb3JtYXREaXN0YW5jZShzdGVwLmRpc3RhbmNlKSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cblxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L21hdC1saXN0PlxuPC9kaXY+XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1yZXN1bHRzL2RpcmVjdGlvbnMtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTTFELE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQXFCdkUsTUFBTSxPQUFPLDBCQUEwQjtJQVUzQjtJQUNBO0lBVkgsZUFBZSxDQUFZO0lBQzNCLFVBQVUsQ0FBYztJQUV2QixVQUFVLENBQWU7SUFFeEIsa0JBQWtCLENBQXFCO0lBQ3ZDLGdCQUFnQixDQUFtQjtJQUU1QyxZQUNVLGVBQWdDLEVBQ2hDLEtBQXdCO1FBRHhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUMvQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7YUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN0QixNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQzlDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDckMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4RSxJQUFJLDBCQUEwQixFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxlQUFlO29CQUNsQiwwQkFBMEIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3BELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO2FBQzdCLFNBQVMsRUFBRTthQUNYLFdBQVcsRUFBRTthQUNiLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQWdCO1FBQzdCLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0I7UUFDN0IsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRztRQUNsQixPQUFPLGlCQUFpQixDQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQzNCLEdBQUcsRUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsR0FBRyxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWEsRUFBRSxZQUFZLEdBQUcsS0FBSztRQUM3QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxJQUFhLEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxTQUFTLENBQ2xELFdBQVcsRUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQzNDLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUMzQixxQkFDRCxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sU0FBUyxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDaEUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVTtZQUM3RCxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVTtTQUMzRCxDQUFvQixDQUFDO1FBRXRCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsTUFBTSxzQkFBc0IsR0FBRyxjQUFjO1lBQzNDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVOLE1BQU0sV0FBVyxHQUFvQjtZQUNuQyxJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1lBQ3RELFVBQVUsRUFBRTtnQkFDVixFQUFFLEVBQUUsUUFBUTtnQkFDWixJQUFJO2dCQUNKLElBQUksRUFBRSxhQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELElBQUksRUFBRTtnQkFDSixFQUFFLEVBQUUsUUFBUTtnQkFDWixRQUFRLEVBQUUsc0JBQXNCLEdBQUcsQ0FBQzthQUNyQztZQUNELEVBQUUsRUFBRSxPQUFPO1NBQ1osQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUN6RCxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFzQyxDQUN0RSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7dUdBMUhVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLDhLQzVEdkMsaTREQXNEQSwwekNEUEksSUFBSSw0RkFDSixrQkFBa0IsMFNBQ2xCLGVBQWUsbXJCQUNmLFdBQVcsK1ZBQ1gsS0FBSyxrSEFDTCxlQUFlLDhCQUNmLGdCQUFnQixrSUFDaEIsYUFBYSx1YkFDYixhQUFhLG9MQUNiLE9BQU8sbUZBQ1AsZUFBZTs7MkZBR04sMEJBQTBCO2tCQW5CdEMsU0FBUzsrQkFDRSx3QkFBd0IsY0FHdEIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZUFBZTtxQkFDaEI7b0hBUVEsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgT2xHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuaW1wb3J0ICogYXMgb2xHZW9tIGZyb20gJ29sL2dlb20nO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGRUFUVVJFIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IERpcmVjdGlvblR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3Rpb24sXHJcbiAgRmVhdHVyZVdpdGhTdGVwLFxyXG4gIElnb1N0ZXBcclxufSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIGZvcm1hdERpc3RhbmNlLFxyXG4gIGZvcm1hdER1cmF0aW9uLFxyXG4gIGZvcm1hdEluc3RydWN0aW9uXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5pbXBvcnQgeyBSb3V0ZXNGZWF0dXJlU3RvcmUsIFN0ZXBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZGlyZWN0aW9ucy1yZXN1bHRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5nRm9yLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNSZXN1bHRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBhY3RpdmVEaXJlY3Rpb246IERpcmVjdGlvbjtcclxuICBwdWJsaWMgZGlyZWN0aW9uczogRGlyZWN0aW9uW107XHJcblxyXG4gIHByaXZhdGUgZW50aXRpZXMkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSByb3V0ZXNGZWF0dXJlU3RvcmU6IFJvdXRlc0ZlYXR1cmVTdG9yZTtcclxuICBASW5wdXQoKSBzdGVwRmVhdHVyZVN0b3JlOiBTdGVwRmVhdHVyZVN0b3JlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVudGl0aWVzJCQgPSB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5lbnRpdGllcyRcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGVudGl0aWVzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24gPSBlbnRpdGllcy5maW5kKFxyXG4gICAgICAgICAgKGVudGl0eSkgPT4gZW50aXR5LnByb3BlcnRpZXMuYWN0aXZlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbnMgPSBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gZW50aXR5LnByb3BlcnRpZXMuZGlyZWN0aW9uKTtcclxuICAgICAgICBpZiAoYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aW9uID1cclxuICAgICAgICAgICAgYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24ucHJvcGVydGllcy5kaXJlY3Rpb247XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW50aXRpZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUm91dGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5lbnRpdGllcyQudmFsdWUubWFwKFxyXG4gICAgICAoZW50aXR5KSA9PiAoZW50aXR5LnByb3BlcnRpZXMuYWN0aXZlID0gIWVudGl0eS5wcm9wZXJ0aWVzLmFjdGl2ZSlcclxuICAgICk7XHJcbiAgICB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5sYXllci5vbFxyXG4gICAgICAuZ2V0U291cmNlKClcclxuICAgICAgLmdldEZlYXR1cmVzKClcclxuICAgICAgLm1hcCgoZmVhdHVyZSkgPT4gZmVhdHVyZS5zZXQoJ2FjdGl2ZScsICFmZWF0dXJlLmdldCgnYWN0aXZlJykpKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdFN0ZXAoc3RlcCwgY250KSB7XHJcbiAgICByZXR1cm4gZm9ybWF0SW5zdHJ1Y3Rpb24oXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIudHlwZSxcclxuICAgICAgc3RlcC5tYW5ldXZlci5tb2RpZmllcixcclxuICAgICAgc3RlcC5uYW1lLFxyXG4gICAgICBzdGVwLm1hbmV1dmVyLmJlYXJpbmdfYWZ0ZXIsXHJcbiAgICAgIGNudCxcclxuICAgICAgc3RlcC5tYW5ldXZlci5leGl0LFxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZSxcclxuICAgICAgY250ID09PSB0aGlzLmFjdGl2ZURpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25TdGVwc0xpc3RCbHVyKCkge1xyXG4gICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBzaG93U2VnbWVudChzdGVwOiBJZ29TdGVwLCB6b29tVG9FeHRlbnQgPSBmYWxzZSkge1xyXG4gICAgdGhpcy5zaG93Um91dGVTZWdtZW50R2VvbWV0cnkoc3RlcCwgem9vbVRvRXh0ZW50KTtcclxuICB9XHJcblxyXG4gIHNob3dSb3V0ZVNlZ21lbnRHZW9tZXRyeShzdGVwOiBJZ29TdGVwLCB6b29tVG9FeHRlbnQgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBzdGVwLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xyXG4gICAgY29uc3QgdmVydGV4SWQgPSAndmVydGV4JztcclxuICAgIGNvbnN0IGdlb21ldHJ5NDMyNiA9IG5ldyBvbEdlb20uTGluZVN0cmluZyhjb29yZGluYXRlcyk7XHJcbiAgICBjb25zdCBnZW9tZXRyeU1hcFByb2plY3Rpb24gPSBnZW9tZXRyeTQzMjYudHJhbnNmb3JtKFxyXG4gICAgICAnRVBTRzo0MzI2JyxcclxuICAgICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmxheWVyLm1hcC5wcm9qZWN0aW9uXHJcbiAgICApO1xyXG4gICAgY29uc3Qgcm91dGVTZWdtZW50Q29vcmRpbmF0ZXMgPSAoXHJcbiAgICAgIGdlb21ldHJ5TWFwUHJvamVjdGlvbiBhcyBhbnlcclxuICAgICkuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgIGNvbnN0IGxhc3RQb2ludCA9IHJvdXRlU2VnbWVudENvb3JkaW5hdGVzWzBdO1xyXG5cclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sR2VvbS5Qb2ludChsYXN0UG9pbnQpO1xyXG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KTtcclxuXHJcbiAgICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb24sXHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb25cclxuICAgIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBwcmV2aW91c1ZlcnRleCA9IHRoaXMuc3RlcEZlYXR1cmVTdG9yZS5nZXQodmVydGV4SWQpO1xyXG4gICAgY29uc3QgcHJldmlvdXNWZXJ0ZXhSZXZpc2lvbiA9IHByZXZpb3VzVmVydGV4XHJcbiAgICAgID8gcHJldmlvdXNWZXJ0ZXgubWV0YS5yZXZpc2lvblxyXG4gICAgICA6IDA7XHJcblxyXG4gICAgY29uc3Qgc3RlcEZlYXR1cmU6IEZlYXR1cmVXaXRoU3RlcCA9IHtcclxuICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgZ2VvbWV0cnk6IGdlb2pzb25HZW9tLFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb24sXHJcbiAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICBpZDogdmVydGV4SWQsXHJcbiAgICAgICAgc3RlcCxcclxuICAgICAgICB0eXBlOiBEaXJlY3Rpb25UeXBlLlZlcnRleFxyXG4gICAgICB9LFxyXG4gICAgICBtZXRhOiB7XHJcbiAgICAgICAgaWQ6IHZlcnRleElkLFxyXG4gICAgICAgIHJldmlzaW9uOiBwcmV2aW91c1ZlcnRleFJldmlzaW9uICsgMVxyXG4gICAgICB9LFxyXG4gICAgICBvbDogZmVhdHVyZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc3RlcEZlYXR1cmVTdG9yZS51cGRhdGUoc3RlcEZlYXR1cmUpO1xyXG4gICAgaWYgKHpvb21Ub0V4dGVudCkge1xyXG4gICAgICB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnpvb21Ub0V4dGVudChcclxuICAgICAgICBmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0RXh0ZW50KCkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cImRpcmVjdGlvbnMgJiYgYWN0aXZlRGlyZWN0aW9uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiZGlyZWN0aW9ucyAmJiBkaXJlY3Rpb25zLmxlbmd0aCA+IDFcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZHJpdmluZ09wdGlvbnMnIHwgdHJhbnNsYXRlXHJcbiAgICB9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kcml2aW5nT3B0aW9ucycgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZVJvdXRlKClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImFjdGl2ZURpcmVjdGlvblwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRpcmVjdGlvbiBvZiBkaXJlY3Rpb25zOyBsZXQgY250ID0gaW5kZXhcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJkaXJlY3Rpb25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgT3B0aW9uIHt7IGNudCArIDEgfX0gOiB7eyBmb3JtYXREaXN0YW5jZShkaXJlY3Rpb24uZGlzdGFuY2UpIH19ICh7e1xyXG4gICAgICAgICAgZm9ybWF0RHVyYXRpb24oZGlyZWN0aW9uLmR1cmF0aW9uKVxyXG4gICAgICAgIH19KVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiZGlyZWN0aW9ucyAmJiBkaXJlY3Rpb25zLmxlbmd0aCA9PT0gMFwiPjwvbWF0LWRpdmlkZXI+XHJcblxyXG4gIDxtYXQtbGlzdCAobW91c2VsZWF2ZSk9XCJvblN0ZXBzTGlzdEJsdXIoKVwiPlxyXG4gICAgPGgyIG1hdC1oZWFkZXIgY2xhc3M9XCJpZ28tcm91dGUtdGl0bGVcIj57eyBhY3RpdmVEaXJlY3Rpb24udGl0bGUgfX08L2gyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPlxyXG4gICAgICB7eyBmb3JtYXREaXN0YW5jZShhY3RpdmVEaXJlY3Rpb24uZGlzdGFuY2UpIH19LFxyXG4gICAgICB7eyBmb3JtYXREdXJhdGlvbihhY3RpdmVEaXJlY3Rpb24uZHVyYXRpb24pIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgICBjbGFzcz1cImlnby1zdGVwc1wiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cInNob3dTZWdtZW50KHN0ZXApXCJcclxuICAgICAgKGNsaWNrKT1cInNob3dTZWdtZW50KHN0ZXAsIHRydWUpXCJcclxuICAgICAgKm5nRm9yPVwibGV0IHN0ZXAgb2YgYWN0aXZlRGlyZWN0aW9uLnN0ZXBzOyBsZXQgY250ID0gaW5kZXhcIlxyXG4gICAgICBpZ29MaXN0SXRlbVxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb25cclxuICAgICAgICBbbmdDbGFzc109XCJmb3JtYXRTdGVwKHN0ZXAsIGNudCkuY3NzQ2xhc3NcIlxyXG4gICAgICAgIG1hdExpc3RJdGVtSWNvblxyXG4gICAgICAgIHN2Z0ljb249XCJ7eyBmb3JtYXRTdGVwKHN0ZXAsIGNudCkuaW1hZ2UgfX1cIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcblxyXG4gICAgICA8c3BhbiBjbGFzcz1cImlnby1zdGVwLXRleHRcIj5cclxuICAgICAgICB7eyBjbnQgKyAxIH19LiB7eyBmb3JtYXRTdGVwKHN0ZXAsIGNudCkuaW5zdHJ1Y3Rpb24gfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbU1ldGE+XHJcbiAgICAgICAge3sgZm9ybWF0RGlzdGFuY2Uoc3RlcC5kaXN0YW5jZSkgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9tYXQtbGlzdC1pdGVtPlxyXG5cclxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDwvbWF0LWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './directions-results.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50JztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50JztcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbnNTb3VyY2VPcHRpb25zIGV4dGVuZHMgQmFzZURpcmVjdGlvbnNTb3VyY2VPcHRpb25zIHtcbiAgb3NybT86IE9zcm1EaXJlY3Rpb25zU291cmNlT3B0aW9ucztcbiAgbG9nbz86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgT3NybURpcmVjdGlvbnNTb3VyY2VPcHRpb25zID0gQmFzZURpcmVjdGlvbnNTb3VyY2VPcHRpb25zO1xuXG5pbnRlcmZhY2UgQmFzZURpcmVjdGlvbnNTb3VyY2VPcHRpb25zIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBsaW1pdD86IG51bWJlcjtcbiAgbG9nbz86IHN0cmluZztcbiAgcmV2ZXJzZVVybD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbnNTb3VyY2VPcHRpb25zIGV4dGVuZHMgQmFzZURpcmVjdGlvbnNTb3VyY2VPcHRpb25zIHtcclxuICBvc3JtPzogT3NybURpcmVjdGlvbnNTb3VyY2VPcHRpb25zO1xyXG4gIGxvZ28/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9zcm1EaXJlY3Rpb25zU291cmNlT3B0aW9ucyA9IEJhc2VEaXJlY3Rpb25zU291cmNlT3B0aW9ucztcclxuXHJcbmludGVyZmFjZSBCYXNlRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnMge1xyXG4gIGRpc3RhbmNlPzogbnVtYmVyO1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGxpbWl0PzogbnVtYmVyO1xyXG4gIGxvZ28/OiBzdHJpbmc7XHJcbiAgcmV2ZXJzZVVybD86IHN0cmluZztcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIHVybD86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class DirectionsSource {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLGdCQUFnQjtDQU9yQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERpcmVjdGlvbnNTb3VyY2Uge1xuICBhYnN0cmFjdCBlbmFibGVkOiBib29sZWFuO1xuICBhYnN0cmFjdCBnZXROYW1lKCk6IHN0cmluZztcbiAgYWJzdHJhY3Qgcm91dGUoXG4gICAgY29vcmRpbmF0ZXM6IFtudW1iZXIsIG51bWJlcl1bXSxcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPERpcmVjdGlvbltdPjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLGdCQUFnQjtDQU9yQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGlyZWN0aW9uc1NvdXJjZSB7XHJcbiAgYWJzdHJhY3QgZW5hYmxlZDogYm9vbGVhbjtcclxuICBhYnN0cmFjdCBnZXROYW1lKCk6IHN0cmluZztcclxuICBhYnN0cmFjdCByb3V0ZShcclxuICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sXHJcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9uc1xyXG4gICk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+O1xyXG59XHJcbiJdfQ==
@@ -13,4 +13,4 @@ export function provideOsrmDirectionsSource() {
13
13
  deps: [HttpClient, ConfigService]
14
14
  };
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLElBQWdCLEVBQ2hCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTztRQUNMLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUM7S0FDbEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlJztcbmltcG9ydCB7IE9zcm1EaXJlY3Rpb25zU291cmNlIH0gZnJvbSAnLi9vc3JtLWRpcmVjdGlvbnMtc291cmNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIG9zcm1EaXJlY3Rpb25zU291cmNlc0ZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgT3NybURpcmVjdGlvbnNTb3VyY2UoaHR0cCwgY29uZmlnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVPc3JtRGlyZWN0aW9uc1NvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBEaXJlY3Rpb25zU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IG9zcm1EaXJlY3Rpb25zU291cmNlc0ZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0h0dHBDbGllbnQsIENvbmZpZ1NlcnZpY2VdXG4gIH07XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLElBQWdCLEVBQ2hCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTztRQUNMLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUM7S0FDbEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4vZGlyZWN0aW9ucy1zb3VyY2UnO1xyXG5pbXBvcnQgeyBPc3JtRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4vb3NybS1kaXJlY3Rpb25zLXNvdXJjZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb3NybURpcmVjdGlvbnNTb3VyY2VzRmFjdG9yeShcclxuICBodHRwOiBIdHRwQ2xpZW50LFxyXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxyXG4pIHtcclxuICByZXR1cm4gbmV3IE9zcm1EaXJlY3Rpb25zU291cmNlKGh0dHAsIGNvbmZpZyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlT3NybURpcmVjdGlvbnNTb3VyY2UoKSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHByb3ZpZGU6IERpcmVjdGlvbnNTb3VyY2UsXHJcbiAgICB1c2VGYWN0b3J5OiBvc3JtRGlyZWN0aW9uc1NvdXJjZXNGYWN0b3J5LFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgQ29uZmlnU2VydmljZV1cclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -2,4 +2,4 @@ export * from './directions-source';
2
2
  export * from './directions-source.interface';
3
3
  export * from './osrm-directions-source';
4
4
  export * from './directions-source.provider';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL29zcm0tZGlyZWN0aW9ucy1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlcic7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vc3JtLWRpcmVjdGlvbnMtc291cmNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlcic7XHJcbiJdfQ==