@igo2/geo 1.10.0 → 1.11.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 (468) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/bundles/igo2-geo.umd.js +2604 -789
  7. package/bundles/igo2-geo.umd.js.map +1 -1
  8. package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +1 -1
  9. package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +1 -1
  10. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
  11. package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
  12. package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +1 -1
  13. package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +1 -1
  14. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +6 -6
  15. package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +1 -1
  16. package/esm2015/lib/catalog/catalog.module.js +1 -1
  17. package/esm2015/lib/catalog/index.js +1 -1
  18. package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
  19. package/esm2015/lib/catalog/shared/catalog.enum.js +1 -1
  20. package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
  21. package/esm2015/lib/catalog/shared/catalog.service.js +5 -2
  22. package/esm2015/lib/catalog/shared/index.js +1 -1
  23. package/esm2015/lib/datasource/datasource.module.js +1 -1
  24. package/esm2015/lib/datasource/index.js +1 -1
  25. package/esm2015/lib/datasource/shared/capabilities.service.js +25 -11
  26. package/esm2015/lib/datasource/shared/datasource.service.js +1 -1
  27. package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +1 -1
  28. package/esm2015/lib/datasource/shared/datasources/any-datasource.js +1 -1
  29. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +1 -1
  30. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
  31. package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
  32. package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +1 -1
  33. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +1 -1
  34. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
  35. package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
  36. package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
  37. package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
  38. package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +1 -1
  39. package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +1 -1
  40. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +1 -1
  41. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
  42. package/esm2015/lib/datasource/shared/datasources/index.js +1 -1
  43. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
  44. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +1 -1
  45. package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
  46. package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +1 -1
  47. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +1 -1
  48. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
  49. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +1 -1
  50. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +1 -1
  51. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
  52. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
  53. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
  54. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +3 -1
  55. package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
  56. package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +1 -1
  57. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +7 -1
  58. package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
  59. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
  60. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +1 -1
  61. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
  62. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
  63. package/esm2015/lib/datasource/shared/index.js +1 -1
  64. package/esm2015/lib/datasource/shared/options/index.js +1 -1
  65. package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
  66. package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
  67. package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
  68. package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
  69. package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
  70. package/esm2015/lib/datasource/utils/index.js +1 -1
  71. package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
  72. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +10 -4
  73. package/esm2015/lib/directions/directions-buttons/index.js +1 -1
  74. package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +1 -1
  75. package/esm2015/lib/directions/directions-inputs/index.js +1 -1
  76. package/esm2015/lib/directions/directions-results/directions-results.component.js +1 -1
  77. package/esm2015/lib/directions/directions-results/index.js +1 -1
  78. package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
  79. package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
  80. package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
  81. package/esm2015/lib/directions/directions-sources/index.js +1 -1
  82. package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +1 -1
  83. package/esm2015/lib/directions/directions.component.js +6 -4
  84. package/esm2015/lib/directions/directions.module.js +1 -1
  85. package/esm2015/lib/directions/index.js +1 -1
  86. package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
  87. package/esm2015/lib/directions/shared/directions.enum.js +1 -1
  88. package/esm2015/lib/directions/shared/directions.interface.js +1 -1
  89. package/esm2015/lib/directions/shared/directions.service.js +1 -1
  90. package/esm2015/lib/directions/shared/directions.utils.js +4 -1
  91. package/esm2015/lib/directions/shared/index.js +1 -1
  92. package/esm2015/lib/directions/shared/store.js +1 -1
  93. package/esm2015/lib/download/download-button/download-button.component.js +1 -1
  94. package/esm2015/lib/download/download-button/index.js +1 -1
  95. package/esm2015/lib/download/download.module.js +1 -1
  96. package/esm2015/lib/download/index.js +1 -1
  97. package/esm2015/lib/download/shared/download.interface.js +1 -1
  98. package/esm2015/lib/download/shared/download.service.js +1 -1
  99. package/esm2015/lib/download/shared/index.js +1 -1
  100. package/esm2015/lib/draw/draw/draw-popup.component.js +1 -1
  101. package/esm2015/lib/draw/draw/draw-shorcuts.component.js +1 -1
  102. package/esm2015/lib/draw/draw/draw.component.js +2 -1
  103. package/esm2015/lib/draw/draw/draw.module.js +1 -1
  104. package/esm2015/lib/draw/drawingTool.module.js +1 -1
  105. package/esm2015/lib/draw/index.js +1 -1
  106. package/esm2015/lib/draw/shared/draw-icon.service.js +1 -1
  107. package/esm2015/lib/draw/shared/draw-style.service.js +1 -1
  108. package/esm2015/lib/draw/shared/draw.enum.js +1 -1
  109. package/esm2015/lib/draw/shared/draw.interface.js +1 -1
  110. package/esm2015/lib/draw/shared/draw.utils.js +1 -1
  111. package/esm2015/lib/draw/shared/index.js +1 -1
  112. package/esm2015/lib/feature/feature-details/feature-details.component.js +1 -1
  113. package/esm2015/lib/feature/feature-details/feature-details.directive.js +1 -1
  114. package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
  115. package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
  116. package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
  117. package/esm2015/lib/feature/feature.module.js +1 -1
  118. package/esm2015/lib/feature/index.js +1 -1
  119. package/esm2015/lib/feature/shared/feature.enums.js +1 -1
  120. package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
  121. package/esm2015/lib/feature/shared/feature.utils.js +2 -1
  122. package/esm2015/lib/feature/shared/index.js +1 -1
  123. package/esm2015/lib/feature/shared/store.js +1 -1
  124. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
  125. package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
  126. package/esm2015/lib/feature/shared/strategies/index.js +1 -1
  127. package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
  128. package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
  129. package/esm2015/lib/feature/shared/strategies/selection.js +1 -1
  130. package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
  131. package/esm2015/lib/filter/filter.module.js +2 -2
  132. package/esm2015/lib/filter/index.js +1 -1
  133. package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
  134. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +15 -1
  135. package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
  136. package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +1 -1
  137. package/esm2015/lib/filter/ogc-filter-selection/index.js +1 -1
  138. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +31 -13
  139. package/esm2015/lib/filter/ogc-filter-time/index.js +1 -1
  140. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +1 -1
  141. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
  142. package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
  143. package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +1 -1
  144. package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
  145. package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +1 -1
  146. package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
  147. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
  148. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
  149. package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +1 -1
  150. package/esm2015/lib/filter/shared/index.js +1 -1
  151. package/esm2015/lib/filter/shared/ogc-filter-time.service.js +1 -1
  152. package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
  153. package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
  154. package/esm2015/lib/filter/shared/ogc-filter.js +8 -1
  155. package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
  156. package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
  157. package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
  158. package/esm2015/lib/filter/shared/spatial-filter.service.js +1 -1
  159. package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
  160. package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
  161. package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
  162. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
  163. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +1 -1
  164. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
  165. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
  166. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
  167. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
  168. package/esm2015/lib/filter/time-filter-button/index.js +1 -1
  169. package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
  170. package/esm2015/lib/filter/time-filter-form/index.js +1 -1
  171. package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
  172. package/esm2015/lib/filter/time-filter-item/index.js +1 -1
  173. package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +1 -1
  174. package/esm2015/lib/filter/time-filter-list/index.js +1 -1
  175. package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
  176. package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
  177. package/esm2015/lib/geo.module.js +1 -1
  178. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +1 -1
  179. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
  180. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
  181. package/esm2015/lib/geometry/geometry.module.js +1 -1
  182. package/esm2015/lib/geometry/index.js +1 -1
  183. package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
  184. package/esm2015/lib/geometry/shared/controls/index.js +1 -1
  185. package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
  186. package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
  187. package/esm2015/lib/geometry/shared/geometry.errors.js +1 -1
  188. package/esm2015/lib/geometry/shared/geometry.interfaces.js +1 -1
  189. package/esm2015/lib/geometry/shared/geometry.utils.js +1 -1
  190. package/esm2015/lib/geometry/shared/index.js +1 -1
  191. package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
  192. package/esm2015/lib/import-export/export-button/index.js +1 -1
  193. package/esm2015/lib/import-export/import-export/import-export.component.js +60 -11
  194. package/esm2015/lib/import-export/import-export/index.js +1 -1
  195. package/esm2015/lib/import-export/import-export.module.js +1 -1
  196. package/esm2015/lib/import-export/index.js +1 -1
  197. package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
  198. package/esm2015/lib/import-export/shared/export.errors.js +1 -1
  199. package/esm2015/lib/import-export/shared/export.interface.js +1 -1
  200. package/esm2015/lib/import-export/shared/export.service.js +1 -1
  201. package/esm2015/lib/import-export/shared/export.type.js +1 -1
  202. package/esm2015/lib/import-export/shared/export.utils.js +1 -1
  203. package/esm2015/lib/import-export/shared/import.errors.js +1 -1
  204. package/esm2015/lib/import-export/shared/import.interface.js +1 -1
  205. package/esm2015/lib/import-export/shared/import.service.js +1 -1
  206. package/esm2015/lib/import-export/shared/import.utils.js +1 -1
  207. package/esm2015/lib/import-export/shared/index.js +1 -1
  208. package/esm2015/lib/import-export/style-list/index.js +1 -1
  209. package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
  210. package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
  211. package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
  212. package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
  213. package/esm2015/lib/layer/index.js +1 -1
  214. package/esm2015/lib/layer/layer-item/index.js +1 -1
  215. package/esm2015/lib/layer/layer-item/layer-item.component.js +1 -1
  216. package/esm2015/lib/layer/layer-legend/index.js +1 -1
  217. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +20 -21
  218. package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
  219. package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
  220. package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
  221. package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
  222. package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +1 -1
  223. package/esm2015/lib/layer/layer-list/index.js +1 -1
  224. package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
  225. package/esm2015/lib/layer/layer-list/layer-list.component.js +1 -1
  226. package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
  227. package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
  228. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +1 -1
  229. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
  230. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
  231. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
  232. package/esm2015/lib/layer/layer.module.js +1 -1
  233. package/esm2015/lib/layer/shared/clusterParam.js +1 -1
  234. package/esm2015/lib/layer/shared/index.js +1 -1
  235. package/esm2015/lib/layer/shared/layer.enums.js +1 -1
  236. package/esm2015/lib/layer/shared/layer.service.js +1 -1
  237. package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
  238. package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
  239. package/esm2015/lib/layer/shared/layers/image-layer.interface.js +1 -1
  240. package/esm2015/lib/layer/shared/layers/image-layer.js +1 -1
  241. package/esm2015/lib/layer/shared/layers/index.js +1 -1
  242. package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
  243. package/esm2015/lib/layer/shared/layers/layer.js +9 -1
  244. package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +1 -1
  245. package/esm2015/lib/layer/shared/layers/tile-layer.js +1 -1
  246. package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
  247. package/esm2015/lib/layer/shared/layers/vector-layer.js +13 -5
  248. package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
  249. package/esm2015/lib/layer/shared/layers/vectortile-layer.js +1 -1
  250. package/esm2015/lib/layer/shared/style.service.js +1 -1
  251. package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
  252. package/esm2015/lib/layer/track-feature-button/index.js +1 -1
  253. package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
  254. package/esm2015/lib/layer/utils/image-watcher.js +1 -1
  255. package/esm2015/lib/layer/utils/index.js +1 -1
  256. package/esm2015/lib/layer/utils/layer.utils.js +1 -1
  257. package/esm2015/lib/layer/utils/layerSync-watcher.js +10 -6
  258. package/esm2015/lib/layer/utils/outputLegend.js +1 -1
  259. package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
  260. package/esm2015/lib/layer/utils/vector-watcher.js +1 -1
  261. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
  262. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +1 -1
  263. package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
  264. package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
  265. package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +1 -1
  266. package/esm2015/lib/map/geolocate-button/index.js +1 -1
  267. package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
  268. package/esm2015/lib/map/home-extent-button/index.js +2 -0
  269. package/esm2015/lib/map/index.js +3 -1
  270. package/esm2015/lib/map/info-section/index.js +2 -0
  271. package/esm2015/lib/map/info-section/info-section.component.js +36 -0
  272. package/esm2015/lib/map/map-browser/index.js +1 -1
  273. package/esm2015/lib/map/map-browser/map-browser.component.js +2 -2
  274. package/esm2015/lib/map/map-center/index.js +1 -1
  275. package/esm2015/lib/map/map-center/map-center.component.js +2 -2
  276. package/esm2015/lib/map/map.module.js +11 -1
  277. package/esm2015/lib/map/menu-button/index.js +1 -1
  278. package/esm2015/lib/map/menu-button/menu-button.component.js +1 -1
  279. package/esm2015/lib/map/offline-button/index.js +1 -1
  280. package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
  281. package/esm2015/lib/map/rotation-button/index.js +1 -1
  282. package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
  283. package/esm2015/lib/map/shared/controllers/controller.js +1 -1
  284. package/esm2015/lib/map/shared/controllers/index.js +1 -1
  285. package/esm2015/lib/map/shared/controllers/view.js +1 -1
  286. package/esm2015/lib/map/shared/hover-feature.directive.js +2 -1
  287. package/esm2015/lib/map/shared/index.js +1 -1
  288. package/esm2015/lib/map/shared/map-pointer-position.directive.js +1 -1
  289. package/esm2015/lib/map/shared/map.enums.js +1 -1
  290. package/esm2015/lib/map/shared/map.interface.js +1 -1
  291. package/esm2015/lib/map/shared/map.js +1 -1
  292. package/esm2015/lib/map/shared/map.service.js +1 -1
  293. package/esm2015/lib/map/shared/map.utils.js +1 -1
  294. package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
  295. package/esm2015/lib/map/shared/projection.interfaces.js +1 -1
  296. package/esm2015/lib/map/shared/projection.service.js +1 -1
  297. package/esm2015/lib/map/shared/projection.utils.js +1 -1
  298. package/esm2015/lib/map/swipe-control/index.js +1 -1
  299. package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
  300. package/esm2015/lib/map/utils/layer-watcher.js +1 -1
  301. package/esm2015/lib/map/zoom-button/index.js +1 -1
  302. package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
  303. package/esm2015/lib/measure/index.js +1 -1
  304. package/esm2015/lib/measure/measure.module.js +1 -1
  305. package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
  306. package/esm2015/lib/measure/measurer/measurer-dialog.component.js +1 -1
  307. package/esm2015/lib/measure/measurer/measurer-item.component.js +1 -1
  308. package/esm2015/lib/measure/measurer/measurer.component.js +7 -1
  309. package/esm2015/lib/measure/measurer/measurer.module.js +1 -1
  310. package/esm2015/lib/measure/shared/index.js +1 -1
  311. package/esm2015/lib/measure/shared/measure.enum.js +1 -1
  312. package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
  313. package/esm2015/lib/measure/shared/measure.utils.js +1 -1
  314. package/esm2015/lib/metadata/index.js +1 -1
  315. package/esm2015/lib/metadata/metadata-button/index.js +1 -1
  316. package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +1 -1
  317. package/esm2015/lib/metadata/metadata.module.js +1 -1
  318. package/esm2015/lib/metadata/shared/index.js +1 -1
  319. package/esm2015/lib/metadata/shared/metadata.interface.js +1 -1
  320. package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
  321. package/esm2015/lib/overlay/index.js +1 -1
  322. package/esm2015/lib/overlay/overlay.module.js +1 -1
  323. package/esm2015/lib/overlay/shared/index.js +1 -1
  324. package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +1 -1
  325. package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
  326. package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
  327. package/esm2015/lib/overlay/shared/overlay.js +1 -1
  328. package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
  329. package/esm2015/lib/overlay/shared/overlay.utils.js +1 -1
  330. package/esm2015/lib/print/index.js +1 -1
  331. package/esm2015/lib/print/print/print.component.js +1 -1
  332. package/esm2015/lib/print/print-form/index.js +1 -1
  333. package/esm2015/lib/print/print-form/print-form.component.js +1 -1
  334. package/esm2015/lib/print/print.module.js +1 -1
  335. package/esm2015/lib/print/shared/index.js +1 -1
  336. package/esm2015/lib/print/shared/print.interface.js +1 -1
  337. package/esm2015/lib/print/shared/print.service.js +1 -1
  338. package/esm2015/lib/print/shared/print.type.js +1 -1
  339. package/esm2015/lib/query/index.js +1 -1
  340. package/esm2015/lib/query/query.module.js +1 -1
  341. package/esm2015/lib/query/shared/index.js +1 -1
  342. package/esm2015/lib/query/shared/query-search-source.js +1 -1
  343. package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
  344. package/esm2015/lib/query/shared/query.directive.js +4 -1
  345. package/esm2015/lib/query/shared/query.enums.js +1 -1
  346. package/esm2015/lib/query/shared/query.interfaces.js +1 -1
  347. package/esm2015/lib/query/shared/query.service.js +35 -13
  348. package/esm2015/lib/query/shared/query.utils.js +1 -1
  349. package/esm2015/lib/search/index.js +1 -1
  350. package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
  351. package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
  352. package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
  353. package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
  354. package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
  355. package/esm2015/lib/search/search-results/search-results.component.js +1 -1
  356. package/esm2015/lib/search/search-results/search-results.module.js +1 -1
  357. package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
  358. package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
  359. package/esm2015/lib/search/search-settings/search-settings.component.js +1 -1
  360. package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
  361. package/esm2015/lib/search/search.module.js +1 -1
  362. package/esm2015/lib/search/shared/index.js +1 -1
  363. package/esm2015/lib/search/shared/search-pointer-summary.directive.js +2 -1
  364. package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
  365. package/esm2015/lib/search/shared/search-source.service.js +1 -1
  366. package/esm2015/lib/search/shared/search.enums.js +1 -1
  367. package/esm2015/lib/search/shared/search.interfaces.js +1 -1
  368. package/esm2015/lib/search/shared/search.service.js +1 -1
  369. package/esm2015/lib/search/shared/search.utils.js +1 -1
  370. package/esm2015/lib/search/shared/sources/cadastre.js +1 -1
  371. package/esm2015/lib/search/shared/sources/cadastre.providers.js +1 -1
  372. package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
  373. package/esm2015/lib/search/shared/sources/coordinates.js +1 -1
  374. package/esm2015/lib/search/shared/sources/coordinates.providers.js +1 -1
  375. package/esm2015/lib/search/shared/sources/icherche.interfaces.js +1 -1
  376. package/esm2015/lib/search/shared/sources/icherche.js +1 -1
  377. package/esm2015/lib/search/shared/sources/icherche.providers.js +1 -1
  378. package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
  379. package/esm2015/lib/search/shared/sources/ilayer.js +1 -1
  380. package/esm2015/lib/search/shared/sources/ilayer.providers.js +1 -1
  381. package/esm2015/lib/search/shared/sources/index.js +1 -1
  382. package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
  383. package/esm2015/lib/search/shared/sources/nominatim.js +2 -2
  384. package/esm2015/lib/search/shared/sources/nominatim.providers.js +1 -1
  385. package/esm2015/lib/search/shared/sources/source.interfaces.js +1 -1
  386. package/esm2015/lib/search/shared/sources/source.js +2 -2
  387. package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
  388. package/esm2015/lib/search/shared/sources/storedqueries.js +2 -2
  389. package/esm2015/lib/search/shared/sources/storedqueries.providers.js +1 -1
  390. package/esm2015/lib/toast/index.js +1 -1
  391. package/esm2015/lib/toast/toast.component.js +1 -1
  392. package/esm2015/lib/toast/toast.module.js +1 -1
  393. package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
  394. package/esm2015/lib/utils/commonVectorStyle.js +1 -1
  395. package/esm2015/lib/utils/googleLinks.js +1 -1
  396. package/esm2015/lib/utils/id-generator.js +1 -1
  397. package/esm2015/lib/utils/index.js +1 -1
  398. package/esm2015/lib/utils/osmLinks.js +1 -1
  399. package/esm2015/lib/wkt/index.js +1 -1
  400. package/esm2015/lib/wkt/shared/index.js +1 -1
  401. package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
  402. package/esm2015/lib/wkt/wkt.module.js +1 -1
  403. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
  404. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
  405. package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
  406. package/esm2015/lib/workspace/index.js +2 -1
  407. package/esm2015/lib/workspace/shared/edition-workspace.js +271 -0
  408. package/esm2015/lib/workspace/shared/edition-workspace.service.js +619 -0
  409. package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
  410. package/esm2015/lib/workspace/shared/feature-workspace.service.js +27 -6
  411. package/esm2015/lib/workspace/shared/index.js +3 -1
  412. package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
  413. package/esm2015/lib/workspace/shared/wfs-workspace.service.js +27 -5
  414. package/esm2015/lib/workspace/shared/wms-workspace.service.js +59 -15
  415. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  416. package/esm2015/lib/workspace/widgets/index.js +1 -1
  417. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
  418. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
  419. package/esm2015/lib/workspace/widgets/widgets.js +1 -1
  420. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
  421. package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
  422. package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
  423. package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
  424. package/esm2015/lib/workspace/workspace.module.js +19 -7
  425. package/esm2015/public_api.js +1 -1
  426. package/fesm2015/igo2-geo.js +2025 -398
  427. package/fesm2015/igo2-geo.js.map +1 -1
  428. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
  429. package/lib/datasource/shared/datasources/datasource.interface.d.ts +44 -0
  430. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  431. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
  432. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
  433. package/lib/directions/directions.component.d.ts +2 -1
  434. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
  435. package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
  436. package/lib/geometry/shared/controls/draw.d.ts +8 -4
  437. package/lib/geometry/shared/controls/modify.d.ts +3 -4
  438. package/lib/geometry/shared/controls/slice.d.ts +3 -4
  439. package/lib/layer/shared/layers/layer.d.ts +6 -0
  440. package/lib/layer/shared/layers/layer.interface.d.ts +8 -0
  441. package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
  442. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
  443. package/lib/map/home-extent-button/index.d.ts +1 -0
  444. package/lib/map/index.d.ts +2 -0
  445. package/lib/map/info-section/index.d.ts +1 -0
  446. package/lib/map/info-section/info-section.component.d.ts +7 -0
  447. package/lib/map/map.module.d.ts +19 -17
  448. package/lib/map/shared/mapOffline.directive.d.ts +1 -0
  449. package/lib/query/shared/query.interfaces.d.ts +1 -0
  450. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
  451. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
  452. package/lib/workspace/confirmation-popup/index.d.ts +2 -0
  453. package/lib/workspace/index.d.ts +1 -0
  454. package/lib/workspace/shared/edition-workspace.d.ts +81 -0
  455. package/lib/workspace/shared/edition-workspace.service.d.ts +45 -0
  456. package/lib/workspace/shared/feature-workspace.d.ts +3 -0
  457. package/lib/workspace/shared/feature-workspace.service.d.ts +2 -0
  458. package/lib/workspace/shared/index.d.ts +2 -0
  459. package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
  460. package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -0
  461. package/lib/workspace/shared/wms-workspace.service.d.ts +2 -0
  462. package/lib/workspace/shared/workspace.utils.d.ts +3 -2
  463. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
  464. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
  465. package/lib/workspace/workspace.module.d.ts +8 -5
  466. package/ngcc.config.js +3 -3
  467. package/package.json +4 -4
  468. package/style/geo.theming.scss +12 -11
