@igo2/geo 1.12.0 → 1.13.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/{esm2015/igo2-geo.js → esm2020/igo2-geo.mjs} +0 -0
  2. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +299 -0
  3. package/{esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js → esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs} +13 -19
  4. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +244 -0
  5. package/{esm2015/lib/catalog/catalog-browser/catalog-browser.module.js → esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs} +17 -19
  6. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +209 -0
  7. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +79 -0
  8. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +217 -0
  9. package/{esm2015/lib/catalog/catalog-library/catalog-library.module.js → esm2020/lib/catalog/catalog-library/catalog-library.module.mjs} +21 -23
  10. package/{esm2015/lib/catalog/catalog.module.js → esm2020/lib/catalog/catalog.module.mjs} +9 -11
  11. package/{esm2015/lib/catalog/index.js → esm2020/lib/catalog/index.mjs} +0 -0
  12. package/{esm2015/lib/catalog/shared/catalog.abstract.js → esm2020/lib/catalog/shared/catalog.abstract.mjs} +0 -0
  13. package/{esm2015/lib/catalog/shared/catalog.enum.js → esm2020/lib/catalog/shared/catalog.enum.mjs} +0 -0
  14. package/{esm2015/lib/catalog/shared/catalog.interface.js → esm2020/lib/catalog/shared/catalog.interface.mjs} +0 -0
  15. package/esm2020/lib/catalog/shared/catalog.service.mjs +606 -0
  16. package/{esm2015/lib/catalog/shared/index.js → esm2020/lib/catalog/shared/index.mjs} +0 -0
  17. package/{esm2015/lib/datasource/datasource.module.js → esm2020/lib/datasource/datasource.module.mjs} +2 -2
  18. package/{esm2015/lib/datasource/index.js → esm2020/lib/datasource/index.mjs} +0 -0
  19. package/esm2020/lib/datasource/shared/capabilities.service.mjs +426 -0
  20. package/{esm2015/lib/datasource/shared/datasource.service.js → esm2020/lib/datasource/shared/datasource.service.mjs} +0 -0
  21. package/{esm2015/lib/datasource/shared/datasources/any-datasource.interface.js → esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs} +0 -0
  22. package/{esm2015/lib/datasource/shared/datasources/any-datasource.js → esm2020/lib/datasource/shared/datasources/any-datasource.mjs} +0 -0
  23. package/{esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs} +0 -0
  24. package/{esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs} +0 -0
  25. package/{esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js → esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs} +0 -0
  26. package/{esm2015/lib/datasource/shared/datasources/carto-datasource.js → esm2020/lib/datasource/shared/datasources/carto-datasource.mjs} +0 -0
  27. package/{esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js → esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs} +0 -0
  28. package/{esm2015/lib/datasource/shared/datasources/cluster-datasource.js → esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs} +0 -0
  29. package/{esm2015/lib/datasource/shared/datasources/data.service.js → esm2020/lib/datasource/shared/datasources/data.service.mjs} +0 -0
  30. package/{esm2015/lib/datasource/shared/datasources/datasource.interface.js → esm2020/lib/datasource/shared/datasources/datasource.interface.mjs} +0 -0
  31. package/{esm2015/lib/datasource/shared/datasources/datasource.js → esm2020/lib/datasource/shared/datasources/datasource.mjs} +0 -0
  32. package/{esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js → esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs} +0 -0
  33. package/{esm2015/lib/datasource/shared/datasources/feature-datasource.js → esm2020/lib/datasource/shared/datasources/feature-datasource.mjs} +0 -0
  34. package/{esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs} +0 -0
  35. package/{esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs} +0 -0
  36. package/{esm2015/lib/datasource/shared/datasources/index.js → esm2020/lib/datasource/shared/datasources/index.mjs} +0 -0
  37. package/{esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js → esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs} +0 -0
  38. package/{esm2015/lib/datasource/shared/datasources/mvt-datasource.js → esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs} +0 -0
  39. package/{esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js → esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs} +0 -0
  40. package/{esm2015/lib/datasource/shared/datasources/osm-datasource.js → esm2020/lib/datasource/shared/datasources/osm-datasource.mjs} +0 -0
  41. package/{esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs} +0 -0
  42. package/{esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs} +0 -0
  43. package/{esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js → esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs} +0 -0
  44. package/{esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js → esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs} +0 -0
  45. package/{esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js → esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs} +0 -0
  46. package/{esm2015/lib/datasource/shared/datasources/websocket-datasource.js → esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs} +0 -0
  47. package/{esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs} +0 -0
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +74 -0
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +152 -0
  50. package/{esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs} +0 -0
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -0
  52. package/{esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js → esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs} +4 -4
  53. package/{esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs} +0 -0
  54. package/{esm2015/lib/datasource/shared/datasources/wmts-datasource.js → esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs} +0 -0
  55. package/{esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js → esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs} +0 -0
  56. package/{esm2015/lib/datasource/shared/datasources/xyz-datasource.js → esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs} +0 -0
  57. package/{esm2015/lib/datasource/shared/index.js → esm2020/lib/datasource/shared/index.mjs} +0 -0
  58. package/{esm2015/lib/datasource/shared/options/index.js → esm2020/lib/datasource/shared/options/index.mjs} +0 -0
  59. package/{esm2015/lib/datasource/shared/options/options-api.interface.js → esm2020/lib/datasource/shared/options/options-api.interface.mjs} +0 -0
  60. package/{esm2015/lib/datasource/shared/options/options-api.providers.js → esm2020/lib/datasource/shared/options/options-api.providers.mjs} +0 -0
  61. package/{esm2015/lib/datasource/shared/options/options-api.service.js → esm2020/lib/datasource/shared/options/options-api.service.mjs} +0 -0
  62. package/{esm2015/lib/datasource/shared/options/options.service.js → esm2020/lib/datasource/shared/options/options.service.mjs} +0 -0
  63. package/{esm2015/lib/datasource/utils/esri-style-generator.js → esm2020/lib/datasource/utils/esri-style-generator.mjs} +0 -0
  64. package/{esm2015/lib/datasource/utils/index.js → esm2020/lib/datasource/utils/index.mjs} +0 -0
  65. package/{esm2015/lib/datasource/utils/tilegrid.js → esm2020/lib/datasource/utils/tilegrid.mjs} +0 -0
  66. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +224 -0
  67. package/{esm2015/lib/directions/directions-buttons/index.js → esm2020/lib/directions/directions-buttons/index.mjs} +0 -0
  68. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +290 -0
  69. package/{esm2015/lib/directions/directions-inputs/index.js → esm2020/lib/directions/directions-inputs/index.mjs} +0 -0
  70. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +196 -0
  71. package/{esm2015/lib/directions/directions-results/index.js → esm2020/lib/directions/directions-results/index.mjs} +0 -0
  72. package/{esm2015/lib/directions/directions-sources/directions-source.interface.js → esm2020/lib/directions/directions-sources/directions-source.interface.mjs} +0 -0
  73. package/{esm2015/lib/directions/directions-sources/directions-source.js → esm2020/lib/directions/directions-sources/directions-source.mjs} +0 -0
  74. package/{esm2015/lib/directions/directions-sources/directions-source.provider.js → esm2020/lib/directions/directions-sources/directions-source.provider.mjs} +0 -0
  75. package/{esm2015/lib/directions/directions-sources/index.js → esm2020/lib/directions/directions-sources/index.mjs} +0 -0
  76. package/{esm2015/lib/directions/directions-sources/osrm-directions-source.js → esm2020/lib/directions/directions-sources/osrm-directions-source.mjs} +0 -0
  77. package/esm2020/lib/directions/directions.component.mjs +311 -0
  78. package/{esm2015/lib/directions/directions.module.js → esm2020/lib/directions/directions.module.mjs} +16 -18
  79. package/{esm2015/lib/directions/index.js → esm2020/lib/directions/index.mjs} +0 -0
  80. package/{esm2015/lib/directions/shared/directions-source.service.js → esm2020/lib/directions/shared/directions-source.service.mjs} +0 -0
  81. package/{esm2015/lib/directions/shared/directions.enum.js → esm2020/lib/directions/shared/directions.enum.mjs} +0 -0
  82. package/{esm2015/lib/directions/shared/directions.interface.js → esm2020/lib/directions/shared/directions.interface.mjs} +0 -0
  83. package/{esm2015/lib/directions/shared/directions.service.js → esm2020/lib/directions/shared/directions.service.mjs} +0 -0
  84. package/esm2020/lib/directions/shared/directions.utils.mjs +510 -0
  85. package/{esm2015/lib/directions/shared/index.js → esm2020/lib/directions/shared/index.mjs} +0 -0
  86. package/{esm2015/lib/directions/shared/store.js → esm2020/lib/directions/shared/store.mjs} +0 -0
  87. package/esm2020/lib/download/download-button/download-button.component.mjs +61 -0
  88. package/{esm2015/lib/download/download-button/index.js → esm2020/lib/download/download-button/index.mjs} +0 -0
  89. package/{esm2015/lib/download/download.module.js → esm2020/lib/download/download.module.mjs} +6 -8
  90. package/{esm2015/lib/download/index.js → esm2020/lib/download/index.mjs} +0 -0
  91. package/{esm2015/lib/download/shared/download.interface.js → esm2020/lib/download/shared/download.interface.mjs} +0 -0
  92. package/{esm2015/lib/download/shared/download.service.js → esm2020/lib/download/shared/download.service.mjs} +0 -0
  93. package/{esm2015/lib/download/shared/index.js → esm2020/lib/download/shared/index.mjs} +0 -0
  94. package/{esm2015/lib/draw/draw/draw-popup.component.js → esm2020/lib/draw/draw/draw-popup.component.mjs} +11 -19
  95. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
  96. package/esm2020/lib/draw/draw/draw.component.mjs +714 -0
  97. package/{esm2015/lib/draw/draw/draw.module.js → esm2020/lib/draw/draw/draw.module.mjs} +19 -21
  98. package/{esm2015/lib/draw/drawingTool.module.js → esm2020/lib/draw/drawingTool.module.mjs} +2 -2
  99. package/{esm2015/lib/draw/index.js → esm2020/lib/draw/index.mjs} +0 -0
  100. package/{esm2015/lib/draw/shared/draw-icon.service.js → esm2020/lib/draw/shared/draw-icon.service.mjs} +0 -0
  101. package/{esm2015/lib/draw/shared/draw-style.service.js → esm2020/lib/draw/shared/draw-style.service.mjs} +0 -0
  102. package/{esm2015/lib/draw/shared/draw.enum.js → esm2020/lib/draw/shared/draw.enum.mjs} +0 -0
  103. package/{esm2015/lib/draw/shared/draw.interface.js → esm2020/lib/draw/shared/draw.interface.mjs} +0 -0
  104. package/{esm2015/lib/draw/shared/draw.utils.js → esm2020/lib/draw/shared/draw.utils.mjs} +0 -0
  105. package/{esm2015/lib/draw/shared/index.js → esm2020/lib/draw/shared/index.mjs} +0 -0
  106. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +377 -0
  107. package/{esm2015/lib/feature/feature-details/feature-details.directive.js → esm2020/lib/feature/feature-details/feature-details.directive.mjs} +0 -0
  108. package/{esm2015/lib/feature/feature-details/feature-details.module.js → esm2020/lib/feature/feature-details/feature-details.module.mjs} +6 -8
  109. package/{esm2015/lib/feature/feature-form/feature-form.component.js → esm2020/lib/feature/feature-form/feature-form.component.mjs} +3 -8
  110. package/{esm2015/lib/feature/feature-form/feature-form.module.js → esm2020/lib/feature/feature-form/feature-form.module.mjs} +3 -5
  111. package/{esm2015/lib/feature/feature.module.js → esm2020/lib/feature/feature.module.mjs} +2 -4
  112. package/{esm2015/lib/feature/index.js → esm2020/lib/feature/index.mjs} +0 -0
  113. package/{esm2015/lib/feature/shared/feature.enums.js → esm2020/lib/feature/shared/feature.enums.mjs} +0 -0
  114. package/{esm2015/lib/feature/shared/feature.interfaces.js → esm2020/lib/feature/shared/feature.interfaces.mjs} +0 -0
  115. package/{esm2015/lib/feature/shared/feature.utils.js → esm2020/lib/feature/shared/feature.utils.mjs} +0 -0
  116. package/{esm2015/lib/feature/shared/index.js → esm2020/lib/feature/shared/index.mjs} +0 -0
  117. package/{esm2015/lib/feature/shared/store.js → esm2020/lib/feature/shared/store.mjs} +0 -0
  118. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +113 -0
  119. package/{esm2015/lib/feature/shared/strategies/in-map-resolution.js → esm2020/lib/feature/shared/strategies/in-map-resolution.mjs} +0 -0
  120. package/{esm2015/lib/feature/shared/strategies/index.js → esm2020/lib/feature/shared/strategies/index.mjs} +0 -0
  121. package/{esm2015/lib/feature/shared/strategies/loading-layer.js → esm2020/lib/feature/shared/strategies/loading-layer.mjs} +0 -0
  122. package/{esm2015/lib/feature/shared/strategies/loading.js → esm2020/lib/feature/shared/strategies/loading.mjs} +0 -0
  123. package/{esm2015/lib/feature/shared/strategies/selection.js → esm2020/lib/feature/shared/strategies/selection.mjs} +0 -0
  124. package/{esm2015/lib/feature/shared/strategies.utils.js → esm2020/lib/feature/shared/strategies.utils.mjs} +0 -0
  125. package/esm2020/lib/filter/filter.module.mjs +289 -0
  126. package/{esm2015/lib/filter/index.js → esm2020/lib/filter/index.mjs} +0 -0
  127. package/{esm2015/lib/filter/ogc-filter-button/index.js → esm2020/lib/filter/ogc-filter-button/index.mjs} +0 -0
  128. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +140 -0
  129. package/{esm2015/lib/filter/ogc-filter-form/index.js → esm2020/lib/filter/ogc-filter-form/index.mjs} +0 -0
  130. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +645 -0
  131. package/{esm2015/lib/filter/ogc-filter-selection/index.js → esm2020/lib/filter/ogc-filter-selection/index.mjs} +0 -0
  132. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1302 -0
  133. package/{esm2015/lib/filter/ogc-filter-time/index.js → esm2020/lib/filter/ogc-filter-time/index.mjs} +0 -0
  134. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +177 -0
  135. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +871 -0
  136. package/{esm2015/lib/filter/ogc-filterable-form/index.js → esm2020/lib/filter/ogc-filterable-form/index.mjs} +0 -0
  137. package/{esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js → esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs} +3 -6
  138. package/{esm2015/lib/filter/ogc-filterable-item/index.js → esm2020/lib/filter/ogc-filterable-item/index.mjs} +0 -0
  139. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +302 -0
  140. package/{esm2015/lib/filter/ogc-filterable-list/index.js → esm2020/lib/filter/ogc-filterable-list/index.mjs} +0 -0
  141. package/{esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js → esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs} +0 -0
  142. package/{esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js → esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs} +2 -6
  143. package/{esm2015/lib/filter/shared/filterable-datasource.pipe.js → esm2020/lib/filter/shared/filterable-datasource.pipe.mjs} +0 -0
  144. package/{esm2015/lib/filter/shared/index.js → esm2020/lib/filter/shared/index.mjs} +0 -0
  145. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
  146. package/{esm2015/lib/filter/shared/ogc-filter.enum.js → esm2020/lib/filter/shared/ogc-filter.enum.mjs} +0 -0
  147. package/{esm2015/lib/filter/shared/ogc-filter.interface.js → esm2020/lib/filter/shared/ogc-filter.interface.mjs} +0 -0
  148. package/esm2020/lib/filter/shared/ogc-filter.mjs +692 -0
  149. package/{esm2015/lib/filter/shared/ogc-filter.service.js → esm2020/lib/filter/shared/ogc-filter.service.mjs} +0 -0
  150. package/{esm2015/lib/filter/shared/spatial-filter.enum.js → esm2020/lib/filter/shared/spatial-filter.enum.mjs} +0 -0
  151. package/{esm2015/lib/filter/shared/spatial-filter.interface.js → esm2020/lib/filter/shared/spatial-filter.interface.mjs} +0 -0
  152. package/{esm2015/lib/filter/shared/spatial-filter.service.js → esm2020/lib/filter/shared/spatial-filter.service.mjs} +0 -0
  153. package/{esm2015/lib/filter/shared/time-filter.enum.js → esm2020/lib/filter/shared/time-filter.enum.mjs} +0 -0
  154. package/{esm2015/lib/filter/shared/time-filter.interface.js → esm2020/lib/filter/shared/time-filter.interface.mjs} +0 -0
  155. package/{esm2015/lib/filter/shared/time-filter.service.js → esm2020/lib/filter/shared/time-filter.service.mjs} +0 -0
  156. package/{esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs} +0 -0
  157. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1076 -0
  158. package/{esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs} +0 -0
  159. package/{esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js → esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs} +16 -32
  160. package/{esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs} +0 -0
  161. package/{esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js → esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs} +7 -20
  162. package/{esm2015/lib/filter/time-filter-button/index.js → esm2020/lib/filter/time-filter-button/index.mjs} +0 -0
  163. package/{esm2015/lib/filter/time-filter-button/time-filter-button.component.js → esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs} +3 -8
  164. package/{esm2015/lib/filter/time-filter-form/index.js → esm2020/lib/filter/time-filter-form/index.mjs} +0 -0
  165. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +734 -0
  166. package/{esm2015/lib/filter/time-filter-item/index.js → esm2020/lib/filter/time-filter-item/index.mjs} +0 -0
  167. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +119 -0
  168. package/{esm2015/lib/filter/time-filter-list/index.js → esm2020/lib/filter/time-filter-list/index.mjs} +0 -0
  169. package/{esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js → esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs} +0 -0
  170. package/{esm2015/lib/filter/time-filter-list/time-filter-list.component.js → esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs} +2 -6
  171. package/{esm2015/lib/geo.module.js → esm2020/lib/geo.module.mjs} +2 -2
  172. package/{esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js → esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs} +2 -6
  173. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +189 -0
  174. package/{esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js → esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs} +10 -12
  175. package/{esm2015/lib/geometry/geometry.module.js → esm2020/lib/geometry/geometry.module.mjs} +3 -5
  176. package/{esm2015/lib/geometry/index.js → esm2020/lib/geometry/index.mjs} +0 -0
  177. package/{esm2015/lib/geometry/shared/controls/draw.js → esm2020/lib/geometry/shared/controls/draw.mjs} +0 -0
  178. package/{esm2015/lib/geometry/shared/controls/index.js → esm2020/lib/geometry/shared/controls/index.mjs} +0 -0
  179. package/{esm2015/lib/geometry/shared/controls/modify.js → esm2020/lib/geometry/shared/controls/modify.mjs} +1 -1
  180. package/{esm2015/lib/geometry/shared/controls/slice.js → esm2020/lib/geometry/shared/controls/slice.mjs} +0 -0
  181. package/{esm2015/lib/geometry/shared/geometry.errors.js → esm2020/lib/geometry/shared/geometry.errors.mjs} +0 -0
  182. package/{esm2015/lib/geometry/shared/geometry.interfaces.js → esm2020/lib/geometry/shared/geometry.interfaces.mjs} +0 -0
  183. package/{esm2015/lib/geometry/shared/geometry.utils.js → esm2020/lib/geometry/shared/geometry.utils.mjs} +0 -0
  184. package/{esm2015/lib/geometry/shared/index.js → esm2020/lib/geometry/shared/index.mjs} +0 -0
  185. package/esm2020/lib/import-export/export-button/export-button.component.mjs +64 -0
  186. package/{esm2015/lib/import-export/export-button/index.js → esm2020/lib/import-export/export-button/index.mjs} +0 -0
  187. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1190 -0
  188. package/{esm2015/lib/import-export/import-export/index.js → esm2020/lib/import-export/import-export/index.mjs} +0 -0
  189. package/{esm2015/lib/import-export/import-export.module.js → esm2020/lib/import-export/import-export.module.mjs} +19 -21
  190. package/{esm2015/lib/import-export/index.js → esm2020/lib/import-export/index.mjs} +0 -0
  191. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +135 -0
  192. package/{esm2015/lib/import-export/shared/export.errors.js → esm2020/lib/import-export/shared/export.errors.mjs} +0 -0
  193. package/{esm2015/lib/import-export/shared/export.interface.js → esm2020/lib/import-export/shared/export.interface.mjs} +0 -0
  194. package/{esm2015/lib/import-export/shared/export.service.js → esm2020/lib/import-export/shared/export.service.mjs} +0 -0
  195. package/{esm2015/lib/import-export/shared/export.type.js → esm2020/lib/import-export/shared/export.type.mjs} +0 -0
  196. package/{esm2015/lib/import-export/shared/export.utils.js → esm2020/lib/import-export/shared/export.utils.mjs} +0 -0
  197. package/{esm2015/lib/import-export/shared/import.errors.js → esm2020/lib/import-export/shared/import.errors.mjs} +0 -0
  198. package/{esm2015/lib/import-export/shared/import.interface.js → esm2020/lib/import-export/shared/import.interface.mjs} +0 -0
  199. package/{esm2015/lib/import-export/shared/import.service.js → esm2020/lib/import-export/shared/import.service.mjs} +0 -0
  200. package/{esm2015/lib/import-export/shared/import.utils.js → esm2020/lib/import-export/shared/import.utils.mjs} +0 -0
  201. package/{esm2015/lib/import-export/shared/index.js → esm2020/lib/import-export/shared/index.mjs} +0 -0
  202. package/{esm2015/lib/import-export/style-list/index.js → esm2020/lib/import-export/style-list/index.mjs} +0 -0
  203. package/{esm2015/lib/import-export/style-list/style-list.interface.js → esm2020/lib/import-export/style-list/style-list.interface.mjs} +0 -0
  204. package/{esm2015/lib/import-export/style-list/style-list.module.js → esm2020/lib/import-export/style-list/style-list.module.mjs} +2 -2
  205. package/{esm2015/lib/import-export/style-list/style-list.provider.js → esm2020/lib/import-export/style-list/style-list.provider.mjs} +0 -0
  206. package/{esm2015/lib/import-export/style-list/style-list.service.js → esm2020/lib/import-export/style-list/style-list.service.mjs} +0 -0
  207. package/{esm2015/lib/layer/index.js → esm2020/lib/layer/index.mjs} +0 -0
  208. package/{esm2015/lib/layer/layer-item/index.js → esm2020/lib/layer/layer-item/index.mjs} +0 -0
  209. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +300 -0
  210. package/{esm2015/lib/layer/layer-legend/index.js → esm2020/lib/layer/layer-legend/index.mjs} +0 -0
  211. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +382 -0
  212. package/{esm2015/lib/layer/layer-legend-item/index.js → esm2020/lib/layer/layer-legend-item/index.mjs} +0 -0
  213. package/{esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js → esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs} +4 -11
  214. package/{esm2015/lib/layer/layer-legend-list/index.js → esm2020/lib/layer/layer-legend-list/index.mjs} +0 -0
  215. package/{esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js → esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs} +0 -0
  216. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +195 -0
  217. package/{esm2015/lib/layer/layer-list/index.js → esm2020/lib/layer/layer-list/index.mjs} +0 -0
  218. package/{esm2015/lib/layer/layer-list/layer-list-binding.directive.js → esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs} +0 -0
  219. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1024 -0
  220. package/{esm2015/lib/layer/layer-list/layer-list.enum.js → esm2020/lib/layer/layer-list/layer-list.enum.mjs} +0 -0
  221. package/{esm2015/lib/layer/layer-list-tool/index.js → esm2020/lib/layer/layer-list-tool/index.mjs} +0 -0
  222. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +165 -0
  223. package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs} +0 -0
  224. package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs} +0 -0
  225. package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs} +0 -0
  226. package/esm2020/lib/layer/layer.module.mjs +173 -0
  227. package/{esm2015/lib/layer/shared/clusterParam.js → esm2020/lib/layer/shared/clusterParam.mjs} +0 -0
  228. package/{esm2015/lib/layer/shared/index.js → esm2020/lib/layer/shared/index.mjs} +0 -0
  229. package/{esm2015/lib/layer/shared/layer.enums.js → esm2020/lib/layer/shared/layer.enums.mjs} +0 -0
  230. package/esm2020/lib/layer/shared/layer.service.mjs +186 -0
  231. package/{esm2015/lib/layer/shared/layers/any-layer.interface.js → esm2020/lib/layer/shared/layers/any-layer.interface.mjs} +0 -0
  232. package/{esm2015/lib/layer/shared/layers/any-layer.js → esm2020/lib/layer/shared/layers/any-layer.mjs} +0 -0
  233. package/{esm2015/lib/layer/shared/layers/image-layer.interface.js → esm2020/lib/layer/shared/layers/image-layer.interface.mjs} +0 -0
  234. package/{esm2015/lib/layer/shared/layers/image-layer.js → esm2020/lib/layer/shared/layers/image-layer.mjs} +0 -0
  235. package/{esm2015/lib/layer/shared/layers/index.js → esm2020/lib/layer/shared/layers/index.mjs} +0 -0
  236. package/{esm2015/lib/layer/shared/layers/layer.interface.js → esm2020/lib/layer/shared/layers/layer.interface.mjs} +0 -0
  237. package/esm2020/lib/layer/shared/layers/layer.mjs +170 -0
  238. package/{esm2015/lib/layer/shared/layers/tile-layer.interface.js → esm2020/lib/layer/shared/layers/tile-layer.interface.mjs} +0 -0
  239. package/{esm2015/lib/layer/shared/layers/tile-layer.js → esm2020/lib/layer/shared/layers/tile-layer.mjs} +0 -0
  240. package/{esm2015/lib/layer/shared/layers/vector-layer.interface.js → esm2020/lib/layer/shared/layers/vector-layer.interface.mjs} +0 -0
  241. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +376 -0
  242. package/{esm2015/lib/layer/shared/layers/vectortile-layer.interface.js → esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs} +0 -0
  243. package/{esm2015/lib/layer/shared/layers/vectortile-layer.js → esm2020/lib/layer/shared/layers/vectortile-layer.mjs} +0 -0
  244. package/esm2020/lib/layer/shared/style.service.mjs +356 -0
  245. package/{esm2015/lib/layer/shared/vector-style.interface.js → esm2020/lib/layer/shared/vector-style.interface.mjs} +0 -0
  246. package/{esm2015/lib/layer/track-feature-button/index.js → esm2020/lib/layer/track-feature-button/index.mjs} +0 -0
  247. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +59 -0
  248. package/{esm2015/lib/layer/utils/image-watcher.js → esm2020/lib/layer/utils/image-watcher.mjs} +0 -0
  249. package/{esm2015/lib/layer/utils/index.js → esm2020/lib/layer/utils/index.mjs} +0 -0
  250. package/esm2020/lib/layer/utils/layer.utils.mjs +10 -0
  251. package/esm2020/lib/layer/utils/layerSync-watcher.mjs +242 -0
  252. package/esm2020/lib/layer/utils/outputLegend.mjs +27 -0
  253. package/{esm2015/lib/layer/utils/tile-watcher.js → esm2020/lib/layer/utils/tile-watcher.mjs} +0 -0
  254. package/{esm2015/lib/layer/utils/vector-watcher.js → esm2020/lib/layer/utils/vector-watcher.mjs} +0 -0
  255. package/{esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js → esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs} +0 -0
  256. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +97 -0
  257. package/{esm2015/lib/map/baselayers-switcher/index.js → esm2020/lib/map/baselayers-switcher/index.mjs} +0 -0
  258. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +133 -0
  259. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +76 -0
  260. package/{esm2015/lib/map/geolocate-button/index.js → esm2020/lib/map/geolocate-button/index.mjs} +0 -0
  261. package/{esm2015/lib/map/home-extent-button/home-extent-button.component.js → esm2020/lib/map/home-extent-button/home-extent-button.component.mjs} +8 -14
  262. package/{esm2015/lib/map/home-extent-button/index.js → esm2020/lib/map/home-extent-button/index.mjs} +0 -0
  263. package/{esm2015/lib/map/index.js → esm2020/lib/map/index.mjs} +0 -0
  264. package/{esm2015/lib/map/info-section/index.js → esm2020/lib/map/info-section/index.mjs} +0 -0
  265. package/esm2020/lib/map/info-section/info-section.component.mjs +30 -0
  266. package/{esm2015/lib/map/map-browser/index.js → esm2020/lib/map/map-browser/index.mjs} +0 -0
  267. package/esm2020/lib/map/map-browser/map-browser.component.mjs +66 -0
  268. package/{esm2015/lib/map/map-center/index.js → esm2020/lib/map/map-center/index.mjs} +0 -0
  269. package/{esm2015/lib/map/map-center/map-center.component.js → esm2020/lib/map/map-center/map-center.component.mjs} +3 -8
  270. package/{esm2015/lib/map/map.module.js → esm2020/lib/map/map.module.mjs} +11 -13
  271. package/{esm2015/lib/map/menu-button/index.js → esm2020/lib/map/menu-button/index.mjs} +0 -0
  272. package/{esm2015/lib/map/menu-button/menu-button.component.js → esm2020/lib/map/menu-button/menu-button.component.mjs} +7 -11
  273. package/{esm2015/lib/map/offline-button/index.js → esm2020/lib/map/offline-button/index.mjs} +0 -0
  274. package/esm2020/lib/map/offline-button/offline-button.component.mjs +76 -0
  275. package/{esm2015/lib/map/rotation-button/index.js → esm2020/lib/map/rotation-button/index.mjs} +0 -0
  276. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +91 -0
  277. package/{esm2015/lib/map/shared/controllers/controller.js → esm2020/lib/map/shared/controllers/controller.mjs} +0 -0
  278. package/esm2020/lib/map/shared/controllers/geolocation.mjs +308 -0
  279. package/{esm2015/lib/map/shared/controllers/index.js → esm2020/lib/map/shared/controllers/index.mjs} +0 -0
  280. package/{esm2015/lib/map/shared/controllers/view.js → esm2020/lib/map/shared/controllers/view.mjs} +0 -0
  281. package/esm2020/lib/map/shared/hover-feature.directive.mjs +506 -0
  282. package/{esm2015/lib/map/shared/index.js → esm2020/lib/map/shared/index.mjs} +0 -0
  283. package/{esm2015/lib/map/shared/map-pointer-position.directive.js → esm2020/lib/map/shared/map-pointer-position.directive.mjs} +0 -0
  284. package/{esm2015/lib/map/shared/map.enums.js → esm2020/lib/map/shared/map.enums.mjs} +0 -0
  285. package/{esm2015/lib/map/shared/map.interface.js → esm2020/lib/map/shared/map.interface.mjs} +0 -0
  286. package/esm2020/lib/map/shared/map.mjs +417 -0
  287. package/{esm2015/lib/map/shared/map.service.js → esm2020/lib/map/shared/map.service.mjs} +0 -0
  288. package/{esm2015/lib/map/shared/map.utils.js → esm2020/lib/map/shared/map.utils.mjs} +0 -0
  289. package/{esm2015/lib/map/shared/mapOffline.directive.js → esm2020/lib/map/shared/mapOffline.directive.mjs} +0 -0
  290. package/{esm2015/lib/map/shared/projection.interfaces.js → esm2020/lib/map/shared/projection.interfaces.mjs} +0 -0
  291. package/{esm2015/lib/map/shared/projection.service.js → esm2020/lib/map/shared/projection.service.mjs} +0 -0
  292. package/{esm2015/lib/map/shared/projection.utils.js → esm2020/lib/map/shared/projection.utils.mjs} +0 -0
  293. package/{esm2015/lib/map/swipe-control/index.js → esm2020/lib/map/swipe-control/index.mjs} +0 -0
  294. package/{esm2015/lib/map/swipe-control/swipe-control.component.js → esm2020/lib/map/swipe-control/swipe-control.component.mjs} +4 -10
  295. package/{esm2015/lib/map/utils/layer-watcher.js → esm2020/lib/map/utils/layer-watcher.mjs} +0 -0
  296. package/{esm2015/lib/map/wake-lock-button/index.js → esm2020/lib/map/wake-lock-button/index.mjs} +0 -0
  297. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +114 -0
  298. package/{esm2015/lib/map/zoom-button/index.js → esm2020/lib/map/zoom-button/index.mjs} +0 -0
  299. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +40 -0
  300. package/{esm2015/lib/measure/index.js → esm2020/lib/measure/index.mjs} +0 -0
  301. package/{esm2015/lib/measure/measure.module.js → esm2020/lib/measure/measure.module.mjs} +2 -2
  302. package/{esm2015/lib/measure/measurer/measure-format.pipe.js → esm2020/lib/measure/measurer/measure-format.pipe.mjs} +0 -0
  303. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +180 -0
  304. package/{esm2015/lib/measure/measurer/measurer-item.component.js → esm2020/lib/measure/measurer/measurer-item.component.mjs} +12 -20
  305. package/esm2020/lib/measure/measurer/measurer.component.mjs +1042 -0
  306. package/esm2020/lib/measure/measurer/measurer.module.mjs +94 -0
  307. package/{esm2015/lib/measure/shared/index.js → esm2020/lib/measure/shared/index.mjs} +0 -0
  308. package/{esm2015/lib/measure/shared/measure.enum.js → esm2020/lib/measure/shared/measure.enum.mjs} +0 -0
  309. package/{esm2015/lib/measure/shared/measure.interfaces.js → esm2020/lib/measure/shared/measure.interfaces.mjs} +0 -0
  310. package/{esm2015/lib/measure/shared/measure.utils.js → esm2020/lib/measure/shared/measure.utils.mjs} +0 -0
  311. package/{esm2015/lib/metadata/index.js → esm2020/lib/metadata/index.mjs} +0 -0
  312. package/{esm2015/lib/metadata/metadata-button/index.js → esm2020/lib/metadata/metadata-button/index.mjs} +0 -0
  313. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +134 -0
  314. package/{esm2015/lib/metadata/metadata.module.js → esm2020/lib/metadata/metadata.module.mjs} +7 -9
  315. package/{esm2015/lib/metadata/shared/index.js → esm2020/lib/metadata/shared/index.mjs} +0 -0
  316. package/{esm2015/lib/metadata/shared/metadata.interface.js → esm2020/lib/metadata/shared/metadata.interface.mjs} +0 -0
  317. package/{esm2015/lib/metadata/shared/metadata.service.js → esm2020/lib/metadata/shared/metadata.service.mjs} +0 -0
  318. package/{esm2015/lib/offline/geoDB/geoDB.enums.js → esm2020/lib/offline/geoDB/geoDB.enums.mjs} +0 -0
  319. package/{esm2015/lib/offline/geoDB/geoDB.interface.js → esm2020/lib/offline/geoDB/geoDB.interface.mjs} +0 -0
  320. package/{esm2015/lib/offline/geoDB/geoDB.service.js → esm2020/lib/offline/geoDB/geoDB.service.mjs} +0 -0
  321. package/{esm2015/lib/offline/geoDB/index.js → esm2020/lib/offline/geoDB/index.mjs} +0 -0
  322. package/{esm2015/lib/offline/index.js → esm2020/lib/offline/index.mjs} +0 -0
  323. package/{esm2015/lib/offline/shared/geo-network.service.js → esm2020/lib/offline/shared/geo-network.service.mjs} +0 -0
  324. package/{esm2015/lib/offline/shared/index.js → esm2020/lib/offline/shared/index.mjs} +0 -0
  325. package/{esm2015/lib/overlay/index.js → esm2020/lib/overlay/index.mjs} +0 -0
  326. package/{esm2015/lib/overlay/overlay.module.js → esm2020/lib/overlay/overlay.module.mjs} +2 -2
  327. package/{esm2015/lib/overlay/shared/index.js → esm2020/lib/overlay/shared/index.mjs} +0 -0
  328. package/{esm2015/lib/overlay/shared/overlay-marker-style.utils.js → esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs} +0 -0
  329. package/{esm2015/lib/overlay/shared/overlay.directive.js → esm2020/lib/overlay/shared/overlay.directive.mjs} +0 -0
  330. package/{esm2015/lib/overlay/shared/overlay.enum.js → esm2020/lib/overlay/shared/overlay.enum.mjs} +0 -0
  331. package/{esm2015/lib/overlay/shared/overlay.js → esm2020/lib/overlay/shared/overlay.mjs} +0 -0
  332. package/{esm2015/lib/overlay/shared/overlay.service.js → esm2020/lib/overlay/shared/overlay.service.mjs} +0 -0
  333. package/{esm2015/lib/overlay/shared/overlay.utils.js → esm2020/lib/overlay/shared/overlay.utils.mjs} +0 -0
  334. package/{esm2015/lib/print/index.js → esm2020/lib/print/index.mjs} +0 -0
  335. package/{esm2015/lib/print/print/print.component.js → esm2020/lib/print/print/print.component.mjs} +3 -6
  336. package/{esm2015/lib/print/print-form/index.js → esm2020/lib/print/print-form/index.mjs} +0 -0
  337. package/esm2020/lib/print/print-form/print-form.component.mjs +405 -0
  338. package/{esm2015/lib/print/print.module.js → esm2020/lib/print/print.module.mjs} +13 -15
  339. package/{esm2015/lib/print/shared/index.js → esm2020/lib/print/shared/index.mjs} +0 -0
  340. package/{esm2015/lib/print/shared/print.interface.js → esm2020/lib/print/shared/print.interface.mjs} +0 -0
  341. package/esm2020/lib/print/shared/print.service.mjs +807 -0
  342. package/{esm2015/lib/print/shared/print.type.js → esm2020/lib/print/shared/print.type.mjs} +0 -0
  343. package/{esm2015/lib/query/index.js → esm2020/lib/query/index.mjs} +0 -0
  344. package/{esm2015/lib/query/query.module.js → esm2020/lib/query/query.module.mjs} +2 -2
  345. package/{esm2015/lib/query/shared/index.js → esm2020/lib/query/shared/index.mjs} +0 -0
  346. package/{esm2015/lib/query/shared/query-search-source.js → esm2020/lib/query/shared/query-search-source.mjs} +0 -0
  347. package/{esm2015/lib/query/shared/query-search-source.providers.js → esm2020/lib/query/shared/query-search-source.providers.mjs} +0 -0
  348. package/{esm2015/lib/query/shared/query.directive.js → esm2020/lib/query/shared/query.directive.mjs} +0 -0
  349. package/{esm2015/lib/query/shared/query.enums.js → esm2020/lib/query/shared/query.enums.mjs} +0 -0
  350. package/{esm2015/lib/query/shared/query.interfaces.js → esm2020/lib/query/shared/query.interfaces.mjs} +0 -0
  351. package/esm2020/lib/query/shared/query.service.mjs +613 -0
  352. package/{esm2015/lib/query/shared/query.utils.js → esm2020/lib/query/shared/query.utils.mjs} +0 -0
  353. package/{esm2015/lib/search/index.js → esm2020/lib/search/index.mjs} +0 -0
  354. package/esm2020/lib/search/search-bar/search-bar.component.mjs +489 -0
  355. package/{esm2015/lib/search/search-bar/search-bar.module.js → esm2020/lib/search/search-bar/search-bar.module.mjs} +13 -15
  356. package/{esm2015/lib/search/search-bar/search-url-param.directive.js → esm2020/lib/search/search-bar/search-url-param.directive.mjs} +0 -0
  357. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +193 -0
  358. package/esm2020/lib/search/search-results/search-results-item.component.mjs +124 -0
  359. package/esm2020/lib/search/search-results/search-results.component.mjs +331 -0
  360. package/{esm2015/lib/search/search-results/search-results.module.js → esm2020/lib/search/search-results/search-results.module.mjs} +13 -15
  361. package/esm2020/lib/search/search-selector/search-selector.component.mjs +123 -0
  362. package/{esm2015/lib/search/search-selector/search-selector.module.js → esm2020/lib/search/search-selector/search-selector.module.mjs} +10 -12
  363. package/esm2020/lib/search/search-settings/search-settings.component.mjs +418 -0
  364. package/{esm2015/lib/search/search-settings/search-settings.module.js → esm2020/lib/search/search-settings/search-settings.module.mjs} +11 -13
  365. package/{esm2015/lib/search/search.module.js → esm2020/lib/search/search.module.mjs} +6 -8
  366. package/{esm2015/lib/search/shared/index.js → esm2020/lib/search/shared/index.mjs} +0 -0
  367. package/{esm2015/lib/search/shared/search-pointer-summary.directive.js → esm2020/lib/search/shared/search-pointer-summary.directive.mjs} +0 -0
  368. package/{esm2015/lib/search/shared/search-source-service.providers.js → esm2020/lib/search/shared/search-source-service.providers.mjs} +0 -0
  369. package/{esm2015/lib/search/shared/search-source.service.js → esm2020/lib/search/shared/search-source.service.mjs} +0 -0
  370. package/{esm2015/lib/search/shared/search.enums.js → esm2020/lib/search/shared/search.enums.mjs} +0 -0
  371. package/{esm2015/lib/search/shared/search.interfaces.js → esm2020/lib/search/shared/search.interfaces.mjs} +0 -0
  372. package/esm2020/lib/search/shared/search.service.mjs +118 -0
  373. package/{esm2015/lib/search/shared/search.utils.js → esm2020/lib/search/shared/search.utils.mjs} +0 -0
  374. package/{esm2015/lib/search/shared/sources/cadastre.js → esm2020/lib/search/shared/sources/cadastre.mjs} +1 -1
  375. package/{esm2015/lib/search/shared/sources/cadastre.providers.js → esm2020/lib/search/shared/sources/cadastre.providers.mjs} +0 -0
  376. package/{esm2015/lib/search/shared/sources/coordinates.interfaces.js → esm2020/lib/search/shared/sources/coordinates.interfaces.mjs} +0 -0
  377. package/{esm2015/lib/search/shared/sources/coordinates.js → esm2020/lib/search/shared/sources/coordinates.mjs} +0 -0
  378. package/{esm2015/lib/search/shared/sources/coordinates.providers.js → esm2020/lib/search/shared/sources/coordinates.providers.mjs} +0 -0
  379. package/{esm2015/lib/search/shared/sources/icherche.interfaces.js → esm2020/lib/search/shared/sources/icherche.interfaces.mjs} +0 -0
  380. package/esm2020/lib/search/shared/sources/icherche.mjs +755 -0
  381. package/{esm2015/lib/search/shared/sources/icherche.providers.js → esm2020/lib/search/shared/sources/icherche.providers.mjs} +0 -0
  382. package/{esm2015/lib/search/shared/sources/ilayer.interfaces.js → esm2020/lib/search/shared/sources/ilayer.interfaces.mjs} +0 -0
  383. package/{esm2015/lib/search/shared/sources/ilayer.js → esm2020/lib/search/shared/sources/ilayer.mjs} +0 -0
  384. package/{esm2015/lib/search/shared/sources/ilayer.providers.js → esm2020/lib/search/shared/sources/ilayer.providers.mjs} +0 -0
  385. package/{esm2015/lib/search/shared/sources/index.js → esm2020/lib/search/shared/sources/index.mjs} +0 -0
  386. package/{esm2015/lib/search/shared/sources/nominatim.interfaces.js → esm2020/lib/search/shared/sources/nominatim.interfaces.mjs} +0 -0
  387. package/{esm2015/lib/search/shared/sources/nominatim.js → esm2020/lib/search/shared/sources/nominatim.mjs} +0 -0
  388. package/{esm2015/lib/search/shared/sources/nominatim.providers.js → esm2020/lib/search/shared/sources/nominatim.providers.mjs} +0 -0
  389. package/{esm2015/lib/search/shared/sources/source.interfaces.js → esm2020/lib/search/shared/sources/source.interfaces.mjs} +0 -0
  390. package/{esm2015/lib/search/shared/sources/source.js → esm2020/lib/search/shared/sources/source.mjs} +0 -0
  391. package/{esm2015/lib/search/shared/sources/storedqueries.interfaces.js → esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs} +0 -0
  392. package/{esm2015/lib/search/shared/sources/storedqueries.js → esm2020/lib/search/shared/sources/storedqueries.mjs} +1 -1
  393. package/{esm2015/lib/search/shared/sources/storedqueries.providers.js → esm2020/lib/search/shared/sources/storedqueries.providers.mjs} +0 -0
  394. package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
  395. package/esm2020/lib/toast/toast.component.mjs +113 -0
  396. package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +7 -9
  397. package/{esm2015/lib/utils/commonVectorStyle.interface.js → esm2020/lib/utils/commonVectorStyle.interface.mjs} +0 -0
  398. package/{esm2015/lib/utils/commonVectorStyle.js → esm2020/lib/utils/commonVectorStyle.mjs} +0 -0
  399. package/{esm2015/lib/utils/googleLinks.js → esm2020/lib/utils/googleLinks.mjs} +0 -0
  400. package/{esm2015/lib/utils/id-generator.js → esm2020/lib/utils/id-generator.mjs} +0 -0
  401. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
  402. package/{esm2015/lib/utils/osmLinks.js → esm2020/lib/utils/osmLinks.mjs} +0 -0
  403. package/{esm2015/lib/wkt/index.js → esm2020/lib/wkt/index.mjs} +0 -0
  404. package/{esm2015/lib/wkt/shared/index.js → esm2020/lib/wkt/shared/index.mjs} +0 -0
  405. package/{esm2015/lib/wkt/shared/wkt.service.js → esm2020/lib/wkt/shared/wkt.service.mjs} +0 -0
  406. package/{esm2015/lib/wkt/wkt.module.js → esm2020/lib/wkt/wkt.module.mjs} +2 -2
  407. package/{esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js → esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs} +7 -15
  408. package/{esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js → esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs} +5 -7
  409. package/{esm2015/lib/workspace/confirmation-popup/index.js → esm2020/lib/workspace/confirmation-popup/index.mjs} +0 -0
  410. package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +0 -0
  411. package/{esm2015/lib/workspace/shared/edition-workspace.js → esm2020/lib/workspace/shared/edition-workspace.mjs} +2 -3
  412. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +642 -0
  413. package/esm2020/lib/workspace/shared/feature-workspace.mjs +35 -0
  414. package/{esm2015/lib/workspace/shared/wfs-workspace.service.js → esm2020/lib/workspace/shared/feature-workspace.service.mjs} +8 -9
  415. package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +0 -0
  416. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +35 -0
  417. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +150 -0
  418. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +261 -0
  419. package/{esm2015/lib/workspace/shared/workspace.utils.js → esm2020/lib/workspace/shared/workspace.utils.mjs} +0 -0
  420. package/{esm2015/lib/workspace/widgets/index.js → esm2020/lib/workspace/widgets/index.mjs} +0 -0
  421. package/{esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js → esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs} +3 -8
  422. package/{esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js → esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs} +5 -7
  423. package/{esm2015/lib/workspace/widgets/widgets.js → esm2020/lib/workspace/widgets/widgets.mjs} +0 -0
  424. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +133 -0
  425. package/{esm2015/lib/workspace/workspace-selector/workspace-selector.module.js → esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs} +2 -4
  426. package/{esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js → esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs} +8 -11
  427. package/{esm2015/lib/workspace/workspace-updator/workspace-updator.module.js → esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs} +2 -4
  428. package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +8 -10
  429. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  430. package/fesm2015/igo2-geo.mjs +42904 -0
  431. package/fesm2015/igo2-geo.mjs.map +1 -0
  432. package/{fesm2015/igo2-geo.js → fesm2020/igo2-geo.mjs} +1635 -2527
  433. package/fesm2020/igo2-geo.mjs.map +1 -0
  434. package/{igo2-geo.d.ts → index.d.ts} +0 -0
  435. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  436. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  437. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  438. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  439. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  440. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  441. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
  442. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  443. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  444. package/lib/directions/directions.component.d.ts +1 -1
  445. package/lib/download/download-button/download-button.component.d.ts +1 -1
  446. package/lib/draw/draw/draw-popup.component.d.ts +1 -1
  447. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  448. package/lib/draw/draw/draw.component.d.ts +1 -1
  449. package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
  450. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  451. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  452. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  453. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +1 -1
  454. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
  455. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  456. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +5 -5
  457. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  458. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  459. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  460. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +1 -1
  461. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  462. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
  463. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -3
  464. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +2 -2
  465. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  466. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +1 -1
  467. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  468. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  469. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  470. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  471. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  472. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  473. package/lib/import-export/import-export/import-export.component.d.ts +1 -1
  474. package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
  475. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  476. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  477. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  478. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  479. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  480. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  481. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  482. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  483. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  484. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  485. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  486. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  487. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  488. package/lib/map/info-section/info-section.component.d.ts +1 -1
  489. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  490. package/lib/map/map-center/map-center.component.d.ts +1 -1
  491. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  492. package/lib/map/offline-button/offline-button.component.d.ts +1 -1
  493. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  494. package/lib/map/shared/controllers/geolocation.d.ts +3 -2
  495. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  496. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  497. package/lib/map/shared/map.d.ts +3 -2
  498. package/lib/map/shared/mapOffline.directive.d.ts +1 -1
  499. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  500. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  501. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  502. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  503. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  504. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  505. package/lib/measure/measurer/measurer.component.d.ts +1 -1
  506. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  507. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  508. package/lib/print/print/print.component.d.ts +1 -1
  509. package/lib/print/print-form/print-form.component.d.ts +14 -14
  510. package/lib/print/shared/print.service.d.ts +6 -1
  511. package/lib/query/shared/query.directive.d.ts +1 -1
  512. package/lib/search/search-bar/search-bar.component.d.ts +1 -1
  513. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  514. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  515. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  516. package/lib/search/search-results/search-results.component.d.ts +1 -1
  517. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  518. package/lib/search/search-settings/search-settings.component.d.ts +1 -1
  519. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  520. package/lib/toast/toast.component.d.ts +1 -1
  521. package/lib/wkt/shared/wkt.service.d.ts +1 -1
  522. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  523. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  524. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  525. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  526. package/package.json +31 -18
  527. package/bundles/igo2-geo.umd.js +0 -47612
  528. package/bundles/igo2-geo.umd.js.map +0 -1
  529. package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +0 -305
  530. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +0 -248
  531. package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +0 -235
  532. package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +0 -85
  533. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +0 -224
  534. package/esm2015/lib/catalog/shared/catalog.service.js +0 -606
  535. package/esm2015/lib/datasource/shared/capabilities.service.js +0 -427
  536. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +0 -74
  537. package/esm2015/lib/datasource/shared/datasources/wfs.service.js +0 -153
  538. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +0 -205
  539. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +0 -229
  540. package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +0 -300
  541. package/esm2015/lib/directions/directions-results/directions-results.component.js +0 -204
  542. package/esm2015/lib/directions/directions.component.js +0 -316
  543. package/esm2015/lib/directions/shared/directions.utils.js +0 -510
  544. package/esm2015/lib/download/download-button/download-button.component.js +0 -66
  545. package/esm2015/lib/draw/draw/draw-shorcuts.component.js +0 -64
  546. package/esm2015/lib/draw/draw/draw.component.js +0 -745
  547. package/esm2015/lib/feature/feature-details/feature-details.component.js +0 -393
  548. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +0 -114
  549. package/esm2015/lib/filter/filter.module.js +0 -290
  550. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +0 -161
  551. package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +0 -657
  552. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +0 -1355
  553. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +0 -185
  554. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +0 -898
  555. package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +0 -307
  556. package/esm2015/lib/filter/shared/ogc-filter-time.service.js +0 -73
  557. package/esm2015/lib/filter/shared/ogc-filter.js +0 -693
  558. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +0 -1108
  559. package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +0 -772
  560. package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +0 -126
  561. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +0 -199
  562. package/esm2015/lib/import-export/export-button/export-button.component.js +0 -70
  563. package/esm2015/lib/import-export/import-export/import-export.component.js +0 -1238
  564. package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +0 -136
  565. package/esm2015/lib/layer/layer-item/layer-item.component.js +0 -305
  566. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +0 -395
  567. package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +0 -200
  568. package/esm2015/lib/layer/layer-list/layer-list.component.js +0 -1043
  569. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +0 -176
  570. package/esm2015/lib/layer/layer.module.js +0 -174
  571. package/esm2015/lib/layer/shared/layer.service.js +0 -186
  572. package/esm2015/lib/layer/shared/layers/layer.js +0 -169
  573. package/esm2015/lib/layer/shared/layers/vector-layer.js +0 -376
  574. package/esm2015/lib/layer/shared/style.service.js +0 -358
  575. package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +0 -64
  576. package/esm2015/lib/layer/utils/layer.utils.js +0 -11
  577. package/esm2015/lib/layer/utils/layerSync-watcher.js +0 -249
  578. package/esm2015/lib/layer/utils/outputLegend.js +0 -27
  579. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +0 -105
  580. package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +0 -137
  581. package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +0 -82
  582. package/esm2015/lib/map/info-section/info-section.component.js +0 -36
  583. package/esm2015/lib/map/map-browser/map-browser.component.js +0 -70
  584. package/esm2015/lib/map/offline-button/offline-button.component.js +0 -84
  585. package/esm2015/lib/map/rotation-button/rotation-button.component.js +0 -97
  586. package/esm2015/lib/map/shared/controllers/geolocation.js +0 -295
  587. package/esm2015/lib/map/shared/hover-feature.directive.js +0 -509
  588. package/esm2015/lib/map/shared/map.js +0 -417
  589. package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +0 -122
  590. package/esm2015/lib/map/zoom-button/zoom-button.component.js +0 -46
  591. package/esm2015/lib/measure/measurer/measurer-dialog.component.js +0 -220
  592. package/esm2015/lib/measure/measurer/measurer.component.js +0 -1053
  593. package/esm2015/lib/measure/measurer/measurer.module.js +0 -96
  594. package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +0 -135
  595. package/esm2015/lib/print/print-form/print-form.component.js +0 -447
  596. package/esm2015/lib/print/shared/print.service.js +0 -820
  597. package/esm2015/lib/query/shared/query.service.js +0 -619
  598. package/esm2015/lib/search/search-bar/search-bar.component.js +0 -496
  599. package/esm2015/lib/search/search-results/search-results-add-button.component.js +0 -198
  600. package/esm2015/lib/search/search-results/search-results-item.component.js +0 -129
  601. package/esm2015/lib/search/search-results/search-results.component.js +0 -337
  602. package/esm2015/lib/search/search-selector/search-selector.component.js +0 -132
  603. package/esm2015/lib/search/search-settings/search-settings.component.js +0 -435
  604. package/esm2015/lib/search/shared/search.service.js +0 -118
  605. package/esm2015/lib/search/shared/sources/icherche.js +0 -756
  606. package/esm2015/lib/toast/toast.component.js +0 -119
  607. package/esm2015/lib/workspace/shared/edition-workspace.service.js +0 -646
  608. package/esm2015/lib/workspace/shared/feature-workspace.js +0 -37
  609. package/esm2015/lib/workspace/shared/feature-workspace.service.js +0 -151
  610. package/esm2015/lib/workspace/shared/wfs-workspace.js +0 -37
  611. package/esm2015/lib/workspace/shared/wms-workspace.service.js +0 -263
  612. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +0 -135
  613. package/fesm2015/igo2-geo.js.map +0 -1
