geonetwork-ui 2.4.0-dev.cec60ff1 → 2.4.0-dev.d3529f01

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 (839) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +254 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +196 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +27 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +17 -29
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +12 -17
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +35 -7
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +76 -54
  24. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +44 -5
  25. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +99 -32
  26. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  27. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  28. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  29. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  30. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  31. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  32. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  33. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  34. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  35. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
  36. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  37. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  38. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  39. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  40. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  41. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  42. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  43. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  44. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  45. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +10 -5
  46. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +10 -2
  47. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  48. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
  49. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
  50. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
  51. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  52. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  53. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  55. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +147 -0
  56. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  57. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  58. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  59. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  60. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  61. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  62. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +103 -0
  63. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  64. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  65. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  66. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -68
  67. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  68. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +47 -44
  69. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -3
  70. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +13 -7
  71. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  72. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  73. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  74. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  75. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +207 -57
  76. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  77. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  78. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +12 -7
  79. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  80. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  81. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  82. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  83. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  84. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  85. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +20 -19
  86. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +23 -14
  87. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +15 -14
  88. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +18 -13
  89. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +16 -11
  90. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  91. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +9 -68
  92. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  93. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +43 -18
  94. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  95. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  96. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +12 -171
  97. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  98. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
  99. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
  100. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
  101. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  102. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  103. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  104. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  105. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  106. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +48 -8
  107. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +6 -2
  108. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  109. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  110. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  111. package/esm2022/libs/ui/elements/src/index.mjs +3 -2
  112. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  113. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  114. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  115. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  116. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  117. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -5
  118. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  119. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  120. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +5 -11
  121. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +3 -3
  122. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  123. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +11 -5
  124. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  125. package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
  126. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +24 -7
  127. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  128. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  129. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  130. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  131. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  132. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  133. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  134. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  135. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  136. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  137. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  138. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +4 -13
  139. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  140. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  141. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  142. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  143. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  144. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  145. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  146. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  147. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  148. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  149. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  150. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  151. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +67 -0
  152. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +33 -13
  153. package/esm2022/libs/ui/widgets/src/index.mjs +2 -1
  154. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  155. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  156. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  157. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  158. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  159. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  160. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  161. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  162. package/esm2022/translations/de.json +134 -34
  163. package/esm2022/translations/en.json +139 -39
  164. package/esm2022/translations/es.json +105 -5
  165. package/esm2022/translations/fr.json +169 -69
  166. package/esm2022/translations/it.json +108 -8
  167. package/esm2022/translations/nl.json +105 -5
  168. package/esm2022/translations/pt.json +105 -5
  169. package/fesm2022/geonetwork-ui.mjs +11166 -8494
  170. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  171. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  172. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  173. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  174. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  175. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  176. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  177. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  178. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  179. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  180. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  181. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  182. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  183. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  184. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  185. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  186. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  187. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  188. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  189. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  190. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  191. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  192. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  193. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  194. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  195. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  196. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  197. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  198. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  199. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  200. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  201. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  202. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  203. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  204. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -2
  205. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  206. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  207. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +12 -6
  208. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  209. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  210. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  211. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +13 -12
  212. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  213. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +59 -0
  214. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  215. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +19 -8
  216. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  217. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  218. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  219. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  220. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +2 -1
  221. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  222. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +9 -7
  223. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  224. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  225. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  226. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  227. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  228. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +24 -0
  229. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  230. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  231. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  232. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  233. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  234. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  235. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  236. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  237. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  238. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  239. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  240. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  241. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  242. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  243. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  244. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  245. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  246. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  247. package/libs/feature/editor/src/index.d.ts +1 -0
  248. package/libs/feature/editor/src/index.d.ts.map +1 -1
  249. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +6 -0
  250. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  251. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  252. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  253. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -4
  254. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  255. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  256. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  257. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
  258. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  259. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
  260. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  261. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  262. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  263. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  264. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  265. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  266. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  267. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  268. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  269. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  270. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  271. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  272. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
  273. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  274. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  275. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  276. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  277. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  278. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  279. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  280. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  281. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  282. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  283. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  284. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  285. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +31 -0
  286. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  287. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  288. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  289. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  290. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  291. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  292. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  293. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -16
  294. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  295. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  296. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  297. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -20
  298. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  299. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -2
  300. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  301. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +7 -7
  302. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  303. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  304. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  305. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  306. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  307. package/libs/feature/editor/src/lib/fields.config.d.ts +55 -2
  308. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  309. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +42 -0
  310. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  311. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  312. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  313. package/libs/feature/editor/src/lib/services/editor.service.d.ts +4 -3
  314. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  315. package/libs/feature/map/src/index.d.ts +1 -8
  316. package/libs/feature/map/src/index.d.ts.map +1 -1
  317. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  318. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  319. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  320. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  321. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  322. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  323. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  324. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  325. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  326. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  327. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  328. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  329. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  330. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  331. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  332. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  333. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  334. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  335. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  336. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  337. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  338. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  339. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  340. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  341. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  342. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  343. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  344. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  345. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  346. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  347. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  348. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  349. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  350. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  351. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  352. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  353. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  354. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  355. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  356. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  357. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  358. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  359. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  360. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  361. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  362. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  363. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  364. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  365. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  366. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  367. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +15 -4
  368. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  369. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  370. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  371. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  372. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  373. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  374. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  375. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  376. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  377. package/libs/ui/elements/src/index.d.ts +2 -1
  378. package/libs/ui/elements/src/index.d.ts.map +1 -1
  379. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  380. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  381. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  382. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  383. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  384. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  385. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  386. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  387. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  388. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  389. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  390. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  391. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  392. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +8 -6
  393. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  394. package/libs/ui/inputs/src/index.d.ts +5 -0
  395. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  396. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  397. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  398. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  399. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  400. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  401. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  402. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  403. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  404. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  405. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  406. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  407. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  408. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  409. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  410. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  411. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  412. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  413. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  414. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  415. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  416. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  417. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  418. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  419. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  420. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  421. package/libs/ui/layout/src/index.d.ts +2 -0
  422. package/libs/ui/layout/src/index.d.ts.map +1 -1
  423. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  424. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  425. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  426. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  427. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  428. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  429. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  430. package/libs/ui/map/src/index.d.ts +3 -2
  431. package/libs/ui/map/src/index.d.ts.map +1 -1
  432. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  433. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  434. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  435. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  436. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  437. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  438. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  439. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  440. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  441. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  442. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +20 -0
  443. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  444. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +11 -5
  445. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  446. package/libs/ui/widgets/src/index.d.ts +1 -0
  447. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  448. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  449. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  450. package/libs/util/app-config/src/index.d.ts +1 -0
  451. package/libs/util/app-config/src/index.d.ts.map +1 -1
  452. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  453. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  454. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  455. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  456. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  457. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  458. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  459. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  460. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  461. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  462. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  463. package/package.json +5 -3
  464. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  465. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  466. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  467. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  468. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  469. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  470. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  471. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  472. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  473. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  474. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  475. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  476. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  477. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  478. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  479. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  480. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  481. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  482. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  483. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +6 -2
  484. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +38 -13
  485. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +6 -2
  486. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  487. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  488. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  489. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  490. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  491. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  492. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  493. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
  494. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  495. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +21 -43
  496. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +11 -16
  497. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +85 -17
  498. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  499. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +203 -157
  500. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +50 -7
  501. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +163 -59
  502. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  503. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  504. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +29 -1
  505. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -8
  506. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  507. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  508. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +32 -0
  509. package/src/libs/common/fixtures/src/index.ts +6 -1
  510. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  511. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  512. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  513. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  514. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  515. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  516. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  517. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  518. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  519. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  520. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  521. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  522. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  523. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  524. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  525. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  526. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  527. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  528. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  529. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  530. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  531. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  532. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  533. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  534. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  535. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  536. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  537. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  538. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  539. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  540. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  541. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  542. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  543. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  544. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  545. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  546. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  547. package/src/libs/feature/editor/src/index.ts +1 -0
  548. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +7 -0
  549. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +28 -6
  550. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -1
  551. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  552. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
  553. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
  554. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  555. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
  556. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  557. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  558. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  559. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  560. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  561. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  562. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  563. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  564. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  565. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
  566. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +210 -0
  567. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  568. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  569. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  570. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  571. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  572. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  573. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  574. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  575. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
  576. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  577. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  578. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  579. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  580. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  581. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  582. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -0
  583. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +122 -0
  584. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  585. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  586. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  587. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  588. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  589. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  590. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  591. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  592. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -86
  593. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  594. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  595. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  596. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +118 -70
  597. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +54 -44
  598. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -2
  599. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +52 -9
  600. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +20 -7
  601. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  602. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  603. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  604. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  605. package/src/libs/feature/editor/src/lib/fields.config.ts +247 -57
  606. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +65 -0
  607. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  608. package/src/libs/feature/editor/src/lib/services/editor.service.ts +22 -7
  609. package/src/libs/feature/map/src/index.ts +1 -8
  610. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  611. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  612. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  613. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  614. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  615. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  616. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  617. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  618. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  619. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  620. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  621. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  622. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  623. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  624. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  625. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  626. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  627. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  628. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  629. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  630. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  631. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  632. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -232
  633. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  634. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  635. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  636. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  637. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  638. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  639. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  640. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  641. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  642. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  643. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  644. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +4 -1
  645. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +66 -3
  646. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  647. package/src/libs/feature/search/src/lib/state/search.facade.ts +6 -0
  648. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  649. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  650. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  651. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  652. package/src/libs/ui/elements/src/index.ts +2 -1
  653. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  654. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  655. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  656. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  657. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  658. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  659. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  660. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -17
  661. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  662. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +7 -1
  663. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +12 -8
  664. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  665. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  666. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  667. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  668. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +8 -2
  669. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  670. package/src/libs/ui/inputs/src/index.ts +5 -0
  671. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  672. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  673. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +19 -4
  674. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
  675. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  676. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  677. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  678. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  679. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  680. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  681. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  682. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  683. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  684. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  685. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  686. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  687. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  688. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  689. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  690. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  691. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +32 -0
  692. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +14 -0
  693. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +37 -0
  694. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  695. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  696. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  697. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  698. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -6
  699. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  700. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  701. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  702. package/src/libs/ui/layout/src/index.ts +2 -0
  703. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  704. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  705. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -0
  706. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  707. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  708. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  709. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  710. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +15 -18
  711. package/src/libs/ui/map/src/index.ts +3 -2
  712. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  713. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  714. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  715. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  716. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  717. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  718. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  719. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  720. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +26 -0
  721. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +74 -0
  722. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +24 -3
  723. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +31 -18
  724. package/src/libs/ui/widgets/src/index.ts +1 -0
  725. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  726. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  727. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  728. package/src/libs/util/app-config/src/index.ts +1 -0
  729. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  730. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  731. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  732. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  733. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  734. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  735. package/tailwind.base.config.js +1 -0
  736. package/tailwind.base.css +51 -7
  737. package/translations/de.json +134 -34
  738. package/translations/en.json +139 -39
  739. package/translations/es.json +105 -5
  740. package/translations/fr.json +169 -69
  741. package/translations/it.json +108 -8
  742. package/translations/nl.json +105 -5
  743. package/translations/pt.json +105 -5
  744. package/translations/sk.json +106 -6
  745. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  746. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
  747. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
  748. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  749. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  750. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  751. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  752. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  753. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  754. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  755. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  756. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  757. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  758. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  759. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  760. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  761. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -43
  762. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  763. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  764. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  765. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  766. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
  767. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
  768. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
  769. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
  770. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  771. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  772. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  773. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  774. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  775. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  776. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  777. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  778. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  779. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  780. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  781. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  782. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  783. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  784. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  785. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  786. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  787. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  788. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  789. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  790. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  791. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  792. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  793. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  794. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  795. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  796. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  797. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  798. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  799. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  800. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  801. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  802. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  803. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  804. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  805. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -8
  806. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -70
  807. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  808. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  809. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
  810. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
  811. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
  812. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
  813. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  814. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  815. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  816. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  817. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  818. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  819. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  820. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  821. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  822. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  823. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  824. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  825. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  826. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  827. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  828. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -36
  829. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  830. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  831. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  832. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  833. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → import-record/import-record.component.css} +0 -0
  834. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  835. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  836. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  837. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  838. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  839. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, InjectionToken, Input, Optional, } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { getFileFormat } from '../../../../../../libs/util/shared/src';