@@ -101,4 +101,4 @@ export class VectorTileLayer extends Layer {
101
101
  super.setMap(map);
102
102
  }
103
103
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9ydGlsZS1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9ydGlsZS1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBS3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxLQUFLO0lBT3hDLFlBQ0UsT0FBK0IsRUFDeEIsY0FBK0IsRUFDL0IsZUFBaUM7UUFDeEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFGekMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUV4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBd0I7U0FDckQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQXdCLENBQUM7UUFFdEUsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFnQixFQUFFLEdBQVcsRUFB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SUFBSSxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU87Z0JBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBdUI7UUFDbkMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xMYXllclZlY3RvclRpbGUgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yVGlsZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3JUaWxlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3JUaWxlJztcblxuaW1wb3J0IHsgTVZURGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL212dC1kYXRhc291cmNlJztcblxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IFZlY3RvclRpbGVMYXllck9wdGlvbnMgfSBmcm9tICcuL3ZlY3RvcnRpbGUtbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRpbGVXYXRjaGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi8uLi9tYXAnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCBWZWN0b3JUaWxlIGZyb20gJ29sL1ZlY3RvclRpbGUnO1xuXG5leHBvcnQgY2xhc3MgVmVjdG9yVGlsZUxheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBwdWJsaWMgZGF0YVNvdXJjZTogTVZURGF0YVNvdXJjZTtcbiAgcHVibGljIG9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnM7XG4gIHB1YmxpYyBvbDogb2xMYXllclZlY3RvclRpbGU7XG5cbiAgcHJpdmF0ZSB3YXRjaGVyOiBUaWxlV2F0Y2hlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zLFxuICAgIHB1YmxpYyBtZXNzYWdlU2VydmljZT86IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3IpIHtcbiAgICBzdXBlcihvcHRpb25zLCBtZXNzYWdlU2VydmljZSwgYXV0aEludGVyY2VwdG9yKTtcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgVGlsZVdhdGNoZXIodGhpcyk7XG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy53YXRjaGVyLnN0YXR1cyQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xMYXllcigpOiBvbExheWVyVmVjdG9yVGlsZSB7XG4gICAgY29uc3Qgb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCB7XG4gICAgICBzb3VyY2U6IHRoaXMub3B0aW9ucy5zb3VyY2Uub2wgYXMgb2xTb3VyY2VWZWN0b3JUaWxlXG4gICAgfSk7XG5cbiAgICBjb25zdCB2ZWN0b3JUaWxlID0gbmV3IG9sTGF5ZXJWZWN0b3JUaWxlKG9sT3B0aW9ucyk7XG4gICAgY29uc3QgdmVjdG9yVGlsZVNvdXJjZSA9IHZlY3RvclRpbGUuZ2V0U291cmNlKCkgYXMgb2xTb3VyY2VWZWN0b3JUaWxlO1xuXG4gICAgdmVjdG9yVGlsZVNvdXJjZS5zZXRUaWxlTG9hZEZ1bmN0aW9uKCh0aWxlOiBWZWN0b3JUaWxlLCB1cmw6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgbG9hZGVyID0gdGhpcy5jdXN0b21Mb2FkZXIodXJsLCB0aWxlLmdldEZvcm1hdCgpLCB0aGlzLmF1dGhJbnRlcmNlcHRvciwgdGlsZS5vbkxvYWQuYmluZCh0aWxlKSk7XG4gICAgICBpZiAobG9hZGVyKSB7XG4gICAgICAgIHRpbGUuc2V0TG9hZGVyKGxvYWRlcik7XG4gICAgICB9XG4gICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdmVjdG9yVGlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDdXN0b20gbG9hZGVyIGZvciB2ZWN0b3IgdGlsZSBsYXllci4gTW9kaWZpZWQgZnJvbSB0aGUgbG9hZEZlYXR1cmVzWGhyIGZ1bmN0aW9uIGluIG9sXFxmZWF0dXJlbG9hZGVyLmpzXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gdXJsIHRoZSB1cmwgc3RyaW5nIG9yIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXG4gICAqIEBwYXJhbSBmb3JtYXQgdGhlIGZvcm1hdCBvZiB0aGUgdGlsZVxuICAgKiBAcGFyYW0gaW50ZXJjZXB0b3IgdGhlIGludGVyY2VwdG9yIG9mIHRoZSBkYXRhXG4gICAqIEBwYXJhbSBzdWNjZXNzIE9uIHN1Y2Nlc3MgZXZlbnQgYWN0aW9uIHRvIHRyaWdnZXJcbiAgICogQHBhcmFtIGZhaWx1cmUgT24gZmFpbHVyZSBldmVudCBhY3Rpb24gdG8gdHJpZ2dlciBUT0RPXG4gICAqL1xuICBjdXN0b21Mb2FkZXIodXJsLCBmb3JtYXQsIGludGVyY2VwdG9yLCBzdWNjZXNzLCBmYWlsdXJlPykge1xuICAgIHJldHVybiAoKGV4dGVudCwgcmVzb2x1dGlvbiwgcHJvamVjdGlvbikgPT4ge1xuICAgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICBsZXQgbW9kaWZpZWRVcmwgPSB1cmw7XG4gICAgICBpZiAodHlwZW9mIHVybCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHVybCk7XG4gICAgICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcbiAgICAgICAgICBtb2RpZmllZFVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kaWZpZWRVcmwgPSB1cmwoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qZWN0aW9uKTtcbiAgICAgIH1cbiAgICAgIHhoci5vcGVuKCAnR0VUJywgbW9kaWZpZWRVcmwpO1xuICAgICAgaWYgKGludGVyY2VwdG9yKSB7XG4gICAgICAgIGludGVyY2VwdG9yLmludGVyY2VwdFhocih4aHIsIG1vZGlmaWVkVXJsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZvcm1hdC5nZXRUeXBlKCkgPT09ICdhcnJheWJ1ZmZlcicpIHtcbiAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG4gICAgICB9XG4gICAgICB4aHIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICgheGhyLnN0YXR1cyB8fCB4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IGZvcm1hdC5nZXRUeXBlKCk7XG4gICAgICAgICAgbGV0IHNvdXJjZTtcbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ2pzb24nIHx8IHR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAodHlwZSA9PT0gJ3htbCcpIHtcbiAgICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZVhNTDtcbiAgICAgICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICAgIHNvdXJjZSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeGhyLnJlc3BvbnNlVGV4dCwgJ2FwcGxpY2F0aW9uL3htbCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmICh0eXBlID09PSAnYXJyYXlidWZmZXInKSB7XG4gICAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MuY2FsbCh0aGlzLCBmb3JtYXQucmVhZEZlYXR1cmVzKHNvdXJjZSwge1xuICAgICAgICAgICAgICBleHRlbnQsXG4gICAgICAgICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXG4gICAgICAgICAgICB9KSwgZm9ybWF0LnJlYWRQcm9qZWN0aW9uKHNvdXJjZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHhoci5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAvLyBUT0RPXG4gICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgIH07XG4gICAgICB4aHIuc2VuZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldE1hcChtYXA6IElnb01hcCB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy53YXRjaGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4ge30pO1xuICAgIH1cbiAgICBzdXBlci5zZXRNYXAobWFwKTtcbiAgfVxufVxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9ydGlsZS1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9ydGlsZS1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBS3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxLQUFLO0lBT3hDLFlBQ0UsT0FBK0IsRUFDeEIsY0FBK0IsRUFDL0IsZUFBaUM7UUFDeEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFGekMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUV4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBd0I7U0FDckQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQXdCLENBQUM7UUFFdEUsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFnQixFQUFFLEdBQVcsRUFB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SUFBSSxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU87Z0JBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBdUI7UUFDbkMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xMYXllclZlY3RvclRpbGUgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yVGlsZSc7XHJcbmltcG9ydCBvbFNvdXJjZVZlY3RvclRpbGUgZnJvbSAnb2wvc291cmNlL1ZlY3RvclRpbGUnO1xyXG5cclxuaW1wb3J0IHsgTVZURGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL212dC1kYXRhc291cmNlJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi9sYXllcic7XHJcbmltcG9ydCB7IFZlY3RvclRpbGVMYXllck9wdGlvbnMgfSBmcm9tICcuL3ZlY3RvcnRpbGUtbGF5ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVGlsZVdhdGNoZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi8uLi9tYXAnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgVmVjdG9yVGlsZSBmcm9tICdvbC9WZWN0b3JUaWxlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBWZWN0b3JUaWxlTGF5ZXIgZXh0ZW5kcyBMYXllciB7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U6IE1WVERhdGFTb3VyY2U7XHJcbiAgcHVibGljIG9wdGlvbnM6IFZlY3RvclRpbGVMYXllck9wdGlvbnM7XHJcbiAgcHVibGljIG9sOiBvbExheWVyVmVjdG9yVGlsZTtcclxuXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBUaWxlV2F0Y2hlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBvcHRpb25zOiBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zLFxyXG4gICAgcHVibGljIG1lc3NhZ2VTZXJ2aWNlPzogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYXV0aEludGVyY2VwdG9yPzogQXV0aEludGVyY2VwdG9yKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCBtZXNzYWdlU2VydmljZSwgYXV0aEludGVyY2VwdG9yKTtcclxuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBUaWxlV2F0Y2hlcih0aGlzKTtcclxuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMud2F0Y2hlci5zdGF0dXMkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllclZlY3RvclRpbGUge1xyXG4gICAgY29uc3Qgb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCB7XHJcbiAgICAgIHNvdXJjZTogdGhpcy5vcHRpb25zLnNvdXJjZS5vbCBhcyBvbFNvdXJjZVZlY3RvclRpbGVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHZlY3RvclRpbGUgPSBuZXcgb2xMYXllclZlY3RvclRpbGUob2xPcHRpb25zKTtcclxuICAgIGNvbnN0IHZlY3RvclRpbGVTb3VyY2UgPSB2ZWN0b3JUaWxlLmdldFNvdXJjZSgpIGFzIG9sU291cmNlVmVjdG9yVGlsZTtcclxuXHJcbiAgICB2ZWN0b3JUaWxlU291cmNlLnNldFRpbGVMb2FkRnVuY3Rpb24oKHRpbGU6IFZlY3RvclRpbGUsIHVybDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY3VzdG9tTG9hZGVyKHVybCwgdGlsZS5nZXRGb3JtYXQoKSwgdGhpcy5hdXRoSW50ZXJjZXB0b3IsIHRpbGUub25Mb2FkLmJpbmQodGlsZSkpO1xyXG4gICAgICBpZiAobG9hZGVyKSB7XHJcbiAgICAgICAgdGlsZS5zZXRMb2FkZXIobG9hZGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gdmVjdG9yVGlsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSBsb2FkZXIgZm9yIHZlY3RvciB0aWxlIGxheWVyLiBNb2RpZmllZCBmcm9tIHRoZSBsb2FkRmVhdHVyZXNYaHIgZnVuY3Rpb24gaW4gb2xcXGZlYXR1cmVsb2FkZXIuanNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gdXJsIHRoZSB1cmwgc3RyaW5nIG9yIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXHJcbiAgICogQHBhcmFtIGZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSB0aWxlXHJcbiAgICogQHBhcmFtIGludGVyY2VwdG9yIHRoZSBpbnRlcmNlcHRvciBvZiB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBzdWNjZXNzIE9uIHN1Y2Nlc3MgZXZlbnQgYWN0aW9uIHRvIHRyaWdnZXJcclxuICAgKiBAcGFyYW0gZmFpbHVyZSBPbiBmYWlsdXJlIGV2ZW50IGFjdGlvbiB0byB0cmlnZ2VyIFRPRE9cclxuICAgKi9cclxuICBjdXN0b21Mb2FkZXIodXJsLCBmb3JtYXQsIGludGVyY2VwdG9yLCBzdWNjZXNzLCBmYWlsdXJlPykge1xyXG4gICAgcmV0dXJuICgoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qZWN0aW9uKSA9PiB7XHJcbiAgICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICBsZXQgbW9kaWZpZWRVcmwgPSB1cmw7XHJcbiAgICAgIGlmICh0eXBlb2YgdXJsICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xyXG4gICAgICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcclxuICAgICAgICAgIG1vZGlmaWVkVXJsID0gYWx0ZXJlZFVybFdpdGhLZXlBdXRoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBtb2RpZmllZFVybCA9IHVybChleHRlbnQsIHJlc29sdXRpb24sIHByb2plY3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIHhoci5vcGVuKCAnR0VUJywgbW9kaWZpZWRVcmwpO1xyXG4gICAgICBpZiAoaW50ZXJjZXB0b3IpIHtcclxuICAgICAgICBpbnRlcmNlcHRvci5pbnRlcmNlcHRYaHIoeGhyLCBtb2RpZmllZFVybCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChmb3JtYXQuZ2V0VHlwZSgpID09PSAnYXJyYXlidWZmZXInKSB7XHJcbiAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcbiAgICAgIH1cclxuICAgICAgeGhyLm9ubG9hZCA9IChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmICgheGhyLnN0YXR1cyB8fCB4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSB7XHJcbiAgICAgICAgICBjb25zdCB0eXBlID0gZm9ybWF0LmdldFR5cGUoKTtcclxuICAgICAgICAgIGxldCBzb3VyY2U7XHJcbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ2pzb24nIHx8IHR5cGUgPT09ICd0ZXh0Jykge1xyXG4gICAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2VUZXh0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAodHlwZSA9PT0gJ3htbCcpIHtcclxuICAgICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlWE1MO1xyXG4gICAgICAgICAgICBpZiAoIXNvdXJjZSkge1xyXG4gICAgICAgICAgICAgIHNvdXJjZSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeGhyLnJlc3BvbnNlVGV4dCwgJ2FwcGxpY2F0aW9uL3htbCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh0eXBlID09PSAnYXJyYXlidWZmZXInKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChzb3VyY2UpIHtcclxuICAgICAgICAgICAgc3VjY2Vzcy5jYWxsKHRoaXMsIGZvcm1hdC5yZWFkRmVhdHVyZXMoc291cmNlLCB7XHJcbiAgICAgICAgICAgICAgZXh0ZW50LFxyXG4gICAgICAgICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXHJcbiAgICAgICAgICAgIH0pLCBmb3JtYXQucmVhZFByb2plY3Rpb24oc291cmNlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgICAgICBmYWlsdXJlLmNhbGwodGhpcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIFRPRE9cclxuICAgICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHhoci5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICAgIC8vIFRPRE9cclxuICAgICAgICBmYWlsdXJlLmNhbGwodGhpcyk7XHJcbiAgICAgIH07XHJcbiAgICAgIHhoci5zZW5kKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNYXAobWFwOiBJZ29NYXAgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLndhdGNoZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgfVxyXG4gICAgc3VwZXIuc2V0TWFwKG1hcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -286,4 +286,4 @@ StyleService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StyleServic
286
286
  providedIn: 'root'