@@ -0,0 +1,645 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { BehaviorSubject, of } from 'rxjs';
3
+ import { OgcFilterWriter } from '../../filter/shared/ogc-filter';
4
+ import { OgcFilterOperator } from '../../filter/shared/ogc-filter.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../wkt/shared/wkt.service";
7
+ function OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "mat-option", 23);
9
+ i0.ɵɵtext(1);
10
+ i0.ɵɵelementEnd();
11
+ } if (rf & 2) {
12
+ const field_r12 = ctx.$implicit;
13
+ i0.ɵɵproperty("value", field_r12.alias)("id", field_r12.name)("matTooltip", field_r12.alias);
14
+ i0.ɵɵadvance(1);
15
+ i0.ɵɵtextInterpolate1(" ", field_r12.alias, " ");
16
+ } }
17
+ function OgcFilterFormComponent_mat_form_field_13_button_12_Template(rf, ctx) { if (rf & 1) {
18
+ const _r14 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "button", 24);
20
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_13_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.clearSelectedField()); });
21
+ i0.ɵɵelement(1, "mat-icon", 25);
22
+ i0.ɵɵelementEnd();
23
+ } if (rf & 2) {
24
+ const ctx_r11 = i0.ɵɵnextContext(2);
25
+ i0.ɵɵproperty("disabled", !ctx_r11.currentFilter.active);
26
+ } }
27
+ function OgcFilterFormComponent_mat_form_field_13_Template(rf, ctx) { if (rf & 1) {
28
+ const _r16 = i0.ɵɵgetCurrentView();
29
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
30
+ i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.inputClearable = "selectField"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.inputClearable = undefined); });
31
+ i0.ɵɵelementStart(1, "input", 18);
32
+ i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_13_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.updateFieldsList($event.target.value)); });
33
+ i0.ɵɵpipe(2, "translate");
34
+ i0.ɵɵpipe(3, "async");
35
+ i0.ɵɵpipe(4, "async");
36
+ i0.ɵɵpipe(5, "async");
37
+ i0.ɵɵpipe(6, "async");
38
+ i0.ɵɵpipe(7, "translate");
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementStart(8, "mat-autocomplete", 19, 20);
41
+ i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_13_Template_mat_autocomplete_optionSelected_8_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.changeField($event.option.id)); });
42
+ i0.ɵɵtemplate(10, OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template, 2, 4, "mat-option", 21);
43
+ i0.ɵɵpipe(11, "async");
44
+ i0.ɵɵelementEnd();
45
+ i0.ɵɵtemplate(12, OgcFilterFormComponent_mat_form_field_13_button_12_Template, 2, 1, "button", 22);
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const _r9 = i0.ɵɵreference(9);
49
+ const ctx_r0 = i0.ɵɵnextContext();
50
+ i0.ɵɵproperty("floatLabel", ctx_r0.floatLabel);
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.sourceFields.selectField"))("disabled", !ctx_r0.currentFilter.active)("matAutocomplete", _r9)("value", i0.ɵɵpipeBind1(3, 10, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(4, 12, ctx_r0.selectedField$).alias : "")("matTooltip", i0.ɵɵpipeBind1(5, 14, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(6, 16, ctx_r0.selectedField$).alias : i0.ɵɵpipeBind1(7, 18, "igo.geo.sourceFields.selectField"));
53
+ i0.ɵɵadvance(9);
54
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 20, ctx_r0.filteredFields$));
55
+ i0.ɵɵadvance(2);
56
+ i0.ɵɵproperty("ngIf", ctx_r0.currentFilter.propertyName && ctx_r0.inputClearable === "selectField" && ctx_r0.currentFilter.active);
57
+ } }
58
+ function OgcFilterFormComponent_mat_option_24_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "mat-option", 3);
60
+ i0.ɵɵpipe(1, "translate");
61
+ i0.ɵɵtext(2);
62
+ i0.ɵɵpipe(3, "translate");
63
+ i0.ɵɵelementEnd();
64
+ } if (rf & 2) {
65
+ const operator_r20 = ctx.$implicit;
66
+ i0.ɵɵproperty("value", operator_r20.key)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.operators.tooltip." + operator_r20.key));
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.operators." + operator_r20.key), " ");
69
+ } }
70
+ function OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "mat-option", 29);
72
+ i0.ɵɵtext(1);
73
+ i0.ɵɵpipe(2, "translate");
74
+ i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ const igoSpatialSelector_r22 = ctx.$implicit;
77
+ i0.ɵɵproperty("value", igoSpatialSelector_r22.type);
78
+ i0.ɵɵadvance(1);
79
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.spatialSelector." + igoSpatialSelector_r22.type), " ");
80
+ } }
81
+ function OgcFilterFormComponent_mat_form_field_27_Template(rf, ctx) { if (rf & 1) {
82
+ const _r24 = i0.ɵɵgetCurrentView();
83
+ i0.ɵɵelementStart(0, "mat-form-field", 26)(1, "mat-select", 27);
84
+ i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_mat_form_field_27_Template_mat_select_selectionChange_1_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.changeSpatialSelector($event.value)); });
85
+ i0.ɵɵtemplate(2, OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template, 3, 4, "mat-option", 28);
86
+ i0.ɵɵelementEnd()();
87
+ } if (rf & 2) {
88
+ const ctx_r2 = i0.ɵɵnextContext();
89
+ i0.ɵɵadvance(1);
90
+ i0.ɵɵproperty("disabled", !ctx_r2.currentFilter.active)("value", ctx_r2.currentFilter.igoSpatialSelector);
91
+ i0.ɵɵadvance(1);
92
+ i0.ɵɵproperty("ngForOf", ctx_r2.igoSpatialSelectors);
93
+ } }
94
+ function OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "mat-option", 33);
96
+ i0.ɵɵtext(1);
97
+ i0.ɵɵelementEnd();
98
+ } if (rf & 2) {
99
+ const value_r28 = ctx.$implicit;
100
+ i0.ɵɵproperty("value", value_r28)("matTooltip", value_r28);
101
+ i0.ɵɵadvance(1);
102
+ i0.ɵɵtextInterpolate1(" ", value_r28, " ");
103
+ } }
104
+ function OgcFilterFormComponent_mat_form_field_29_button_7_Template(rf, ctx) { if (rf & 1) {
105
+ const _r30 = i0.ɵɵgetCurrentView();
106
+ i0.ɵɵelementStart(0, "button", 24);
107
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_29_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.clearProperty()); });
108
+ i0.ɵɵelement(1, "mat-icon", 25);
109
+ i0.ɵɵelementEnd();
110
+ } if (rf & 2) {
111
+ const ctx_r27 = i0.ɵɵnextContext(2);
112
+ i0.ɵɵproperty("disabled", !ctx_r27.currentFilter.active);
113
+ } }
114
+ function OgcFilterFormComponent_mat_form_field_29_Template(rf, ctx) { if (rf & 1) {
115
+ const _r32 = i0.ɵɵgetCurrentView();
116
+ i0.ɵɵelementStart(0, "mat-form-field", 30);
117
+ i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.inputClearable = "selectProperty"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.inputClearable = undefined); });
118
+ i0.ɵɵelementStart(1, "input", 18);
119
+ i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_29_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.updateValuesList($event.target.value)); });
120
+ i0.ɵɵpipe(2, "translate");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(3, "mat-autocomplete", 19, 31);
123
+ i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_29_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.changeProperty($event.option.value)); });
124
+ i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template, 2, 3, "mat-option", 32);
125
+ i0.ɵɵpipe(6, "async");
126
+ i0.ɵɵelementEnd();
127
+ i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_29_button_7_Template, 2, 1, "button", 22);
128
+ i0.ɵɵelementEnd();
129
+ } if (rf & 2) {
130
+ const _r25 = i0.ɵɵreference(4);
131
+ const ctx_r3 = i0.ɵɵnextContext();
132
+ i0.ɵɵproperty("floatLabel", ctx_r3.floatLabel);
133
+ i0.ɵɵadvance(1);
134
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.filter.placeholder"))("disabled", !ctx_r3.currentFilter.active)("matAutocomplete", _r25)("value", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression : ctx_r3.currentFilter.pattern)("matTooltip", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression || "" : ctx_r3.currentFilter.pattern || "");
135
+ i0.ɵɵadvance(4);
136
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 10, ctx_r3.filteredValues$));
137
+ i0.ɵɵadvance(2);
138
+ i0.ɵɵproperty("ngIf", ctx_r3.isClearable() && ctx_r3.inputClearable === "selectProperty" && ctx_r3.currentFilter.active);
139
+ } }
140
+ function OgcFilterFormComponent_mat_form_field_34_button_3_Template(rf, ctx) { if (rf & 1) {
141
+ const _r38 = i0.ɵɵgetCurrentView();
142
+ i0.ɵɵelementStart(0, "button", 24);
143
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_34_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r37.currentFilter.igoSNRC = ""); });
144
+ i0.ɵɵelement(1, "mat-icon", 25);
145
+ i0.ɵɵelementEnd();
146
+ } if (rf & 2) {
147
+ const ctx_r36 = i0.ɵɵnextContext(2);
148
+ i0.ɵɵproperty("disabled", !ctx_r36.currentFilter.active && ctx_r36.inputClearable === "selectSNRC" && ctx_r36.currentFilter.active);
149
+ } }
150
+ function OgcFilterFormComponent_mat_form_field_34_Template(rf, ctx) { if (rf & 1) {
151
+ const _r40 = i0.ɵɵgetCurrentView();
152
+ i0.ɵɵelementStart(0, "mat-form-field", 34);
153
+ i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.inputClearable = "selectSNRC"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.inputClearable = undefined); });
154
+ i0.ɵɵelementStart(1, "input", 35);
155
+ i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_34_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.changeSNRC($event.target.value)); });
156
+ i0.ɵɵpipe(2, "translate");
157
+ i0.ɵɵelementEnd();
158
+ i0.ɵɵtemplate(3, OgcFilterFormComponent_mat_form_field_34_button_3_Template, 2, 1, "button", 22);
159
+ i0.ɵɵelementEnd();
160
+ } if (rf & 2) {
161
+ const ctx_r4 = i0.ɵɵnextContext();
162
+ i0.ɵɵproperty("floatLabel", ctx_r4.floatLabel);
163
+ i0.ɵɵadvance(1);
164
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 5, "igo.geo.filter.placeholderSnrc"))("value", ctx_r4.currentFilter.igoSNRC)("matTooltip", ctx_r4.currentFilter.igoSNRC ? ctx_r4.currentFilter.igoSNRC : "");
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵproperty("ngIf", ctx_r4.currentFilter.igoSNRC);
167
+ } }
168
+ function OgcFilterFormComponent_ng_container_36_button_1_Template(rf, ctx) { if (rf & 1) {
169
+ const _r45 = i0.ɵɵgetCurrentView();
170
+ i0.ɵɵelementStart(0, "button", 37);
171
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_ng_container_36_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r44.changeMapExtentGeometry()); });
172
+ i0.ɵɵpipe(1, "translate");
173
+ i0.ɵɵelement(2, "mat-icon", 38);
174
+ i0.ɵɵelementEnd();
175
+ } if (rf & 2) {
176
+ const ctx_r43 = i0.ɵɵnextContext(2);
177
+ i0.ɵɵproperty("disabled", !ctx_r43.currentFilter.active)("disabled", !ctx_r43.currentFilter.active)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.spatialSelector.btnSetExtent"));
178
+ } }
179
+ function OgcFilterFormComponent_ng_container_36_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵelementContainerStart(0);
181
+ i0.ɵɵtemplate(1, OgcFilterFormComponent_ng_container_36_button_1_Template, 3, 5, "button", 36);
182
+ i0.ɵɵelementContainerEnd();
183
+ } if (rf & 2) {
184
+ const ctx_r5 = i0.ɵɵnextContext();
185
+ i0.ɵɵadvance(1);
186
+ i0.ɵɵproperty("ngIf", ctx_r5.currentFilter.igoSpatialSelector === "fixedExtent");
187
+ } }
188
+ function OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template(rf, ctx) { if (rf & 1) {
189
+ i0.ɵɵelementStart(0, "mat-option", 33);
190
+ i0.ɵɵtext(1);
191
+ i0.ɵɵelementEnd();
192
+ } if (rf & 2) {
193
+ const value_r49 = ctx.$implicit;
194
+ i0.ɵɵproperty("value", value_r49)("matTooltip", value_r49);
195
+ i0.ɵɵadvance(1);
196
+ i0.ɵɵtextInterpolate1(" ", value_r49, " ");
197
+ } }
198
+ function OgcFilterFormComponent_mat_form_field_39_button_7_Template(rf, ctx) { if (rf & 1) {
199
+ const _r51 = i0.ɵɵgetCurrentView();
200
+ i0.ɵɵelementStart(0, "button", 24);
201
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_39_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r50.clearProperty(1)); });
202
+ i0.ɵɵelement(1, "mat-icon", 25);
203
+ i0.ɵɵelementEnd();
204
+ } if (rf & 2) {
205
+ const ctx_r48 = i0.ɵɵnextContext(2);
206
+ i0.ɵɵproperty("disabled", !ctx_r48.currentFilter.active);
207
+ } }
208
+ function OgcFilterFormComponent_mat_form_field_39_Template(rf, ctx) { if (rf & 1) {
209
+ const _r53 = i0.ɵɵgetCurrentView();
210
+ i0.ɵɵelementStart(0, "mat-form-field", 39);
211
+ i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r52 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r52.inputClearable = "selectProperty1"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r54 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r54.inputClearable = undefined); });
212
+ i0.ɵɵelementStart(1, "input", 40);
213
+ i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_39_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r55 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r55.updateValuesList($event.target.value, 1)); });
214
+ i0.ɵɵpipe(2, "translate");
215
+ i0.ɵɵelementEnd();
216
+ i0.ɵɵelementStart(3, "mat-autocomplete", 19, 41);
217
+ i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_39_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r56 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r56.changeNumericProperty($event.option.value, 1)); });
218
+ i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template, 2, 3, "mat-option", 32);
219
+ i0.ɵɵpipe(6, "async");
220
+ i0.ɵɵelementEnd();
221
+ i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_39_button_7_Template, 2, 1, "button", 22);
222
+ i0.ɵɵelementEnd();
223
+ } if (rf & 2) {
224
+ const _r46 = i0.ɵɵreference(4);
225
+ const ctx_r6 = i0.ɵɵnextContext();
226
+ i0.ɵɵproperty("floatLabel", ctx_r6.floatLabel);
227
+ i0.ɵɵadvance(1);
228
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r6.currentFilter.active)("matAutocomplete", _r46)("value", ctx_r6.detectProperty(1) === "lowerBoundary" ? ctx_r6.currentFilter.lowerBoundary : ctx_r6.currentFilter.begin);
229
+ i0.ɵɵadvance(4);
230
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r6.filteredValues$));
231
+ i0.ɵɵadvance(2);
232
+ i0.ɵɵproperty("ngIf", ctx_r6.isClearable(1) && ctx_r6.inputClearable === "selectProperty1" && ctx_r6.currentFilter.active);
233
+ } }
234
+ function OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template(rf, ctx) { if (rf & 1) {
235
+ i0.ɵɵelementStart(0, "mat-option", 33);
236
+ i0.ɵɵtext(1);
237
+ i0.ɵɵelementEnd();
238
+ } if (rf & 2) {
239
+ const value_r60 = ctx.$implicit;
240
+ i0.ɵɵproperty("value", value_r60)("matTooltip", value_r60);
241
+ i0.ɵɵadvance(1);
242
+ i0.ɵɵtextInterpolate1(" ", value_r60, " ");
243
+ } }
244
+ function OgcFilterFormComponent_mat_form_field_40_button_7_Template(rf, ctx) { if (rf & 1) {
245
+ const _r62 = i0.ɵɵgetCurrentView();
246
+ i0.ɵɵelementStart(0, "button", 24);
247
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_40_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r61.clearProperty(2)); });
248
+ i0.ɵɵelement(1, "mat-icon", 25);
249
+ i0.ɵɵelementEnd();
250
+ } if (rf & 2) {
251
+ const ctx_r59 = i0.ɵɵnextContext(2);
252
+ i0.ɵɵproperty("disabled", !ctx_r59.currentFilter.active);
253
+ } }
254
+ function OgcFilterFormComponent_mat_form_field_40_Template(rf, ctx) { if (rf & 1) {
255
+ const _r64 = i0.ɵɵgetCurrentView();
256
+ i0.ɵɵelementStart(0, "mat-form-field", 39);
257
+ i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r63.inputClearable = "selectProperty2"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r65 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r65.inputClearable = undefined); });
258
+ i0.ɵɵelementStart(1, "input", 40);
259
+ i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_40_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r66 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r66.updateValuesList($event.target.value, 2)); });
260
+ i0.ɵɵpipe(2, "translate");
261
+ i0.ɵɵelementEnd();
262
+ i0.ɵɵelementStart(3, "mat-autocomplete", 19, 42);
263
+ i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_40_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.changeNumericProperty($event.option.value, 2)); });
264
+ i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template, 2, 3, "mat-option", 32);
265
+ i0.ɵɵpipe(6, "async");
266
+ i0.ɵɵelementEnd();
267
+ i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_40_button_7_Template, 2, 1, "button", 22);
268
+ i0.ɵɵelementEnd();
269
+ } if (rf & 2) {
270
+ const _r57 = i0.ɵɵreference(4);
271
+ const ctx_r7 = i0.ɵɵnextContext();
272
+ i0.ɵɵproperty("floatLabel", ctx_r7.floatLabel);
273
+ i0.ɵɵadvance(1);
274
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r7.currentFilter.active)("matAutocomplete", _r57)("value", ctx_r7.detectProperty(2) === "upperBoundary" ? ctx_r7.currentFilter.upperBoundary : ctx_r7.currentFilter.end);
275
+ i0.ɵɵadvance(4);
276
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r7.filteredValues$));
277
+ i0.ɵɵadvance(2);
278
+ i0.ɵɵproperty("ngIf", ctx_r7.isClearable(2) && ctx_r7.inputClearable === "selectProperty2" && ctx_r7.currentFilter.active);
279
+ } }
280
+ function OgcFilterFormComponent_igo_ogc_filter_time_41_Template(rf, ctx) { if (rf & 1) {
281
+ const _r69 = i0.ɵɵgetCurrentView();
282
+ i0.ɵɵelementStart(0, "igo-ogc-filter-time", 43);
283
+ i0.ɵɵlistener("datasourceChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_datasourceChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r68.datasource = $event); })("currentFilterChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_currentFilterChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r70 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r70.currentFilter = $event); })("changeProperty", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_changeProperty_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.changeProperty($event.value, $event.pos)); });
284
+ i0.ɵɵelementEnd();
285
+ } if (rf & 2) {
286
+ const ctx_r8 = i0.ɵɵnextContext();
287
+ i0.ɵɵproperty("datasource", ctx_r8.datasource)("currentFilter", ctx_r8.currentFilter);
288
+ } }
289
+ const _c0 = function (a0, a1) { return { "logical": a0, "logicalHidden": a1 }; };
290
+ const _c1 = function (a0, a1) { return { "operator": a0, "dualInput": a1 }; };
291
+ const _c2 = function () { return ["expression", "pattern"]; };
292
+ const _c3 = function () { return ["lowerBoundary", "begin"]; };
293
+ const _c4 = function () { return ["upperBoundary", "end"]; };
294
+ export class OgcFilterFormComponent {
295
+ constructor(wktService) {
296
+ this.wktService = wktService;
297
+ this.ogcFilterOperator = OgcFilterOperator;
298
+ this.ogcFilterOperators$ = new BehaviorSubject(undefined);
299
+ this.value = '';
300
+ this.selectedField$ = new BehaviorSubject(undefined);
301
+ this.fields$ = new BehaviorSubject([]);
302
+ this.color = 'primary';
303
+ this.currentFilterIsSpatial$ = new BehaviorSubject(false);
304
+ this.defaultStepMillisecond = 6000;
305
+ this._snrc = '';
306
+ this.floatLabel = 'never';
307
+ // TODO: Filter permitted operator based on wfscapabilities
308
+ // Need to work on regex on XML capabilities because
309
+ // comaparison operator's name varies between WFS servers...
310
+ // Ex: IsNull vs PropertyIsNull vs IsNil ...
311
+ this.allOgcFilterOperators = new OgcFilterWriter().operators;
312
+ this.ogcFilterOperators$.next(this.allOgcFilterOperators);
313
+ this.igoSpatialSelectors = [
314
+ {
315
+ type: 'fixedExtent'
316
+ },
317
+ {
318
+ type: 'snrc'
319
+ }
320
+ ];
321
+ // TODO: selectFeature & drawFeature
322
+ }
323
+ set snrc(value) {
324
+ const checkSNRC50k = /^\d{2}[a-l][0,1][0-9]$/gi;
325
+ const checkSNRC250k = /^\d{2}[a-p]$/gi;
326
+ const checkSNRC1m = /^\d{2}$/gi;
327
+ if (checkSNRC1m.test(value) ||
328
+ checkSNRC250k.test(value) ||
329
+ checkSNRC50k.test(value)) {
330
+ this._snrc = value;
331
+ this.currentFilter.igoSNRC = value;
332
+ }
333
+ }
334
+ get snrc() {
335
+ return this._snrc;
336
+ }
337
+ get activeFilters() {
338
+ return this.datasource.options.ogcFilters.interfaceOgcFilters.filter((f) => f.active === true);
339
+ }
340
+ get allowedOperators() {
341
+ return new OgcFilterWriter().computeAllowedOperators(this.fields$.value, this.currentFilter.propertyName, this.datasource.options.ogcFilters.allowedOperatorsType);
342
+ }
343
+ ngOnInit() {
344
+ if (this.datasource.options.sourceFields) {
345
+ const sFields = this.datasource.options.sourceFields.filter((sf) => sf.excludeFromOgcFilters === undefined || !sf.excludeFromOgcFilters);
346
+ sFields.map((sfs) => {
347
+ if (sfs.values) {
348
+ sfs.values.sort();
349
+ }
350
+ });
351
+ this.fields$.next(sFields);
352
+ }
353
+ this.updateFieldsList();
354
+ this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
355
+ this.updateValuesList();
356
+ this.selectedField$.subscribe((f) => {
357
+ this.ogcFilterOperators$.next(this.allowedOperators);
358
+ if (Object.keys(this.allowedOperators).indexOf(this.currentFilter.operator) === -1) {
359
+ this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
360
+ this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
361
+ }
362
+ this.updateValuesList();
363
+ });
364
+ this.currentFilterIsSpatial();
365
+ }
366
+ updateFieldsList(value) {
367
+ this.filteredFields$ =
368
+ value && value.length > 0 ? of(this._filterFields(value)) : this.fields$;
369
+ if (this.fields$.value.find((f) => f.name === value)) {
370
+ this.changeField(value);
371
+ }
372
+ }
373
+ updateValuesList(value, pos) {
374
+ this.filteredValues$ =
375
+ value && value.length > 0
376
+ ? of(this._filterValues(value))
377
+ : this.selectedField$.value
378
+ ? of(this.selectedField$.value.values)
379
+ : of([]);
380
+ if (value && value.length >= 1) {
381
+ this.changeProperty(value, pos);
382
+ }
383
+ }
384
+ _filterFields(value) {
385
+ const keywordRegex = new RegExp(value.normalize('NFD').replace(/[\u0300-\u036f]/g, ''), 'gi');
386
+ return this.fields$.value.filter((val) => keywordRegex.test(val.alias.normalize('NFD').replace(/[\u0300-\u036f]/g, '')));
387
+ }
388
+ _filterValues(value) {
389
+ const keywordRegex = new RegExp(value
390
+ .toString()
391
+ .normalize('NFD')
392
+ .replace(/[\u0300-\u036f]/g, ''), 'gi');
393
+ return this.selectedField$.value.values.filter((val) => val && keywordRegex.test(val
394
+ .toString()
395
+ .normalize('NFD')
396
+ .replace(/[\u0300-\u036f]/g, '')));
397
+ }
398
+ clearSelectedField() {
399
+ this.currentFilter.propertyName = '';
400
+ this.selectedField$.next(undefined);
401
+ this.clearProperty();
402
+ }
403
+ isClearable(pos) {
404
+ const detectedProperty = this.detectProperty(pos);
405
+ if (detectedProperty) {
406
+ return this.currentFilter[detectedProperty];
407
+ }
408
+ }
409
+ clearProperty(pos) {
410
+ // this.autoCompleteInputValues.closePanel();
411
+ const detectedProperty = this.detectProperty(pos);
412
+ if (detectedProperty) {
413
+ return (this.currentFilter[detectedProperty] = '');
414
+ }
415
+ }
416
+ toggleFilterState(event) {
417
+ this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid).active = event.checked;
418
+ this.refreshFilters();
419
+ }
420
+ deleteFilter() {
421
+ const ogcFilters = this.datasource.options.ogcFilters;
422
+ ogcFilters.interfaceOgcFilters = ogcFilters.interfaceOgcFilters.filter((f) => f.filterid !== this.currentFilter.filterid);
423
+ this.refreshFilters();
424
+ }
425
+ changeLogical(logical) {
426
+ this.currentFilter.parentLogical = logical;
427
+ this.refreshFilters();
428
+ }
429
+ changeOperator(operator) {
430
+ this.currentFilter.operator = operator;
431
+ this.currentFilterIsSpatial();
432
+ if (this.currentFilterIsSpatial$.value &&
433
+ this.currentFilter.wkt_geometry.length === 0) {
434
+ this.changeSpatialSelector(this.currentFilter.igoSpatialSelector);
435
+ }
436
+ else {
437
+ this.refreshFilters();
438
+ }
439
+ }
440
+ changeField(field) {
441
+ this.currentFilter.propertyName = field;
442
+ this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
443
+ this.refreshFilters();
444
+ }
445
+ // Issue with mapserver 7.2 and Postgis layers. Fixed in 7.4
446
+ // Due to this issue, the checkbox is hide.
447
+ changeCaseSensitive(matchCase) {
448
+ this.currentFilter.matchCase = matchCase.checked;
449
+ this.refreshFilters();
450
+ }
451
+ changeProperty(value, pos, refreshFilter = true) {
452
+ const detectedProperty = this.detectProperty(pos);
453
+ if (detectedProperty) {
454
+ this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid)[detectedProperty] = value;
455
+ if (refreshFilter) {
456
+ this.refreshFilters();
457
+ }
458
+ }
459
+ }
460
+ changeNumericProperty(value, pos) {
461
+ this.changeProperty(parseFloat(value), pos);
462
+ }
463
+ changeSpatialSelector(value) {
464
+ this.currentFilter.igoSpatialSelector = value;
465
+ if (value === 'fixedExtent') {
466
+ this.changeMapExtentGeometry(false);
467
+ }
468
+ this.currentFilterIsSpatial();
469
+ this.refreshFilters();
470
+ }
471
+ changeSNRC(value) {
472
+ this.snrc = value;
473
+ this.changeSNRCGeometry();
474
+ }
475
+ changeSNRCGeometry() {
476
+ const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
477
+ if (!interfaceOgcFilter) {
478
+ return;
479
+ }
480
+ if (this.snrc && this.currentFilter.igoSpatialSelector === 'snrc') {
481
+ this.currentFilter.wkt_geometry = this.wktService.snrcToWkt(this.snrc, this.map.projection).wktPoly;
482
+ }
483
+ this.refreshFilters();
484
+ }
485
+ changeMapExtentGeometry(refresh = true) {
486
+ const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
487
+ if (!interfaceOgcFilter) {
488
+ return;
489
+ }
490
+ if (this.currentFilter.igoSpatialSelector === 'fixedExtent') {
491
+ this.currentFilter.wkt_geometry = this.wktService.extentToWkt(this.map.projection, this.map.viewController.getExtent(), this.map.projection).wktPoly;
492
+ }
493
+ if (refresh) {
494
+ this.refreshFilters();
495
+ }
496
+ }
497
+ detectProperty(pos) {
498
+ switch (this.currentFilter.operator) {
499
+ case OgcFilterOperator.PropertyIsNotEqualTo:
500
+ case OgcFilterOperator.PropertyIsEqualTo:
501
+ case OgcFilterOperator.PropertyIsGreaterThan:
502
+ case OgcFilterOperator.PropertyIsGreaterThanOrEqualTo:
503
+ case OgcFilterOperator.PropertyIsLessThan:
504
+ case OgcFilterOperator.PropertyIsLessThanOrEqualTo:
505
+ return 'expression';
506
+ case OgcFilterOperator.PropertyIsLike:
507
+ return 'pattern';
508
+ case OgcFilterOperator.PropertyIsBetween:
509
+ return pos && pos === 1
510
+ ? 'lowerBoundary'
511
+ : pos && pos === 2
512
+ ? 'upperBoundary'
513
+ : undefined;
514
+ case OgcFilterOperator.During:
515
+ return pos && pos === 1
516
+ ? 'begin'
517
+ : pos && pos === 2
518
+ ? 'end'
519
+ : undefined;
520
+ default:
521
+ return;
522
+ }
523
+ }
524
+ currentFilterIsSpatial() {
525
+ let isSpatial = false;
526
+ if (this.currentFilter) {
527
+ isSpatial =
528
+ [
529
+ OgcFilterOperator.Contains,
530
+ OgcFilterOperator.Intersects,
531
+ OgcFilterOperator.Within
532
+ ].indexOf(this.currentFilter.operator) !== -1;
533
+ }
534
+ this.currentFilterIsSpatial$.next(isSpatial);
535
+ }
536
+ isTemporalOperator() {
537
+ return (this.currentFilter.operator.toLowerCase() ===
538
+ this.ogcFilterOperator.During.toLowerCase());
539
+ }
540
+ }
541
+ OgcFilterFormComponent.ɵfac = function OgcFilterFormComponent_Factory(t) { return new (t || OgcFilterFormComponent)(i0.ɵɵdirectiveInject(i1.WktService)); };
542
+ OgcFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterFormComponent, selectors: [["igo-ogc-filter-form"]], inputs: { refreshFilters: "refreshFilters", datasource: "datasource", map: "map", currentFilter: "currentFilter", floatLabel: "floatLabel" }, decls: 42, vars: 76, consts: [["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "checked", "click", "change"], [3, "ngClass"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "disabled", "value", "matTooltip", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip"], ["class", "field", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "ngClass", "floatLabel"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "value", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["class", "spatialSelector", 4, "ngIf"], ["class", "singleInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [1, "igo-layer-button-group"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"], ["class", "snrc", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [4, "ngIf"], ["class", "dualInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty", 4, "ngIf"], [1, "field", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "disabled", "matAutocomplete", "value", "matTooltip", "input"], [3, "optionSelected"], ["autoCompleteField", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip", 4, "ngFor", "ngForOf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click", 4, "ngIf"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click"], ["svgIcon", "close"], [1, "spatialSelector"], [3, "disabled", "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "singleInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["autoCompleteValues", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip"], [1, "snrc", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "value", "matTooltip", "input"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click", 4, "ngIf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click"], ["svgIcon", "arrow-expand-all"], [1, "dualInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "type", "number", 3, "placeholder", "disabled", "matAutocomplete", "value", "input"], ["autoDualValueOperator1", "matAutocomplete"], ["autoDualValueOperator2", "matAutocomplete"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty"]], template: function OgcFilterFormComponent_Template(rf, ctx) { if (rf & 1) {
543
+ i0.ɵɵelementStart(0, "mat-checkbox", 0);
544
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_mat_checkbox_click_0_listener($event) { return $event.stopPropagation(); })("change", function OgcFilterFormComponent_Template_mat_checkbox_change_0_listener($event) { return ctx.toggleFilterState($event); });
545
+ i0.ɵɵpipe(1, "translate");
546
+ i0.ɵɵelementEnd();
547
+ i0.ɵɵelementStart(2, "mat-form-field", 1)(3, "mat-select", 2);
548
+ i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_3_listener($event) { return ctx.changeLogical($event.value); });
549
+ i0.ɵɵpipe(4, "translate");
550
+ i0.ɵɵelementStart(5, "mat-option", 3);
551
+ i0.ɵɵpipe(6, "translate");
552
+ i0.ɵɵtext(7);
553
+ i0.ɵɵpipe(8, "translate");
554
+ i0.ɵɵelementEnd();
555
+ i0.ɵɵelementStart(9, "mat-option", 3);
556
+ i0.ɵɵpipe(10, "translate");
557
+ i0.ɵɵtext(11);
558
+ i0.ɵɵpipe(12, "translate");
559
+ i0.ɵɵelementEnd()()();
560
+ i0.ɵɵtemplate(13, OgcFilterFormComponent_mat_form_field_13_Template, 13, 22, "mat-form-field", 4);
561
+ i0.ɵɵpipe(14, "async");
562
+ i0.ɵɵpipe(15, "async");
563
+ i0.ɵɵpipe(16, "async");
564
+ i0.ɵɵpipe(17, "async");
565
+ i0.ɵɵelementStart(18, "mat-form-field", 5);
566
+ i0.ɵɵpipe(19, "async");
567
+ i0.ɵɵpipe(20, "async");
568
+ i0.ɵɵelementStart(21, "mat-select", 6);
569
+ i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_21_listener($event) { return ctx.changeOperator($event.value); });
570
+ i0.ɵɵpipe(22, "translate");
571
+ i0.ɵɵpipe(23, "translate");
572
+ i0.ɵɵtemplate(24, OgcFilterFormComponent_mat_option_24_Template, 4, 7, "mat-option", 7);
573
+ i0.ɵɵpipe(25, "keyvalue");
574
+ i0.ɵɵpipe(26, "async");
575
+ i0.ɵɵelementEnd()();
576
+ i0.ɵɵtemplate(27, OgcFilterFormComponent_mat_form_field_27_Template, 3, 3, "mat-form-field", 8);
577
+ i0.ɵɵpipe(28, "async");
578
+ i0.ɵɵtemplate(29, OgcFilterFormComponent_mat_form_field_29_Template, 8, 12, "mat-form-field", 9);
579
+ i0.ɵɵelementStart(30, "div", 10)(31, "button", 11);
580
+ i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_button_click_31_listener() { return ctx.deleteFilter(); });
581
+ i0.ɵɵpipe(32, "translate");
582
+ i0.ɵɵelement(33, "mat-icon", 12);
583
+ i0.ɵɵelementEnd()();
584
+ i0.ɵɵtemplate(34, OgcFilterFormComponent_mat_form_field_34_Template, 4, 7, "mat-form-field", 13);
585
+ i0.ɵɵpipe(35, "async");
586
+ i0.ɵɵtemplate(36, OgcFilterFormComponent_ng_container_36_Template, 2, 1, "ng-container", 14);
587
+ i0.ɵɵpipe(37, "async");
588
+ i0.ɵɵelement(38, "br");
589
+ i0.ɵɵtemplate(39, OgcFilterFormComponent_mat_form_field_39_Template, 8, 11, "mat-form-field", 15);
590
+ i0.ɵɵtemplate(40, OgcFilterFormComponent_mat_form_field_40_Template, 8, 11, "mat-form-field", 15);
591
+ i0.ɵɵtemplate(41, OgcFilterFormComponent_igo_ogc_filter_time_41_Template, 1, 2, "igo-ogc-filter-time", 16);
592
+ } if (rf & 2) {
593
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 27, "igo.geo.filter.toggleFilterState"))("checked", ctx.currentFilter.active);
594
+ i0.ɵɵadvance(2);
595
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(67, _c0, ctx.activeFilters.indexOf(ctx.currentFilter) !== 0 && ctx.currentFilter.active === true, ctx.activeFilters.indexOf(ctx.currentFilter) === 0 || ctx.currentFilter.active !== true));
596
+ i0.ɵɵadvance(1);
597
+ i0.ɵɵproperty("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.parentLogical)("matTooltip", ctx.currentFilter.parentLogical ? i0.ɵɵpipeBind1(4, 29, "igo.geo.operators.tooltip." + ctx.currentFilter.parentLogical) : "");
598
+ i0.ɵɵadvance(2);
599
+ i0.ɵɵproperty("value", ctx.ogcFilterOperator.And)("matTooltip", i0.ɵɵpipeBind1(6, 31, "igo.geo.operators.tooltip.And"));
600
+ i0.ɵɵadvance(2);
601
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 33, "igo.geo.operators.And"), " ");
602
+ i0.ɵɵadvance(2);
603
+ i0.ɵɵproperty("value", ctx.ogcFilterOperator.Or)("matTooltip", i0.ɵɵpipeBind1(10, 35, "igo.geo.operators.tooltip.Or"));
604
+ i0.ɵɵadvance(2);
605
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 37, "igo.geo.operators.Or"), " ");
606
+ i0.ɵɵadvance(2);
607
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 39, ctx.currentFilterIsSpatial$) === false && i0.ɵɵpipeBind1(15, 41, ctx.fields$) && i0.ɵɵpipeBind1(16, 43, ctx.fields$).length > 0 && i0.ɵɵpipeBind1(17, 45, ctx.fields$)[0].name !== "");
608
+ i0.ɵɵadvance(5);
609
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(70, _c1, i0.ɵɵpipeBind1(19, 47, ctx.currentFilterIsSpatial$) === false, i0.ɵɵpipeBind1(20, 49, ctx.currentFilterIsSpatial$)))("floatLabel", ctx.floatLabel);
610
+ i0.ɵɵadvance(3);
611
+ i0.ɵɵproperty("matTooltip", ctx.currentFilter.operator ? i0.ɵɵpipeBind1(22, 51, "igo.geo.operators.tooltip." + ctx.currentFilter.operator) : i0.ɵɵpipeBind1(23, 53, "igo.geo.filter.selectOperator"))("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.operator);
612
+ i0.ɵɵadvance(3);
613
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(25, 55, i0.ɵɵpipeBind1(26, 57, ctx.ogcFilterOperators$)));
614
+ i0.ɵɵadvance(3);
615
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(28, 59, ctx.currentFilterIsSpatial$));
616
+ i0.ɵɵadvance(2);
617
+ i0.ɵɵproperty("ngIf", i0.ɵɵpureFunction0(73, _c2).indexOf(ctx.detectProperty()) !== -1);
618
+ i0.ɵɵadvance(2);
619
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(32, 61, "igo.geo.filter.removeFilter"));
620
+ i0.ɵɵadvance(3);
621
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(35, 63, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "snrc");
622
+ i0.ɵɵadvance(2);
623
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(37, 65, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "fixedExtent");
624
+ i0.ɵɵadvance(3);
625
+ i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(74, _c3).indexOf(ctx.detectProperty(1)) !== -1);
626
+ i0.ɵɵadvance(1);
627
+ i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(75, _c4).indexOf(ctx.detectProperty(2)) !== -1);
628
+ i0.ɵɵadvance(1);
629
+ i0.ɵɵproperty("ngIf", ctx.isTemporalOperator());
630
+ } }, styles: ["[_nghost-%COMP%]{width:100%;padding:5px 10px} .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field[_ngcontent-%COMP%]{width:100%}.mat-select-arrow[_ngcontent-%COMP%]{visibility:hidden}.mat-slide-toggle[_ngcontent-%COMP%]{margin-top:10px}.logical[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px} .logical .mat-select-arrow{visibility:hidden} .logicalHidden .mat-select-arrow{visibility:hidden}.field[_ngcontent-%COMP%]{width:20%;margin-left:5px} .field .mat-select-arrow{visibility:hidden}.operator[_ngcontent-%COMP%]{width:12%;margin-left:10px;text-align:center} .operator .mat-select-arrow{visibility:hidden}.spatialSelector[_ngcontent-%COMP%]{width:15%;margin-left:5px} .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput[_ngcontent-%COMP%]{width:30%;margin-left:5px}.snrc[_ngcontent-%COMP%]{width:20%;margin-left:5px} .singleInput .mat-select-arrow{visibility:hidden}.dualInput[_ngcontent-%COMP%]{width:20%;margin-left:5px} .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group[_ngcontent-%COMP%]{display:flex;float:right;padding-top:5px}.container[_ngcontent-%COMP%]{display:flex}"] });
631
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterFormComponent, [{
632
+ type: Component,
633
+ args: [{ selector: 'igo-ogc-filter-form', template: "<mat-checkbox\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"toggleFilterState($event)\"\r\n [checked]=\"currentFilter.active\">\r\n</mat-checkbox>\r\n\r\n<mat-form-field\r\n [ngClass]=\"{'logical': activeFilters.indexOf(currentFilter) !== 0 && currentFilter.active===true, 'logicalHidden': activeFilters.indexOf(currentFilter) === 0 || currentFilter.active!==true}\">\r\n <mat-select\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.parentLogical\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.parentLogical ? (('igo.geo.operators.tooltip.'+ currentFilter.parentLogical) | translate) : ''\"\r\n (selectionChange)=\"changeLogical($event.value)\">\r\n <mat-option\r\n [value]=ogcFilterOperator.And\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.operators.tooltip.And' | translate\">\r\n {{'igo.geo.operators.And' | translate}}\r\n </mat-option>\r\n <mat-option\r\n [value]=ogcFilterOperator.Or\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.operators.tooltip.Or' | translate\">\r\n {{'igo.geo.operators.Or' | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\n class=\"field\"\r\n *ngIf=\"(currentFilterIsSpatial$ | async)===false && (fields$ | async) && (fields$| async).length > 0 && (fields$| async)[0].name !== ''\"\r\n (mouseenter)=\"inputClearable = 'selectField'\"\r\n (mouseleave)=\"inputClearable = undefined\"\r\n [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.sourceFields.selectField' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoCompleteField\"\r\n [value]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ''\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ('igo.geo.sourceFields.selectField' | translate)\"\r\n (input)=\"updateFieldsList($event.target.value)\">\r\n <mat-autocomplete #autoCompleteField=\"matAutocomplete\"\r\n (optionSelected)='changeField($event.option.id)'>\r\n <mat-option\r\n *ngFor=\"let field of filteredFields$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"field.alias\"\r\n [id]=\"field.name\"\r\n [matTooltip]=\"field.alias\">\r\n {{field.alias}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"currentFilter.propertyName && inputClearable === 'selectField' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearSelectedField()\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<mat-form-field\r\n [ngClass]=\"{'operator': (currentFilterIsSpatial$ | async)===false , 'dualInput': (currentFilterIsSpatial$ | async)}\"\r\n [floatLabel]=\"floatLabel\">\r\n <mat-select\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.operator ? (('igo.geo.operators.tooltip.'+ currentFilter.operator) | translate) : ('igo.geo.filter.selectOperator' | translate)\"\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.operator\"\r\n (selectionChange)=\"changeOperator($event.value)\">\r\n <mat-option\r\n *ngFor=\"let operator of (ogcFilterOperators$ | async) | keyvalue\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"operator.key\"\r\n [matTooltip]=\"('igo.geo.operators.tooltip.'+ operator.key) | translate\">\r\n {{('igo.geo.operators.'+ operator.key) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\nclass=\"spatialSelector\"\r\n*ngIf=\"currentFilterIsSpatial$ | async\">\r\n <mat-select\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.igoSpatialSelector\"\r\n (selectionChange)=\"changeSpatialSelector($event.value)\">\r\n <mat-option\r\n *ngFor=\"let igoSpatialSelector of igoSpatialSelectors\"\r\n [value]=\"igoSpatialSelector.type\">\r\n {{('igo.geo.spatialSelector.'+ igoSpatialSelector.type) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\nclass=\"singleInput\"\r\n*ngIf=\"['expression','pattern'].indexOf(detectProperty()) !== -1\"\r\n(mouseenter)=\"inputClearable = 'selectProperty'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoCompleteValues\"\r\n [value]=\"detectProperty() === 'expression' ? currentFilter.expression : currentFilter.pattern\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"detectProperty() === 'expression' ? currentFilter.expression || '' : currentFilter.pattern || ''\"\r\n (input)=\"updateValuesList($event.target.value)\">\r\n <mat-autocomplete #autoCompleteValues=\"matAutocomplete\"\r\n (optionSelected)=\"changeProperty($event.option.value)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable() && inputClearable === 'selectProperty' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty()\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<div class=\"igo-layer-button-group\">\r\n <button\r\n mat-icon-button\r\n collapsibleButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\r\n color=\"warn\"\r\n (click)=\"deleteFilter()\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n</div>\r\n\r\n<mat-form-field\r\nclass=\"snrc\"\r\n*ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'snrc'\"\r\n(mouseenter)=\"inputClearable = 'selectSNRC'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholderSnrc' | translate\"\r\n [value]=\"currentFilter.igoSNRC\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.igoSNRC ? currentFilter.igoSNRC : ''\"\r\n (input)=\"changeSNRC($event.target.value)\">\r\n <button\r\n mat-button\r\n *ngIf=\"currentFilter.igoSNRC\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active && inputClearable === 'selectSNRC' && currentFilter.active\"\r\n (click)=\"currentFilter.igoSNRC=''\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'fixedExtent'\">\r\n <button\r\n mat-button\r\n [disabled]=\"!currentFilter.active\"\r\n *ngIf=\"currentFilter.igoSpatialSelector === 'fixedExtent'\"\r\n matSuffix\r\n mat-icon-button\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"changeMapExtentGeometry()\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialSelector.btnSetExtent' | translate\">\r\n <mat-icon svgIcon=\"arrow-expand-all\"></mat-icon>\r\n </button>\r\n</ng-container>\r\n\r\n<br/>\r\n\r\n<mat-form-field\r\nclass=\"dualInput\"\r\n*ngIf=\"!isTemporalOperator() && ['lowerBoundary','begin'].indexOf(detectProperty(1)) !== -1\"\r\n(mouseenter)=\"inputClearable = 'selectProperty1'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoDualValueOperator1\"\r\n type=\"number\"\r\n [value]=\"detectProperty(1) === 'lowerBoundary' ? currentFilter.lowerBoundary : currentFilter.begin\"\r\n (input)=\"updateValuesList($event.target.value,1)\">\r\n <mat-autocomplete #autoDualValueOperator1=\"matAutocomplete\"\r\n (optionSelected)=\"changeNumericProperty($event.option.value,1)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable(1) && inputClearable === 'selectProperty1' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty(1)\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\n class=\"dualInput\"\r\n *ngIf=\"!isTemporalOperator() && ['upperBoundary','end'].indexOf(detectProperty(2)) !== -1\"\r\n (mouseenter)=\"inputClearable = 'selectProperty2'\"\r\n (mouseleave)=\"inputClearable = undefined\"\r\n [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoDualValueOperator2\"\r\n type=\"number\"\r\n [value]=\"detectProperty(2) === 'upperBoundary' ? currentFilter.upperBoundary : currentFilter.end\"\r\n (input)=\"updateValuesList($event.target.value,2)\">\r\n <mat-autocomplete #autoDualValueOperator2=\"matAutocomplete\"\r\n (optionSelected)=\"changeNumericProperty($event.option.value,2)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable(2) && inputClearable === 'selectProperty2' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty(2)\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<igo-ogc-filter-time *ngIf=\"isTemporalOperator()\"\r\n [(datasource)]=\"datasource\"\r\n [(currentFilter)]=\"currentFilter\"\r\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\r\n</igo-ogc-filter-time>\r\n\r\n<!--\r\nTODO C'EST PERTINENT je crois\r\n<mat-form-field class=\"field\" *ngIf=\"!(currentFilterIsSpatial$ | async) && (fields$| async) && (fields$| async).length === 1 && (fields$| async)[0].name === ''\">\r\n<input [disabled]=\"!currentFilter.active\" matInput #fieldPerUser (keyup)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\"\r\n (blur)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\" [(ngModel)]=\"currentFilter.propertyName\">\r\n<button mat-button *ngIf=\"currentFilter.propertyName\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"currentFilter.propertyName=''\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n</button>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<mat-checkbox labelPosition='before' (change)=\"changeCaseSensitive($event)\" [(ngModel)]=\"currentFilter.matchCase\">\r\n {{('igo.geo.operators.caseSensitive') | translate}}\r\n</mat-checkbox>\r\n\r\n</mat-list-item> -->\r\n", styles: [":host{width:100%;padding:5px 10px}::ng-deep .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field{width:100%}.mat-select-arrow{visibility:hidden}.mat-slide-toggle{margin-top:10px}.logical{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px}::ng-deep .logical .mat-select-arrow{visibility:hidden}::ng-deep .logicalHidden .mat-select-arrow{visibility:hidden}.field{width:20%;margin-left:5px}::ng-deep .field .mat-select-arrow{visibility:hidden}.operator{width:12%;margin-left:10px;text-align:center}::ng-deep .operator .mat-select-arrow{visibility:hidden}.spatialSelector{width:15%;margin-left:5px}::ng-deep .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput{width:30%;margin-left:5px}.snrc{width:20%;margin-left:5px}::ng-deep .singleInput .mat-select-arrow{visibility:hidden}.dualInput{width:20%;margin-left:5px}::ng-deep .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group{display:flex;float:right;padding-top:5px}.container{display:flex}\n"] }]
634
+ }], function () { return [{ type: i1.WktService }]; }, { refreshFilters: [{
635
+ type: Input
636
+ }], datasource: [{
637
+ type: Input
638
+ }], map: [{
639
+ type: Input
640
+ }], currentFilter: [{
641
+ type: Input
642
+ }], floatLabel: [{
643
+ type: Input
644
+ }] }); })();
645
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWZvcm0vb2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWZvcm0vb2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUlqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQ3lDcEUsc0NBSzZCO0lBQzNCLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgsdUNBQXFCLHNCQUFBLCtCQUFBO0lBR3JCLGVBQ0Y7SUFERSxnREFDRjs7OztJQUVGLGtDQU1pQztJQUEvQiw0TEFBUyxlQUFBLDRCQUFvQixDQUFBLElBQUM7SUFDMUIsK0JBQXFDO0lBQzNDLGlCQUFTOzs7SUFIUCx3REFBa0M7Ozs7SUFoQ3RDLDBDQUs0QjtJQUYxQiwyT0FBK0IsYUFBYSxLQUFDLDhOQUNkLFNBQVMsS0FESztJQUc3QyxpQ0FTZ0Q7SUFBaEQsc0xBQVMsZUFBQSw2Q0FBcUMsQ0FBQSxJQUFDOzs7Ozs7O0lBVC9DLGlCQVNnRDtJQUNoRCxnREFDaUQ7SUFBakQsbU5BQWtCLGVBQUEscUNBQTZCLENBQUEsSUFBQztJQUM5QywwR0FPYTs7SUFDZixpQkFBbUI7SUFDbkIsa0dBUVM7SUFDWCxpQkFBaUI7Ozs7SUEvQmYsOENBQXlCO0lBR3pCLGVBQThE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LEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsR0FBRztrQkFBWCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQXNCRyxVQUFVO2tCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0TGFiZWxUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UsXHJcbiAgT2djRmlsdGVyc09wdGlvbnNcclxufSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcclxuaW1wb3J0IHsgV2t0U2VydmljZSB9IGZyb20gJy4uLy4uL3drdC9zaGFyZWQvd2t0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5pbXBvcnQgeyBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBPZ2NGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXItZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG9nY0ZpbHRlck9wZXJhdG9yID0gT2djRmlsdGVyT3BlcmF0b3I7XHJcbiAgZmlsdGVyZWRWYWx1ZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcclxuICBmaWx0ZXJlZEZpZWxkcyQ6IE9ic2VydmFibGU8U291cmNlRmllbGRzT3B0aW9uc1BhcmFtc1tdPjtcclxuICBwdWJsaWMgYWxsT2djRmlsdGVyT3BlcmF0b3JzO1xyXG4gIHB1YmxpYyBvZ2NGaWx0ZXJPcGVyYXRvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IGFueSB9PihcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcbiAgcHVibGljIGlnb1NwYXRpYWxTZWxlY3RvcnM7XHJcbiAgcHVibGljIHZhbHVlID0gJyc7XHJcbiAgcHVibGljIGlucHV0T3BlcmF0b3I7XHJcbiAgcHVibGljIHNlbGVjdGVkRmllbGQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zPihcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcbiAgcHVibGljIGZpZWxkcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXNbXT4oW10pO1xyXG4gIHB1YmxpYyBjb2xvciA9ICdwcmltYXJ5JztcclxuICBwdWJsaWMgZGlzYWJsZWQ7XHJcbiAgcHVibGljIGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIGRlZmF1bHRTdGVwTWlsbGlzZWNvbmQgPSA2MDAwO1xyXG4gIHB1YmxpYyBpbnB1dENsZWFyYWJsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSByZWZyZXNoRmlsdGVyczogKCkgPT4gdm9pZDtcclxuXHJcbiAgQElucHV0KCkgZGF0YXNvdXJjZTogT2djRmlsdGVyYWJsZURhdGFTb3VyY2U7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKSBjdXJyZW50RmlsdGVyOiBhbnk7XHJcblxyXG4gIHNldCBzbnJjKHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrU05SQzUwayA9IC9eXFxkezJ9W2EtbF1bMCwxXVswLTldJC9naTtcclxuICAgIGNvbnN0IGNoZWNrU05SQzI1MGsgPSAvXlxcZHsyfVthLXBdJC9naTtcclxuICAgIGNvbnN0IGNoZWNrU05SQzFtID0gL15cXGR7Mn0kL2dpO1xyXG4gICAgaWYgKFxyXG4gICAgICBjaGVja1NOUkMxbS50ZXN0KHZhbHVlKSB8fFxyXG4gICAgICBjaGVja1NOUkMyNTBrLnRlc3QodmFsdWUpIHx8XHJcbiAgICAgIGNoZWNrU05SQzUway50ZXN0KHZhbHVlKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuX3NucmMgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmlnb1NOUkMgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBzbnJjKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc25yYztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NucmMgPSAnJztcclxuXHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnbmV2ZXInO1xyXG5cclxuICBnZXQgYWN0aXZlRmlsdGVycygpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmlsdGVyKFxyXG4gICAgICAoZikgPT4gZi5hY3RpdmUgPT09IHRydWVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsb3dlZE9wZXJhdG9ycygpIHtcclxuICAgIHJldHVybiBuZXcgT2djRmlsdGVyV3JpdGVyKCkuY29tcHV0ZUFsbG93ZWRPcGVyYXRvcnMoXHJcbiAgICAgIHRoaXMuZmllbGRzJC52YWx1ZSxcclxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZSxcclxuICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hbGxvd2VkT3BlcmF0b3JzVHlwZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2t0U2VydmljZTogV2t0U2VydmljZSkge1xyXG4gICAgLy8gVE9ETzogRmlsdGVyIHBlcm1pdHRlZCBvcGVyYXRvciBiYXNlZCBvbiB3ZnNjYXBhYmlsaXRpZXNcclxuICAgIC8vIE5lZWQgdG8gd29yayBvbiByZWdleCBvbiBYTUwgY2FwYWJpbGl0aWVzIGJlY2F1c2VcclxuICAgIC8vIGNvbWFwYXJpc29uIG9wZXJhdG9yJ3MgbmFtZSB2YXJpZXMgYmV0d2VlbiBXRlMgc2VydmVycy4uLlxyXG4gICAgLy8gRXg6IElzTnVsbCB2cyBQcm9wZXJ0eUlzTnVsbCB2cyBJc05pbCAuLi5cclxuICAgIHRoaXMuYWxsT2djRmlsdGVyT3BlcmF0b3JzID0gbmV3IE9nY0ZpbHRlcldyaXRlcigpLm9wZXJhdG9ycztcclxuICAgIHRoaXMub2djRmlsdGVyT3BlcmF0b3JzJC5uZXh0KHRoaXMuYWxsT2djRmlsdGVyT3BlcmF0b3JzKTtcclxuICAgIHRoaXMuaWdvU3BhdGlhbFNlbGVjdG9ycyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdmaXhlZEV4dGVudCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdzbnJjJ1xyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gICAgLy8gVE9ETzogc2VsZWN0RmVhdHVyZSAmIGRyYXdGZWF0dXJlXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICBpZiAoIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcykge1xyXG4gICAgICBjb25zdCBzRmllbGRzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmZpbHRlcihcclxuICAgICAgICAoc2YpID0+XHJcbiAgICAgICAgICBzZi5leGNsdWRlRnJvbU9nY0ZpbHRlcnMgPT09IHVuZGVmaW5lZCB8fCAhc2YuZXhjbHVkZUZyb21PZ2NGaWx0ZXJzXHJcbiAgICAgICk7XHJcbiAgICAgIHNGaWVsZHMubWFwKChzZnMpID0+IHtcclxuICAgICAgICBpZiAoc2ZzLnZhbHVlcykge1xyXG4gICAgICAgICAgc2ZzLnZhbHVlcy5zb3J0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5maWVsZHMkLm5leHQoc0ZpZWxkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVGaWVsZHNMaXN0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmllbGQkLm5leHQoXHJcbiAgICAgIHRoaXMuZmllbGRzJC52YWx1ZS5maW5kKChmKSA9PiBmLm5hbWUgPT09IHRoaXMuY3VycmVudEZpbHRlci5wcm9wZXJ0eU5hbWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZXNMaXN0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmllbGQkLnN1YnNjcmliZSgoZikgPT4ge1xyXG4gICAgICB0aGlzLm9nY0ZpbHRlck9wZXJhdG9ycyQubmV4dCh0aGlzLmFsbG93ZWRPcGVyYXRvcnMpO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5hbGxvd2VkT3BlcmF0b3JzKS5pbmRleE9mKFxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yXHJcbiAgICAgICAgKSA9PT0gLTFcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yID0gT2JqZWN0LmtleXModGhpcy5hbGxvd2VkT3BlcmF0b3JzKVswXTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgPSBPYmplY3Qua2V5cyh0aGlzLmFsbG93ZWRPcGVyYXRvcnMpWzBdO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlVmFsdWVzTGlzdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZpZWxkc0xpc3QodmFsdWU/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZmlsdGVyZWRGaWVsZHMkID1cclxuICAgICAgdmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCA/IG9mKHRoaXMuX2ZpbHRlckZpZWxkcyh2YWx1ZSkpIDogdGhpcy5maWVsZHMkO1xyXG4gICAgaWYgKHRoaXMuZmllbGRzJC52YWx1ZS5maW5kKChmKSA9PiBmLm5hbWUgPT09IHZhbHVlKSkge1xyXG4gICAgICB0aGlzLmNoYW5nZUZpZWxkKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlc0xpc3QodmFsdWU/OiBzdHJpbmcsIHBvcz86IG51bWJlcikge1xyXG4gICAgdGhpcy5maWx0ZXJlZFZhbHVlcyQgPVxyXG4gICAgICB2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwXHJcbiAgICAgICAgPyBvZih0aGlzLl9maWx0ZXJWYWx1ZXModmFsdWUpKVxyXG4gICAgICAgIDogdGhpcy5zZWxlY3RlZEZpZWxkJC52YWx1ZVxyXG4gICAgICAgID8gb2YodGhpcy5zZWxlY3RlZEZpZWxkJC52YWx1ZS52YWx1ZXMpXHJcbiAgICAgICAgOiBvZihbXSk7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID49IDEpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eSh2YWx1ZSwgcG9zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlckZpZWxkcyh2YWx1ZTogc3RyaW5nKTogU291cmNlRmllbGRzT3B0aW9uc1BhcmFtc1tdIHtcclxuICAgIGNvbnN0IGtleXdvcmRSZWdleCA9IG5ldyBSZWdFeHAoXHJcbiAgICAgIHZhbHVlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLFxyXG4gICAgICAnZ2knXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzJC52YWx1ZS5maWx0ZXIoKHZhbCkgPT5cclxuICAgICAga2V5d29yZFJlZ2V4LnRlc3QoXHJcbiAgICAgICAgdmFsLmFsaWFzLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWx0ZXJWYWx1ZXModmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGtleXdvcmRSZWdleCA9IG5ldyBSZWdFeHAoXHJcbiAgICAgIHZhbHVlXHJcbiAgICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyksXHJcbiAgICAgICdnaSdcclxuICAgICk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpZWxkJC52YWx1ZS52YWx1ZXMuZmlsdGVyKCh2YWwpID0+XHJcbiAgICAgIHZhbCAmJiBrZXl3b3JkUmVnZXgudGVzdChcclxuICAgICAgICB2YWxcclxuICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTZWxlY3RlZEZpZWxkKCkge1xyXG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZSA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLmNsZWFyUHJvcGVydHkoKTtcclxuICB9XHJcblxyXG4gIGlzQ2xlYXJhYmxlKHBvcz86IG51bWJlcikge1xyXG4gICAgY29uc3QgZGV0ZWN0ZWRQcm9wZXJ0eSA9IHRoaXMuZGV0ZWN0UHJvcGVydHkocG9zKTtcclxuICAgIGlmIChkZXRlY3RlZFByb3BlcnR5KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWx0ZXJbZGV0ZWN0ZWRQcm9wZXJ0eV07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsZWFyUHJvcGVydHkocG9zPzogbnVtYmVyKSB7XHJcbiAgICAvLyB0aGlzLmF1dG9Db21wbGV0ZUlucHV0VmFsdWVzLmNsb3NlUGFuZWwoKTtcclxuICAgIGNvbnN0IGRldGVjdGVkUHJvcGVydHkgPSB0aGlzLmRldGVjdFByb3BlcnR5KHBvcyk7XHJcbiAgICBpZiAoZGV0ZWN0ZWRQcm9wZXJ0eSkge1xyXG4gICAgICByZXR1cm4gKHRoaXMuY3VycmVudEZpbHRlcltkZXRlY3RlZFByb3BlcnR5XSA9ICcnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlclN0YXRlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmluZChcclxuICAgICAgKGYpID0+IGYuZmlsdGVyaWQgPT09IHRoaXMuY3VycmVudEZpbHRlci5maWx0ZXJpZFxyXG4gICAgKS5hY3RpdmUgPSBldmVudC5jaGVja2VkO1xyXG4gICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRmlsdGVyKCkge1xyXG4gICAgY29uc3Qgb2djRmlsdGVyczogT2djRmlsdGVyc09wdGlvbnMgPSB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzO1xyXG4gICAgb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzID0gb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbHRlcihcclxuICAgICAgKGYpID0+IGYuZmlsdGVyaWQgIT09IHRoaXMuY3VycmVudEZpbHRlci5maWx0ZXJpZFxyXG4gICAgKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUxvZ2ljYWwobG9naWNhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIucGFyZW50TG9naWNhbCA9IGxvZ2ljYWw7XHJcbiAgICB0aGlzLnJlZnJlc2hGaWx0ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VPcGVyYXRvcihvcGVyYXRvcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgPSBvcGVyYXRvcjtcclxuICAgIHRoaXMuY3VycmVudEZpbHRlcklzU3BhdGlhbCgpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVySXNTcGF0aWFsJC52YWx1ZSAmJlxyXG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIud2t0X2dlb21ldHJ5Lmxlbmd0aCA9PT0gMFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlU3BhdGlhbFNlbGVjdG9yKHRoaXMuY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlRmllbGQoZmllbGQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZSA9IGZpZWxkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkJC5uZXh0KFxyXG4gICAgICB0aGlzLmZpZWxkcyQudmFsdWUuZmluZCgoZikgPT4gZi5uYW1lID09PSB0aGlzLmN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lKVxyXG4gICAgKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIC8vIElzc3VlIHdpdGggbWFwc2VydmVyIDcuMiBhbmQgUG9zdGdpcyBsYXllcnMuIEZpeGVkIGluIDcuNFxyXG4gIC8vIER1ZSB0byB0aGlzIGlzc3VlLCB0aGUgY2hlY2tib3ggaXMgaGlkZS5cclxuICBjaGFuZ2VDYXNlU2Vuc2l0aXZlKG1hdGNoQ2FzZSkge1xyXG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLm1hdGNoQ2FzZSA9IG1hdGNoQ2FzZS5jaGVja2VkO1xyXG4gICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUHJvcGVydHkodmFsdWU6IGFueSwgcG9zPzogbnVtYmVyLCByZWZyZXNoRmlsdGVyID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgZGV0ZWN0ZWRQcm9wZXJ0eSA9IHRoaXMuZGV0ZWN0UHJvcGVydHkocG9zKTtcclxuICAgIGlmIChkZXRlY3RlZFByb3BlcnR5KSB7XHJcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycy5maW5kKFxyXG4gICAgICAgIChmKSA9PiBmLmZpbHRlcmlkID09PSB0aGlzLmN1cnJlbnRGaWx0ZXIuZmlsdGVyaWRcclxuICAgICAgKVtkZXRlY3RlZFByb3BlcnR5XSA9IHZhbHVlO1xyXG5cclxuICAgICAgaWYgKCByZWZyZXNoRmlsdGVyICkge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlTnVtZXJpY1Byb3BlcnR5KHZhbHVlLCBwb3M6IG51bWJlcikge1xyXG4gICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eShwYXJzZUZsb2F0KHZhbHVlKSwgcG9zKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNwYXRpYWxTZWxlY3Rvcih2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuaWdvU3BhdGlhbFNlbGVjdG9yID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHZhbHVlID09PSAnZml4ZWRFeHRlbnQnKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTWFwRXh0ZW50R2VvbWV0cnkoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50RmlsdGVySXNTcGF0aWFsKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hGaWx0ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTTlJDKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc25yYyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VTTlJDR2VvbWV0cnkoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNOUkNHZW9tZXRyeSgpIHtcclxuICAgIGNvbnN0IGludGVyZmFjZU9nY0ZpbHRlciA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycy5maW5kKFxyXG4gICAgICAoZikgPT4gZi5maWx0ZXJpZCA9PT0gdGhpcy5jdXJyZW50RmlsdGVyLmZpbHRlcmlkXHJcbiAgICApO1xyXG4gICAgaWYgKCFpbnRlcmZhY2VPZ2NGaWx0ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNucmMgJiYgdGhpcy5jdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvciA9PT0gJ3NucmMnKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci53a3RfZ2VvbWV0cnkgPSB0aGlzLndrdFNlcnZpY2Uuc25yY1RvV2t0KFxyXG4gICAgICAgIHRoaXMuc25yYyxcclxuICAgICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICAgICkud2t0UG9seTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZU1hcEV4dGVudEdlb21ldHJ5KHJlZnJlc2g6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBjb25zdCBpbnRlcmZhY2VPZ2NGaWx0ZXIgPSB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmluZChcclxuICAgICAgKGYpID0+IGYuZmlsdGVyaWQgPT09IHRoaXMuY3VycmVudEZpbHRlci5maWx0ZXJpZFxyXG4gICAgKTtcclxuICAgIGlmICghaW50ZXJmYWNlT2djRmlsdGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvciA9PT0gJ2ZpeGVkRXh0ZW50Jykge1xyXG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIud2t0X2dlb21ldHJ5ID0gdGhpcy53a3RTZXJ2aWNlLmV4dGVudFRvV2t0KFxyXG4gICAgICAgIHRoaXMubWFwLnByb2plY3Rpb24sXHJcbiAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KCksXHJcbiAgICAgICAgdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgICApLndrdFBvbHk7XHJcbiAgICB9XHJcbiAgICBpZiAocmVmcmVzaCkge1xyXG4gICAgICB0aGlzLnJlZnJlc2hGaWx0ZXJzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZXRlY3RQcm9wZXJ0eShwb3M/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IpIHtcclxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzTm90RXF1YWxUbzpcclxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzRXF1YWxUbzpcclxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzR3JlYXRlclRoYW46XHJcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuUHJvcGVydHlJc0dyZWF0ZXJUaGFuT3JFcXVhbFRvOlxyXG4gICAgICBjYXNlIE9nY0ZpbHRlck9wZXJhdG9yLlByb3BlcnR5SXNMZXNzVGhhbjpcclxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzTGVzc1RoYW5PckVxdWFsVG86XHJcbiAgICAgICAgcmV0dXJuICdleHByZXNzaW9uJztcclxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzTGlrZTpcclxuICAgICAgICByZXR1cm4gJ3BhdHRlcm4nO1xyXG4gICAgICBjYXNlIE9nY0ZpbHRlck9wZXJhdG9yLlByb3BlcnR5SXNCZXR3ZWVuOlxyXG4gICAgICAgIHJldHVybiBwb3MgJiYgcG9zID09PSAxXHJcbiAgICAgICAgICA/ICdsb3dlckJvdW5kYXJ5J1xyXG4gICAgICAgICAgOiBwb3MgJiYgcG9zID09PSAyXHJcbiAgICAgICAgICA/ICd1cHBlckJvdW5kYXJ5J1xyXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuRHVyaW5nOlxyXG4gICAgICAgIHJldHVybiBwb3MgJiYgcG9zID09PSAxXHJcbiAgICAgICAgICA/ICdiZWdpbidcclxuICAgICAgICAgIDogcG9zICYmIHBvcyA9PT0gMlxyXG4gICAgICAgICAgPyAnZW5kJ1xyXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50RmlsdGVySXNTcGF0aWFsKCkge1xyXG4gICAgbGV0IGlzU3BhdGlhbCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEZpbHRlcikge1xyXG4gICAgICBpc1NwYXRpYWwgPVxyXG4gICAgICAgIFtcclxuICAgICAgICAgIE9nY0ZpbHRlck9wZXJhdG9yLkNvbnRhaW5zLFxyXG4gICAgICAgICAgT2djRmlsdGVyT3BlcmF0b3IuSW50ZXJzZWN0cyxcclxuICAgICAgICAgIE9nY0ZpbHRlck9wZXJhdG9yLldpdGhpblxyXG4gICAgICAgIF0uaW5kZXhPZih0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IpICE9PSAtMTtcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudEZpbHRlcklzU3BhdGlhbCQubmV4dChpc1NwYXRpYWwpO1xyXG4gIH1cclxuXHJcbiAgaXNUZW1wb3JhbE9wZXJhdG9yKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yLnRvTG93ZXJDYXNlKCkgPT09XHJcbiAgICAgIHRoaXMub2djRmlsdGVyT3BlcmF0b3IuRHVyaW5nLnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2hlY2tib3hcclxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmZpbHRlci50b2dnbGVGaWx0ZXJTdGF0ZScgfCB0cmFuc2xhdGVcIlxyXG4gIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gIChjaGFuZ2UpPVwidG9nZ2xlRmlsdGVyU3RhdGUoJGV2ZW50KVwiXHJcbiAgW2NoZWNrZWRdPVwiY3VycmVudEZpbHRlci5hY3RpdmVcIj5cclxuPC9tYXQtY2hlY2tib3g+XHJcblxyXG48bWF0LWZvcm0tZmllbGRcclxuICBbbmdDbGFzc109XCJ7J2xvZ2ljYWwnOiBhY3RpdmVGaWx0ZXJzLmluZGV4T2YoY3VycmVudEZpbHRlcikgIT09IDAgJiYgY3VycmVudEZpbHRlci5hY3RpdmU9PT10cnVlLCAnbG9naWNhbEhpZGRlbic6IGFjdGl2ZUZpbHRlcnMuaW5kZXhPZihjdXJyZW50RmlsdGVyKSA9PT0gMCB8fCBjdXJyZW50RmlsdGVyLmFjdGl2ZSE9PXRydWV9XCI+XHJcbiAgPG1hdC1zZWxlY3RcclxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxyXG4gICAgW3ZhbHVlXT1cImN1cnJlbnRGaWx0ZXIucGFyZW50TG9naWNhbFwiXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJjdXJyZW50RmlsdGVyLnBhcmVudExvZ2ljYWwgPyAoKCdpZ28uZ2VvLm9wZXJhdG9ycy50b29sdGlwLicrIGN1cnJlbnRGaWx0ZXIucGFyZW50TG9naWNhbCkgfCB0cmFuc2xhdGUpIDogJydcIlxyXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VMb2dpY2FsKCRldmVudC52YWx1ZSlcIj5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICBbdmFsdWVdPW9nY0ZpbHRlck9wZXJhdG9yLkFuZFxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ub3BlcmF0b3JzLnRvb2x0aXAuQW5kJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAge3snaWdvLmdlby5vcGVyYXRvcnMuQW5kJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICBbdmFsdWVdPW9nY0ZpbHRlck9wZXJhdG9yLk9yXHJcbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImFib3ZlXCJcclxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5vcGVyYXRvcnMudG9vbHRpcC5PcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIHt7J2lnby5nZW8ub3BlcmF0b3JzLk9yJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICA8L21hdC1zZWxlY3Q+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGRcclxuICBjbGFzcz1cImZpZWxkXCJcclxuICAqbmdJZj1cIihjdXJyZW50RmlsdGVySXNTcGF0aWFsJCB8IGFzeW5jKT09PWZhbHNlICYmIChmaWVsZHMkIHwgYXN5bmMpICYmIChmaWVsZHMkfCBhc3luYykubGVuZ3RoID4gMCAmJiAoZmllbGRzJHwgYXN5bmMpWzBdLm5hbWUgIT09ICcnXCJcclxuICAobW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RGaWVsZCdcIlxyXG4gIChtb3VzZWxlYXZlKT1cImlucHV0Q2xlYXJhYmxlID0gdW5kZWZpbmVkXCJcclxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XHJcbiAgPGlucHV0XHJcbiAgbWF0SW5wdXRcclxuICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5nZW8uc291cmNlRmllbGRzLnNlbGVjdEZpZWxkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXHJcbiAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVGaWVsZFwiXHJcbiAgW3ZhbHVlXT1cIihzZWxlY3RlZEZpZWxkJCB8IGFzeW5jKSA/IChzZWxlY3RlZEZpZWxkJCB8IGFzeW5jKS5hbGlhcyA6ICcnXCJcclxuICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gIFttYXRUb29sdGlwXT1cIihzZWxlY3RlZEZpZWxkJCB8IGFzeW5jKSA/IChzZWxlY3RlZEZpZWxkJCB8IGFzeW5jKS5hbGlhcyA6ICgnaWdvLmdlby5zb3VyY2VGaWVsZHMuc2VsZWN0RmllbGQnIHwgdHJhbnNsYXRlKVwiXHJcbiAgKGlucHV0KT1cInVwZGF0ZUZpZWxkc0xpc3QoJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cclxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b0NvbXBsZXRlRmllbGQ9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gIChvcHRpb25TZWxlY3RlZCk9J2NoYW5nZUZpZWxkKCRldmVudC5vcHRpb24uaWQpJz5cclxuICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWx0ZXJlZEZpZWxkcyQgfCBhc3luY1wiXHJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICBbdmFsdWVdPVwiZmllbGQuYWxpYXNcIlxyXG4gICAgICBbaWRdPVwiZmllbGQubmFtZVwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImZpZWxkLmFsaWFzXCI+XHJcbiAgICAgIHt7ZmllbGQuYWxpYXN9fVxyXG4gICAgPC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICA8YnV0dG9uIG1hdC1idXR0b25cclxuICAgICpuZ0lmPVwiY3VycmVudEZpbHRlci5wcm9wZXJ0eU5hbWUgJiYgaW5wdXRDbGVhcmFibGUgPT09ICdzZWxlY3RGaWVsZCcgJiYgY3VycmVudEZpbHRlci5hY3RpdmVcIlxyXG4gICAgbWF0U3VmZml4XHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkRmllbGQoKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcbjxtYXQtZm9ybS1maWVsZFxyXG4gIFtuZ0NsYXNzXT1cInsnb3BlcmF0b3InOiAoY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luYyk9PT1mYWxzZSAsICdkdWFsSW5wdXQnOiAoY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luYyl9XCJcclxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XHJcbiAgPG1hdC1zZWxlY3RcclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cImN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgPyAoKCdpZ28uZ2VvLm9wZXJhdG9ycy50b29sdGlwLicrIGN1cnJlbnRGaWx0ZXIub3BlcmF0b3IpIHwgdHJhbnNsYXRlKSA6ICgnaWdvLmdlby5maWx0ZXIuc2VsZWN0T3BlcmF0b3InIHwgdHJhbnNsYXRlKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIFt2YWx1ZV09XCJjdXJyZW50RmlsdGVyLm9wZXJhdG9yXCJcclxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlT3BlcmF0b3IoJGV2ZW50LnZhbHVlKVwiPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcGVyYXRvciBvZiAob2djRmlsdGVyT3BlcmF0b3JzJCB8IGFzeW5jKSB8IGtleXZhbHVlXCJcclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJvcGVyYXRvci5rZXlcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIignaWdvLmdlby5vcGVyYXRvcnMudG9vbHRpcC4nKyBvcGVyYXRvci5rZXkpIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICB7eygnaWdvLmdlby5vcGVyYXRvcnMuJysgb3BlcmF0b3Iua2V5KSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICA8L21hdC1zZWxlY3Q+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGRcclxuY2xhc3M9XCJzcGF0aWFsU2VsZWN0b3JcIlxyXG4qbmdJZj1cImN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkIHwgYXN5bmNcIj5cclxuICA8bWF0LXNlbGVjdFxyXG4gICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXHJcbiAgICBbdmFsdWVdPVwiY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3JcIlxyXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VTcGF0aWFsU2VsZWN0b3IoJGV2ZW50LnZhbHVlKVwiPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpZ29TcGF0aWFsU2VsZWN0b3Igb2YgaWdvU3BhdGlhbFNlbGVjdG9yc1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cImlnb1NwYXRpYWxTZWxlY3Rvci50eXBlXCI+XHJcbiAgICAgICAgICB7eygnaWdvLmdlby5zcGF0aWFsU2VsZWN0b3IuJysgaWdvU3BhdGlhbFNlbGVjdG9yLnR5cGUpIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxtYXQtZm9ybS1maWVsZFxyXG5jbGFzcz1cInNpbmdsZUlucHV0XCJcclxuKm5nSWY9XCJbJ2V4cHJlc3Npb24nLCdwYXR0ZXJuJ10uaW5kZXhPZihkZXRlY3RQcm9wZXJ0eSgpKSAhPT0gLTFcIlxyXG4obW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RQcm9wZXJ0eSdcIlxyXG4obW91c2VsZWF2ZSk9XCJpbnB1dENsZWFyYWJsZSA9IHVuZGVmaW5lZFwiXHJcbltmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cclxuICA8aW5wdXRcclxuICAgIG1hdElucHV0XHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5nZW8uZmlsdGVyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlVmFsdWVzXCJcclxuICAgIFt2YWx1ZV09XCJkZXRlY3RQcm9wZXJ0eSgpID09PSAnZXhwcmVzc2lvbicgPyBjdXJyZW50RmlsdGVyLmV4cHJlc3Npb24gOiBjdXJyZW50RmlsdGVyLnBhdHRlcm5cIlxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImFib3ZlXCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiZGV0ZWN0UHJvcGVydHkoKSA9PT0gJ2V4cHJlc3Npb24nID8gY3VycmVudEZpbHRlci5leHByZXNzaW9uIHx8ICcnIDogY3VycmVudEZpbHRlci5wYXR0ZXJuIHx8ICcnXCJcclxuICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZXNMaXN0KCRldmVudC50YXJnZXQudmFsdWUpXCI+XHJcbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Db21wbGV0ZVZhbHVlcz1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlUHJvcGVydHkoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIj5cclxuICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXJlZFZhbHVlcyQgfCBhc3luY1wiXHJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVwiPlxyXG4gICAgICB7e3ZhbHVlfX1cclxuICAgIDwvbWF0LW9wdGlvbj5cclxuICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uXHJcbiAgICAqbmdJZj1cImlzQ2xlYXJhYmxlKCkgJiYgaW5wdXRDbGVhcmFibGUgPT09ICdzZWxlY3RQcm9wZXJ0eScgJiYgY3VycmVudEZpbHRlci5hY3RpdmVcIlxyXG4gICAgbWF0U3VmZml4XHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIChjbGljayk9XCJjbGVhclByb3BlcnR5KClcIj5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxkaXYgY2xhc3M9XCJpZ28tbGF5ZXItYnV0dG9uLWdyb3VwXCI+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBjb2xsYXBzaWJsZUJ1dHRvblxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZmlsdGVyLnJlbW92ZUZpbHRlcicgfCB0cmFuc2xhdGVcIlxyXG4gICAgY29sb3I9XCJ3YXJuXCJcclxuICAgIChjbGljayk9XCJkZWxldGVGaWx0ZXIoKVwiPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtZm9ybS1maWVsZFxyXG5jbGFzcz1cInNucmNcIlxyXG4qbmdJZj1cIihjdXJyZW50RmlsdGVySXNTcGF0aWFsJCB8IGFzeW5jKSAmJiBjdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvciA9PT0gJ3NucmMnXCJcclxuKG1vdXNlZW50ZXIpPVwiaW5wdXRDbGVhcmFibGUgPSAnc2VsZWN0U05SQydcIlxyXG4obW91c2VsZWF2ZSk9XCJpbnB1dENsZWFyYWJsZSA9IHVuZGVmaW5lZFwiXHJcbltmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cclxuICA8aW5wdXRcclxuICAgIG1hdElucHV0XHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5nZW8uZmlsdGVyLnBsYWNlaG9sZGVyU25yYycgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3ZhbHVlXT1cImN1cnJlbnRGaWx0ZXIuaWdvU05SQ1wiXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJjdXJyZW50RmlsdGVyLmlnb1NOUkMgPyBjdXJyZW50RmlsdGVyLmlnb1NOUkMgOiAnJ1wiXHJcbiAgICAoaW5wdXQpPVwiY2hhbmdlU05SQygkZXZlbnQudGFyZ2V0LnZhbHVlKVwiPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1idXR0b25cclxuICAgICpuZ0lmPVwiY3VycmVudEZpbHRlci5pZ29TTlJDXCJcclxuICAgIG1hdFN1ZmZpeFxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZSAmJiBpbnB1dENsZWFyYWJsZSA9PT0gJ3NlbGVjdFNOUkMnICYmIGN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIChjbGljayk9XCJjdXJyZW50RmlsdGVyLmlnb1NOUkM9JydcIj5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjdXJyZW50RmlsdGVySXNTcGF0aWFsJCB8IGFzeW5jKSAmJiBjdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvciA9PT0gJ2ZpeGVkRXh0ZW50J1wiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgbWF0LWJ1dHRvblxyXG4gICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXHJcbiAgICAqbmdJZj1cImN1cnJlbnRGaWx0ZXIuaWdvU3BhdGlhbFNlbGVjdG9yID09PSAnZml4ZWRFeHRlbnQnXCJcclxuICAgIG1hdFN1ZmZpeFxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgIChjbGljayk9XCJjaGFuZ2VNYXBFeHRlbnRHZW9tZXRyeSgpXCJcclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNwYXRpYWxTZWxlY3Rvci5idG5TZXRFeHRlbnQnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiYXJyb3ctZXhwYW5kLWFsbFwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGJyLz5cclxuXHJcbjxtYXQtZm9ybS1maWVsZFxyXG5jbGFzcz1cImR1YWxJbnB1dFwiXHJcbipuZ0lmPVwiIWlzVGVtcG9yYWxPcGVyYXRvcigpICYmIFsnbG93ZXJCb3VuZGFyeScsJ2JlZ2luJ10uaW5kZXhPZihkZXRlY3RQcm9wZXJ0eSgxKSkgIT09IC0xXCJcclxuKG1vdXNlZW50ZXIpPVwiaW5wdXRDbGVhcmFibGUgPSAnc2VsZWN0UHJvcGVydHkxJ1wiXHJcbihtb3VzZWxlYXZlKT1cImlucHV0Q2xlYXJhYmxlID0gdW5kZWZpbmVkXCJcclxuW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmdlby5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXHJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0R1YWxWYWx1ZU9wZXJhdG9yMVwiXHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbdmFsdWVdPVwiZGV0ZWN0UHJvcGVydHkoMSkgPT09ICdsb3dlckJvdW5kYXJ5JyA/IGN1cnJlbnRGaWx0ZXIubG93ZXJCb3VuZGFyeSA6IGN1cnJlbnRGaWx0ZXIuYmVnaW5cIlxyXG4gICAgICAoaW5wdXQpPVwidXBkYXRlVmFsdWVzTGlzdCgkZXZlbnQudGFyZ2V0LnZhbHVlLDEpXCI+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b0R1YWxWYWx1ZU9wZXJhdG9yMT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VOdW1lcmljUHJvcGVydHkoJGV2ZW50Lm9wdGlvbi52YWx1ZSwxKVwiPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXJlZFZhbHVlcyQgfCBhc3luY1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVwiPlxyXG4gICAgICAgIHt7dmFsdWV9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b25cclxuICAgICAgKm5nSWY9XCJpc0NsZWFyYWJsZSgxKSAmJiBpbnB1dENsZWFyYWJsZSA9PT0gJ3NlbGVjdFByb3BlcnR5MScgJiYgY3VycmVudEZpbHRlci5hY3RpdmVcIlxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyUHJvcGVydHkoMSlcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGRcclxuICBjbGFzcz1cImR1YWxJbnB1dFwiXHJcbiAgKm5nSWY9XCIhaXNUZW1wb3JhbE9wZXJhdG9yKCkgJiYgWyd1cHBlckJvdW5kYXJ5JywnZW5kJ10uaW5kZXhPZihkZXRlY3RQcm9wZXJ0eSgyKSkgIT09IC0xXCJcclxuICAobW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RQcm9wZXJ0eTInXCJcclxuICAobW91c2VsZWF2ZSk9XCJpbnB1dENsZWFyYWJsZSA9IHVuZGVmaW5lZFwiXHJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmdlby5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXHJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0R1YWxWYWx1ZU9wZXJhdG9yMlwiXHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbdmFsdWVdPVwiZGV0ZWN0UHJvcGVydHkoMikgPT09ICd1cHBlckJvdW5kYXJ5JyA/IGN1cnJlbnRGaWx0ZXIudXBwZXJCb3VuZGFyeSA6IGN1cnJlbnRGaWx0ZXIuZW5kXCJcclxuICAgICAgKGlucHV0KT1cInVwZGF0ZVZhbHVlc0xpc3QoJGV2ZW50LnRhcmdldC52YWx1ZSwyKVwiPlxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9EdWFsVmFsdWVPcGVyYXRvcjI9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlTnVtZXJpY1Byb3BlcnR5KCRldmVudC5vcHRpb24udmFsdWUsMilcIj5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZmlsdGVyZWRWYWx1ZXMkIHwgYXN5bmNcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwidmFsdWVcIj5cclxuICAgICAgICB7e3ZhbHVlfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiaXNDbGVhcmFibGUoMikgJiYgaW5wdXRDbGVhcmFibGUgPT09ICdzZWxlY3RQcm9wZXJ0eTInICYmIGN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgICAgbWF0U3VmZml4XHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyUHJvcGVydHkoMilcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48aWdvLW9nYy1maWx0ZXItdGltZSAqbmdJZj1cImlzVGVtcG9yYWxPcGVyYXRvcigpXCJcclxuICBbKGRhdGFzb3VyY2UpXT1cImRhdGFzb3VyY2VcIlxyXG4gIFsoY3VycmVudEZpbHRlcildPVwiY3VycmVudEZpbHRlclwiXHJcbiAgKGNoYW5nZVByb3BlcnR5KT1cImNoYW5nZVByb3BlcnR5KCRldmVudC52YWx1ZSwgJGV2ZW50LnBvcylcIj5cclxuPC9pZ28tb2djLWZpbHRlci10aW1lPlxyXG5cclxuPCEtLVxyXG5UT0RPIEMnRVNUIFBFUlRJTkVOVCBqZSBjcm9pc1xyXG48bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIShjdXJyZW50RmlsdGVySXNTcGF0aWFsJCB8IGFzeW5jKSAmJiAoZmllbGRzJHwgYXN5bmMpICYmIChmaWVsZHMkfCBhc3luYykubGVuZ3RoID09PSAxICYmICAoZmllbGRzJHwgYXN5bmMpWzBdLm5hbWUgPT09ICcnXCI+XHJcbjxpbnB1dCBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCIgbWF0SW5wdXQgI2ZpZWxkUGVyVXNlciAoa2V5dXApPVwiY2hhbmdlUHJvcGVydHkoY3VycmVudEZpbHRlciwncHJvcGVydHlOYW1lJyxmaWVsZFBlclVzZXIudmFsdWUpXCJcclxuICAoYmx1cik9XCJjaGFuZ2VQcm9wZXJ0eShjdXJyZW50RmlsdGVyLCdwcm9wZXJ0eU5hbWUnLGZpZWxkUGVyVXNlci52YWx1ZSlcIiBbKG5nTW9kZWwpXT1cImN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lXCI+XHJcbjxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwiY3VycmVudEZpbHRlci5wcm9wZXJ0eU5hbWU9JydcIj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG5cclxuXHJcbjxtYXQtY2hlY2tib3ggbGFiZWxQb3NpdGlvbj0nYmVmb3JlJyAoY2hhbmdlKT1cImNoYW5nZUNhc2VTZW5zaXRpdmUoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci5tYXRjaENhc2VcIj5cclxuICB7eygnaWdvLmdlby5vcGVyYXRvcnMuY2FzZVNlbnNpdGl2ZScpIHwgdHJhbnNsYXRlfX1cclxuPC9tYXQtY2hlY2tib3g+XHJcblxyXG48L21hdC1saXN0LWl0ZW0+IC0tPlxyXG4iXX0=