@@ -8,13 +8,11 @@ import * as i2 from "@angular/common";
8
8
  import * as i3 from "../../../../../ui/inputs/src/lib/button/button.component";
9
9
  import * as i4 from "@angular/material/icon";
10
10
  marker('externalviewer.dataset.unnamed');
11
+ export const EXTERNAL_VIEWER_URL_TEMPLATE = new InjectionToken('externalViewerUrlTemplate');
12
+ export const EXTERNAL_VIEWER_OPEN_NEW_TAB = new InjectionToken('externalViewerOpenNewTab', { factory: () => false });
11
13
  export class ExternalViewerButtonComponent {
12
14
  get externalViewer() {
13
- if (this.link && this.mapConfig) {
14
- return (!!this.mapConfig.EXTERNAL_VIEWER_URL_TEMPLATE &&
15
- !!this.supportedLinkLayerType);
16
- }
17
- return false;
15
+ return !!this.urlTemplate && !!this.supportedLinkLayerType;
18
16
  }
19
17
  get supportedLinkLayerType() {
20
18
  if (!this.link)
@@ -33,11 +31,13 @@ export class ExternalViewerButtonComponent {
33
31
  }
34
32
  return null;
35
33
  }
36
- constructor(translateService) {
34
+ constructor(translateService, urlTemplate, openinNewTab) {
37
35
  this.translateService = translateService;
36
+ this.urlTemplate = urlTemplate;
37
+ this.openinNewTab = openinNewTab;
38
38
  }
39
39
  openInExternalViewer() {
40
- const templateUrl = this.mapConfig.EXTERNAL_VIEWER_URL_TEMPLATE;
40
+ const templateUrl = this.urlTemplate;
41
41
  const layerName = this.link.name
42
42
  ? this.link.name
43
43
  : this.translateService.instant('externalviewer.dataset.unnamed');
@@ -45,19 +45,23 @@ export class ExternalViewerButtonComponent {
45
45
  .replace('${layer_name}', `${layerName}`)
46
46
  .replace('${service_url}', `${encodeURIComponent(this.link.url.toString())}`)
47
47
  .replace('${service_type}', `${this.supportedLinkLayerType}`);
48
- window
49
- .open(url, this.mapConfig.EXTERNAL_VIEWER_OPEN_NEW_TAB ? '_blank' : '_self')
50
- .focus();
48
+ window.open(url, this.openinNewTab ? '_blank' : '_self').focus();
51
49
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: { link: "link", mapConfig: "mapConfig" }, ngImport: i0, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, deps: [{ token: i1.TranslateService }, { token: EXTERNAL_VIEWER_URL_TEMPLATE, optional: true }, { token: EXTERNAL_VIEWER_OPEN_NEW_TAB }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: { link: "link" }, ngImport: i0, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
52
  }
55
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, decorators: [{
56
54
  type: Component,
57
55
  args: [{ selector: 'gn-ui-external-viewer-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n" }]
58
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { link: [{
59
- type: Input
60
- }], mapConfig: [{
56
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: undefined, decorators: [{
57
+ type: Inject,
58
+ args: [EXTERNAL_VIEWER_URL_TEMPLATE]
59
+ }, {
60
+ type: Optional
61
+ }] }, { type: undefined, decorators: [{
62
+ type: Inject,
63
+ args: [EXTERNAL_VIEWER_OPEN_NEW_TAB]
64
+ }] }]; }, propDecorators: { link: [{
61
65
  type: Input
62
66
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7O0FBRXRFLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0FBUXhDLE1BQU0sT0FBTyw2QkFBNkI7SUFJeEMsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9CLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEI7Z0JBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQzlCLENBQUE7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUU7Z0JBQzdDLE9BQU8sS0FBSyxDQUFBO2FBQ2I7WUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO2dCQUM3QyxPQUFPLEtBQUssQ0FBQTthQUNiO1NBQ0Y7YUFBTSxJQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7WUFDN0IsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQ3RDO1lBQ0EsT0FBTyxTQUFTLENBQUE7U0FDakI7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsb0JBQW9CO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUE7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUNuRSxNQUFNLEdBQUcsR0FBRyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQzthQUN4QyxPQUFPLENBQ04sZ0JBQWdCLEVBQ2hCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUNsRDthQUNBLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFDL0QsTUFBTTthQUNILElBQUksQ0FDSCxHQUFHLEVBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ2pFO2FBQ0EsS0FBSyxFQUFFLENBQUE7SUFDWixDQUFDOytHQXBEVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzSENmMUMsc1NBU0E7OzRGRE1hLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07dUdBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJ1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgZ2V0RmlsZUZvcm1hdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5tYXJrZXIoJ2V4dGVybmFsdmlld2VyLmRhdGFzZXQudW5uYW1lZCcpXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uXG4gIEBJbnB1dCgpIG1hcENvbmZpZzogTWFwQ29uZmlnXG5cbiAgZ2V0IGV4dGVybmFsVmlld2VyKCkge1xuICAgIGlmICh0aGlzLmxpbmsgJiYgdGhpcy5tYXBDb25maWcpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICEhdGhpcy5tYXBDb25maWcuRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURSAmJlxuICAgICAgICAhIXRoaXMuc3VwcG9ydGVkTGlua0xheWVyVHlwZVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldCBzdXBwb3J0ZWRMaW5rTGF5ZXJUeXBlKCkge1xuICAgIGlmICghdGhpcy5saW5rKSByZXR1cm4gbnVsbFxuICAgIGlmICh0aGlzLmxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnKSB7XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgICAgcmV0dXJuICd3bXMnXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgcmV0dXJuICd3ZnMnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMubGluay50eXBlID09PSAnZG93bmxvYWQnICYmXG4gICAgICBnZXRGaWxlRm9ybWF0KHRoaXMubGluaykgPT09ICdnZW9qc29uJ1xuICAgICkge1xuICAgICAgcmV0dXJuICdnZW9qc29uJ1xuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG9wZW5JbkV4dGVybmFsVmlld2VyKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gdGhpcy5tYXBDb25maWcuRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURVxuICAgIGNvbnN0IGxheWVyTmFtZSA9IHRoaXMubGluay5uYW1lXG4gICAgICA/IHRoaXMubGluay5uYW1lXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdleHRlcm5hbHZpZXdlci5kYXRhc2V0LnVubmFtZWQnKVxuICAgIGNvbnN0IHVybCA9IHRlbXBsYXRlVXJsXG4gICAgICAucmVwbGFjZSgnJHtsYXllcl9uYW1lfScsIGAke2xheWVyTmFtZX1gKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke3NlcnZpY2VfdXJsfScsXG4gICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLmxpbmsudXJsLnRvU3RyaW5nKCkpfWBcbiAgICAgIClcbiAgICAgIC5yZXBsYWNlKCcke3NlcnZpY2VfdHlwZX0nLCBgJHt0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGV9YClcbiAgICB3aW5kb3dcbiAgICAgIC5vcGVuKFxuICAgICAgICB1cmwsXG4gICAgICAgIHRoaXMubWFwQ29uZmlnLkVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUIgPyAnX2JsYW5rJyA6ICdfc2VsZidcbiAgICAgIClcbiAgICAgIC5mb2N1cygpXG4gIH1cbn1cbiIsIjxnbi11aS1idXR0b25cbiAgKm5nSWY9XCJleHRlcm5hbFZpZXdlclwiXG4gIChidXR0b25DbGljayk9XCJvcGVuSW5FeHRlcm5hbFZpZXdlcigpXCJcbiAgdHlwZT1cInNlY29uZGFyeVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLmV4dGVybmFsVmlld2VyLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgZXh0cmFDbGFzcz1cIm1zLTIgIXJvdW5kZWQtbGdcIlxuPlxuICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+b3Blbl9pbl9uZXc8L21hdC1pY29uPlxuPC9nbi11aS1idXR0b24+XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7OztBQUV0RSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMkJBQTJCLENBQzVCLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMEJBQTBCLEVBQzFCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUN6QixDQUFBO0FBUUQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFBO0lBQzVELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO2dCQUM3QyxPQUFPLEtBQUssQ0FBQTthQUNiO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixLQUFLLEtBQUssRUFBRTtnQkFDN0MsT0FBTyxLQUFLLENBQUE7YUFDYjtTQUNGO2FBQU0sSUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1lBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUN0QztZQUNBLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFHbEMsV0FBbUIsRUFFbkIsWUFBcUI7UUFMckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUVuQixpQkFBWSxHQUFaLFlBQVksQ0FBUztJQUM1QixDQUFDO0lBRUosb0JBQW9CO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUNuRSxNQUFNLEdBQUcsR0FBRyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQzthQUN4QyxPQUFPLENBQ04sZ0JBQWdCLEVBQ2hCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUNsRDthQUNBLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNsRSxDQUFDOytHQS9DVSw2QkFBNkIsa0RBMkI5Qiw0QkFBNEIsNkJBRzVCLDRCQUE0QjttR0E5QjNCLDZCQUE2Qiw4RkM3QjFDLHNTQVNBOzs0RkRvQmEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkI1QyxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQ25DLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsNEJBQTRCOzRDQTdCN0IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBnZXRGaWxlRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbm1hcmtlcignZXh0ZXJuYWx2aWV3ZXIuZGF0YXNldC51bm5hbWVkJylcblxuZXhwb3J0IGNvbnN0IEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ2V4dGVybmFsVmlld2VyVXJsVGVtcGxhdGUnXG4pXG5leHBvcnQgY29uc3QgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgJ2V4dGVybmFsVmlld2VyT3Blbk5ld1RhYicsXG4gIHsgZmFjdG9yeTogKCkgPT4gZmFsc2UgfVxuKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlXG5cbiAgZ2V0IGV4dGVybmFsVmlld2VyKCkge1xuICAgIHJldHVybiAhIXRoaXMudXJsVGVtcGxhdGUgJiYgISF0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGVcbiAgfVxuXG4gIGdldCBzdXBwb3J0ZWRMaW5rTGF5ZXJUeXBlKCkge1xuICAgIGlmICghdGhpcy5saW5rKSByZXR1cm4gbnVsbFxuICAgIGlmICh0aGlzLmxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnKSB7XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgICAgcmV0dXJuICd3bXMnXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgcmV0dXJuICd3ZnMnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMubGluay50eXBlID09PSAnZG93bmxvYWQnICYmXG4gICAgICBnZXRGaWxlRm9ybWF0KHRoaXMubGluaykgPT09ICdnZW9qc29uJ1xuICAgICkge1xuICAgICAgcmV0dXJuICdnZW9qc29uJ1xuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURSlcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgdXJsVGVtcGxhdGU6IHN0cmluZyxcbiAgICBASW5qZWN0KEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUIpXG4gICAgcHJpdmF0ZSBvcGVuaW5OZXdUYWI6IGJvb2xlYW5cbiAgKSB7fVxuXG4gIG9wZW5JbkV4dGVybmFsVmlld2VyKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gdGhpcy51cmxUZW1wbGF0ZVxuICAgIGNvbnN0IGxheWVyTmFtZSA9IHRoaXMubGluay5uYW1lXG4gICAgICA/IHRoaXMubGluay5uYW1lXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdleHRlcm5hbHZpZXdlci5kYXRhc2V0LnVubmFtZWQnKVxuICAgIGNvbnN0IHVybCA9IHRlbXBsYXRlVXJsXG4gICAgICAucmVwbGFjZSgnJHtsYXllcl9uYW1lfScsIGAke2xheWVyTmFtZX1gKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke3NlcnZpY2VfdXJsfScsXG4gICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLmxpbmsudXJsLnRvU3RyaW5nKCkpfWBcbiAgICAgIClcbiAgICAgIC5yZXBsYWNlKCcke3NlcnZpY2VfdHlwZX0nLCBgJHt0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGV9YClcbiAgICB3aW5kb3cub3Blbih1cmwsIHRoaXMub3BlbmluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnKS5mb2N1cygpXG4gIH1cbn1cbiIsIjxnbi11aS1idXR0b25cbiAgKm5nSWY9XCJleHRlcm5hbFZpZXdlclwiXG4gIChidXR0b25DbGljayk9XCJvcGVuSW5FeHRlcm5hbFZpZXdlcigpXCJcbiAgdHlwZT1cInNlY29uZGFyeVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLmV4dGVybmFsVmlld2VyLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgZXh0cmFDbGFzcz1cIm1zLTIgIXJvdW5kZWQtbGdcIlxuPlxuICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+b3Blbl9pbl9uZXc8L21hdC1pY29uPlxuPC9nbi11aS1idXR0b24+XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { UiMapModule } from '../../../../../libs/ui/map/src';
3
+ import { FeatureDetailComponent, MapContainerComponent, } from '../../../../../libs/ui/map/src';
4
4
  import { StoreModule } from '@ngrx/store';
5
5
  import { EffectsModule } from '@ngrx/effects';
6
6
  import { UiLayoutModule } from '../../../../../libs/ui/layout/src';
7
- import { FeatureMapModule } from '../../../../../libs/feature/map/src';
7
+ import { FeatureMapModule, MapStateContainerComponent, } from '../../../../../libs/feature/map/src';
8
8
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
9
9
  import { UiElementsModule } from '../../../../../libs/ui/elements/src';
10
10
  import { MdViewFacade } from './state';
@@ -36,7 +36,6 @@ export class FeatureRecordModule {
36
36
  DataViewShareComponent], imports: [CommonModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, UiLayoutModule,
37
37
  FeatureMapModule,
38
38
  FeatureCatalogModule,
39
- UiMapModule,
40
39
  UiInputsModule,
41
40
  UiElementsModule,
42
41
  MatTabsModule,
@@ -45,7 +44,10 @@ export class FeatureRecordModule {
45
44
  TranslateModule,
46
45
  TableComponent,
47
46
  FeatureDatavizModule,
48
- PopupAlertComponent], exports: [MapViewComponent,
47
+ PopupAlertComponent,
48
+ FeatureDetailComponent,
49
+ MapStateContainerComponent,
50
+ MapContainerComponent], exports: [MapViewComponent,
49
51
  DataViewComponent,
50
52
  DataViewPermalinkComponent,
51
53
  DataViewWebComponentComponent,
@@ -56,7 +58,6 @@ export class FeatureRecordModule {
56
58
  UiLayoutModule,
57
59
  FeatureMapModule,
58
60
  FeatureCatalogModule,
59
- UiMapModule,
60
61
  UiInputsModule,
61
62
  UiElementsModule,
62
63
  MatTabsModule,
@@ -65,7 +66,10 @@ export class FeatureRecordModule {
65
66
  TranslateModule,
66
67
  TableComponent,
67
68
  FeatureDatavizModule,
68
- PopupAlertComponent] }); }
69
+ PopupAlertComponent,
70
+ FeatureDetailComponent,
71
+ MapStateContainerComponent,
72
+ MapContainerComponent] }); }
69
73
  }
70
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, decorators: [{
71
75
  type: NgModule,
@@ -85,7 +89,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
89
  UiLayoutModule,
86
90
  FeatureMapModule,
87
91
  FeatureCatalogModule,
88
- UiMapModule,
89
92
  UiInputsModule,
90
93
  UiElementsModule,
91
94
  MatTabsModule,
@@ -95,6 +98,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
98
  TableComponent,
96
99
  FeatureDatavizModule,
97
100
  PopupAlertComponent,
101
+ FeatureDetailComponent,
102
+ MapStateContainerComponent,
103
+ MapContainerComponent,
98
104
  ],
99
105
  providers: [MdViewFacade],
100
106
  exports: [
@@ -106,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
106
112
  ],
107
113
  }]
108
114
  }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbkUsT0FBTyxFQUNMLCtCQUErQixFQUMvQixPQUFPLEdBQ1IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7O0FBc0NwRixNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFsQzVCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isc0JBQXNCLGFBR3RCLFlBQVksa0RBR1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CLGFBSW5CLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsMEJBQTBCO1lBQzFCLDZCQUE2QjtZQUM3QixzQkFBc0I7Z0hBR2IsbUJBQW1CLGFBVG5CLENBQUMsWUFBWSxDQUFDLFlBakJ2QixZQUFZO1lBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUM7WUFDaEUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLG1CQUFtQjs7NEZBV1YsbUJBQW1CO2tCQXBDL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUM7d0JBQ2hFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDekMsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pCLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBVaU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuL3N0YXRlJ1xuaW1wb3J0IHsgTWRWaWV3RWZmZWN0cyB9IGZyb20gJy4vc3RhdGUvbWR2aWV3LmVmZmVjdHMnXG5pbXBvcnQgeyBNYXBWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQnXG5pbXBvcnQge1xuICBNRVRBREFUQV9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLFxuICByZWR1Y2VyLFxufSBmcm9tICcuL3N0YXRlL21kdmlldy5yZWR1Y2VyJ1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFBvcHVwQWxlcnRDb21wb25lbnQsIFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBGZWF0dXJlQ2F0YWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9jYXRhbG9nL3NyYydcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7IEZlYXR1cmVEYXRhdml6TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy1wZXJtYWxpbmsvZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXdlYi1jb21wb25lbnQvZGF0YS12aWV3LXdlYi1jb21wb25lbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YVZpZXdTaGFyZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXNoYXJlL2RhdGEtdmlldy1zaGFyZS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1hcFZpZXdDb21wb25lbnQsXG4gICAgRGF0YVZpZXdDb21wb25lbnQsXG4gICAgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQsXG4gICAgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQsXG4gICAgRGF0YVZpZXdXZWJDb21wb25lbnRDb21wb25lbnQsXG4gICAgRGF0YVZpZXdTaGFyZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKE1FVEFEQVRBX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVksIHJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbTWRWaWV3RWZmZWN0c10pLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIEZlYXR1cmVNYXBNb2R1bGUsXG4gICAgRmVhdHVyZUNhdGFsb2dNb2R1bGUsXG4gICAgVWlNYXBNb2R1bGUsXG4gICAgVWlJbnB1dHNNb2R1bGUsXG4gICAgVWlFbGVtZW50c01vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlRGF0YXZpek1vZHVsZSxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtNZFZpZXdGYWNhZGVdLFxuICBleHBvcnRzOiBbXG4gICAgTWFwVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCxcbiAgICBEYXRhVmlld1NoYXJlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlUmVjb3JkTW9kdWxlIHt9XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHFCQUFxQixHQUN0QixNQUFNLGdDQUFnQyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiwwQkFBMEIsR0FDM0IsTUFBTSxxQ0FBcUMsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbkUsT0FBTyxFQUNMLCtCQUErQixFQUMvQixPQUFPLEdBQ1IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7O0FBd0NwRixNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFwQzVCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isc0JBQXNCLGFBR3RCLFlBQVksa0RBR1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixxQkFBcUIsYUFJckIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsNkJBQTZCO1lBQzdCLHNCQUFzQjtnSEFHYixtQkFBbUIsYUFUbkIsQ0FBQyxZQUFZLENBQUMsWUFuQnZCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLE9BQU8sQ0FBQztZQUNoRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixxQkFBcUI7OzRGQVdaLG1CQUFtQjtrQkF0Qy9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsK0JBQStCLEVBQUUsT0FBTyxDQUFDO3dCQUNoRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3pDLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDekIsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gIE1hcENvbnRhaW5lckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjJ1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgVWlMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQge1xuICBGZWF0dXJlTWFwTW9kdWxlLFxuICBNYXBTdGF0ZUNvbnRhaW5lckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFVpRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4vc3RhdGUnXG5pbXBvcnQgeyBNZFZpZXdFZmZlY3RzIH0gZnJvbSAnLi9zdGF0ZS9tZHZpZXcuZWZmZWN0cydcbmltcG9ydCB7IE1hcFZpZXdDb21wb25lbnQgfSBmcm9tICcuL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIE1FVEFEQVRBX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVksXG4gIHJlZHVjZXIsXG59IGZyb20gJy4vc3RhdGUvbWR2aWV3LnJlZHVjZXInXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgUG9wdXBBbGVydENvbXBvbmVudCwgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IEZlYXR1cmVDYXRhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2NhdGFsb2cvc3JjJ1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZURhdGF2aXpNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld1NoYXJlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctc2hhcmUvZGF0YS12aWV3LXNoYXJlLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWFwVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld0NvbXBvbmVudCxcbiAgICBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCxcbiAgICBEYXRhVmlld1NoYXJlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoTUVUQURBVEFfVklFV19GRUFUVVJFX1NUQVRFX0tFWSwgcmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtNZFZpZXdFZmZlY3RzXSksXG4gICAgVWlMYXlvdXRNb2R1bGUsXG4gICAgRmVhdHVyZU1hcE1vZHVsZSxcbiAgICBGZWF0dXJlQ2F0YWxvZ01vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBVaVdpZGdldHNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEYXRhdml6TW9kdWxlLFxuICAgIFBvcHVwQWxlcnRDb21wb25lbnQsXG4gICAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgICBNYXBTdGF0ZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW01kVmlld0ZhY2FkZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVSZWNvcmRNb2R1bGUge31cbiJdfQ==
@@ -1,35 +1,31 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, } from '@angular/core';
2
- import { FeatureInfoService, MapContextLayerTypeEnum, MapManagerService, MapStyleService, MapUtilsService, } from '../../../../../../libs/feature/map/src';
3
- import { getOptionalMapConfig } from '../../../../../../libs/util/app-config/src';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, } from '@angular/core';
2
+ import { MapUtilsService } from '../../../../../../libs/feature/map/src';
4
3
  import { getLinkLabel } from '../../../../../../libs/util/shared/src';
5
- import { BehaviorSubject, combineLatest, from, of, Subscription, throwError, withLatestFrom, } from 'rxjs';
6
- import { catchError, distinctUntilChanged, finalize, map, startWith, switchMap, tap, } from 'rxjs/operators';
4
+ import { BehaviorSubject, combineLatest, from, of, startWith, throwError, withLatestFrom, } from 'rxjs';
5
+ import { catchError, distinctUntilChanged, finalize, map, switchMap, tap, } from 'rxjs/operators';
7
6
  import { MdViewFacade } from '../state/mdview.facade';
8
7
  import { DataService } from '../../../../../../libs/feature/dataviz/src';
8
+ import { createViewFromLayer, } from '@geospatial-sdk/core';
9
+ import { MapContainerComponent, prioritizePageScroll, } from '../../../../../../libs/ui/map/src';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../state/mdview.facade";
11
12
  import * as i2 from "../../../../../../libs/feature/map/src";
12
13
  import * as i3 from "../../../../../../libs/feature/dataviz/src";
13
14
  import * as i4 from "@angular/common";
14
- import * as i5 from "../../../../map/src/lib/map-context/component/map-context.component";
15
- import * as i6 from "../../../../../ui/map/src/lib/components/feature-detail/feature-detail.component";
16
- import * as i7 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
17
- import * as i8 from "@angular/material/icon";
18
- import * as i9 from "../../../../../ui/widgets/src/lib/loading-mask/loading-mask.component";
19
- import * as i10 from "@ngx-translate/core";
20
- import * as i11 from "../../../../../ui/widgets/src/lib/popup-alert/popup-alert.component";
15
+ import * as i5 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
16
+ import * as i6 from "@angular/material/icon";
17
+ import * as i7 from "../../../../../ui/widgets/src/lib/loading-mask/loading-mask.component";
18
+ import * as i8 from "@ngx-translate/core";
19
+ import * as i9 from "../../../../../ui/widgets/src/lib/popup-alert/popup-alert.component";
20
+ import * as i10 from "../../../../../ui/map/src/lib/components/feature-detail/feature-detail.component";
21
+ import * as i11 from "../../../../../ui/map/src/lib/components/map-container/map-container.component";
21
22
  import * as i12 from "../external-viewer-button/external-viewer-button.component";
22
23
  export class MapViewComponent {
23
- constructor(mdViewFacade, mapManager, mapUtils, dataService, featureInfo, changeRef, styleService) {
24
+ constructor(mdViewFacade, mapUtils, dataService, changeRef) {
24
25
  this.mdViewFacade = mdViewFacade;
25
- this.mapManager = mapManager;
26
26
  this.mapUtils = mapUtils;
27
27
  this.dataService = dataService;
28
- this.featureInfo = featureInfo;
29
28
  this.changeRef = changeRef;
30
- this.styleService = styleService;
31
- this.mapConfig = getOptionalMapConfig();
32
- this.subscription = new Subscription();
33
29
  this.compatibleMapLinks$ = combineLatest([
34
30
  this.mdViewFacade.mapApiLinks$,
35
31
  this.mdViewFacade.geoDataLinksWithGeometry$,
@@ -61,54 +57,43 @@ export class MapViewComponent {
61
57
  return of([]);
62
58
  }), finalize(() => (this.loading = false)));
63
59
  }));
64
- this.mapContext$ = this.currentLayers$.pipe(switchMap((layers) => from(this.mapUtils.getLayerExtent(layers[0])).pipe(catchError(() => {
65
- this.error = 'The layer has no extent';
66
- return of(undefined);
67
- }), map((extent) => ({
60
+ this.mapContext$ = this.currentLayers$.pipe(switchMap((layers) => from(createViewFromLayer(layers[0])).pipe(catchError(() => of(null)), // could not zoom on the layer: use the record extent
61
+ map((view) => ({
68
62
  layers,
69
- view: {
70
- extent,
71
- },
72
- })), tap((res) => {
63
+ view,
64
+ })), tap(() => {
73
65
  this.resetSelection();
74
66
  }))), startWith({
75
67
  layers: [],
76
- view: {},
68
+ view: null,
77
69
  }), withLatestFrom(this.mdViewFacade.metadata$), map(([context, metadata]) => {
78
- if (context.view.extent)
70
+ if (context.view)
79
71
  return context;
80
72
  const extent = this.mapUtils.getRecordExtent(metadata);
73
+ const view = extent ? { extent } : null;
81
74
  return {
82
75
  ...context,
83
- view: {
84
- ...context.view,
85
- extent,
86
- },
76
+ view,
87
77
  };
88
78
  }));
89
79
  }
90
- ngOnDestroy() {
91
- this.subscription.unsubscribe();
92
- }
93
- ngOnInit() {
94
- this.mapUtils.prioritizePageScroll(this.mapManager.map.getInteractions());
95
- this.selectionStyle = this.styleService.styles.defaultHL;
96
- this.featureInfo.handleFeatureInfo();
97
- this.subscription.add(this.featureInfo.features$.subscribe((features) => {
98
- this.onMapFeatureSelect(features);
99
- }));
80
+ async ngAfterViewInit() {
81
+ const map = await this.mapContainer.openlayersMap;
82
+ prioritizePageScroll(map.getInteractions());
100
83
  }
101
84
  onMapFeatureSelect(features) {
102
85
  this.resetSelection();
103
86
  this.selection = features?.length > 0 && features[0];
104
87
  if (this.selection) {
105
- this.selection.setStyle(this.selectionStyle);
88
+ // FIXME: restore styling of selected feature
89
+ // this.selection.setStyle(this.selectionStyle)
106
90
  }
107
91
  this.changeRef.detectChanges();
108
92
  }
109
93
  resetSelection() {
110
94
  if (this.selection) {
111
- this.selection.setStyle(null);
95
+ // FIXME: restore styling of selected feature
96
+ // this.selection.setStyle(null)
112
97
  }
113
98
  this.selection = null;
114
99
  }
@@ -116,7 +101,7 @@ export class MapViewComponent {
116
101
  if (link.type === 'service' && link.accessServiceProtocol === 'wms') {
117
102
  return of({
118
103
  url: link.url.toString(),
119
- type: MapContextLayerTypeEnum.WMS,
104
+ type: 'wms',
120
105
  name: link.name,
121
106
  });
122
107
  }
@@ -124,7 +109,7 @@ export class MapViewComponent {
124
109
  link.accessServiceProtocol === 'wmts') {
125
110
  return of({
126
111
  url: link.url.toString(),
127
- type: MapContextLayerTypeEnum.WMTS,
112
+ type: 'wmts',
128
113
  name: link.name,
129
114
  });
130
115
  }
@@ -134,7 +119,7 @@ export class MapViewComponent {
134
119
  link.accessServiceProtocol === 'ogcFeatures')) ||
135
120
  link.type === 'download') {
136
121
  return this.dataService.readAsGeoJson(link).pipe(map((data) => ({
137
- type: MapContextLayerTypeEnum.GEOJSON,
122
+ type: 'geojson',
138
123
  data,
139
124
  })));
140
125
  }
@@ -143,11 +128,14 @@ export class MapViewComponent {
143
128
  selectLinkToDisplay(link) {
144
129
  this.selectedLinkIndex$.next(link);
145
130
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapManagerService }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i2.FeatureInfoService }, { token: i0.ChangeDetectorRef }, { token: i2.MapStyleService }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapViewComponent, selector: "gn-ui-map-view", ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MapContextComponent, selector: "gn-ui-map-context", inputs: ["context", "mapConfig"], outputs: ["featureClicked"] }, { kind: "component", type: i6.FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: i7.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "directive", type: i10.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i11.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "component", type: i12.ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link", "mapConfig"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapViewComponent, selector: "gn-ui-map-view", viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "component", type: i10.FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: i11.MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: i12.ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
133
  }
149
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapViewComponent, decorators: [{
150
135
  type: Component,
151
- args: [{ selector: 'gn-ui-map-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
152
- }], ctorParameters: function () { return [{ type: i1.MdViewFacade }, { type: i2.MapManagerService }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i2.FeatureInfoService }, { type: i0.ChangeDetectorRef }, { type: i2.MapStyleService }]; } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLGtCQUFrQixFQUVsQix1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFhLE1BQU0sNENBQTRDLENBQUE7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBSXJFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7QUFTeEUsTUFBTSxPQUFPLGdCQUFnQjtJQTZGM0IsWUFDVSxZQUEwQixFQUMxQixVQUE2QixFQUM3QixRQUF5QixFQUN6QixXQUF3QixFQUN4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LENBQUE7SUFDbkQsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwQyxDQUFDOytHQTNLVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixzRENsRDdCLGt5REFzREE7OzRGREphLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEZlYXR1cmVJbmZvU2VydmljZSxcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxuICBNYXBDb250ZXh0TW9kZWwsXG4gIE1hcE1hbmFnZXJTZXJ2aWNlLFxuICBNYXBTdHlsZVNlcnZpY2UsXG4gIE1hcFV0aWxzU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBnZXRPcHRpb25hbE1hcENvbmZpZywgTWFwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJ1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJ1xuaW1wb3J0IHsgU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBTdWJzY3JpcHRpb24sXG4gIHRocm93RXJyb3IsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvbWR2aWV3LmZhY2FkZSdcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBtYXBDb25maWc6IE1hcENvbmZpZyA9IGdldE9wdGlvbmFsTWFwQ29uZmlnKClcbiAgc2VsZWN0aW9uOiBGZWF0dXJlPEdlb21ldHJ5PlxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuICBwcml2YXRlIHNlbGVjdGlvblN0eWxlOiBTdHlsZUxpa2VcblxuICBjb21wYXRpYmxlTWFwTGlua3MkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUubWFwQXBpTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbbWFwQXBpTGlua3MsIGdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV0pID0+IHtcbiAgICAgIHJldHVybiBbLi4ubWFwQXBpTGlua3MsIC4uLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV1cbiAgICB9KVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ05vIHByZXZpZXcgbGF5ZXInLCB2YWx1ZTogMCB9XVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmtJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApXG5cbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuXG4gIHNlbGVjdGVkTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQsXG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgXSkucGlwZShtYXAoKFtsaW5rcywgaW5kZXhdKSA9PiBsaW5rc1tpbmRleF0pKVxuXG4gIGN1cnJlbnRMYXllcnMkID0gdGhpcy5zZWxlY3RlZExpbmskLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbSh0aGlzLm1hcFV0aWxzLmdldExheWVyRXh0ZW50KGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3IgPSAnVGhlIGxheWVyIGhhcyBubyBleHRlbnQnXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICAgICAgfSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoZXh0ZW50KSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICAgICAgZXh0ZW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSBhcyBNYXBDb250ZXh0TW9kZWwpXG4gICAgICAgICksXG4gICAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzdGFydFdpdGgoe1xuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIHZpZXc6IHt9LFxuICAgIH0gYXMgTWFwQ29udGV4dE1vZGVsKSxcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLm1kVmlld0ZhY2FkZS5tZXRhZGF0YSQpLFxuICAgIG1hcCgoW2NvbnRleHQsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHQudmlldy5leHRlbnQpIHJldHVybiBjb250ZXh0XG4gICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcFV0aWxzLmdldFJlY29yZEV4dGVudChtZXRhZGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LnZpZXcsXG4gICAgICAgICAgZXh0ZW50LFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0pXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlLFxuICAgIHByaXZhdGUgbWFwTWFuYWdlcjogTWFwTWFuYWdlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBVdGlsczogTWFwVXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmVhdHVyZUluZm86IEZlYXR1cmVJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IE1hcFN0eWxlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXBVdGlscy5wcmlvcml0aXplUGFnZVNjcm9sbCh0aGlzLm1hcE1hbmFnZXIubWFwLmdldEludGVyYWN0aW9ucygpKVxuICAgIHRoaXMuc2VsZWN0aW9uU3R5bGUgPSB0aGlzLnN0eWxlU2VydmljZS5zdHlsZXMuZGVmYXVsdEhMXG4gICAgdGhpcy5mZWF0dXJlSW5mby5oYW5kbGVGZWF0dXJlSW5mbygpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5mZWF0dXJlSW5mby5mZWF0dXJlcyQuc3Vic2NyaWJlKChmZWF0dXJlcykgPT4ge1xuICAgICAgICB0aGlzLm9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlcylcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBmZWF0dXJlcz8ubGVuZ3RoID4gMCAmJiBmZWF0dXJlc1swXVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0U3R5bGUodGhpcy5zZWxlY3Rpb25TdHlsZSlcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICByZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhcbiAgICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uXG4gICk6IE9ic2VydmFibGU8TWFwQ29udGV4dExheWVyTW9kZWw+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNUyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd210cydcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uV01UUyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucmVhZEFzR2VvSnNvbihsaW5rKS5waXBlKFxuICAgICAgICBtYXAoKGRhdGEpID0+ICh7XG4gICAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uR0VPSlNPTixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG5cbiAgc2VsZWN0TGlua1RvRGlzcGxheShsaW5rOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5uZXh0KGxpbmspXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWVuZCBtYi03IG10LTFcIj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwidHJ1bmNhdGUgcC0xIC1teC0xXCJcbiAgICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3QubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwic2VsZWN0TGlua1RvRGlzcGxheSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvblxuICAgICAgY2xhc3M9XCJzaHJpbmstMCBweS0xIHBsYWNlLXNlbGYtZW5kXCJcbiAgICAgIFtsaW5rXT1cInNlbGVjdGVkTGluayQgfCBhc3luY1wiXG4gICAgICBbbWFwQ29uZmlnXT1cIm1hcENvbmZpZ1wiXG4gICAgPlxuICAgIDwvZ24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gID5cbiAgICA8Z24tdWktbWFwLWNvbnRleHRcbiAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgW21hcENvbmZpZ109XCJtYXBDb25maWdcIlxuICAgID48L2duLXVpLW1hcC1jb250ZXh0PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHJpZ2h0LVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICBbY2xhc3MuaGlkZGVuXT1cIiFzZWxlY3Rpb25cIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJlc2V0U2VsZWN0aW9uKClcIlxuICAgICAgICBjbGFzcz1cInJvdW5kZWQgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgYWJzb2x1dGUgcmlnaHQtWzAuNWVtXVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGUgdGV4dC1zbVwiXG4gICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDIxcHhcIlxuICAgICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgICAgPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8Z24tdWktZmVhdHVyZS1kZXRhaWwgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCI+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbiAgICA8L2Rpdj5cbiAgICA8Z24tdWktbG9hZGluZy1tYXNrXG4gICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wXCJcbiAgICAgIFttZXNzYWdlXT1cIidtYXAubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwiZXJyb3Jfb3V0bGluZVwiXG4gICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICA+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
136
+ args: [{ selector: 'gn-ui-map-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
137
+ }], ctorParameters: function () { return [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { mapContainer: [{
138
+ type: ViewChild,
139
+ args: ['mapContainer']
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsSUFBSSxFQUVKLEVBQUUsRUFDRixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQTtBQUNiLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFFeEUsT0FBTyxFQUNMLG1CQUFtQixHQUdwQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sbUNBQW1DLENBQUE7Ozs7Ozs7Ozs7Ozs7O0FBUzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFrRjNCLFlBQ1UsWUFBMEIsRUFDMUIsUUFBeUIsRUFDekIsV0FBd0IsRUFDeEIsU0FBNEI7UUFINUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFqRnRDLHdCQUFtQixHQUFHLGFBQWEsQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUI7U0FDNUMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsT0FBTyxDQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsd0JBQXdCLENBQUMsQ0FBQTtRQUN0RCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDWixLQUFLLENBQUMsTUFBTTtZQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDMUIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQzlDLENBQ0YsQ0FBQTtRQUNELHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTNDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBRVosa0JBQWEsR0FBRyxhQUFhLENBQUM7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUU5QyxtQkFBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2FBQ2Q7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtZQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN2QixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7Z0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ2xDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2YsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUN2QyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUVELGdCQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM1RCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxxREFBcUQ7UUFDakYsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2IsTUFBTTtZQUNOLElBQUk7U0FDTCxDQUFDLENBQUMsRUFDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQ0YsRUFDRCxTQUFTLENBQUM7WUFDUixNQUFNLEVBQUUsRUFBRTtZQUNWLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxFQUNGLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUMzQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQzFCLElBQUksT0FBTyxDQUFDLElBQUk7Z0JBQUUsT0FBTyxPQUFPLENBQUE7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7WUFDdkMsT0FBTztnQkFDTCxHQUFHLE9BQU87Z0JBQ1YsSUFBSTthQUNMLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBT0UsQ0FBQztJQUVKLEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUE7UUFDakQsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQW1CO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsNkNBQTZDO1lBQzdDLCtDQUErQztTQUNoRDtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsNkNBQTZDO1lBQzdDLGdDQUFnQztTQUNqQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUEyQjtRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUU7WUFDbkUsT0FBTyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN4QixJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDaEIsQ0FBQyxDQUFBO1NBQ0g7YUFBTSxJQUNMLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUztZQUN2QixJQUFJLENBQUMscUJBQXFCLEtBQUssTUFBTSxFQUNyQztZQUNBLE9BQU8sRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQTtTQUNIO2FBQU0sSUFDTCxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUztZQUN0QixDQUFDLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxLQUFLO2dCQUNuQyxJQUFJLENBQUMscUJBQXFCLEtBQUssVUFBVTtnQkFDekMsSUFBSSxDQUFDLHFCQUFxQixLQUFLLGFBQWEsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUN4QjtZQUNBLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSTthQUNMLENBQUMsQ0FBQyxDQUNKLENBQUE7U0FDRjtRQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwQyxDQUFDOytHQW5KVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixvS0MvQzdCLCt5REFzREE7OzRGRFBhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTsyTEFHcEIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHRocm93RXJyb3IsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlL21kdmlldy5mYWNhZGUnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIGNyZWF0ZVZpZXdGcm9tTGF5ZXIsXG4gIE1hcENvbnRleHQsXG4gIE1hcENvbnRleHRMYXllcixcbn0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIG1hcENvbnRhaW5lcjogTWFwQ29udGFpbmVyQ29tcG9uZW50XG5cbiAgc2VsZWN0aW9uOiBGZWF0dXJlXG5cbiAgY29tcGF0aWJsZU1hcExpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLm1hcEFwaUxpbmtzJCxcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnkkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW21hcEFwaUxpbmtzLCBnZW9EYXRhTGlua3NXaXRoR2VvbWV0cnldKSA9PiB7XG4gICAgICByZXR1cm4gWy4uLm1hcEFwaUxpbmtzLCAuLi5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnldXG4gICAgfSlcbiAgKVxuXG4gIGRyb3Bkb3duQ2hvaWNlcyQgPSB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MubGVuZ3RoXG4gICAgICAgID8gbGlua3MubWFwKChsaW5rLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICAgICAgfSkpXG4gICAgICAgIDogW3sgbGFiZWw6ICdObyBwcmV2aWV3IGxheWVyJywgdmFsdWU6IDAgfV1cbiAgICApXG4gIClcbiAgc2VsZWN0ZWRMaW5rSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKVxuXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBlcnJvciA9IG51bGxcblxuICBzZWxlY3RlZExpbmskID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLFxuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSW5kZXgkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gIF0pLnBpcGUobWFwKChbbGlua3MsIGluZGV4XSkgPT4gbGlua3NbaW5kZXhdKSlcblxuICBjdXJyZW50TGF5ZXJzJCA9IHRoaXMuc2VsZWN0ZWRMaW5rJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGluaykgPT4ge1xuICAgICAgaWYgKCFsaW5rKSB7XG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgIHRoaXMuZXJyb3IgPSBudWxsXG4gICAgICByZXR1cm4gdGhpcy5nZXRMYXllckZyb21MaW5rKGxpbmspLnBpcGUoXG4gICAgICAgIG1hcCgobGF5ZXIpID0+IFtsYXllcl0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9IGUubWVzc2FnZVxuICAgICAgICAgIGNvbnNvbGUud2FybihlLnN0YWNrIHx8IGUubWVzc2FnZSlcbiAgICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICAgKVxuICAgIH0pXG4gIClcblxuICBtYXBDb250ZXh0JDogT2JzZXJ2YWJsZTxNYXBDb250ZXh0PiA9IHRoaXMuY3VycmVudExheWVycyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxheWVycykgPT5cbiAgICAgIGZyb20oY3JlYXRlVmlld0Zyb21MYXllcihsYXllcnNbMF0pKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSwgLy8gY291bGQgbm90IHpvb20gb24gdGhlIGxheWVyOiB1c2UgdGhlIHJlY29yZCBleHRlbnRcbiAgICAgICAgbWFwKCh2aWV3KSA9PiAoe1xuICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICB2aWV3LFxuICAgICAgICB9KSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzdGFydFdpdGgoe1xuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIHZpZXc6IG51bGwsXG4gICAgfSksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5tZFZpZXdGYWNhZGUubWV0YWRhdGEkKSxcbiAgICBtYXAoKFtjb250ZXh0LCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnZpZXcpIHJldHVybiBjb250ZXh0XG4gICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcFV0aWxzLmdldFJlY29yZEV4dGVudChtZXRhZGF0YSlcbiAgICAgIGNvbnN0IHZpZXcgPSBleHRlbnQgPyB7IGV4dGVudCB9IDogbnVsbFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgdmlldyxcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIG1hcFV0aWxzOiBNYXBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbWFwID0gYXdhaXQgdGhpcy5tYXBDb250YWluZXIub3BlbmxheWVyc01hcFxuICAgIHByaW9yaXRpemVQYWdlU2Nyb2xsKG1hcC5nZXRJbnRlcmFjdGlvbnMoKSlcbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZVtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBmZWF0dXJlcz8ubGVuZ3RoID4gMCAmJiBmZWF0dXJlc1swXVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZSh0aGlzLnNlbGVjdGlvblN0eWxlKVxuICAgIH1cbiAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZShudWxsKVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogT2JzZXJ2YWJsZTxNYXBDb250ZXh0TGF5ZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXMnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXRzJ1xuICAgICkge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiAnd210cycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCcgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJykpIHx8XG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaykucGlwZShcbiAgICAgICAgbWFwKChkYXRhKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG5cbiAgc2VsZWN0TGlua1RvRGlzcGxheShsaW5rOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5uZXh0KGxpbmspXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWVuZCBtYi03IG10LTFcIj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwidHJ1bmNhdGUgcC0xIC1teC0xXCJcbiAgICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3QubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwic2VsZWN0TGlua1RvRGlzcGxheSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvblxuICAgICAgY2xhc3M9XCJzaHJpbmstMCBweS0xIHBsYWNlLXNlbGYtZW5kXCJcbiAgICAgIFtsaW5rXT1cInNlbGVjdGVkTGluayQgfCBhc3luY1wiXG4gICAgPlxuICAgIDwvZ24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gID5cbiAgICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICAgI21hcENvbnRhaW5lclxuICAgICAgW2NvbnRleHRdPVwibWFwQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktbWFwLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2VsZWN0aW9uXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldFNlbGVjdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJyb3VuZGVkIGJnLXByaW1hcnktb3BhY2l0eS0yNSB0ZXh0LXdoaXRlIGFic29sdXRlIHJpZ2h0LVswLjVlbV1cIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgYWxpZ24tbWlkZGxlIHRleHQtc21cIlxuICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAyMXB4XCJcbiAgICAgICAgICA+Y2xvc2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGduLXVpLWZlYXR1cmUtZGV0YWlsIFtmZWF0dXJlXT1cInNlbGVjdGlvblwiPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG4gICAgPC9kaXY+XG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICBbbWVzc2FnZV09XCInbWFwLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cImVycm9yX291dGxpbmVcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -31,7 +31,9 @@ export class MdViewFacade {
31
31
  this.error$ = this.store.pipe(select(MdViewSelectors.getMetadataError));
32
32
  this.related$ = this.store.pipe(select(MdViewSelectors.getRelated));
33
33
  this.chartConfig$ = this.store.pipe(select(MdViewSelectors.getChartConfig));
34
- this.allLinks$ = this.metadata$.pipe(map((record) => ('distributions' in record ? record.distributions : [])));
34
+ this.allLinks$ = this.metadata$.pipe(map((record) => record.kind === 'dataset' && 'onlineResources' in record
35
+ ? record.onlineResources
36
+ : []));
35
37
  this.apiLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))));
36
38
  this.mapApiLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API))));
37
39
  this.downloadLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
@@ -98,4 +100,4 @@ export class MdViewFacade {
98
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdViewFacade, decorators: [{
99
101
  type: Injectable
100
102
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.LinkClassifierService }, { type: i3.AvatarServiceInterface }, { type: i4.DataService }]; } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFNekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7QUFHeEU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLEtBQVksRUFDYixjQUFxQyxFQUNwQyxhQUFxQyxFQUN0QyxXQUF3QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdqQyxlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFB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Sjs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxVQUF5QjtRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFzQztRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxZQUEwQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdkUsQ0FBQzsrR0FqS1UsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQVB4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkZWZhdWx0SWZFbXB0eSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRvQXJyYXksXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgTWRWaWV3QWN0aW9ucyBmcm9tICcuL21kdmlldy5hY3Rpb25zJ1xuaW1wb3J0ICogYXMgTWRWaWV3U2VsZWN0b3JzIGZyb20gJy4vbWR2aWV3LnNlbGVjdG9ycydcbmltcG9ydCB7IExpbmtDbGFzc2lmaWVyU2VydmljZSwgTGlua1VzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYydcbmltcG9ydCB7IE9nY0FwaVJlY29yZCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcblxuQEluamVjdGFibGUoKVxuLyoqXG4gKiBUaGUgTWV0YWRhdGEgVmlldyBGYWNhZGUgaXMgdXNlZCB0byByZW5kZXIgY29tcGxldGUgbWV0YWRhdGEgcmVjb3Jkcy5cbiAqIFN1cHBseSBpdCB3aXRoIGFuIGluY29tcGxldGUgcmVjb3JkIChhdCBsZWFzdCBjb250YWluaW5nIHRoZSB1dWlkKSBhbmQgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGZ1bGwgcmVjb3JkIHdpbGwgYmUgbG9hZGVkLlxuICogVG8gY2xlYXIgdGhlIGN1cnJlbnQgcmVjb3JkIHVzZSB0aGUgYGNsb3NlKClgIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1kVmlld0ZhY2FkZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHB1YmxpYyBsaW5rQ2xhc3NpZmllcjogTGlua0NsYXNzaWZpZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZUludGVyZmFjZSxcbiAgICBwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlXG4gICkge31cblxuICBpc1ByZXNlbnQkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFVdWlkKSxcbiAgICBtYXAoKHV1aWQpID0+ICEhdXVpZClcbiAgKVxuXG4gIGlzTWV0YWRhdGFMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNMb2FkaW5nKVxuICApXG5cbiAgbWV0YWRhdGEkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGEpLFxuICAgIGZpbHRlcigobWQpID0+ICEhbWQpXG4gIClcblxuICBpc0luY29tcGxldGUkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFJc0luY29tcGxldGUpLFxuICAgIGZpbHRlcigoaW5jb21wbGV0ZSkgPT4gaW5jb21wbGV0ZSAhPT0gbnVsbClcbiAgKVxuXG4gIGVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhRXJyb3IpKVxuXG4gIHJlbGF0ZWQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0UmVsYXRlZCkpXG5cbiAgY2hhcnRDb25maWckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0Q2hhcnRDb25maWcpKVxuXG4gIGFsbExpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+ICgnZGlzdHJpYnV0aW9ucycgaW4gcmVjb3JkID8gcmVjb3JkLmRpc3RyaWJ1dGlvbnMgOiBbXSkpXG4gIClcblxuICBhcGlMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkFQSSkpXG4gICAgKVxuICApXG5cbiAgbWFwQXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5NQVBfQVBJKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGRvd25sb2FkTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5ET1dOTE9BRClcbiAgICAgIClcbiAgICApXG4gIClcblxuICBkYXRhTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5EQVRBKSlcbiAgICApXG4gIClcblxuICBnZW9EYXRhTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5HRU9EQVRBKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGlua3MpID0+XG4gICAgICBmcm9tKGxpbmtzKS5waXBlKFxuICAgICAgICBtZXJnZU1hcCgobGluaykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5HRU9EQVRBKSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmcm9tKFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0SXRlbXNGcm9tT2djQXBpKGxpbmsudXJsLmhyZWYpXG4gICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGNvbGxlY3Rpb25SZWNvcmRzOiBPZ2NBcGlSZWNvcmQpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uUmVjb3JkcyAmJiBjb2xsZWN0aW9uUmVjb3Jkcy5nZW9tZXRyeVxuICAgICAgICAgICAgICAgICAgICA/IGxpbmtcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVmYXVsdElmRW1wdHkobnVsbCksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGxpbmspXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRvQXJyYXkoKSxcbiAgICAgICAgbWFwKChsaW5rcykgPT4gbGlua3MuZmlsdGVyKChsaW5rKSA9PiBsaW5rICE9PSBudWxsKSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBsYW5kaW5nUGFnZUxpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+ICgnbGFuZGluZ1BhZ2UnIGluIHJlY29yZCA/IFtyZWNvcmQubGFuZGluZ1BhZ2VdIDogW10pKVxuICApXG5cbiAgb3RoZXJMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLlVOS05PV04pXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgdXNlckZlZWRiYWNrcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRVc2VyRmVlZGJhY2tzKSlcbiAgaXNBbGxVc2VyRmVlZGJhY2tMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEFsbFVzZXJGZWVkYmFja3NMb2FkaW5nKVxuICApXG4gIGlzQWRkVXNlckZlZWRiYWNrTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRBZGRVc2VyRmVlZGJhY2tzTG9hZGluZylcbiAgKVxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgc2hvdyBhbiBpbmNvbXBsZXRlIHJlY29yZCAoZS5nLiBmcm9tIGEgc2VhcmNoIHJlc3VsdCkgYXMgYSBwcmV2aWV3XG4gICAqIE5vdGU6IHRoZSBmdWxsIHJlY29yZCB3aWxsIG5vdCBiZSBsb2FkZWQgYXV0b21hdGljYWxseTsgdXNlIHRoZSBgbG9hZEZ1bGxgIG1ldGhvZCBmb3IgdGhhdFxuICAgKi9cbiAgc2V0SW5jb21wbGV0ZU1ldGFkYXRhKGluY29tcGxldGU6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhKHsgaW5jb21wbGV0ZSB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgbG9hZCBvZiBhIGZ1bGwgbWV0YWRhdGEgcmVjb3JkXG4gICAqL1xuICBsb2FkRnVsbCh1dWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSh7IHV1aWQgfSkpXG4gIH1cblxuICBjbG9zZU1ldGFkYXRhKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5jbG9zZU1ldGFkYXRhKCkpXG4gIH1cblxuICBzZXRDaGFydENvbmZpZyhjaGFydENvbmZpZzogRGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5zZXRDaGFydENvbmZpZyh7IGNoYXJ0Q29uZmlnIH0pKVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZXJGZWVkYmFja3NcbiAgICovXG4gIGFkZFVzZXJGZWVkYmFjayh1c2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFjaykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5hZGRVc2VyRmVlZGJhY2soeyB1c2VyRmVlZGJhY2sgfSkpXG4gIH1cblxuICBsb2FkVXNlckZlZWRiYWNrcyhkYXRhc2V0VXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzKHsgZGF0YXNldFV1aWQgfSkpXG4gIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFNekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7QUFHeEU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLEtBQVksRUFDYixjQUFxQyxFQUNwQyxhQUFxQyxFQUN0QyxXQUF3QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdqQyxlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFB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bkQsQ0FBQTtJQTdIRSxDQUFDO0lBK0hKOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFVBQXlCO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXNDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLFlBQTBCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQW1CO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN2RSxDQUFDOytHQXJLVSxZQUFZO21IQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBUHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRlZmF1bHRJZkVtcHR5LFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHN3aXRjaE1hcCxcbiAgdG9BcnJheSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdTZWxlY3RvcnMgZnJvbSAnLi9tZHZpZXcuc2VsZWN0b3JzJ1xuaW1wb3J0IHsgTGlua0NsYXNzaWZpZXJTZXJ2aWNlLCBMaW5rVXNhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIFVzZXJGZWVkYmFjayxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgT2djQXBpUmVjb3JkIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IGZyb20sIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuXG5ASW5qZWN0YWJsZSgpXG4vKipcbiAqIFRoZSBNZXRhZGF0YSBWaWV3IEZhY2FkZSBpcyB1c2VkIHRvIHJlbmRlciBjb21wbGV0ZSBtZXRhZGF0YSByZWNvcmRzLlxuICogU3VwcGx5IGl0IHdpdGggYW4gaW5jb21wbGV0ZSByZWNvcmQgKGF0IGxlYXN0IGNvbnRhaW5pbmcgdGhlIHV1aWQpIGFuZCB0aGVcbiAqIGNvcnJlc3BvbmRpbmcgZnVsbCByZWNvcmQgd2lsbCBiZSBsb2FkZWQuXG4gKiBUbyBjbGVhciB0aGUgY3VycmVudCByZWNvcmQgdXNlIHRoZSBgY2xvc2UoKWAgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTWRWaWV3RmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHVibGljIGxpbmtDbGFzc2lmaWVyOiBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHB1YmxpYyBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIGlzUHJlc2VudCQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YVV1aWQpLFxuICAgIG1hcCgodXVpZCkgPT4gISF1dWlkKVxuICApXG5cbiAgaXNNZXRhZGF0YUxvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFJc0xvYWRpbmcpXG4gIClcblxuICBtZXRhZGF0YSQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YSksXG4gICAgZmlsdGVyKChtZCkgPT4gISFtZClcbiAgKVxuXG4gIGlzSW5jb21wbGV0ZSQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUlzSW5jb21wbGV0ZSksXG4gICAgZmlsdGVyKChpbmNvbXBsZXRlKSA9PiBpbmNvbXBsZXRlICE9PSBudWxsKVxuICApXG5cbiAgZXJyb3IkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFFcnJvcikpXG5cbiAgcmVsYXRlZCQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRSZWxhdGVkKSlcblxuICBjaGFydENvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRDaGFydENvbmZpZykpXG5cbiAgYWxsTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT5cbiAgICAgIHJlY29yZC5raW5kID09PSAnZGF0YXNldCcgJiYgJ29ubGluZVJlc291cmNlcycgaW4gcmVjb3JkXG4gICAgICAgID8gcmVjb3JkLm9ubGluZVJlc291cmNlc1xuICAgICAgICA6IFtdXG4gICAgKVxuICApXG5cbiAgYXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5BUEkpKVxuICAgIClcbiAgKVxuXG4gIG1hcEFwaUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBkb3dubG9hZExpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuRE9XTkxPQUQpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZGF0YUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT4gdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuREFUQSkpXG4gICAgKVxuICApXG5cbiAgZ2VvRGF0YUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuR0VPREFUQSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBnZW9EYXRhTGlua3NXaXRoR2VvbWV0cnkkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxpbmtzKSA9PlxuICAgICAgZnJvbShsaW5rcykucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKGxpbmspID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuR0VPREFUQSkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcydcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldEl0ZW1zRnJvbU9nY0FwaShsaW5rLnVybC5ocmVmKVxuICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChjb2xsZWN0aW9uUmVjb3JkczogT2djQXBpUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvblJlY29yZHMgJiYgY29sbGVjdGlvblJlY29yZHMuZ2VvbWV0cnlcbiAgICAgICAgICAgICAgICAgICAgPyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRJZkVtcHR5KG51bGwpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSlcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihsaW5rKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0b0FycmF5KCksXG4gICAgICAgIG1hcCgobGlua3MpID0+IGxpbmtzLmZpbHRlcigobGluaykgPT4gbGluayAhPT0gbnVsbCkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgbGFuZGluZ1BhZ2VMaW5rcyQgPSB0aGlzLm1ldGFkYXRhJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiAoJ2xhbmRpbmdQYWdlJyBpbiByZWNvcmQgPyBbcmVjb3JkLmxhbmRpbmdQYWdlXSA6IFtdKSlcbiAgKVxuXG4gIG90aGVyTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5VTktOT1dOKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIHVzZXJGZWVkYmFja3MkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0VXNlckZlZWRiYWNrcykpXG4gIGlzQWxsVXNlckZlZWRiYWNrTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRBbGxVc2VyRmVlZGJhY2tzTG9hZGluZylcbiAgKVxuICBpc0FkZFVzZXJGZWVkYmFja0xvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0QWRkVXNlckZlZWRiYWNrc0xvYWRpbmcpXG4gIClcblxuICAvKipcbiAgICogVGhpcyB3aWxsIHNob3cgYW4gaW5jb21wbGV0ZSByZWNvcmQgKGUuZy4gZnJvbSBhIHNlYXJjaCByZXN1bHQpIGFzIGEgcHJldmlld1xuICAgKiBOb3RlOiB0aGUgZnVsbCByZWNvcmQgd2lsbCBub3QgYmUgbG9hZGVkIGF1dG9tYXRpY2FsbHk7IHVzZSB0aGUgYGxvYWRGdWxsYCBtZXRob2QgZm9yIHRoYXRcbiAgICovXG4gIHNldEluY29tcGxldGVNZXRhZGF0YShpbmNvbXBsZXRlOiBDYXRhbG9nUmVjb3JkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldEluY29tcGxldGVNZXRhZGF0YSh7IGluY29tcGxldGUgfSkpXG4gIH1cblxuICAvKipcbiAgICogVGhpcyB3aWxsIHRyaWdnZXIgdGhlIGxvYWQgb2YgYSBmdWxsIG1ldGFkYXRhIHJlY29yZFxuICAgKi9cbiAgbG9hZEZ1bGwodXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGEoeyB1dWlkIH0pKVxuICB9XG5cbiAgY2xvc2VNZXRhZGF0YSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuY2xvc2VNZXRhZGF0YSgpKVxuICB9XG5cbiAgc2V0Q2hhcnRDb25maWcoY2hhcnRDb25maWc6IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuc2V0Q2hhcnRDb25maWcoeyBjaGFydENvbmZpZyB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VyRmVlZGJhY2tzXG4gICAqL1xuICBhZGRVc2VyRmVlZGJhY2sodXNlckZlZWRiYWNrOiBVc2VyRmVlZGJhY2spIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH0pKVxuICB9XG5cbiAgbG9hZFVzZXJGZWVkYmFja3MoZGF0YXNldFV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrcyh7IGRhdGFzZXRVdWlkIH0pKVxuICB9XG59XG4iXX0=