287
287
  }]
288
288
  }], null, null); })();
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9zdHlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBSW5DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQU0zRixNQUFNLE9BQU8sWUFBWTtJQUd2QixXQUFXLENBQUMsT0FBK0I7UUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztRQUNELElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxJQUFJLE9BQU8sWUFBWSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3JFLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3hDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFB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QUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDOzt3RUF0U1UsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNO3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHsgU3R5bGVCeUF0dHJpYnV0ZSB9IGZyb20gJy4vdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IENsdXN0ZXJQYXJhbSB9IGZyb20gJy4vY2x1c3RlclBhcmFtJztcbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uLy4uL292ZXJsYXkvc2hhcmVkL292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcbmltcG9ydCBSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3R5bGVTZXJ2aWNlIHtcbiAgcHVibGljIHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xuXG4gIGNyZWF0ZVN0eWxlKG9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nIHx8IG9wdGlvbnMgaW5zdGFuY2VvZiBvbHN0eWxlLlN0eWxlKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGFyc2VTdHlsZSgnc3R5bGUnLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdHlsZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHN0eWxlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IG9sQ2xzID0gdGhpcy5nZXRPbENscyhrZXkpO1xuXG4gICAgaWYgKG9sQ2xzICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaChfa2V5ID0+IHtcbiAgICAgICAgY29uc3Qgb2xLZXkgPSB0aGlzLmdldE9sS2V5KF9rZXkpO1xuICAgICAgICBzdHlsZU9wdGlvbnNbb2xLZXldID0gdGhpcy5wYXJzZVN0eWxlKF9rZXksIHZhbHVlW19rZXldKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBvbENscyhzdHlsZU9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPbEtleShrZXk6IGFueSkge1xuICAgIGxldCBvbEtleTtcbiAgICBzd2l0Y2ggKGtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdjaXJjbGUnOlxuICAgICAgY2FzZSAncmVndWxhcnNoYXBlJzpcbiAgICAgIGNhc2UgJ2ljb24nOlxuICAgICAgICBvbEtleSA9ICdpbWFnZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9sS2V5IHx8IGtleTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2xDbHMoa2V5OiBhbnkpIHtcbiAgICBsZXQgb2xDbHMgPSBvbHN0eWxlW2tleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKV07XG4gICAgaWYgKGtleSA9PT0gJ3JlZ3VsYXJzaGFwZScpIHtcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5SZWd1bGFyU2hhcGU7XG4gICAgfVxuICAgIGlmIChrZXkgPT09ICdiYWNrZ3JvdW5kRmlsbCcpIHtcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5GaWxsO1xuICAgIH1cbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZFN0cm9rZScpIHtcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5TdHJva2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9sQ2xzO1xuICB9XG5cbiAgY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LCBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlKSB7XG5cbiAgICBsZXQgc3R5bGU7XG4gICAgY29uc3QgdHlwZSA9IHN0eWxlQnlBdHRyaWJ1dGUudHlwZSA/IHN0eWxlQnlBdHRyaWJ1dGUudHlwZSA6IHRoaXMuZ3Vlc3NUeXBlRmVhdHVyZShmZWF0dXJlKTtcbiAgICBjb25zdCBhdHRyaWJ1dGUgPSBzdHlsZUJ5QXR0cmlidXRlLmF0dHJpYnV0ZTtcbiAgICBjb25zdCBkYXRhID0gc3R5bGVCeUF0dHJpYnV0ZS5kYXRhO1xuICAgIGNvbnN0IHN0cm9rZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc3Ryb2tlO1xuICAgIGNvbnN0IHdpZHRoID0gc3R5bGVCeUF0dHJpYnV0ZS53aWR0aDtcbiAgICBjb25zdCBmaWxsID0gc3R5bGVCeUF0dHJpYnV0ZS5maWxsO1xuICAgIGNvbnN0IGFuY2hvciA9IHN0eWxlQnlBdHRyaWJ1dGUuYW5jaG9yO1xuICAgIGNvbnN0IHJhZGl1cyA9IHN0eWxlQnlBdHRyaWJ1dGUucmFkaXVzO1xuICAgIGNvbnN0IGljb24gPSBzdHlsZUJ5QXR0cmlidXRlLmljb247XG4gICAgY29uc3Qgc2NhbGUgPSBzdHlsZUJ5QXR0cmlidXRlLnNjYWxlO1xuICAgIGNvbnN0IHNpemUgPSBkYXRhID8gZGF0YS5sZW5ndGggOiAwO1xuICAgIGNvbnN0IGxhYmVsID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbCA/IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwuYXR0cmlidXRlIDogdW5kZWZpbmVkO1xuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGUgPyB0aGlzLnBhcnNlU3R5bGUoJ3RleHQnLCBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLnN0eWxlKSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoIWxhYmVsU3R5bGUgJiYgbGFiZWwpIHtcbiAgICAgICAgbGFiZWxTdHlsZSA9IG5ldyBvbHN0eWxlLlRleHQoKTtcbiAgICB9XG4gICAgY29uc3QgYmFzZVN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5iYXNlU3R5bGU7XG5cbiAgICBpZiAobGFiZWxTdHlsZSkge1xuICAgICAgbGFiZWxTdHlsZS5zZXRUZXh0KHRoaXMuZ2V0TGFiZWwoZmVhdHVyZSwgbGFiZWwpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2NpcmNsZScpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgdHlwZW9mIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09ICd1bmRlZmluZWQnICYmIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcbiAgICAgICAgICAgID8gZmVhdHVyZS5nZXQoYXR0cmlidXRlKVxuICAgICAgICAgICAgOiAnJztcbiAgICAgICAgaWYgKHZhbCA9PT0gZGF0YVtpXSB8fCB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSkpIHtcbiAgICAgICAgICBpZiAoaWNvbikge1xuICAgICAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgICAgIG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICAgICAgICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuSWNvbih7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzcmM6IGljb25baV0sXG4gICAgICAgICAgICAgICAgICBzY2FsZTogc2NhbGUgPyBzY2FsZVtpXSA6IDEsXG4gICAgICAgICAgICAgICAgICBhbmNob3I6IGFuY2hvciA/IGFuY2hvcltpXSA6IFswLjUsIDAuNV1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBsYWJlbFN0eWxlIGluc3RhbmNlb2Ygb2xzdHlsZS5UZXh0ID8gbGFiZWxTdHlsZSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgICBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xuICAgICAgICAgICAgICAgIHJhZGl1czogcmFkaXVzID8gcmFkaXVzW2ldIDogNCxcbiAgICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogc3Ryb2tlID8gc3Ryb2tlW2ldIDogJ2JsYWNrJyxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoW2ldIDogMVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogJ2JsYWNrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB0ZXh0OiBsYWJlbFN0eWxlIGluc3RhbmNlb2Ygb2xzdHlsZS5UZXh0ID8gbGFiZWxTdHlsZSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdO1xuICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCEoZmVhdHVyZSBhcyBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pLmdldFN0eWxlKCkpIHtcbiAgICAgICAgaWYgKGJhc2VTdHlsZSkge1xuICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUpO1xuICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XG4gICAgICAgICAgICBzdHlsZS5zZXRUZXh0KGxhYmVsU3R5bGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cbiAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgICAgIHJhZGl1czogNCxcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNiYmJiZjInXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgICAgY29uc3QgdmFsID1cbiAgICAgICAgdHlwZW9mIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09ICd1bmRlZmluZWQnICYmIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcbiAgICAgICAgICAgID8gZmVhdHVyZS5nZXQoYXR0cmlidXRlKVxuICAgICAgICAgICAgOiAnJztcbiAgICAgICAgaWYgKHZhbCA9PT0gZGF0YVtpXSB8fCB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSkpIHtcbiAgICAgICAgICBzdHlsZSA9IFtcbiAgICAgICAgICAgIG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzdHJva2UgPyBzdHJva2VbaV0gOiAnYmxhY2snLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoW2ldIDogMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogJ3JnYmEoMjU1LDI1NSwyNTUsMC40KSdcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbHN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF07XG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZmVhdHVyZSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xuICAgICAgICBpZiAoIWZlYXR1cmUuZ2V0U3R5bGUoKSkge1xuICAgICAgICAgIGlmIChiYXNlU3R5bGUpIHtcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUpO1xuICAgICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgICBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdO1xuICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUNsdXN0ZXJTdHlsZShmZWF0dXJlLCBjbHVzdGVyUGFyYW06IENsdXN0ZXJQYXJhbSA9IHt9LCBsYXllclN0eWxlKSB7XG4gICAgbGV0IHN0eWxlO1xuICAgIGNvbnN0IHNpemUgPSBmZWF0dXJlLmdldCgnZmVhdHVyZXMnKS5sZW5ndGg7XG4gICAgaWYgKHNpemUgIT09IDEpIHtcbiAgICAgIGlmIChjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xuICAgICAgICBmb3IgKGNvbnN0IHIgb2YgY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoIXIubWluUmFkaXVzIHx8IHIubWluUmFkaXVzIDw9IHNpemUpICYmXG4gICAgICAgICAgICAoIXIubWF4UmFkaXVzIHx8IHIubWF4UmFkaXVzID49IHNpemUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoci5zdHlsZSkgYXMgb2xzdHlsZS5DaXJjbGU7XG5cbiAgICAgICAgICAgIGlmIChyLnNob3dSYW5nZSkge1xuICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbmV3IG9sc3R5bGUuVGV4dCh7XG4gICAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoci5keW5hbWljUmFkaXVzKSB7XG4gICAgICAgICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XG4gICAgICAgICAgICAgIGNvbnN0IHJhZGl1c01pbiA9IHN0eWxlLmdldFJhZGl1cygpO1xuICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xuICAgICAgICAgICAgICBpZiAoY2x1c3RlclJhZGl1cyA8IHJhZGl1c01pbikge1xuICAgICAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3R5bGUuaW1hZ2VfLnNldFJhZGl1cyhjbHVzdGVyUmFkaXVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXN0eWxlKSB7XG4gICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XG4gICAgICAgIGlmIChjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYykge1xuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSBjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYyhzaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSA2O1xuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSA1ICogTWF0aC5sb2coc2l6ZSk7XG4gICAgICAgICAgaWYgKGNsdXN0ZXJSYWRpdXMgPCByYWRpdXNNaW4pIHtcbiAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgICAgIHJhZGl1czogY2x1c3RlclJhZGl1cyxcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjQsIDEzNCwgNDUsIDAuNSknXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRleHQ6IG5ldyBvbHN0eWxlLlRleHQoe1xuICAgICAgICAgICAgICB0ZXh0OiBzaXplLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGxheWVyU3R5bGUpO1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBnZXRMYWJlbChmZWF0dXJlLCBsYWJlbE1hdGNoKTogc3RyaW5nIHtcbiAgICBsZXQgbGFiZWwgPSBsYWJlbE1hdGNoO1xuICAgIGlmICghbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGFiZWxUb0dldCA9IEFycmF5LmZyb20obGFiZWxNYXRjaC5tYXRjaEFsbCgvXFwkXFx7KFteXFx7XFx9XSspXFx9L2cpKTtcblxuICAgIGxhYmVsVG9HZXQuZm9yRWFjaCh2ID0+IHtcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLmdldCh2WzFdKSk7XG4gICAgfSk7XG5cbiAgICAvLyBOb3RoaW5nIGRvbmU/IGNoZWNrIGZlYXR1cmUncyBhdHRyaWJ1dGVcbiAgICBpZiAobGFiZWxUb0dldC5sZW5ndGggPT09IDAgJiYgbGFiZWwgPT09IGxhYmVsTWF0Y2gpIHtcbiAgICAgIGxhYmVsID0gZmVhdHVyZS5nZXQobGFiZWxNYXRjaCkgfHwgbGFiZWxNYXRjaDtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBwcml2YXRlIGd1ZXNzVHlwZUZlYXR1cmUoZmVhdHVyZSkge1xuICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xuICAgICAgY2FzZSAnUG9pbnQnOlxuICAgICAgY2FzZSAnTXVsdGlQb2ludCc6XG4gICAgICBjYXNlICdDaXJjbGUnOlxuICAgICAgICByZXR1cm4gJ2NpcmNsZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3JlZ3VsYXInO1xuICAgIH1cbiAgfVxufVxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9zdHlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBSW5DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQU0zRixNQUFNLE9BQU8sWUFBWTtJQUd2QixXQUFXLENBQUMsT0FBK0I7UUFDekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztRQUNELElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxJQUFJLE9BQU8sWUFBWSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3JFLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3hDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFB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QUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDOzt3RUF0U1UsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNO3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCB7IFN0eWxlQnlBdHRyaWJ1dGUgfSBmcm9tICcuL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xyXG5cclxuaW1wb3J0IHsgQ2x1c3RlclBhcmFtIH0gZnJvbSAnLi9jbHVzdGVyUGFyYW0nO1xyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi8uLi9vdmVybGF5L3NoYXJlZC9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCBSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlU2VydmljZSB7XHJcbiAgcHVibGljIHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xyXG5cclxuICBjcmVhdGVTdHlsZShvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHtcclxuICAgICAgcmV0dXJuIGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nIHx8IG9wdGlvbnMgaW5zdGFuY2VvZiBvbHN0eWxlLlN0eWxlKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb25zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucGFyc2VTdHlsZSgnc3R5bGUnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VTdHlsZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgY29uc3Qgc3R5bGVPcHRpb25zID0ge307XHJcbiAgICBjb25zdCBvbENscyA9IHRoaXMuZ2V0T2xDbHMoa2V5KTtcclxuXHJcbiAgICBpZiAob2xDbHMgJiYgdmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goX2tleSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2xLZXkgPSB0aGlzLmdldE9sS2V5KF9rZXkpO1xyXG4gICAgICAgIHN0eWxlT3B0aW9uc1tvbEtleV0gPSB0aGlzLnBhcnNlU3R5bGUoX2tleSwgdmFsdWVbX2tleV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG5ldyBvbENscyhzdHlsZU9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPbEtleShrZXk6IGFueSkge1xyXG4gICAgbGV0IG9sS2V5O1xyXG4gICAgc3dpdGNoIChrZXkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdjaXJjbGUnOlxyXG4gICAgICBjYXNlICdyZWd1bGFyc2hhcGUnOlxyXG4gICAgICBjYXNlICdpY29uJzpcclxuICAgICAgICBvbEtleSA9ICdpbWFnZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sS2V5IHx8IGtleTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2xDbHMoa2V5OiBhbnkpIHtcclxuICAgIGxldCBvbENscyA9IG9sc3R5bGVba2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpXTtcclxuICAgIGlmIChrZXkgPT09ICdyZWd1bGFyc2hhcGUnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5SZWd1bGFyU2hhcGU7XHJcbiAgICB9XHJcbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZEZpbGwnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5GaWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRTdHJva2UnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xzdHlsZS5TdHJva2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sQ2xzO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LCBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlKSB7XHJcblxyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgY29uc3QgdHlwZSA9IHN0eWxlQnlBdHRyaWJ1dGUudHlwZSA/IHN0eWxlQnlBdHRyaWJ1dGUudHlwZSA6IHRoaXMuZ3Vlc3NUeXBlRmVhdHVyZShmZWF0dXJlKTtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHN0eWxlQnlBdHRyaWJ1dGUuYXR0cmlidXRlO1xyXG4gICAgY29uc3QgZGF0YSA9IHN0eWxlQnlBdHRyaWJ1dGUuZGF0YTtcclxuICAgIGNvbnN0IHN0cm9rZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc3Ryb2tlO1xyXG4gICAgY29uc3Qgd2lkdGggPSBzdHlsZUJ5QXR0cmlidXRlLndpZHRoO1xyXG4gICAgY29uc3QgZmlsbCA9IHN0eWxlQnlBdHRyaWJ1dGUuZmlsbDtcclxuICAgIGNvbnN0IGFuY2hvciA9IHN0eWxlQnlBdHRyaWJ1dGUuYW5jaG9yO1xyXG4gICAgY29uc3QgcmFkaXVzID0gc3R5bGVCeUF0dHJpYnV0ZS5yYWRpdXM7XHJcbiAgICBjb25zdCBpY29uID0gc3R5bGVCeUF0dHJpYnV0ZS5pY29uO1xyXG4gICAgY29uc3Qgc2NhbGUgPSBzdHlsZUJ5QXR0cmlidXRlLnNjYWxlO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGRhdGEgPyBkYXRhLmxlbmd0aCA6IDA7XHJcbiAgICBjb25zdCBsYWJlbCA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLmF0dHJpYnV0ZSA6IHVuZGVmaW5lZDtcclxuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGUgPyB0aGlzLnBhcnNlU3R5bGUoJ3RleHQnLCBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLnN0eWxlKSA6IHVuZGVmaW5lZDtcclxuICAgIGlmICghbGFiZWxTdHlsZSAmJiBsYWJlbCkge1xyXG4gICAgICAgIGxhYmVsU3R5bGUgPSBuZXcgb2xzdHlsZS5UZXh0KCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBiYXNlU3R5bGUgPSBzdHlsZUJ5QXR0cmlidXRlLmJhc2VTdHlsZTtcclxuXHJcbiAgICBpZiAobGFiZWxTdHlsZSkge1xyXG4gICAgICBsYWJlbFN0eWxlLnNldFRleHQodGhpcy5nZXRMYWJlbChmZWF0dXJlLCBsYWJlbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlID09PSAnY2lyY2xlJykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9XHJcbiAgICAgICAgICB0eXBlb2YgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gJ3VuZGVmaW5lZCcgJiYgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA/IGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSlcclxuICAgICAgICAgICAgOiAnJztcclxuICAgICAgICBpZiAodmFsID09PSBkYXRhW2ldIHx8IHZhbC50b1N0cmluZygpLm1hdGNoKG5ldyBSZWdFeHAoZGF0YVtpXSwgJ2dtaScpKSkge1xyXG4gICAgICAgICAgaWYgKGljb24pIHtcclxuICAgICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkljb24oe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgIHNyYzogaWNvbltpXSxcclxuICAgICAgICAgICAgICAgICAgc2NhbGU6IHNjYWxlID8gc2NhbGVbaV0gOiAxLFxyXG4gICAgICAgICAgICAgICAgICBhbmNob3I6IGFuY2hvciA/IGFuY2hvcltpXSA6IFswLjUsIDAuNV1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sc3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMgPyByYWRpdXNbaV0gOiA0LFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogc3Ryb2tlID8gc3Ryb2tlW2ldIDogJ2JsYWNrJyxcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbHN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIShmZWF0dXJlIGFzIE9sRmVhdHVyZTxPbEdlb21ldHJ5PikuZ2V0U3R5bGUoKSkge1xyXG4gICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUpO1xyXG4gICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgIHJhZGl1czogNCxcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyZWd1bGFyJykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9XHJcbiAgICAgICAgdHlwZW9mIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09ICd1bmRlZmluZWQnICYmIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcclxuICAgICAgICAgICAgPyBmZWF0dXJlLmdldChhdHRyaWJ1dGUpXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgaWYgKHZhbCA9PT0gZGF0YVtpXSB8fCB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSkpIHtcclxuICAgICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgICBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHN0cm9rZSA/IHN0cm9rZVtpXSA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggPyB3aWR0aFtpXSA6IDFcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBmaWxsID8gZmlsbFtpXSA6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgdGV4dDogbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sc3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChmZWF0dXJlIGluc3RhbmNlb2YgT2xGZWF0dXJlKSB7XHJcbiAgICAgICAgaWYgKCFmZWF0dXJlLmdldFN0eWxlKCkpIHtcclxuICAgICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGJhc2VTdHlsZSk7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNiYmJiZjInXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDbHVzdGVyU3R5bGUoZmVhdHVyZSwgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSB7fSwgbGF5ZXJTdHlsZSkge1xyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpLmxlbmd0aDtcclxuICAgIGlmIChzaXplICE9PSAxKSB7XHJcbiAgICAgIGlmIChjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgciBvZiBjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoIXIubWluUmFkaXVzIHx8IHIubWluUmFkaXVzIDw9IHNpemUpICYmXHJcbiAgICAgICAgICAgICghci5tYXhSYWRpdXMgfHwgci5tYXhSYWRpdXMgPj0gc2l6ZSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoci5zdHlsZSkgYXMgb2xzdHlsZS5DaXJjbGU7XHJcblxyXG4gICAgICAgICAgICBpZiAoci5zaG93UmFuZ2UpIHtcclxuICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbmV3IG9sc3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBzaXplLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoci5keW5hbWljUmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgbGV0IGNsdXN0ZXJSYWRpdXM6IG51bWJlcjtcclxuICAgICAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSBzdHlsZS5nZXRSYWRpdXMoKTtcclxuICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xyXG4gICAgICAgICAgICAgIGlmIChjbHVzdGVyUmFkaXVzIDwgcmFkaXVzTWluKSB7XHJcbiAgICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gcmFkaXVzTWluO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBzdHlsZS5pbWFnZV8uc2V0UmFkaXVzKGNsdXN0ZXJSYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFzdHlsZSkge1xyXG4gICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XHJcbiAgICAgICAgaWYgKGNsdXN0ZXJQYXJhbS5yYWRpdXNDYWxjKSB7XHJcbiAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gY2x1c3RlclBhcmFtLnJhZGl1c0NhbGMoc2l6ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHJhZGl1c01pbiA9IDY7XHJcbiAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xyXG4gICAgICAgICAgaWYgKGNsdXN0ZXJSYWRpdXMgPCByYWRpdXNNaW4pIHtcclxuICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IHJhZGl1c01pbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNCwgMTM0LCA0NSwgMC41KSdcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGV4dDogbmV3IG9sc3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShsYXllclN0eWxlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsKGZlYXR1cmUsIGxhYmVsTWF0Y2gpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxhYmVsID0gbGFiZWxNYXRjaDtcclxuICAgIGlmICghbGFiZWwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFiZWxUb0dldCA9IEFycmF5LmZyb20obGFiZWxNYXRjaC5tYXRjaEFsbCgvXFwkXFx7KFteXFx7XFx9XSspXFx9L2cpKTtcclxuXHJcbiAgICBsYWJlbFRvR2V0LmZvckVhY2godiA9PiB7XHJcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLmdldCh2WzFdKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBOb3RoaW5nIGRvbmU/IGNoZWNrIGZlYXR1cmUncyBhdHRyaWJ1dGVcclxuICAgIGlmIChsYWJlbFRvR2V0Lmxlbmd0aCA9PT0gMCAmJiBsYWJlbCA9PT0gbGFiZWxNYXRjaCkge1xyXG4gICAgICBsYWJlbCA9IGZlYXR1cmUuZ2V0KGxhYmVsTWF0Y2gpIHx8IGxhYmVsTWF0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpIHtcclxuICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xyXG4gICAgICBjYXNlICdQb2ludCc6XHJcbiAgICAgIGNhc2UgJ011bHRpUG9pbnQnOlxyXG4gICAgICBjYXNlICdDaXJjbGUnOlxyXG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3JlZ3VsYXInO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLXN0eWxlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFN0eWxlQnlBdHRyaWJ1dGUge1xuICAgIGFuY2hvcj86IEFycmF5PFtudW1iZXIsbnVtYmVyXT47XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBhdHRyaWJ1dGU/OiBzdHJpbmc7XG4gICAgZGF0YT86IEFycmF5PGFueT47XG4gICAgZmlsbD86IEFycmF5PHN0cmluZz47XG4gICAgc3Ryb2tlPzogQXJyYXk8c3RyaW5nPjtcbiAgICB3aWR0aD86IEFycmF5PG51bWJlcj47XG4gICAgcmFkaXVzPzogQXJyYXk8bnVtYmVyPjtcbiAgICBpY29uPzogQXJyYXk8c3RyaW5nPjtcbiAgICBzY2FsZT86IEFycmF5PG51bWJlcj47XG4gICAgbGFiZWw/OiBJZ29MYWJlbDtcbiAgICBiYXNlU3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIGhvdmVyU3R5bGU/OiBTdHlsZUJ5QXR0cmlidXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElnb0xhYmVsIHtcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgLy8gbWluU2NhbGVEZW5vbT86IG51bWJlcjsgLy8gdG9kb1xuICAvLyBtYXhTY2FsZURlbm9tPzogbnVtYmVyOyAvLyB0b2RvXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94U3R5bGUge1xuICB1cmw6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLXN0eWxlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFN0eWxlQnlBdHRyaWJ1dGUge1xyXG4gICAgYW5jaG9yPzogQXJyYXk8W251bWJlcixudW1iZXJdPjtcclxuICAgIHR5cGU/OiBzdHJpbmc7XHJcbiAgICBhdHRyaWJ1dGU/OiBzdHJpbmc7XHJcbiAgICBkYXRhPzogQXJyYXk8YW55PjtcclxuICAgIGZpbGw/OiBBcnJheTxzdHJpbmc+O1xyXG4gICAgc3Ryb2tlPzogQXJyYXk8c3RyaW5nPjtcclxuICAgIHdpZHRoPzogQXJyYXk8bnVtYmVyPjtcclxuICAgIHJhZGl1cz86IEFycmF5PG51bWJlcj47XHJcbiAgICBpY29uPzogQXJyYXk8c3RyaW5nPjtcclxuICAgIHNjYWxlPzogQXJyYXk8bnVtYmVyPjtcclxuICAgIGxhYmVsPzogSWdvTGFiZWw7XHJcbiAgICBiYXNlU3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gICAgaG92ZXJTdHlsZT86IFN0eWxlQnlBdHRyaWJ1dGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWdvTGFiZWwge1xyXG4gIGF0dHJpYnV0ZTogc3RyaW5nO1xyXG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICAvLyBtaW5TY2FsZURlbm9tPzogbnVtYmVyOyAvLyB0b2RvXHJcbiAgLy8gbWF4U2NhbGVEZW5vbT86IG51bWJlcjsgLy8gdG9kb1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFN0eWxlIHtcclxuICB1cmw6IHN0cmluZztcclxuICBzb3VyY2U6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './track-feature-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci90cmFjay1mZWF0dXJlLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci90cmFjay1mZWF0dXJlLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4iXX0=
@@ -61,4 +61,4 @@ TrackFeatureButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
61
61
  }], trackFeature: [{
62
62
  type: Input
63
63
  }] }); })();
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztJQ0FsRixpQ0FPaUM7SUFBL0IsME1BQThCOztJQUM5Qiw4QkFBOEM7SUFDaEQsaUJBQVM7OztJQUpQLCtFQUF1RCx1QkFBQTs7QURNekQsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QztRQVhTLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLFVBQUssR0FBVyxTQUFTLENBQUM7SUFFbEIsQ0FBQztJQVRoQixJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDOztzR0E5QlUsMkJBQTJCOzhFQUEzQiwyQkFBMkI7UUNYeEMsa0ZBU1M7O1FBVEEsK0NBQTBCOzt1RkRXdEIsMkJBQTJCO2NBTnZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxXQUFXLEVBQUUsdUNBQXVDO2dCQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7c0NBR1UsS0FBSztrQkFBYixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzJztcbmltcG9ydCB7IFZlY3RvckxheWVyT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyYWNrLWZlYXR1cmUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgbGF5ZXI6IFZlY3RvckxheWVyO1xuXG4gIEBJbnB1dCgpIHRyYWNrRmVhdHVyZSA9IGZhbHNlO1xuXG4gIGdldCBvcHRpb25zKCk6IFZlY3RvckxheWVyT3B0aW9ucyB7XG4gICAgaWYgKCF0aGlzLmxheWVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxheWVyLm9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgY29sb3I6IHN0cmluZyA9ICdwcmltYXJ5JztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2xvciA9IHRoaXMudHJhY2tGZWF0dXJlID8gJ3ByaW1hcnknIDogJ2Jhc2ljJztcbiAgfVxuXG4gIHRvZ2dsZVRyYWNrRmVhdHVyZSgpIHtcbiAgICBpZiAodGhpcy50cmFja0ZlYXR1cmUpIHtcbiAgICAgIHRoaXMubGF5ZXIuZGlzYWJsZVRyYWNrRmVhdHVyZSh0aGlzLmxheWVyLm9wdGlvbnMudHJhY2tGZWF0dXJlKTtcbiAgICAgIHRoaXMuY29sb3IgPSAnYmFzaWMnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxheWVyLmVuYWJsZVRyYWNrRmVhdHVyZSh0aGlzLmxheWVyLm9wdGlvbnMudHJhY2tGZWF0dXJlKTtcbiAgICAgIHRoaXMuY29sb3IgPSAncHJpbWFyeSc7XG4gICAgfVxuICAgIHRoaXMudHJhY2tGZWF0dXJlID0gIXRoaXMudHJhY2tGZWF0dXJlO1xuICB9XG59XG4iLCI8YnV0dG9uICpuZ0lmPVwib3B0aW9ucy50cmFja0ZlYXR1cmVcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgY29sbGFwc2libGVCdXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLnRyYWNrRmVhdHVyZScgfCB0cmFuc2xhdGVcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuICAoY2xpY2spPVwidG9nZ2xlVHJhY2tGZWF0dXJlKClcIj5cbiAgPG1hdC1pY29uIHN2Z0ljb249XCJjcm9zc2hhaXJzLWdwc1wiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztJQ0FsRixpQ0FPaUM7SUFBL0IsME1BQThCOztJQUM5Qiw4QkFBOEM7SUFDaEQsaUJBQVM7OztJQUpQLCtFQUF1RCx1QkFBQTs7QURNekQsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QztRQVhTLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLFVBQUssR0FBVyxTQUFTLENBQUM7SUFFbEIsQ0FBQztJQVRoQixJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDOztzR0E5QlUsMkJBQTJCOzhFQUEzQiwyQkFBMkI7UUNYeEMsa0ZBU1M7O1FBVEEsK0NBQTBCOzt1RkRXdEIsMkJBQTJCO2NBTnZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxXQUFXLEVBQUUsdUNBQXVDO2dCQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7c0NBR1UsS0FBSztrQkFBYixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYWNrLWZlYXR1cmUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBsYXllcjogVmVjdG9yTGF5ZXI7XHJcblxyXG4gIEBJbnB1dCgpIHRyYWNrRmVhdHVyZSA9IGZhbHNlO1xyXG5cclxuICBnZXQgb3B0aW9ucygpOiBWZWN0b3JMYXllck9wdGlvbnMge1xyXG4gICAgaWYgKCF0aGlzLmxheWVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxheWVyLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29sb3I6IHN0cmluZyA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29sb3IgPSB0aGlzLnRyYWNrRmVhdHVyZSA/ICdwcmltYXJ5JyA6ICdiYXNpYyc7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVUcmFja0ZlYXR1cmUoKSB7XHJcbiAgICBpZiAodGhpcy50cmFja0ZlYXR1cmUpIHtcclxuICAgICAgdGhpcy5sYXllci5kaXNhYmxlVHJhY2tGZWF0dXJlKHRoaXMubGF5ZXIub3B0aW9ucy50cmFja0ZlYXR1cmUpO1xyXG4gICAgICB0aGlzLmNvbG9yID0gJ2Jhc2ljJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGF5ZXIuZW5hYmxlVHJhY2tGZWF0dXJlKHRoaXMubGF5ZXIub3B0aW9ucy50cmFja0ZlYXR1cmUpO1xyXG4gICAgICB0aGlzLmNvbG9yID0gJ3ByaW1hcnknO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmFja0ZlYXR1cmUgPSAhdGhpcy50cmFja0ZlYXR1cmU7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gKm5nSWY9XCJvcHRpb25zLnRyYWNrRmVhdHVyZVwiXHJcbiAgbWF0LWljb24tYnV0dG9uXHJcbiAgY29sbGFwc2libGVCdXR0b25cclxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLnRyYWNrRmVhdHVyZScgfCB0cmFuc2xhdGVcIlxyXG4gIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgKGNsaWNrKT1cInRvZ2dsZVRyYWNrRmVhdHVyZSgpXCI+XHJcbiAgPG1hdC1pY29uIHN2Z0ljb249XCJjcm9zc2hhaXJzLWdwc1wiPjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
@@ -59,4 +59,4 @@ export class ImageWatcher extends Watcher {
59
59
  this.status = SubjectStatus.Error;
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3V0aWxzL2ltYWdlLXdhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzNELE1BQU0sT0FBTyxZQUFhLFNBQVEsT0FBTztJQVV2QyxZQUFZLEtBQWlCLEVBQUUsY0FBOEIsRUFBRSxlQUFnQztRQUM3RixLQUFLLEVBQUUsQ0FBQztRQVRBLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBU3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1B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O1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUVwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VJbWFnZSBmcm9tICdvbC9zb3VyY2UvSW1hZ2UnO1xuaW1wb3J0IHsgdXVpZCwgV2F0Y2hlciwgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEltYWdlTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyJztcblxuXG5leHBvcnQgY2xhc3MgSW1hZ2VXYXRjaGVyIGV4dGVuZHMgV2F0Y2hlciB7XG4gIHByb3RlY3RlZCBpZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbG9hZGVkID0gMDtcbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSAwO1xuXG4gIHByaXZhdGUgc291cmNlOiBvbFNvdXJjZUltYWdlO1xuXG4gIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlO1xuICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGxheWVyOiBJbWFnZUxheWVyLCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNvdXJjZSA9IGxheWVyLm9wdGlvbnMuc291cmNlLm9sO1xuICAgIHRoaXMuaWQgPSB1dWlkKCk7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZSA9IG1lc3NhZ2VTZXJ2aWNlO1xuICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlID0gbGFuZ3VhZ2VTZXJ2aWNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHdhdGNoKCkge1xuICAgIHRoaXMuc291cmNlLm9uKGBpbWFnZWxvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xuICAgIHRoaXMuc291cmNlLm9uKGBpbWFnZWxvYWRlbmRgLCBlID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICAgIHRoaXMuc291cmNlLm9uKGBpbWFnZWxvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRXJyb3IoZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVud2F0Y2goKSB7XG4gICAgdGhpcy5zb3VyY2UudW4oYGltYWdlbG9hZHN0YXJ0YCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRTdGFydChlKSk7XG4gICAgdGhpcy5zb3VyY2UudW4oYGltYWdlbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICB0aGlzLnNvdXJjZS51bihgaW1hZ2Vsb2FkZXJyb3JgLCBlID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XG4gICAgdGhpcy5zb3VyY2UudW4oYGltYWdlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFcnJvcihlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRTdGFydChldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIGV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXyA9IFtdO1xuICAgIH1cbiAgICBldmVudC5pbWFnZS5fX3dhdGNoZXJzX18ucHVzaCh0aGlzLmlkKTtcblxuICAgIHRoaXMubG9hZGluZyArPSAxO1xuICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRW5kKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3YXRjaGVySW5kZXggPSBldmVudC5pbWFnZS5fX3dhdGNoZXJzX18uaW5kZXhPZih0aGlzLmlkKTtcbiAgICBpZiAod2F0Y2hlckluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXy5zcGxpY2Uod2F0Y2hlckluZGV4LCAxKTtcblxuICAgIHRoaXMubG9hZGVkICs9IDE7XG5cbiAgICBjb25zdCBsb2FkaW5nID0gdGhpcy5sb2FkaW5nO1xuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XG4gICAgICBpZiAobG9hZGluZyA9PT0gdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Eb25lO1xuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRXJyb3IoZXZlbnQpIHtcblxuICAgIGlmICghZXZlbnQuaW1hZ2UuX193YXRjaGVyc19fKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAnaWdvLmdlby5kYXRhU291cmNlLnVuYXZhaWxhYmxlVGl0bGUnXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAnaWdvLmdlby5kYXRhU291cmNlLnVuYXZhaWxhYmxlJywge3ZhbHVlOiBldmVudC50YXJnZXQucGFyYW1zXy5MQVlFUlN9XG4gICAgKTtcblxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xuICAgIHRoaXMubG9hZGVkID0gLTE7XG4gICAgdGhpcy5sb2FkaW5nID0gMDtcbiAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuRXJyb3I7XG5cbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3V0aWxzL2ltYWdlLXdhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzNELE1BQU0sT0FBTyxZQUFhLFNBQVEsT0FBTztJQVV2QyxZQUFZLEtBQWlCLEVBQUUsY0FBOEIsRUFBRSxlQUFnQztRQUM3RixLQUFLLEVBQUUsQ0FBQztRQVRBLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBU3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1B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O1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUVwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VJbWFnZSBmcm9tICdvbC9zb3VyY2UvSW1hZ2UnO1xyXG5pbXBvcnQgeyB1dWlkLCBXYXRjaGVyLCBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2ltYWdlLWxheWVyJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgSW1hZ2VXYXRjaGVyIGV4dGVuZHMgV2F0Y2hlciB7XHJcbiAgcHJvdGVjdGVkIGlkOiBzdHJpbmc7XHJcbiAgcHJvdGVjdGVkIGxvYWRlZCA9IDA7XHJcbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSAwO1xyXG5cclxuICBwcml2YXRlIHNvdXJjZTogb2xTb3VyY2VJbWFnZTtcclxuXHJcbiAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IobGF5ZXI6IEltYWdlTGF5ZXIsIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnNvdXJjZSA9IGxheWVyLm9wdGlvbnMuc291cmNlLm9sO1xyXG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UgPSBtZXNzYWdlU2VydmljZTtcclxuICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlID0gbGFuZ3VhZ2VTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHdhdGNoKCkge1xyXG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZHN0YXJ0YCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRTdGFydChlKSk7XHJcbiAgICB0aGlzLnNvdXJjZS5vbihgaW1hZ2Vsb2FkZW5kYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xyXG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xyXG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFcnJvcihlKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdW53YXRjaCgpIHtcclxuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xyXG4gICAgdGhpcy5zb3VyY2UudW4oYGltYWdlbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcclxuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcclxuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRXJyb3IoZSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVMb2FkU3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcclxuICAgICAgZXZlbnQuaW1hZ2UuX193YXRjaGVyc19fID0gW107XHJcbiAgICB9XHJcbiAgICBldmVudC5pbWFnZS5fX3dhdGNoZXJzX18ucHVzaCh0aGlzLmlkKTtcclxuXHJcbiAgICB0aGlzLmxvYWRpbmcgKz0gMTtcclxuICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRW5kKGV2ZW50KSB7XHJcbiAgICBpZiAoIWV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgd2F0Y2hlckluZGV4ID0gZXZlbnQuaW1hZ2UuX193YXRjaGVyc19fLmluZGV4T2YodGhpcy5pZCk7XHJcbiAgICBpZiAod2F0Y2hlckluZGV4IDwgMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQuaW1hZ2UuX193YXRjaGVyc19fLnNwbGljZSh3YXRjaGVySW5kZXgsIDEpO1xyXG5cclxuICAgIHRoaXMubG9hZGVkICs9IDE7XHJcblxyXG4gICAgY29uc3QgbG9hZGluZyA9IHRoaXMubG9hZGluZztcclxuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XHJcbiAgICAgIGlmIChsb2FkaW5nID09PSB0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuRG9uZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTG9hZEVycm9yKGV2ZW50KSB7XHJcblxyXG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZVRpdGxlJ1xyXG4gICAgKTtcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZScsIHt2YWx1ZTogZXZlbnQudGFyZ2V0LnBhcmFtc18uTEFZRVJTfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcclxuICAgIHRoaXMubG9hZGVkID0gLTE7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSAwO1xyXG4gICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLkVycm9yO1xyXG5cclxuICB9XHJcbn1cclxuIl19
@@ -4,4 +4,4 @@ export * from './layerSync-watcher';
4
4
  export * from './tile-watcher';
5
5
  export * from './outputLegend';
6
6
  export * from './vector-watcher';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ltYWdlLXdhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyU3luYy13YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGlsZS13YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3V0cHV0TGVnZW5kJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9yLXdhdGNoZXInO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ltYWdlLXdhdGNoZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheWVyLnV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXllclN5bmMtd2F0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGlsZS13YXRjaGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9vdXRwdXRMZWdlbmQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZlY3Rvci13YXRjaGVyJztcclxuIl19
@@ -8,4 +8,4 @@ export function computeMVTOptionsOnHover(layerOptions) {
8
8
  }
9
9
  return layerOptions;
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9sYXllci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLFVBQVUsd0JBQXdCLENBQUMsWUFBNkI7O0lBQ3BFLE1BQU0sc0JBQXNCLEdBQUcsWUFBc0MsQ0FBQztJQUN0RSxJQUNFLENBQUEsTUFBQSxzQkFBc0IsQ0FBQyxhQUFhLDBDQUFFLElBQUksTUFBSyxLQUFLO1FBQ3BELENBQUMsQ0FBQSxNQUFBLHNCQUFzQixDQUFDLGdCQUFnQiwwQ0FBRSxVQUFVLEtBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDNUYsTUFBTSxFQUFFLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUM3RCxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDekU7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55TGF5ZXJPcHRpb25zIH0gZnJvbSBcIi4uL3NoYXJlZC9sYXllcnMvYW55LWxheWVyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVmVjdG9yVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gXCIuLi9zaGFyZWQvbGF5ZXJzL3ZlY3RvcnRpbGUtbGF5ZXIuaW50ZXJmYWNlXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVNVlRPcHRpb25zT25Ib3ZlcihsYXllck9wdGlvbnM6IEFueUxheWVyT3B0aW9ucykge1xuICBjb25zdCB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zID0gbGF5ZXJPcHRpb25zIGFzIFZlY3RvclRpbGVMYXllck9wdGlvbnM7XG4gIGlmIChcbiAgICB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnM/LnR5cGUgPT09ICdtdnQnICYmXG4gICAgKHZlY3RvclRpbGVMYXllck9wdGlvbnMuc3R5bGVCeUF0dHJpYnV0ZT8uaG92ZXJTdHlsZSB8fCB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLmhvdmVyU3R5bGUpKSB7XG4gICAgY29uc3QgZmMgPSB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnMuZmVhdHVyZUNsYXNzO1xuICAgIHZlY3RvclRpbGVMYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5mZWF0dXJlQ2xhc3MgPSBmYyA/IGZjIDogJ2ZlYXR1cmUnO1xuICB9XG4gIHJldHVybiBsYXllck9wdGlvbnM7XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9sYXllci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLFVBQVUsd0JBQXdCLENBQUMsWUFBNkI7O0lBQ3BFLE1BQU0sc0JBQXNCLEdBQUcsWUFBc0MsQ0FBQztJQUN0RSxJQUNFLENBQUEsTUFBQSxzQkFBc0IsQ0FBQyxhQUFhLDBDQUFFLElBQUksTUFBSyxLQUFLO1FBQ3BELENBQUMsQ0FBQSxNQUFBLHNCQUFzQixDQUFDLGdCQUFnQiwwQ0FBRSxVQUFVLEtBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDNUYsTUFBTSxFQUFFLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUM3RCxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDekU7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55TGF5ZXJPcHRpb25zIH0gZnJvbSBcIi4uL3NoYXJlZC9sYXllcnMvYW55LWxheWVyLmludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zIH0gZnJvbSBcIi4uL3NoYXJlZC9sYXllcnMvdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2VcIjtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU1WVE9wdGlvbnNPbkhvdmVyKGxheWVyT3B0aW9uczogQW55TGF5ZXJPcHRpb25zKSB7XHJcbiAgY29uc3QgdmVjdG9yVGlsZUxheWVyT3B0aW9ucyA9IGxheWVyT3B0aW9ucyBhcyBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zO1xyXG4gIGlmIChcclxuICAgIHZlY3RvclRpbGVMYXllck9wdGlvbnMuc291cmNlT3B0aW9ucz8udHlwZSA9PT0gJ212dCcgJiZcclxuICAgICh2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLnN0eWxlQnlBdHRyaWJ1dGU/LmhvdmVyU3R5bGUgfHwgdmVjdG9yVGlsZUxheWVyT3B0aW9ucy5ob3ZlclN0eWxlKSkge1xyXG4gICAgY29uc3QgZmMgPSB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnMuZmVhdHVyZUNsYXNzO1xyXG4gICAgdmVjdG9yVGlsZUxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLmZlYXR1cmVDbGFzcyA9IGZjID8gZmMgOiAnZmVhdHVyZSc7XHJcbiAgfVxyXG4gIHJldHVybiBsYXllck9wdGlvbnM7XHJcbn1cclxuIl19
@@ -152,7 +152,9 @@ export class LayerSyncWatcher extends Watcher {
152
152
  const layerType = layerToApply.ol.getProperties().sourceOptions.type;
153
153
  layerToApply.dataSource.setOgcFilters(ogcFilters, false);
154
154
  if (layerType === 'wfs') {
155
- layerToApply.ol.getSource().refresh();
155
+ if (ogcFilters !== layerToApply.dataSource.ogcFilters$.value) {
156
+ layerToApply.ol.getSource().refresh();
157
+ }
156
158
  }
157
159
  if (layerType === 'wms') {
158
160
  let appliedOgcFilter;
@@ -178,8 +180,10 @@ export class LayerSyncWatcher extends Watcher {
178
180
  l.bidirectionnal !== false && l.linkedIds.indexOf(currentLinkedId) !== -1) {
179
181
  const layerType = layer.ol.getProperties().sourceOptions.type;
180
182
  if (layerType === 'wfs') {
181
- layer.dataSource.setOgcFilters(ogcFilters, true);
182
- layer.ol.getSource().refresh();
183
+ if (ogcFilters !== layer.dataSource.ogcFilters$.value) {
184
+ layer.dataSource.setOgcFilters(ogcFilters, true);
185
+ layer.ol.getSource().refresh();
186
+ }
183
187
  }
184
188
  if (layerType === 'wms') {
185
189
  let appliedOgcFilter;
@@ -220,7 +224,7 @@ export class LayerSyncWatcher extends Watcher {
220
224
  });
221
225
  if (childLayer) {
222
226
  childLayer.dataSource.setTimeFilter(timeFilter, false);
223
- const appliedTimeFilter = this.ol.get('values_').source.getParams().TIME;
227
+ const appliedTimeFilter = this.ol.getSource().getParams().TIME;
224
228
  childLayer.dataSource.ol.updateParams({ TIME: appliedTimeFilter });
225
229
  }
226
230
  });
@@ -236,7 +240,7 @@ export class LayerSyncWatcher extends Watcher {
236
240
  parentLayer.options.linkedLayers.links.map(l => {
237
241
  if (l.properties && l.properties.indexOf(LinkedProperties.TIMEFILTER) !== -1 &&
238
242
  l.bidirectionnal !== false && l.linkedIds.indexOf(currentLinkedId) !== -1) {
239
- const appliedTimeFilter = this.ol.get('values_').source.getParams().TIME;
243
+ const appliedTimeFilter = this.ol.getSource().getParams().TIME;
240
244
  parentLayer.dataSource.ol.updateParams({ TIME: appliedTimeFilter });
241
245
  parentLayer.dataSource.setTimeFilter(timeFilter, true);
242
246
  }
@@ -246,4 +250,4 @@ export class LayerSyncWatcher extends Watcher {
246
250
  }
247
251
  }
248
252
  }
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJTeW5jLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9sYXllclN5bmMtd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTXRDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxPQUFPO0lBVXpDLFlBQVksS0FBWSxFQUFFLEdBQVc7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRVMsS0FBSztRQUVYLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSyxJQUFJLENBQUMsVUFBc0MsQ0FBQyxXQUFXLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFlBQVksR0FBSSxJQUFJLENBQUMsVUFBc0MsQ0FBQyxX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LENBQUMsRUFBRTt3QkFDM0MsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEUsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7NEJBQzNFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQzs0QkFDeEUsV0FBVyxDQUFDLFVBQTRCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7NEJBQ3RGLFdBQVcsQ0FBQyxVQUF1QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7eUJBQ3hGO29CQUNMLENBQUMsQ0FBQyxDQUFDO2lCQUNOO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDVjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdhdGNoZXIgfSBmcm9tICdAaWdvMi91dGlscyc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xuaW1wb3J0IG9sTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInO1xuaW1wb3J0IG9sU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgTGF5ZXJzTGluaywgTGlua2VkUHJvcGVydGllcyB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLCBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXInO1xuaW1wb3J0IHsgVGltZUZpbHRlcmFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC90aW1lLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIExheWVyU3luY1dhdGNoZXIgZXh0ZW5kcyBXYXRjaGVyIHtcbiAgICBwcml2YXRlIG9nY0ZpbHRlcnMkJDogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgdGltZUZpbHRlciQkOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIG9sOiBvbExheWVyPG9sU291cmNlPjtcbiAgICBwcml2YXRlIGxheWVyOiBMYXllcjtcbiAgICBwcml2YXRlIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gICAgcHJpdmF0ZSBtYXA6IElnb01hcDtcbiAgICBwcml2YXRlIG9nY0ZpbHRlcldyaXRlcjtcblxuICAgIGNvbnN0cnVjdG9yKGxheWVyOiBMYXllciwgbWFwOiBJZ29NYXApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vbCA9IGxheWVyLm9sO1xuICAgICAgICB0aGlzLmxheWVyID0gbGF5ZXI7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IGxheWVyLm9wdGlvbnMuc291cmNlO1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHdhdGNoKCkge1xuXG4gICAgICAgIHRoaXMub2wub24oJ3Byb3BlcnR5Y2hhbmdlJywgZXZ0ID0+IHRoaXMudHJhbnNmZXJDb21tb25Qcm9wZXJ0aWVzKGV2dCkpO1xuICAgICAgICBpZiAoKHRoaXMuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyQpIHtcbiAgICAgICAgICAgIHRoaXMub2djRmlsdGVycyQkID0gKHRoaXMuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyRcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG9nY0ZpbHRlcnMgPT4gdGhpcy50cmFuc2Zlck9nY0ZpbHRlcnNQcm9wZXJ0aWVzKG9nY0ZpbHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKHRoaXMuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnRpbWVGaWx0ZXIkKSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVGaWx0ZXIkJCA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlKS50aW1lRmlsdGVyJFxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodGltZUZpbHRlciA9PiB0aGlzLnRyYW5zZmVyVGltZUZpbHRlclByb3BlcnRpZXModGltZUZpbHRlcikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3luY0NoaWxkTGF5ZXJzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVud2F0Y2goKSB7XG4gICAgICAgIHRoaXMub2wudW4oJ3Byb3BlcnR5Y2hhbmdlJywgZXZ0ID0+IHRoaXMudHJhbnNmZXJDb21tb25Qcm9wZXJ0aWVzKGV2dCkpO1xuICAgICAgICBpZiAodGhpcy5vZ2NGaWx0ZXJzJCQpIHsgdGhpcy5vZ2NGaWx0ZXJzJCQudW5zdWJzY3JpYmUoKTsgfVxuICAgICAgICBpZiAodGhpcy50aW1lRmlsdGVyJCQpIHsgdGhpcy50aW1lRmlsdGVyJCQudW5zdWJzY3JpYmUoKTsgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzeW5jQ2hpbGRMYXllcnMoKSB7XG4gICAgICAgIC8vIEZvcmNlIHRoZSBzeW5jIHRoZSBjaGlsZCBsYXllcnMgd2l0aCBwYXJlbnQgb24gdGhlIGZpcnN0IGxvYWQuXG4gICAgICAgIGlmICghdGhpcy5tYXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hcC5zdGF0dXMkXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXAubGF5ZXJzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIobGF5ZXIgPT4gbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtzKVxuICAgICAgICAgICAgICAgICAgICAubWFwKGxheWVyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzLm1hcChsaW5rID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5wcm9wZXJ0aWVzPy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuVklTSUJMRSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgndmlzaWJsZScsICEobGF5ZXIudmlzaWJsZSksIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KCd2aXNpYmxlJywgIShsYXllci52aXNpYmxlKSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci52aXNpYmxlID0gbGF5ZXIudmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmsucHJvcGVydGllcz8uaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLk9QQUNJVFkpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiYXNlT3BhY2l0eSA9IGxheWVyLm9sLmdldCgnb3BhY2l0eScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoJ29wYWNpdHknLCAwLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgnb3BhY2l0eScsIGJhc2VPcGFjaXR5LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9wYWNpdHkgPSBsYXllci5vcGFjaXR5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5wcm9wZXJ0aWVzPy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuTUlOUkVTT0xVVElPTikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhc2VNaW5SZXNvbHV0aW9uID0gbGF5ZXIub2wuZ2V0KCdtaW5SZXNvbHV0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgnbWluUmVzb2x1dGlvbicsIDAsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KCdtaW5SZXNvbHV0aW9uJywgYmFzZU1pblJlc29sdXRpb24sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIubWluUmVzb2x1dGlvbiA9IGxheWVyLm1pblJlc29sdXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLnByb3BlcnRpZXM/LmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5NQVhSRVNPTFVUSU9OKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZU1heFJlc29sdXRpb24gPSBsYXllci5vbC5nZXQoJ21heFJlc29sdXRpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KCdtYXhSZXNvbHV0aW9uJywgMCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoJ21heFJlc29sdXRpb24nLCBiYXNlTWF4UmVzb2x1dGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5taW5SZXNvbHV0aW9uID0gbGF5ZXIubWluUmVzb2x1dGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmsucHJvcGVydGllcz8uaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvZ2NGaWx0ZXJzJCA9IChsYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5vZ2NGaWx0ZXJzJDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2djRmlsdGVycyQubmV4dChvZ2NGaWx0ZXJzJC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLnByb3BlcnRpZXM/LmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5USU1FRklMVEVSKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZUZpbHRlciQgPSAobGF5ZXIuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnRpbWVGaWx0ZXIkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lRmlsdGVyJC5uZXh0KHRpbWVGaWx0ZXIkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZmVyQ29tbW9uUHJvcGVydGllcyhsYXllckNoYW5nZSkge1xuICAgICAgICBjb25zdCBrZXkgPSBsYXllckNoYW5nZS5rZXk7XG4gICAgICAgIGNvbnN0IGxheWVyQ2hhbmdlUHJvcGVydGllcyA9IGxheWVyQ2hhbmdlLnRhcmdldC5nZXRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gbGF5ZXJDaGFuZ2VQcm9wZXJ0aWVzW2tleV07XG5cbiAgICAgICAgaWYgKFsndmlzaWJsZScsICdvcGFjaXR5JywgJ21pblJlc29sdXRpb24nLCAnbWF4UmVzb2x1dGlvbiddLmluZGV4T2Yoa2V5KSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsaW5rZWRMYXllcnMgPSBsYXllckNoYW5nZVByb3BlcnRpZXMubGlua2VkTGF5ZXJzIGFzIExheWVyc0xpbms7XG4gICAgICAgIGlmICghbGlua2VkTGF5ZXJzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudExpbmtlZElkID0gbGlua2VkTGF5ZXJzLmxpbmtJZDtcbiAgICAgICAgY29uc3QgY3VycmVudExpbmtzID0gbGlua2VkTGF5ZXJzLmxpbmtzO1xuICAgICAgICBjb25zdCBpc1BhcmVudExheWVyID0gY3VycmVudExpbmtzID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGlmIChpc1BhcmVudExheWVyKSB7XG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIGNoaWxkIGxheWVyc1xuICAgICAgICAgICAgY29uc3Qgc2lsZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rcy5tYXAobGluayA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLnByb3BlcnRpZXMgfHwgbGluay5wcm9wZXJ0aWVzLmluZGV4T2Yoa2V5KSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaW5rLmxpbmtlZElkcy5tYXAobGlua2VkSWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllclRvQXBwbHkgPSB0aGlzLm1hcC5sYXllcnMuZmluZChsYXllciA9PiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkID09PSBsaW5rZWRJZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXllclRvQXBwbHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyVG9BcHBseS5vbC5zZXQoa2V5LCBuZXdWYWx1ZSwgc2lsZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICd2aXNpYmxlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyVG9BcHBseS52aXNpYmxlJC5uZXh0KG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIHBhcmVudCBsYXllclxuICAgICAgICAgICAgY29uc3Qgc2lsZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm1hcC5sYXllcnMubWFwKGxheWVyID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtzKSB7XG4gICAgICAgICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzLm1hcChsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsLnByb3BlcnRpZXMgJiYgbC5wcm9wZXJ0aWVzLmluZGV4T2Yoa2V5KSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLmJpZGlyZWN0aW9ubmFsICE9PSBmYWxzZSAmJiBsLmxpbmtlZElkcy5pbmRleE9mKGN1cnJlbnRMaW5rZWRJZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KGtleSwgbmV3VmFsdWUsIHNpbGVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLnZpc2libGUkLm5leHQobmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZmVyT2djRmlsdGVyc1Byb3BlcnRpZXMob2djRmlsdGVycykge1xuICAgICAgICBjb25zdCBsaW5rZWRMYXllcnMgPSB0aGlzLm9sLmdldFByb3BlcnRpZXMoKS5saW5rZWRMYXllcnMgYXMgTGF5ZXJzTGluaztcbiAgICAgICAgaWYgKCFsaW5rZWRMYXllcnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50TGlua2VkSWQgPSBsaW5rZWRMYXllcnMubGlua0lkO1xuICAgICAgICBjb25zdCBjdXJyZW50TGlua3MgPSBsaW5rZWRMYXllcnMubGlua3M7XG4gICAgICAgIGNvbnN0IGlzUGFyZW50TGF5ZXIgPSBjdXJyZW50TGlua3MgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmIChpc1BhcmVudExheWVyKSB7XG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIGNoaWxkIGxheWVyc1xuICAgICAgICAgICAgY3VycmVudExpbmtzLm1hcChsaW5rID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmsucHJvcGVydGllcyB8fCBsaW5rLnByb3BlcnRpZXMuaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpbmsubGlua2VkSWRzLm1hcChsaW5rZWRJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyVG9BcHBseSA9IHRoaXMubWFwLmxheWVycy5maW5kKGxheWVyID0+IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rSWQgPT09IGxpbmtlZElkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxheWVyVG9BcHBseSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJUeXBlID0gbGF5ZXJUb0FwcGx5Lm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXJUb0FwcGx5LmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldE9nY0ZpbHRlcnMob2djRmlsdGVycywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxheWVyVHlwZSA9PT0gJ3dmcycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllclRvQXBwbHkub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxheWVyVHlwZSA9PT0gJ3dtcycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXBwbGllZE9nY0ZpbHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vbC5nZXRQcm9wZXJ0aWVzKCkuc291cmNlT3B0aW9ucy50eXBlID09PSAnd2ZzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWVkT2djRmlsdGVyID0gdGhpcy5vZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLmZpZWxkTmFtZUdlb21ldHJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0T2xQcm9qZWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub2wuZ2V0UHJvcGVydGllcygpLnNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ3dtcycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZE9nY0ZpbHRlciA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wuZ2V0UGFyYW1zKCkuRklMVEVSO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXJUb0FwcGx5LmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBhcHBsaWVkT2djRmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHNlYXJjaCBmb3IgcGFyZW50IGxheWVyXG4gICAgICAgICAgICB0aGlzLm1hcC5sYXllcnMubWFwKGxheWVyID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtzKSB7XG4gICAgICAgICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzLm1hcChsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsLnByb3BlcnRpZXMgJiYgbC5wcm9wZXJ0aWVzLmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5PR0NGSUxURVJTKSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLmJpZGlyZWN0aW9ubmFsICE9PSBmYWxzZSAmJiBsLmxpbmtlZElkcy5pbmRleE9mKGN1cnJlbnRMaW5rZWRJZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJUeXBlID0gbGF5ZXIub2wuZ2V0UHJvcGVydGllcygpLnNvdXJjZU9wdGlvbnMudHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUeXBlID09PSAnd2ZzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkuc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUeXBlID09PSAnd21zJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXBwbGllZE9nY0ZpbHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub2wuZ2V0UHJvcGVydGllcygpLnNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ3dmcycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpZWRPZ2NGaWx0ZXIgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5oYW5kbGVPZ2NGaWx0ZXJzQXBwbGllZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkuZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLmdldE9sUHJvamVjdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vbC5nZXRQcm9wZXJ0aWVzKCkuc291cmNlT3B0aW9ucy50eXBlID09PSAnd21zJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZE9nY0ZpbHRlciA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wuZ2V0UGFyYW1zKCkuRklMVEVSO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2UpLm9sLnVwZGF0ZVBhcmFtcyh7IEZJTFRFUjogYXBwbGllZE9nY0ZpbHRlciB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldE9nY0ZpbHRlcnMob2djRmlsdGVycywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJhbnNmZXJUaW1lRmlsdGVyUHJvcGVydGllcyh0aW1lRmlsdGVyKSB7XG4gICAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHRoaXMub2wuZ2V0UHJvcGVydGllcygpLmxpbmtlZExheWVycyBhcyBMYXllcnNMaW5rO1xuICAgICAgICBpZiAoIWxpbmtlZExheWVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaW5rZWRJZCA9IGxpbmtlZExheWVycy5saW5rSWQ7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaW5rcyA9IGxpbmtlZExheWVycy5saW5rcztcbiAgICAgICAgY29uc3QgaXNQYXJlbnRMYXllciA9IGN1cnJlbnRMaW5rcyA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgaWYgKGlzUGFyZW50TGF5ZXIpIHtcbiAgICAgICAgICAgIC8vIHNlYXJjaCBmb3IgY2hpbGQgbGF5ZXJzXG4gICAgICAgICAgICBjdXJyZW50TGlua3MubWFwKGxpbmsgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbGluay5wcm9wZXJ0aWVzIHx8IGxpbmsucHJvcGVydGllcy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuVElNRUZJTFRFUikgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGluay5saW5rZWRJZHMubWFwKGxpbmtlZElkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRMYXllciA9IHRoaXMubWFwLmxheWVycy5maW5kKGxheWVyID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtJZCA9PT0gbGlua2VkSWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRMYXllcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkTGF5ZXIuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldFRpbWVGaWx0ZXIodGltZUZpbHRlciwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXBwbGllZFRpbWVGaWx0ZXIgPSB0aGlzLm9sLmdldCgndmFsdWVzXycpLnNvdXJjZS5nZXRQYXJhbXMoKS5USU1FO1xuICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkTGF5ZXIuZGF0YVNvdXJjZSBhcyBXTVNEYXRhU291cmNlKS5vbC51cGRhdGVQYXJhbXMoeyBUSU1FOiBhcHBsaWVkVGltZUZpbHRlciB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIHBhcmVudCBsYXllclxuICAgICAgICAgICAgdGhpcy5tYXAubGF5ZXJzXG4gICAgICAgICAgICAgICAgLmZpbHRlcihsYXllciA9PiBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSlcbiAgICAgICAgICAgICAgICAubWFwKHBhcmVudExheWVyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudExheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50TGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MubWFwKGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsLnByb3BlcnRpZXMgJiYgbC5wcm9wZXJ0aWVzLmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5USU1FRklMVEVSKSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC5iaWRpcmVjdGlvbm5hbCAhPT0gZmFsc2UgJiYgbC5saW5rZWRJZHMuaW5kZXhPZihjdXJyZW50TGlua2VkSWQpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBsaWVkVGltZUZpbHRlciA9IHRoaXMub2wuZ2V0KCd2YWx1ZXNfJykuc291cmNlLmdldFBhcmFtcygpLlRJTUU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXJlbnRMYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2UpLm9sLnVwZGF0ZVBhcmFtcyh7IFRJTUU6IGFwcGxpZWRUaW1lRmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFyZW50TGF5ZXIuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldFRpbWVGaWx0ZXIodGltZUZpbHRlciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJTeW5jLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9sYXllclN5bmMtd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTXRDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxPQUFPO0lBVXpDLFlBQVksS0FBWSxFQUFFLEdBQVc7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRVMsS0FBSztRQUVYLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSyxJQUFJLENBQUMsVUFBc0MsQ0FBQyxXQUFXLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFlBQVksR0FBSSxJQUFJLENBQUMsVUFBc0MsQ0FBQyxX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O2dCQUNmLElBQUksTUFBQSxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksMENBQUUsS0FBSyxFQUFFO29CQUN6QyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUMzQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUN4RSxDQUFDLENBQUMsY0FBYyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTs0QkFDM0UsTUFBTSxpQkFBaUIsR0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBdUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUM7NEJBQ3BGLFdBQVcsQ0FBQyxVQUE0QixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDOzRCQUN0RixXQUFXLENBQUMsVUFBdUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO3lCQUN4RjtvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDTjtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXYXRjaGVyIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgb2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XHJcbmltcG9ydCBvbFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IExheWVyc0xpbmssIExpbmtlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLCBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgV01TRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcclxuaW1wb3J0IHsgVGltZUZpbHRlcmFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC90aW1lLWZpbHRlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBvbFNvdXJjZUltYWdlV01TIGZyb20gJ29sL3NvdXJjZS9JbWFnZVdNUyc7XHJcblxyXG5leHBvcnQgY2xhc3MgTGF5ZXJTeW5jV2F0Y2hlciBleHRlbmRzIFdhdGNoZXIge1xyXG4gICAgcHJpdmF0ZSBvZ2NGaWx0ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgdGltZUZpbHRlciQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJpdmF0ZSBvbDogb2xMYXllcjxvbFNvdXJjZT47XHJcbiAgICBwcml2YXRlIGxheWVyOiBMYXllcjtcclxuICAgIHByaXZhdGUgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcclxuICAgIHByaXZhdGUgbWFwOiBJZ29NYXA7XHJcbiAgICBwcml2YXRlIG9nY0ZpbHRlcldyaXRlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihsYXllcjogTGF5ZXIsIG1hcDogSWdvTWFwKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLm9sID0gbGF5ZXIub2w7XHJcbiAgICAgICAgdGhpcy5sYXllciA9IGxheWVyO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IGxheWVyLm9wdGlvbnMuc291cmNlO1xyXG4gICAgICAgIHRoaXMubWFwID0gbWFwO1xyXG4gICAgICAgIHRoaXMub2djRmlsdGVyV3JpdGVyID0gbmV3IE9nY0ZpbHRlcldyaXRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB3YXRjaCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5vbC5vbigncHJvcGVydHljaGFuZ2UnLCBldnQgPT4gdGhpcy50cmFuc2ZlckNvbW1vblByb3BlcnRpZXMoZXZ0KSk7XHJcbiAgICAgICAgaWYgKCh0aGlzLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLm9nY0ZpbHRlcnMkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub2djRmlsdGVycyQkID0gKHRoaXMuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyRcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob2djRmlsdGVycyA9PiB0aGlzLnRyYW5zZmVyT2djRmlsdGVyc1Byb3BlcnRpZXMob2djRmlsdGVycykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRoaXMuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnRpbWVGaWx0ZXIkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGltZUZpbHRlciQkID0gKHRoaXMuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnRpbWVGaWx0ZXIkXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRpbWVGaWx0ZXIgPT4gdGhpcy50cmFuc2ZlclRpbWVGaWx0ZXJQcm9wZXJ0aWVzKHRpbWVGaWx0ZXIpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRMYXllcnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdW53YXRjaCgpIHtcclxuICAgICAgICB0aGlzLm9sLnVuKCdwcm9wZXJ0eWNoYW5nZScsIGV2dCA9PiB0aGlzLnRyYW5zZmVyQ29tbW9uUHJvcGVydGllcyhldnQpKTtcclxuICAgICAgICBpZiAodGhpcy5vZ2NGaWx0ZXJzJCQpIHsgdGhpcy5vZ2NGaWx0ZXJzJCQudW5zdWJzY3JpYmUoKTsgfVxyXG4gICAgICAgIGlmICh0aGlzLnRpbWVGaWx0ZXIkJCkgeyB0aGlzLnRpbWVGaWx0ZXIkJC51bnN1YnNjcmliZSgpOyB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgc3luY0NoaWxkTGF5ZXJzKCkge1xyXG4gICAgICAgIC8vIEZvcmNlIHRoZSBzeW5jIHRoZSBjaGlsZCBsYXllcnMgd2l0aCBwYXJlbnQgb24gdGhlIGZpcnN0IGxvYWQuXHJcbiAgICAgICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLnN0YXR1cyRcclxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcC5sYXllcnNcclxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGxheWVyID0+IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rcylcclxuICAgICAgICAgICAgICAgICAgICAubWFwKGxheWVyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MubWFwKGxpbmsgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmsucHJvcGVydGllcz8uaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLlZJU0lCTEUpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgndmlzaWJsZScsICEobGF5ZXIudmlzaWJsZSksIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoJ3Zpc2libGUnLCAhKGxheWVyLnZpc2libGUpLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIudmlzaWJsZSA9IGxheWVyLnZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5wcm9wZXJ0aWVzPy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuT1BBQ0lUWSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZU9wYWNpdHkgPSBsYXllci5vbC5nZXQoJ29wYWNpdHknKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoJ29wYWNpdHknLCAwLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KCdvcGFjaXR5JywgYmFzZU9wYWNpdHksIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vcGFjaXR5ID0gbGF5ZXIub3BhY2l0eTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLnByb3BlcnRpZXM/LmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5NSU5SRVNPTFVUSU9OKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiYXNlTWluUmVzb2x1dGlvbiA9IGxheWVyLm9sLmdldCgnbWluUmVzb2x1dGlvbicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgnbWluUmVzb2x1dGlvbicsIDAsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoJ21pblJlc29sdXRpb24nLCBiYXNlTWluUmVzb2x1dGlvbiwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm1pblJlc29sdXRpb24gPSBsYXllci5taW5SZXNvbHV0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmsucHJvcGVydGllcz8uaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLk1BWFJFU09MVVRJT04pICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhc2VNYXhSZXNvbHV0aW9uID0gbGF5ZXIub2wuZ2V0KCdtYXhSZXNvbHV0aW9uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub2wuc2V0KCdtYXhSZXNvbHV0aW9uJywgMCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLnNldCgnbWF4UmVzb2x1dGlvbicsIGJhc2VNYXhSZXNvbHV0aW9uLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIubWluUmVzb2x1dGlvbiA9IGxheWVyLm1pblJlc29sdXRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5wcm9wZXJ0aWVzPy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuT0dDRklMVEVSUykgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2djRmlsdGVycyQgPSAobGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2djRmlsdGVycyQubmV4dChvZ2NGaWx0ZXJzJC52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5wcm9wZXJ0aWVzPy5pbmRleE9mKExpbmtlZFByb3BlcnRpZXMuVElNRUZJTFRFUikgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZUZpbHRlciQgPSAobGF5ZXIuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnRpbWVGaWx0ZXIkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVGaWx0ZXIkLm5leHQodGltZUZpbHRlciQudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2ZlckNvbW1vblByb3BlcnRpZXMobGF5ZXJDaGFuZ2UpIHtcclxuICAgICAgICBjb25zdCBrZXkgPSBsYXllckNoYW5nZS5rZXk7XHJcbiAgICAgICAgY29uc3QgbGF5ZXJDaGFuZ2VQcm9wZXJ0aWVzID0gbGF5ZXJDaGFuZ2UudGFyZ2V0LmdldFByb3BlcnRpZXMoKTtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGxheWVyQ2hhbmdlUHJvcGVydGllc1trZXldO1xyXG5cclxuICAgICAgICBpZiAoWyd2aXNpYmxlJywgJ29wYWNpdHknLCAnbWluUmVzb2x1dGlvbicsICdtYXhSZXNvbHV0aW9uJ10uaW5kZXhPZihrZXkpID09PSAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IGxheWVyQ2hhbmdlUHJvcGVydGllcy5saW5rZWRMYXllcnMgYXMgTGF5ZXJzTGluaztcclxuICAgICAgICBpZiAoIWxpbmtlZExheWVycykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaW5rZWRJZCA9IGxpbmtlZExheWVycy5saW5rSWQ7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExpbmtzID0gbGlua2VkTGF5ZXJzLmxpbmtzO1xyXG4gICAgICAgIGNvbnN0IGlzUGFyZW50TGF5ZXIgPSBjdXJyZW50TGlua3MgPyB0cnVlIDogZmFsc2U7XHJcblxyXG4gICAgICAgIGlmIChpc1BhcmVudExheWVyKSB7XHJcbiAgICAgICAgICAgIC8vIHNlYXJjaCBmb3IgY2hpbGQgbGF5ZXJzXHJcbiAgICAgICAgICAgIGNvbnN0IHNpbGVudCA9IHRydWU7XHJcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rcy5tYXAobGluayA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmsucHJvcGVydGllcyB8fCBsaW5rLnByb3BlcnRpZXMuaW5kZXhPZihrZXkpID09PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpbmsubGlua2VkSWRzLm1hcChsaW5rZWRJZCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJUb0FwcGx5ID0gdGhpcy5tYXAubGF5ZXJzLmZpbmQobGF5ZXIgPT4gbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtJZCA9PT0gbGlua2VkSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXllclRvQXBwbHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJUb0FwcGx5Lm9sLnNldChrZXksIG5ld1ZhbHVlLCBzaWxlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndmlzaWJsZScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyVG9BcHBseS52aXNpYmxlJC5uZXh0KG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIHBhcmVudCBsYXllclxyXG4gICAgICAgICAgICBjb25zdCBzaWxlbnQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXAubGF5ZXJzLm1hcChsYXllciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MubWFwKGwgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobC5wcm9wZXJ0aWVzICYmIGwucHJvcGVydGllcy5pbmRleE9mKGtleSkgIT09IC0xICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLmJpZGlyZWN0aW9ubmFsICE9PSBmYWxzZSAmJiBsLmxpbmtlZElkcy5pbmRleE9mKGN1cnJlbnRMaW5rZWRJZCkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbC5zZXQoa2V5LCBuZXdWYWx1ZSwgc2lsZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICd2aXNpYmxlJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLnZpc2libGUkLm5leHQobmV3VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRyYW5zZmVyT2djRmlsdGVyc1Byb3BlcnRpZXMob2djRmlsdGVycykge1xyXG4gICAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHRoaXMub2wuZ2V0UHJvcGVydGllcygpLmxpbmtlZExheWVycyBhcyBMYXllcnNMaW5rO1xyXG4gICAgICAgIGlmICghbGlua2VkTGF5ZXJzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY3VycmVudExpbmtlZElkID0gbGlua2VkTGF5ZXJzLmxpbmtJZDtcclxuICAgICAgICBjb25zdCBjdXJyZW50TGlua3MgPSBsaW5rZWRMYXllcnMubGlua3M7XHJcbiAgICAgICAgY29uc3QgaXNQYXJlbnRMYXllciA9IGN1cnJlbnRMaW5rcyA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICBpZiAoaXNQYXJlbnRMYXllcikge1xyXG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIGNoaWxkIGxheWVyc1xyXG4gICAgICAgICAgICBjdXJyZW50TGlua3MubWFwKGxpbmsgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLnByb3BlcnRpZXMgfHwgbGluay5wcm9wZXJ0aWVzLmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5PR0NGSUxURVJTKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaW5rLmxpbmtlZElkcy5tYXAobGlua2VkSWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyVG9BcHBseSA9IHRoaXMubWFwLmxheWVycy5maW5kKGxheWVyID0+IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rSWQgPT09IGxpbmtlZElkKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUb0FwcGx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyVHlwZSA9IGxheWVyVG9BcHBseS5vbC5nZXRQcm9wZXJ0aWVzKCkuc291cmNlT3B0aW9ucy50eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAobGF5ZXJUb0FwcGx5LmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldE9nY0ZpbHRlcnMob2djRmlsdGVycywgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUeXBlID09PSAnd2ZzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9nY0ZpbHRlcnMgIT09IChsYXllclRvQXBwbHkuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllclRvQXBwbHkub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXllclR5cGUgPT09ICd3bXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXBwbGllZE9nY0ZpbHRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGUgPT09ICd3ZnMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZE9nY0ZpbHRlciA9IHRoaXMub2djRmlsdGVyV3JpdGVyLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkuZmllbGROYW1lR2VvbWV0cnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0T2xQcm9qZWN0aW9uKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGUgPT09ICd3bXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZE9nY0ZpbHRlciA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wuZ2V0UGFyYW1zKCkuRklMVEVSO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyVG9BcHBseS5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2UpLm9sLnVwZGF0ZVBhcmFtcyh7IEZJTFRFUjogYXBwbGllZE9nY0ZpbHRlciB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIHBhcmVudCBsYXllclxyXG4gICAgICAgICAgICB0aGlzLm1hcC5sYXllcnMubWFwKGxheWVyID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3MpIHtcclxuICAgICAgICAgICAgICAgICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcy5tYXAobCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsLnByb3BlcnRpZXMgJiYgbC5wcm9wZXJ0aWVzLmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5PR0NGSUxURVJTKSAhPT0gLTEgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwuYmlkaXJlY3Rpb25uYWwgIT09IGZhbHNlICYmIGwubGlua2VkSWRzLmluZGV4T2YoY3VycmVudExpbmtlZElkKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyVHlwZSA9IGxheWVyLm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUeXBlID09PSAnd2ZzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvZ2NGaWx0ZXJzICE9PSAobGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldE9nY0ZpbHRlcnMob2djRmlsdGVycywgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9sLmdldFNvdXJjZSgpLnJlZnJlc2goKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJUeXBlID09PSAnd21zJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcHBsaWVkT2djRmlsdGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGUgPT09ICd3ZnMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpZWRPZ2NGaWx0ZXIgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5oYW5kbGVPZ2NGaWx0ZXJzQXBwbGllZFZhbHVlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLmZpZWxkTmFtZUdlb21ldHJ5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0T2xQcm9qZWN0aW9uKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9sLmdldFByb3BlcnRpZXMoKS5zb3VyY2VPcHRpb25zLnR5cGUgPT09ICd3bXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpZWRPZ2NGaWx0ZXIgPSAodGhpcy5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2UpLm9sLmdldFBhcmFtcygpLkZJTFRFUjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxheWVyLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBhcHBsaWVkT2djRmlsdGVyIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRPZ2NGaWx0ZXJzKG9nY0ZpbHRlcnMsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRyYW5zZmVyVGltZUZpbHRlclByb3BlcnRpZXModGltZUZpbHRlcikge1xyXG4gICAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHRoaXMub2wuZ2V0UHJvcGVydGllcygpLmxpbmtlZExheWVycyBhcyBMYXllcnNMaW5rO1xyXG4gICAgICAgIGlmICghbGlua2VkTGF5ZXJzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY3VycmVudExpbmtlZElkID0gbGlua2VkTGF5ZXJzLmxpbmtJZDtcclxuICAgICAgICBjb25zdCBjdXJyZW50TGlua3MgPSBsaW5rZWRMYXllcnMubGlua3M7XHJcbiAgICAgICAgY29uc3QgaXNQYXJlbnRMYXllciA9IGN1cnJlbnRMaW5rcyA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICBpZiAoaXNQYXJlbnRMYXllcikge1xyXG4gICAgICAgICAgICAvLyBzZWFyY2ggZm9yIGNoaWxkIGxheWVyc1xyXG4gICAgICAgICAgICBjdXJyZW50TGlua3MubWFwKGxpbmsgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLnByb3BlcnRpZXMgfHwgbGluay5wcm9wZXJ0aWVzLmluZGV4T2YoTGlua2VkUHJvcGVydGllcy5USU1FRklMVEVSKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaW5rLmxpbmtlZElkcy5tYXAobGlua2VkSWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkTGF5ZXIgPSB0aGlzLm1hcC5sYXllcnMuZmluZChsYXllciA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkID09PSBsaW5rZWRJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkTGF5ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkTGF5ZXIuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldFRpbWVGaWx0ZXIodGltZUZpbHRlciwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBsaWVkVGltZUZpbHRlciA9ICh0aGlzLm9sLmdldFNvdXJjZSgpIGFzIG9sU291cmNlSW1hZ2VXTVMpLmdldFBhcmFtcygpLlRJTUU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZExheWVyLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wudXBkYXRlUGFyYW1zKHsgVElNRTogYXBwbGllZFRpbWVGaWx0ZXIgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIHNlYXJjaCBmb3IgcGFyZW50IGxheWVyXHJcbiAgICAgICAgICAgIHRoaXMubWFwLmxheWVyc1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihsYXllciA9PiBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSlcclxuICAgICAgICAgICAgICAgIC5tYXAocGFyZW50TGF5ZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRMYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50TGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MubWFwKGwgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGwucHJvcGVydGllcyAmJiBsLnByb3BlcnRpZXMuaW5kZXhPZihMaW5rZWRQcm9wZXJ0aWVzLlRJTUVGSUxURVIpICE9PSAtMSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwuYmlkaXJlY3Rpb25uYWwgIT09IGZhbHNlICYmIGwubGlua2VkSWRzLmluZGV4T2YoY3VycmVudExpbmtlZElkKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBsaWVkVGltZUZpbHRlciA9ICh0aGlzLm9sLmdldFNvdXJjZSgpIGFzIG9sU291cmNlSW1hZ2VXTVMpLmdldFBhcmFtcygpLlRJTUU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudExheWVyLmRhdGFTb3VyY2UgYXMgV01TRGF0YVNvdXJjZSkub2wudXBkYXRlUGFyYW1zKHsgVElNRTogYXBwbGllZFRpbWVGaWx0ZXIgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudExheWVyLmRhdGFTb3VyY2UgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXIsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -22,4 +22,4 @@ export function getLayersLegends(layers, view) {
22
22
  }
23
23
  return legends;
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0TGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvb3V0cHV0TGVnZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFlLEVBQUUsSUFBMkI7SUFDM0UsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBRW5CLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFBRSxTQUFTO1NBQUU7UUFFMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNsQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUFFLFNBQVM7YUFBRTtZQUU5Qyw4QkFBOEI7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRzthQUNuQixDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBMZWdlbmRNYXBWaWV3T3B0aW9ucywgT3V0cHV0TGF5ZXJMZWdlbmQgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogR2V0IGFsbCB0aGUgbGF5ZXJzIGxlZ2VuZFxuICogQHJldHVybiBBcnJheSBvZiBsZWdlbmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExheWVyc0xlZ2VuZHMobGF5ZXJzOiBMYXllcltdLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBPdXRwdXRMYXllckxlZ2VuZFtdIHtcbiAgY29uc3QgbGVnZW5kcyA9IFtdO1xuXG4gIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzKSB7XG4gICAgaWYgKGxheWVyLnZpc2libGUgPT09IGZhbHNlKSB7IGNvbnRpbnVlOyB9XG5cbiAgICBjb25zdCBsZWdlbmRVcmxzID0gbGF5ZXIuZGF0YVNvdXJjZS5nZXRMZWdlbmQodW5kZWZpbmVkLCB2aWV3KSB8fCBbXTtcbiAgICBmb3IgKGNvbnN0IGxlZ2VuZFVybCBvZiBsZWdlbmRVcmxzKSB7XG4gICAgICBpZiAobGVnZW5kVXJsLnVybCA9PT0gdW5kZWZpbmVkKSB7IGNvbnRpbnVlOyB9XG5cbiAgICAgIC8vIEFkZCBsZWdlbmQgaW5mbyB0byB0aGUgbGlzdFxuICAgICAgbGVnZW5kcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICB1cmw6IGxlZ2VuZFVybC51cmxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsZWdlbmRzO1xufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0TGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvb3V0cHV0TGVnZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFlLEVBQUUsSUFBMkI7SUFDM0UsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBRW5CLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFBRSxTQUFTO1NBQUU7UUFFMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNsQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUFFLFNBQVM7YUFBRTtZQUU5Qyw4QkFBOEI7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRzthQUNuQixDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zLCBPdXRwdXRMYXllckxlZ2VuZCB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGF5ZXIuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBHZXQgYWxsIHRoZSBsYXllcnMgbGVnZW5kXHJcbiAqIEByZXR1cm4gQXJyYXkgb2YgbGVnZW5kXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5ZXJzTGVnZW5kcyhsYXllcnM6IExheWVyW10sIHZpZXc/OiBMZWdlbmRNYXBWaWV3T3B0aW9ucyk6IE91dHB1dExheWVyTGVnZW5kW10ge1xyXG4gIGNvbnN0IGxlZ2VuZHMgPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnMpIHtcclxuICAgIGlmIChsYXllci52aXNpYmxlID09PSBmYWxzZSkgeyBjb250aW51ZTsgfVxyXG5cclxuICAgIGNvbnN0IGxlZ2VuZFVybHMgPSBsYXllci5kYXRhU291cmNlLmdldExlZ2VuZCh1bmRlZmluZWQsIHZpZXcpIHx8IFtdO1xyXG4gICAgZm9yIChjb25zdCBsZWdlbmRVcmwgb2YgbGVnZW5kVXJscykge1xyXG4gICAgICBpZiAobGVnZW5kVXJsLnVybCA9PT0gdW5kZWZpbmVkKSB7IGNvbnRpbnVlOyB9XHJcblxyXG4gICAgICAvLyBBZGQgbGVnZW5kIGluZm8gdG8gdGhlIGxpc3RcclxuICAgICAgbGVnZW5kcy5wdXNoKHtcclxuICAgICAgICB0aXRsZTogbGF5ZXIudGl0bGUsXHJcbiAgICAgICAgdXJsOiBsZWdlbmRVcmwudXJsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGxlZ2VuZHM7XHJcbn1cclxuIl19
@@ -47,4 +47,4 @@ export class TileWatcher extends Watcher {
47
47
  }
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS13YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvdGlsZS13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUszRCxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU87SUFPdEMsWUFBWSxLQUFrQztRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQU5GLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBTWxCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVTtRQUNoQyw4QkFBOEI7UUFDOUIsbURBQW1EO1FBQ25ELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQzlCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPO1NBQ1I7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUMxQixJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7YUFDaEM7U0FDRjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZVRpbGUgZnJvbSAnb2wvc291cmNlL1RpbGUnO1xuaW1wb3J0IHsgdXVpZCwgV2F0Y2hlciwgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgVGlsZUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy90aWxlLWxheWVyJztcbmltcG9ydCB7IFZlY3RvclRpbGVMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvdmVjdG9ydGlsZS1sYXllcic7XG5cbmV4cG9ydCBjbGFzcyBUaWxlV2F0Y2hlciBleHRlbmRzIFdhdGNoZXIge1xuICBwcml2YXRlIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgbG9hZGVkID0gMDtcbiAgcHJpdmF0ZSBsb2FkaW5nID0gMDtcblxuICBwcml2YXRlIHNvdXJjZTogb2xTb3VyY2VUaWxlO1xuXG4gIGNvbnN0cnVjdG9yKGxheWVyOiBUaWxlTGF5ZXIgfCBWZWN0b3JUaWxlTGF5ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc291cmNlID0gbGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB3YXRjaCgpIHtcbiAgICB0aGlzLnNvdXJjZS5vbihgdGlsZWxvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xuICAgIHRoaXMuc291cmNlLm9uKGB0aWxlbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICB0aGlzLnNvdXJjZS5vbihgdGlsZWxvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bndhdGNoKCkge1xuICAgIHRoaXMuc291cmNlLnVuKGB0aWxlbG9hZHN0YXJ0YCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRTdGFydChlKSk7XG4gICAgdGhpcy5zb3VyY2UudW4oYHRpbGVsb2FkZW5kYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICAgIHRoaXMuc291cmNlLnVuKGB0aWxlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkU3RhcnQoZXZlbnQ6IGFueSkge1xuICAgIC8vIFRoaXMgaXMgdG8gYXZvaWQgaW5jcmVhc2luZ1xuICAgIC8vIHRoZSBudW1iZXIgb2YgbG9hZGVkIHRpbGVzIGlmIGEgdGlsZSB3YXMgbG9hZGluZ1xuICAgIC8vIGJlZm9yZSBzdWJzY3JpYmluZyB0byB0aGlzIHdhdGNoZXJcbiAgICBpZiAoIWV2ZW50LnRpbGUuX193YXRjaGVyc19fKSB7XG4gICAgICBldmVudC50aWxlLl9fd2F0Y2hlcnNfXyA9IFtdO1xuICAgIH1cbiAgICBldmVudC50aWxlLl9fd2F0Y2hlcnNfXy5wdXNoKHRoaXMuaWQpO1xuXG4gICAgdGhpcy5sb2FkaW5nICs9IDE7XG4gICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLldvcmtpbmc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRFbmQoZXZlbnQpIHtcbiAgICBpZiAoIWV2ZW50LnRpbGUuX193YXRjaGVyc19fKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgd2F0Y2hlckluZGV4ID0gZXZlbnQudGlsZS5fX3dhdGNoZXJzX18uaW5kZXhPZih0aGlzLmlkKTtcbiAgICBpZiAod2F0Y2hlckluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnRpbGUuX193YXRjaGVyc19fLnNwbGljZSh3YXRjaGVySW5kZXgsIDEpO1xuXG4gICAgdGhpcy5sb2FkZWQgKz0gMTtcblxuICAgIGNvbnN0IGxvYWRpbmcgPSB0aGlzLmxvYWRpbmc7XG4gICAgaWYgKHRoaXMubG9hZGVkID49IGxvYWRpbmcpIHtcbiAgICAgIGlmIChsb2FkaW5nID09PSB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLkRvbmU7XG4gICAgICAgIHRoaXMubG9hZGVkID0gdGhpcy5sb2FkaW5nID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS13YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvdGlsZS13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUszRCxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU87SUFPdEMsWUFBWSxLQUFrQztRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQU5GLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBTWxCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVTtRQUNoQyw4QkFBOEI7UUFDOUIsbURBQW1EO1FBQ25ELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQzlCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPO1NBQ1I7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUMxQixJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7YUFDaEM7U0FDRjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZVRpbGUgZnJvbSAnb2wvc291cmNlL1RpbGUnO1xyXG5pbXBvcnQgeyB1dWlkLCBXYXRjaGVyLCBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVGlsZUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy90aWxlLWxheWVyJztcclxuaW1wb3J0IHsgVmVjdG9yVGlsZUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy92ZWN0b3J0aWxlLWxheWVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUaWxlV2F0Y2hlciBleHRlbmRzIFdhdGNoZXIge1xyXG4gIHByaXZhdGUgaWQ6IHN0cmluZztcclxuICBwcml2YXRlIGxvYWRlZCA9IDA7XHJcbiAgcHJpdmF0ZSBsb2FkaW5nID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBzb3VyY2U6IG9sU291cmNlVGlsZTtcclxuXHJcbiAgY29uc3RydWN0b3IobGF5ZXI6IFRpbGVMYXllciB8IFZlY3RvclRpbGVMYXllcikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuc291cmNlID0gbGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XHJcbiAgICB0aGlzLmlkID0gdXVpZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHdhdGNoKCkge1xyXG4gICAgdGhpcy5zb3VyY2Uub24oYHRpbGVsb2Fkc3RhcnRgLCBlID0+IHRoaXMuaGFuZGxlTG9hZFN0YXJ0KGUpKTtcclxuICAgIHRoaXMuc291cmNlLm9uKGB0aWxlbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcclxuICAgIHRoaXMuc291cmNlLm9uKGB0aWxlbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHVud2F0Y2goKSB7XHJcbiAgICB0aGlzLnNvdXJjZS51bihgdGlsZWxvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xyXG4gICAgdGhpcy5zb3VyY2UudW4oYHRpbGVsb2FkZW5kYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xyXG4gICAgdGhpcy5zb3VyY2UudW4oYHRpbGVsb2FkZXJyb3JgLCBlID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUxvYWRTdGFydChldmVudDogYW55KSB7XHJcbiAgICAvLyBUaGlzIGlzIHRvIGF2b2lkIGluY3JlYXNpbmdcclxuICAgIC8vIHRoZSBudW1iZXIgb2YgbG9hZGVkIHRpbGVzIGlmIGEgdGlsZSB3YXMgbG9hZGluZ1xyXG4gICAgLy8gYmVmb3JlIHN1YnNjcmliaW5nIHRvIHRoaXMgd2F0Y2hlclxyXG4gICAgaWYgKCFldmVudC50aWxlLl9fd2F0Y2hlcnNfXykge1xyXG4gICAgICBldmVudC50aWxlLl9fd2F0Y2hlcnNfXyA9IFtdO1xyXG4gICAgfVxyXG4gICAgZXZlbnQudGlsZS5fX3dhdGNoZXJzX18ucHVzaCh0aGlzLmlkKTtcclxuXHJcbiAgICB0aGlzLmxvYWRpbmcgKz0gMTtcclxuICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRW5kKGV2ZW50KSB7XHJcbiAgICBpZiAoIWV2ZW50LnRpbGUuX193YXRjaGVyc19fKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB3YXRjaGVySW5kZXggPSBldmVudC50aWxlLl9fd2F0Y2hlcnNfXy5pbmRleE9mKHRoaXMuaWQpO1xyXG4gICAgaWYgKHdhdGNoZXJJbmRleCA8IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGV2ZW50LnRpbGUuX193YXRjaGVyc19fLnNwbGljZSh3YXRjaGVySW5kZXgsIDEpO1xyXG5cclxuICAgIHRoaXMubG9hZGVkICs9IDE7XHJcblxyXG4gICAgY29uc3QgbG9hZGluZyA9IHRoaXMubG9hZGluZztcclxuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XHJcbiAgICAgIGlmIChsb2FkaW5nID09PSB0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuRG9uZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -45,4 +45,4 @@ export class VectorWatcher extends Watcher {
45
45
  }
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy92ZWN0b3Itd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxPQUFPO0lBT3hDLFlBQVksS0FBa0I7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFORixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsWUFBTyxHQUFHLENBQUMsQ0FBQztRQU1sQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxZQUFZLGlCQUFpQixFQUFFO1lBQ3RELFFBQVEsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBZSxDQUFDLE1BQU0sQ0FBQztTQUM3RDtRQUVGLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlEO0lBRUgsQ0FBQztJQUVTLE9BQU87UUFDZixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLFlBQVksaUJBQWlCLEVBQUU7WUFDdEQsUUFBUSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFlLENBQUMsTUFBTSxDQUFDO1NBQzdEO1FBQ0YsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxRQUFRLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNELFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dWlkLCBXYXRjaGVyLCBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlJztcblxuZXhwb3J0IGNsYXNzIFZlY3RvcldhdGNoZXIgZXh0ZW5kcyBXYXRjaGVyIHtcbiAgcHJpdmF0ZSBpZDogc3RyaW5nO1xuICBwcml2YXRlIGxvYWRlZCA9IDA7XG4gIHByaXZhdGUgbG9hZGluZyA9IDA7XG5cbiAgcHJpdmF0ZSBsYXllcjogVmVjdG9yTGF5ZXI7XG5cbiAgY29uc3RydWN0b3IobGF5ZXI6IFZlY3RvckxheWVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxheWVyID0gbGF5ZXI7XG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB3YXRjaCgpIHtcbiAgICBsZXQgb2xTb3VyY2UgPSB0aGlzLmxheWVyLm9wdGlvbnMuc291cmNlLm9sO1xuICAgIGlmICh0aGlzLmxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBDbHVzdGVyRGF0YVNvdXJjZSkge1xuICAgICAgb2xTb3VyY2UgPSAodGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueSkuc291cmNlO1xuICAgICB9XG5cbiAgICBpZiAob2xTb3VyY2UuZ2V0VXJsKCkpIHtcbiAgICAgIG9sU291cmNlLm9uKGBmZWF0dXJlc2xvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xuICAgICAgb2xTb3VyY2Uub24oYGZlYXR1cmVzbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICAgIG9sU291cmNlLm9uKGBmZWF0dXJlc2xvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICB9XG5cbiAgfVxuXG4gIHByb3RlY3RlZCB1bndhdGNoKCkge1xuICAgIGxldCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XG4gICAgaWYgKHRoaXMubGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XG4gICAgICBvbFNvdXJjZSA9ICh0aGlzLmxheWVyLm9wdGlvbnMuc291cmNlLm9wdGlvbnMgYXMgYW55KS5zb3VyY2U7XG4gICAgIH1cbiAgICBpZiAob2xTb3VyY2UuZ2V0VXJsKCkpIHtcbiAgICAgIG9sU291cmNlLnVuKGBmZWF0dXJlc2xvYWRzdGFydGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xuICAgICAgb2xTb3VyY2UudW4oYGZlYXR1cmVzbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICAgIG9sU291cmNlLnVuKGBmZWF0dXJlc2xvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRTdGFydChldmVudDogYW55KSB7XG4gICAgdGhpcy5sb2FkaW5nICs9IDE7XG4gICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLldvcmtpbmc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRFbmQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubG9hZGVkICs9IDE7XG5cbiAgICBjb25zdCBsb2FkaW5nID0gdGhpcy5sb2FkaW5nO1xuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XG4gICAgICBpZiAobG9hZGluZyA9PT0gdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Eb25lO1xuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy92ZWN0b3Itd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxPQUFPO0lBT3hDLFlBQVksS0FBa0I7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFORixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsWUFBTyxHQUFHLENBQUMsQ0FBQztRQU1sQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxZQUFZLGlCQUFpQixFQUFFO1lBQ3RELFFBQVEsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBZSxDQUFDLE1BQU0sQ0FBQztTQUM3RDtRQUVGLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlEO0lBRUgsQ0FBQztJQUVTLE9BQU87UUFDZixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLFlBQVksaUJBQWlCLEVBQUU7WUFDdEQsUUFBUSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFlLENBQUMsTUFBTSxDQUFDO1NBQzdEO1FBQ0YsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxRQUFRLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNELFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dWlkLCBXYXRjaGVyLCBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBWZWN0b3JXYXRjaGVyIGV4dGVuZHMgV2F0Y2hlciB7XHJcbiAgcHJpdmF0ZSBpZDogc3RyaW5nO1xyXG4gIHByaXZhdGUgbG9hZGVkID0gMDtcclxuICBwcml2YXRlIGxvYWRpbmcgPSAwO1xyXG5cclxuICBwcml2YXRlIGxheWVyOiBWZWN0b3JMYXllcjtcclxuXHJcbiAgY29uc3RydWN0b3IobGF5ZXI6IFZlY3RvckxheWVyKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5sYXllciA9IGxheWVyO1xyXG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB3YXRjaCgpIHtcclxuICAgIGxldCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XHJcbiAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgQ2x1c3RlckRhdGFTb3VyY2UpIHtcclxuICAgICAgb2xTb3VyY2UgPSAodGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueSkuc291cmNlO1xyXG4gICAgIH1cclxuXHJcbiAgICBpZiAob2xTb3VyY2UuZ2V0VXJsKCkpIHtcclxuICAgICAgb2xTb3VyY2Uub24oYGZlYXR1cmVzbG9hZHN0YXJ0YCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRTdGFydChlKSk7XHJcbiAgICAgIG9sU291cmNlLm9uKGBmZWF0dXJlc2xvYWRlbmRgLCBlID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XHJcbiAgICAgIG9sU291cmNlLm9uKGBmZWF0dXJlc2xvYWRlcnJvcmAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdW53YXRjaCgpIHtcclxuICAgIGxldCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XHJcbiAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgQ2x1c3RlckRhdGFTb3VyY2UpIHtcclxuICAgICAgb2xTb3VyY2UgPSAodGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueSkuc291cmNlO1xyXG4gICAgIH1cclxuICAgIGlmIChvbFNvdXJjZS5nZXRVcmwoKSkge1xyXG4gICAgICBvbFNvdXJjZS51bihgZmVhdHVyZXNsb2Fkc3RhcnRgLCBlID0+IHRoaXMuaGFuZGxlTG9hZFN0YXJ0KGUpKTtcclxuICAgICAgb2xTb3VyY2UudW4oYGZlYXR1cmVzbG9hZGVuZGAsIGUgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcclxuICAgICAgb2xTb3VyY2UudW4oYGZlYXR1cmVzbG9hZGVycm9yYCwgZSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVMb2FkU3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkaW5nICs9IDE7XHJcbiAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuV29ya2luZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTG9hZEVuZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlZCArPSAxO1xyXG5cclxuICAgIGNvbnN0IGxvYWRpbmcgPSB0aGlzLmxvYWRpbmc7XHJcbiAgICBpZiAodGhpcy5sb2FkZWQgPj0gbG9hZGluZykge1xyXG4gICAgICBpZiAobG9hZGluZyA9PT0gdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLkRvbmU7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0aGlzLmxvYWRpbmcgPSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -17,4 +17,4 @@ export function baseLayersSwitcherSlideInOut() {
17
17
  transition('expand => collapse', animate('200ms'))
18
18
  ]);
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWxheWVycy1zd2l0Y2hlci5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvYmFzZWxheWVycy1zd2l0Y2hlci9iYXNlbGF5ZXJzLXN3aXRjaGVyLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7UUFDdkMsS0FBSyxDQUNILGNBQWMsRUFDZCxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsS0FBSyxDQUNILGFBQWEsRUFDYixLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FDSDtRQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0cmlnZ2VyLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIGFuaW1hdGUsXG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YVxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VMYXllcnNTd2l0Y2hlclNsaWRlSW5PdXQoKTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIHtcbiAgcmV0dXJuIHRyaWdnZXIoJ2Jhc2VMYXllclN3aXRjaGVyU3RhdGUnLCBbXG4gICAgc3RhdGUoXG4gICAgICAnY29sbGFwc2VJY29uJyxcbiAgICAgIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnNDBweCcsXG4gICAgICAgIHdpZHRoOiAnNDBweCcsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHN0YXRlKFxuICAgICAgJ2NvbGxhcHNlTWFwJyxcbiAgICAgIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnODVweCcsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHN0YXRlKFxuICAgICAgJ2V4cGFuZCcsXG4gICAgICBzdHlsZSh7XG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlID0+IGV4cGFuZCcsIGFuaW1hdGUoJzIwMG1zJykpLFxuICAgIHRyYW5zaXRpb24oJ2V4cGFuZCA9PiBjb2xsYXBzZScsIGFuaW1hdGUoJzIwMG1zJykpXG4gIF0pO1xufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWxheWVycy1zd2l0Y2hlci5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvYmFzZWxheWVycy1zd2l0Y2hlci9iYXNlbGF5ZXJzLXN3aXRjaGVyLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7UUFDdkMsS0FBSyxDQUNILGNBQWMsRUFDZCxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsS0FBSyxDQUNILGFBQWEsRUFDYixLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FDSDtRQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIHRyaWdnZXIsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICBhbmltYXRlLFxyXG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YVxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VMYXllcnNTd2l0Y2hlclNsaWRlSW5PdXQoKTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIHtcclxuICByZXR1cm4gdHJpZ2dlcignYmFzZUxheWVyU3dpdGNoZXJTdGF0ZScsIFtcclxuICAgIHN0YXRlKFxyXG4gICAgICAnY29sbGFwc2VJY29uJyxcclxuICAgICAgc3R5bGUoe1xyXG4gICAgICAgIGhlaWdodDogJzQwcHgnLFxyXG4gICAgICAgIHdpZHRoOiAnNDBweCcsXHJcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nXHJcbiAgICAgIH0pXHJcbiAgICApLFxyXG4gICAgc3RhdGUoXHJcbiAgICAgICdjb2xsYXBzZU1hcCcsXHJcbiAgICAgIHN0eWxlKHtcclxuICAgICAgICBoZWlnaHQ6ICc4NXB4JyxcclxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcclxuICAgICAgfSlcclxuICAgICksXHJcbiAgICBzdGF0ZShcclxuICAgICAgJ2V4cGFuZCcsXHJcbiAgICAgIHN0eWxlKHtcclxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcclxuICAgICAgfSlcclxuICAgICksXHJcbiAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZSA9PiBleHBhbmQnLCBhbmltYXRlKCcyMDBtcycpKSxcclxuICAgIHRyYW5zaXRpb24oJ2V4cGFuZCA9PiBjb2xsYXBzZScsIGFuaW1hdGUoJzIwMG1zJykpXHJcbiAgXSk7XHJcbn1cclxuIl19