geonetwork-ui 2.4.0-dev.fe59f179 → 2.4.1-dev.4e8752d34

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 (1520) hide show
  1. package/README.md +1 -7
  2. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +38 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/convert-utils.mjs +1 -1
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +270 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +227 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +57 -0
  13. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +96 -0
  14. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  15. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +47 -0
  16. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  17. package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
  18. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  19. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +7 -6
  20. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +40 -20
  21. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +5 -5
  22. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.mjs +1 -1
  23. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  24. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  25. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +14 -8
  26. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +39 -12
  27. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +58 -43
  28. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +156 -98
  29. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +143 -29
  30. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  31. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  32. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +1 -1
  33. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +1 -1
  34. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
  35. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +198 -105
  36. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +118 -24
  37. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +36 -9
  38. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +5 -5
  39. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.mjs +12 -0
  40. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -25
  41. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/index.mjs +2 -1
  42. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  43. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +153 -40
  44. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +4 -4
  45. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +5 -5
  46. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +15 -5
  47. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +82 -10
  48. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  49. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  50. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  51. package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
  52. package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
  53. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +46 -19
  54. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  55. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
  56. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  57. package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
  58. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  59. package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +2 -1
  60. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  61. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  62. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  63. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  64. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  65. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +6 -6
  66. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +6 -6
  67. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +6 -6
  68. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +6 -6
  69. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +6 -6
  70. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +6 -6
  71. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +6 -6
  72. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +6 -6
  73. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +6 -6
  74. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +6 -6
  75. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +6 -6
  76. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +6 -6
  77. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +6 -6
  78. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +6 -6
  79. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +6 -6
  80. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +7 -11
  81. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +6 -6
  82. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +6 -6
  83. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +6 -6
  84. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +6 -6
  85. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +6 -6
  86. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +6 -6
  87. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +6 -6
  88. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +6 -6
  89. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +6 -6
  90. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +6 -6
  91. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +6 -6
  92. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +6 -6
  93. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +6 -6
  94. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +6 -6
  95. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +6 -6
  96. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +6 -6
  97. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +7 -7
  98. package/esm2022/libs/data-access/gn4/src/openapi/configuration.mjs +1 -1
  99. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +4 -4
  100. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +17 -21
  101. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  102. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +41 -16
  103. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -4
  104. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +6 -6
  105. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +5 -5
  106. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  107. package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
  108. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +18 -11
  109. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +7 -6
  110. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  111. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +38 -51
  112. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +20 -9
  113. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -10
  114. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  115. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +6 -1
  116. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +32 -10
  117. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +21 -5
  118. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  119. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +31 -3
  120. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +17 -6
  121. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +68 -0
  122. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +16 -0
  123. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +88 -0
  124. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +113 -0
  125. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +85 -0
  126. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +73 -0
  127. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +3 -3
  128. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +76 -0
  129. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.mjs +35 -0
  130. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +130 -0
  131. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  132. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +157 -0
  133. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.mjs +19 -0
  134. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +5 -5
  135. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +32 -41
  136. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +34 -51
  137. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  138. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +3 -3
  139. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +157 -0
  140. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +196 -0
  141. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  142. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +110 -0
  143. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +14 -18
  144. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +12 -30
  145. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +117 -6
  146. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.mjs +44 -0
  147. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +53 -70
  148. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +50 -72
  149. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +71 -49
  150. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -3
  151. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +16 -10
  152. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +6 -6
  153. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +12 -12
  154. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +5 -5
  155. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  156. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +10 -8
  157. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +279 -57
  158. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  159. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  160. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +20 -11
  161. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +5 -5
  162. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  163. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  164. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +13 -19
  165. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  166. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  167. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +9 -9
  168. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +21 -20
  169. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +26 -17
  170. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +18 -17
  171. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +21 -16
  172. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +19 -14
  173. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  174. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +12 -75
  175. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +44 -30
  176. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +6 -6
  177. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +65 -22
  178. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  179. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  180. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  181. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +14 -173
  182. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +4 -4
  183. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  184. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +6 -5
  185. package/esm2022/libs/feature/record/src/index.mjs +4 -1
  186. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -10
  187. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +51 -30
  188. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +27 -11
  189. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +59 -23
  190. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +28 -22
  191. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +24 -51
  192. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +169 -0
  193. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +45 -0
  194. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +81 -57
  195. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +45 -0
  196. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  197. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +17 -7
  198. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +1 -1
  199. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +6 -6
  200. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  201. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -5
  202. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  203. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +50 -0
  204. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +8 -8
  205. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -8
  206. package/esm2022/libs/feature/search/src/index.mjs +3 -1
  207. package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -2
  208. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  209. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +4 -4
  210. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +5 -5
  211. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -7
  212. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +22 -19
  213. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +30 -8
  214. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -6
  215. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +5 -5
  216. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  217. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +5 -5
  218. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +15 -10
  219. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +55 -10
  220. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +67 -0
  221. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +84 -0
  222. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +9 -5
  223. package/esm2022/libs/feature/search/src/lib/state/actions.mjs +1 -1
  224. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +6 -6
  225. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -6
  226. package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +1 -1
  227. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +12 -10
  228. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +1 -9
  229. package/esm2022/libs/feature/search/src/lib/utils/operators/search.operator.mjs +1 -1
  230. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +63 -8
  231. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +19 -8
  232. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  233. package/esm2022/libs/ui/catalog/src/index.mjs +1 -2
  234. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +6 -5
  235. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +15 -19
  236. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +17 -7
  237. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +9 -9
  238. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +6 -5
  239. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +6 -6
  240. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -7
  241. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +6 -6
  242. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  243. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +33 -7
  244. package/esm2022/libs/ui/elements/src/index.mjs +4 -4
  245. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +28 -9
  246. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +3 -3
  247. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  248. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +6 -5
  249. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +20 -9
  250. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +40 -12
  251. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +25 -7
  252. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
  253. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +17 -9
  254. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +18 -8
  255. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +8 -9
  256. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +7 -5
  257. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +7 -6
  258. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +28 -8
  259. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +7 -6
  260. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +43 -15
  261. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +16 -15
  262. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +10 -8
  263. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +38 -7
  264. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +40 -35
  265. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +20 -11
  266. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +6 -6
  267. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +40 -106
  268. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +6 -6
  269. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +29 -11
  270. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  271. package/esm2022/libs/ui/inputs/src/index.mjs +6 -2
  272. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +53 -18
  273. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +21 -5
  274. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +11 -4
  275. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +7 -7
  276. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  277. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +5 -5
  278. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +10 -7
  279. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +23 -6
  280. package/esm2022/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.mjs +65 -0
  281. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +24 -8
  282. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +3 -3
  283. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -8
  284. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +25 -9
  285. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +28 -26
  286. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +108 -0
  287. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  288. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +7 -7
  289. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +19 -7
  290. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +8 -6
  291. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +37 -0
  292. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +9 -23
  293. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +8 -19
  294. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +49 -59
  295. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +88 -0
  296. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +5 -5
  297. package/esm2022/libs/ui/layout/src/index.mjs +8 -1
  298. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +5 -5
  299. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +20 -15
  300. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +27 -22
  301. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +9 -7
  302. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +8 -6
  303. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +9 -6
  304. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +6 -4
  305. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +12 -8
  306. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +6 -6
  307. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  308. package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +2 -0
  309. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +52 -0
  310. package/esm2022/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.mjs +52 -0
  311. package/esm2022/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.mjs +36 -0
  312. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +26 -0
  313. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +35 -0
  314. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +6 -6
  315. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +17 -26
  316. package/esm2022/libs/ui/map/src/index.mjs +5 -3
  317. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +10 -8
  318. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +147 -0
  319. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  320. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +32 -0
  321. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  322. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  323. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +6 -6
  324. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +3 -3
  325. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +4 -4
  326. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  327. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +3 -3
  328. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +5 -5
  329. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +3 -3
  330. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +8 -7
  331. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +3 -3
  332. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +10 -9
  333. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +3 -3
  334. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +3 -3
  335. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  336. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +1 -1
  337. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  338. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +5 -5
  339. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +59 -0
  340. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +102 -40
  341. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +34 -12
  342. package/esm2022/libs/ui/widgets/src/index.mjs +2 -1
  343. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  344. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +7 -6
  345. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  346. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +8 -8
  347. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +5 -5
  348. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +5 -5
  349. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +5 -5
  350. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +9 -34
  351. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  352. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +9 -2
  353. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +11 -10
  354. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +33 -0
  355. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  356. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +1 -1
  357. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +1 -1
  358. package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +1 -1
  359. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +3 -3
  360. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +1 -1
  361. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +1 -1
  362. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +1 -1
  363. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +1 -1
  364. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +1 -1
  365. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +1 -1
  366. package/esm2022/libs/util/data-fetcher/src/lib/sql-utils.mjs +1 -1
  367. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -11
  368. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  369. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
  370. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  371. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +6 -6
  372. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
  373. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +6 -6
  374. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +5 -5
  375. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +6 -4
  376. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +17 -17
  377. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +3 -3
  378. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +12 -9
  379. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +5 -4
  380. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +4 -4
  381. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  382. package/esm2022/libs/util/shared/src/lib/utils/format-fields.mjs +9 -0
  383. package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +1 -1
  384. package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +1 -1
  385. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +3 -1
  386. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  387. package/esm2022/libs/util/shared/src/lib/utils/parse.mjs +1 -1
  388. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +1 -1
  389. package/esm2022/libs/util/shared/src/lib/utils/url.mjs +1 -1
  390. package/esm2022/translations/de.json +196 -47
  391. package/esm2022/translations/en.json +241 -76
  392. package/esm2022/translations/es.json +174 -25
  393. package/esm2022/translations/fr.json +268 -103
  394. package/esm2022/translations/it.json +179 -30
  395. package/esm2022/translations/nl.json +174 -25
  396. package/esm2022/translations/pt.json +174 -25
  397. package/fesm2022/geonetwork-ui.mjs +13429 -8134
  398. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  399. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  400. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  401. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  402. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  403. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  404. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +5 -0
  405. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -0
  406. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  407. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  408. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  409. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  410. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  411. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  412. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  413. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  414. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +21 -0
  415. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  416. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +15 -0
  417. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  418. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  419. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  420. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  421. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  422. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  423. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  424. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  425. package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
  426. package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
  427. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +4 -4
  428. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  429. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  430. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  431. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  432. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts +1 -1
  433. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts.map +1 -1
  434. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  435. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  436. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +12 -10
  437. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  438. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  439. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +7 -4
  440. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  441. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +6 -4
  442. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  443. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +4 -2
  444. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  445. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +25 -9
  446. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  447. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  448. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  449. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
  450. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +26 -18
  451. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  452. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +106 -4
  453. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  454. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts +14 -2
  455. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  456. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts +4 -0
  457. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts.map +1 -0
  458. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +5 -1
  459. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  460. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts +1 -0
  461. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts.map +1 -1
  462. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +31 -13
  463. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  464. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  465. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +13 -5
  466. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  467. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
  468. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  469. package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
  470. package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
  471. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
  472. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
  473. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +3 -2
  474. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  475. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  476. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  477. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +38 -15
  478. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  479. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +2 -0
  480. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  481. package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
  482. package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
  483. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +16 -1
  484. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  485. package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
  486. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  487. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  488. package/libs/common/domain/src/lib/platform.service.interface.d.ts +17 -1
  489. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  490. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +29 -0
  491. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  492. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  493. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  494. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  495. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  496. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  497. package/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.d.ts.map +1 -1
  498. package/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.d.ts.map +1 -1
  499. package/libs/data-access/gn4/src/openapi/model/link.api.model.d.ts.map +1 -1
  500. package/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.d.ts.map +1 -1
  501. package/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.d.ts.map +1 -1
  502. package/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.d.ts.map +1 -1
  503. package/libs/data-access/gn4/src/openapi/model/operation.api.model.d.ts.map +1 -1
  504. package/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.d.ts.map +1 -1
  505. package/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.d.ts.map +1 -1
  506. package/libs/data-access/gn4/src/openapi/model/setting.api.model.d.ts.map +1 -1
  507. package/libs/data-access/gn4/src/openapi/model/status.api.model.d.ts.map +1 -1
  508. package/libs/data-access/gn4/src/openapi/model/statusValue.api.model.d.ts.map +1 -1
  509. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts.map +1 -1
  510. package/libs/data-access/gn4/src/openapi/model/userGroup.api.model.d.ts.map +1 -1
  511. package/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.d.ts.map +1 -1
  512. package/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.d.ts.map +1 -1
  513. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +8 -8
  514. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  515. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +10 -3
  516. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  517. package/libs/feature/dataviz/src/index.d.ts +0 -1
  518. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  519. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +3 -3
  520. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  521. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts +1 -1
  522. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  523. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +14 -21
  524. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  525. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +9 -7
  526. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  527. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +4 -4
  528. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  529. package/libs/feature/editor/src/index.d.ts +1 -0
  530. package/libs/feature/editor/src/index.d.ts.map +1 -1
  531. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +37 -7
  532. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  533. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +21 -8
  534. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  535. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +15 -7
  536. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  537. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +9 -1
  538. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  539. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +8 -3
  540. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  541. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +12 -9
  542. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  543. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts +16 -0
  544. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -0
  545. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  546. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  547. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  548. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  549. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  550. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  551. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  552. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  553. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +17 -0
  554. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -0
  555. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts +18 -0
  556. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -0
  557. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts +6 -0
  558. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts.map +1 -0
  559. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts +32 -0
  560. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts.map +1 -0
  561. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  562. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  563. 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
  564. 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
  565. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts +9 -0
  566. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts.map +1 -0
  567. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  568. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  569. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +15 -34
  570. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  571. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  572. 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
  573. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +38 -0
  574. 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
  575. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +47 -0
  576. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -0
  577. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +14 -0
  578. 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
  579. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +34 -0
  580. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  581. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  582. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  583. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +5 -10
  584. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  585. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +24 -0
  586. 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
  587. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts +14 -0
  588. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts.map +1 -0
  589. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -16
  590. 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
  591. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  592. 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
  593. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +20 -20
  594. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  595. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -2
  596. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  597. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +7 -7
  598. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  599. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  600. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  601. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  602. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  603. package/libs/feature/editor/src/lib/fields.config.d.ts +64 -2
  604. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  605. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +45 -0
  606. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  607. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  608. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  609. package/libs/feature/editor/src/lib/services/editor.service.d.ts +8 -3
  610. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  611. package/libs/feature/map/src/index.d.ts +1 -8
  612. package/libs/feature/map/src/index.d.ts.map +1 -1
  613. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  614. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  615. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  616. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  617. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  618. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  619. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  620. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  621. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  622. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  623. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  624. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  625. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  626. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  627. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  628. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  629. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  630. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  631. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  632. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  633. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  634. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  635. package/libs/feature/map/src/lib/feature-map.module.d.ts +11 -23
  636. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  637. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  638. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  639. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  640. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  641. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  642. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  643. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  644. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  645. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  646. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  647. package/libs/feature/notifications/src/lib/notifications.service.d.ts +1 -1
  648. package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -1
  649. package/libs/feature/record/src/index.d.ts +3 -0
  650. package/libs/feature/record/src/index.d.ts.map +1 -1
  651. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +4 -4
  652. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  653. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  654. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  655. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  656. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  657. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  658. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  659. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  660. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  661. package/libs/feature/record/src/lib/feature-record.module.d.ts +15 -23
  662. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  663. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts +74 -0
  664. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -0
  665. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts +19 -0
  666. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -0
  667. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +21 -21
  668. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  669. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +14 -0
  670. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts.map +1 -0
  671. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +13 -13
  672. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  673. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -9
  674. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  675. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  676. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  677. package/libs/feature/router/src/lib/default/constants.d.ts +3 -2
  678. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  679. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts +4 -0
  680. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -0
  681. package/libs/feature/router/src/lib/default/state/router.actions.d.ts +3 -3
  682. package/libs/feature/router/src/lib/default/state/router.actions.d.ts.map +1 -1
  683. package/libs/feature/router/src/lib/default/state/router.effects.d.ts +5 -5
  684. package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
  685. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -1
  686. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  687. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts +1 -1
  688. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts.map +1 -1
  689. package/libs/feature/search/src/index.d.ts +2 -0
  690. package/libs/feature/search/src/index.d.ts.map +1 -1
  691. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  692. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  693. package/libs/feature/search/src/lib/feature-search.module.d.ts +17 -15
  694. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  695. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +7 -1
  696. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  697. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -0
  698. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  699. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +18 -6
  700. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  701. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +22 -0
  702. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -0
  703. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts +34 -0
  704. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -0
  705. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
  706. package/libs/feature/search/src/lib/state/actions.d.ts.map +1 -1
  707. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -2
  708. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  709. package/libs/feature/search/src/lib/state/selectors.d.ts +0 -2
  710. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  711. package/libs/feature/search/src/lib/utils/operators/search.operator.d.ts.map +1 -1
  712. package/libs/feature/search/src/lib/utils/service/fields.d.ts +24 -6
  713. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  714. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +4 -2
  715. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  716. package/libs/ui/catalog/src/index.d.ts +0 -1
  717. package/libs/ui/catalog/src/index.d.ts.map +1 -1
  718. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts +1 -1
  719. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts.map +1 -1
  720. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts +10 -8
  721. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts.map +1 -1
  722. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +1 -1
  723. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts.map +1 -1
  724. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  725. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  726. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts +1 -1
  727. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts.map +1 -1
  728. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  729. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  730. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +3 -3
  731. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +1 -1
  732. package/libs/ui/elements/src/index.d.ts +3 -3
  733. package/libs/ui/elements/src/index.d.ts.map +1 -1
  734. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +1 -1
  735. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  736. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  737. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  738. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts +1 -1
  739. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts.map +1 -1
  740. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +4 -4
  741. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  742. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +10 -9
  743. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  744. package/libs/ui/elements/src/lib/error/error.component.d.ts +1 -1
  745. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  746. package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +6 -6
  747. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
  748. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +1 -1
  749. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -1
  750. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  751. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  752. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  753. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  754. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +2 -1
  755. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  756. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts +1 -1
  757. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts.map +1 -1
  758. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -1
  759. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  760. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts +2 -2
  761. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts.map +1 -1
  762. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -1
  763. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  764. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +1 -4
  765. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  766. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts +2 -2
  767. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  768. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +1 -0
  769. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -1
  770. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +6 -17
  771. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  772. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +1 -1
  773. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  774. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +20 -34
  775. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  776. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -1
  777. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
  778. package/libs/ui/inputs/src/index.d.ts +5 -1
  779. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  780. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  781. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  782. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  783. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  784. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  785. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +2 -2
  786. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  787. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +1 -1
  788. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts +1 -1
  789. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts.map +1 -1
  790. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  791. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts +20 -0
  792. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts.map +1 -0
  793. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  794. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  795. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  796. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  797. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +25 -0
  798. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  799. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +1 -1
  800. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +1 -1
  801. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  802. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  803. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +1 -1
  804. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  805. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +18 -0
  806. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  807. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  808. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  809. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  810. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  811. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +29 -35
  812. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  813. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +23 -0
  814. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  815. package/libs/ui/layout/src/index.d.ts +7 -0
  816. package/libs/ui/layout/src/index.d.ts.map +1 -1
  817. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +7 -5
  818. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  819. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +9 -7
  820. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  821. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +1 -1
  822. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  823. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts +1 -1
  824. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts.map +1 -1
  825. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  826. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  827. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +3 -2
  828. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -1
  829. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  830. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  831. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  832. package/libs/ui/layout/src/lib/paginable.interface.d.ts +15 -0
  833. package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -0
  834. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts +11 -0
  835. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts.map +1 -0
  836. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts +9 -0
  837. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +1 -0
  838. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts +10 -0
  839. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts.map +1 -0
  840. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +8 -0
  841. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  842. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  843. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  844. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +6 -8
  845. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  846. package/libs/ui/map/src/index.d.ts +4 -2
  847. package/libs/ui/map/src/index.d.ts.map +1 -1
  848. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  849. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  850. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  851. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  852. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  853. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  854. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts +12 -0
  855. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -0
  856. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  857. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  858. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  859. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  860. package/libs/ui/search/src/lib/results-list/results-layout.config.d.ts.map +1 -1
  861. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +24 -0
  862. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  863. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +22 -9
  864. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  865. package/libs/ui/search/src/lib/ui-search.module.d.ts +6 -5
  866. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  867. package/libs/ui/widgets/src/index.d.ts +1 -0
  868. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  869. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts +1 -1
  870. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts.map +1 -1
  871. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  872. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  873. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  874. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  875. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  876. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts +1 -1
  877. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts.map +1 -1
  878. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -13
  879. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  880. package/libs/util/app-config/src/index.d.ts +1 -0
  881. package/libs/util/app-config/src/index.d.ts.map +1 -1
  882. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  883. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  884. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  885. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  886. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  887. package/libs/util/app-config/src/lib/model.d.ts +6 -1
  888. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  889. package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
  890. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  891. package/libs/util/data-fetcher/src/lib/readers/csv.d.ts.map +1 -1
  892. package/libs/util/data-fetcher/src/lib/readers/excel.d.ts.map +1 -1
  893. package/libs/util/data-fetcher/src/lib/readers/geojson.d.ts.map +1 -1
  894. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  895. package/libs/util/data-fetcher/src/lib/readers/json.d.ts.map +1 -1
  896. package/libs/util/data-fetcher/src/lib/utils.d.ts +1 -1
  897. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  898. package/libs/util/i18n/src/index.d.ts +1 -0
  899. package/libs/util/i18n/src/index.d.ts.map +1 -1
  900. package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
  901. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  902. package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
  903. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
  904. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  905. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  906. package/libs/util/shared/src/lib/links/link-utils.d.ts +22 -22
  907. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  908. package/libs/util/shared/src/lib/services/proxy.service.d.ts +4 -2
  909. package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
  910. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  911. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  912. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  913. package/libs/util/shared/src/lib/utils/format-fields.d.ts +2 -0
  914. package/libs/util/shared/src/lib/utils/format-fields.d.ts.map +1 -0
  915. package/libs/util/shared/src/lib/utils/index.d.ts +2 -0
  916. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  917. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  918. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  919. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +4 -1
  920. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  921. package/package.json +50 -41
  922. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  923. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  924. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  925. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +50 -0
  926. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  927. package/src/libs/api/metadata-converter/src/lib/convert-utils.ts +1 -1
  928. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +504 -0
  929. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  930. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  931. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +463 -0
  932. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +110 -0
  933. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  934. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  935. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  936. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +127 -0
  937. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  938. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  939. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +101 -0
  940. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  941. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +743 -0
  942. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +43 -5
  943. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +246 -0
  944. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +101 -0
  945. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +187 -0
  946. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +26 -5
  947. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +374 -18
  948. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +216 -0
  949. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +90 -4
  950. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +437 -0
  951. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +487 -0
  952. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +76 -0
  953. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +451 -0
  954. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +289 -0
  955. package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
  956. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  957. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
  958. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -39
  959. package/src/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.ts +1 -1
  960. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  961. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +12 -10
  962. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +20 -9
  963. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +75 -18
  964. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +118 -65
  965. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +174 -95
  966. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +354 -56
  967. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  968. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
  969. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +632 -312
  970. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +145 -29
  971. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +35 -6
  972. package/src/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.ts +13 -0
  973. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +58 -23
  974. package/src/libs/api/repository/src/lib/gn4/elasticsearch/index.ts +1 -0
  975. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +268 -105
  976. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +13 -2
  977. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +173 -16
  978. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
  979. package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
  980. package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
  981. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +30 -2
  982. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  983. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +83 -22
  984. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +4 -0
  985. package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
  986. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +17 -1
  987. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +1 -0
  988. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  989. package/src/libs/common/domain/src/lib/platform.service.interface.ts +32 -1
  990. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +36 -0
  991. package/src/libs/common/fixtures/src/index.ts +6 -1
  992. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +163 -0
  993. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  994. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  995. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  996. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1674 -3
  997. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  998. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  999. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  1000. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  1001. package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +13374 -0
  1002. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  1003. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  1004. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  1005. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +242 -164
  1006. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  1007. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  1008. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  1009. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  1010. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  1011. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +125 -23
  1012. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  1013. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  1014. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  1015. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  1016. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  1017. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  1018. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  1019. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  1020. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +8 -9
  1021. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -5
  1022. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +41 -5
  1023. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  1024. package/src/libs/feature/dataviz/src/index.ts +0 -1
  1025. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -1
  1026. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +23 -5
  1027. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +3 -1
  1028. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  1029. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  1030. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +43 -78
  1031. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +36 -13
  1032. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -1
  1033. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +19 -6
  1034. package/src/libs/feature/editor/src/index.ts +1 -0
  1035. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +23 -0
  1036. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +69 -8
  1037. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +26 -1
  1038. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +12 -1
  1039. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +38 -5
  1040. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +27 -8
  1041. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.css +4 -0
  1042. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +28 -0
  1043. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +71 -0
  1044. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  1045. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +17 -0
  1046. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +3 -0
  1047. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +27 -0
  1048. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +100 -0
  1049. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +46 -0
  1050. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +153 -0
  1051. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  1052. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +92 -0
  1053. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +33 -0
  1054. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +81 -0
  1055. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.css +4 -0
  1056. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.html +24 -0
  1057. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +85 -0
  1058. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.ts +42 -0
  1059. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.css +4 -0
  1060. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.html +34 -0
  1061. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +210 -0
  1062. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  1063. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  1064. 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
  1065. 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
  1066. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +221 -0
  1067. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.html +4 -0
  1068. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.ts +21 -0
  1069. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.html +1 -1
  1070. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  1071. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  1072. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  1073. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +11 -8
  1074. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +42 -46
  1075. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  1076. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  1077. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +58 -0
  1078. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +196 -0
  1079. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +88 -0
  1080. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +251 -0
  1081. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  1082. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +51 -0
  1083. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  1084. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +22 -0
  1085. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +135 -0
  1086. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +16 -9
  1087. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  1088. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +4 -23
  1089. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +12 -25
  1090. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +15 -1
  1091. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +172 -1
  1092. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.css +0 -0
  1093. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.html +5 -0
  1094. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.ts +60 -0
  1095. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  1096. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +32 -4
  1097. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +54 -86
  1098. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  1099. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +17 -14
  1100. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +59 -85
  1101. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +162 -68
  1102. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +83 -46
  1103. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -2
  1104. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +57 -9
  1105. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +20 -7
  1106. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  1107. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  1108. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  1109. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  1110. package/src/libs/feature/editor/src/lib/fields.config.ts +327 -57
  1111. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +73 -0
  1112. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  1113. package/src/libs/feature/editor/src/lib/services/editor.service.ts +29 -7
  1114. package/src/libs/feature/map/src/index.ts +1 -8
  1115. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  1116. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  1117. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  1118. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  1119. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  1120. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  1121. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  1122. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  1123. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  1124. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  1125. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  1126. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +3 -3
  1127. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  1128. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  1129. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -43
  1130. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  1131. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +5 -7
  1132. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +58 -6
  1133. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  1134. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  1135. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  1136. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  1137. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -232
  1138. package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -1
  1139. package/src/libs/feature/record/src/index.ts +3 -0
  1140. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
  1141. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +18 -3
  1142. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +41 -19
  1143. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  1144. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +27 -1
  1145. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +64 -12
  1146. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +1 -1
  1147. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +37 -21
  1148. package/src/libs/feature/record/src/lib/feature-record.module.ts +10 -29
  1149. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.css +22 -0
  1150. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.html +132 -0
  1151. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +253 -0
  1152. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.css +0 -0
  1153. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.html +37 -0
  1154. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +43 -0
  1155. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +54 -16
  1156. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +107 -76
  1157. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +45 -0
  1158. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -2
  1159. package/src/libs/feature/router/src/lib/default/constants.ts +6 -1
  1160. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +61 -0
  1161. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  1162. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +6 -4
  1163. package/src/libs/feature/search/src/index.ts +2 -0
  1164. package/src/libs/feature/search/src/lib/constants.ts +1 -1
  1165. package/src/libs/feature/search/src/lib/facets/facets.service.ts +4 -4
  1166. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +3 -0
  1167. package/src/libs/feature/search/src/lib/feature-search.module.ts +15 -8
  1168. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +20 -10
  1169. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +32 -1
  1170. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  1171. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -6
  1172. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +12 -1
  1173. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +8 -2
  1174. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +74 -5
  1175. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.css +0 -0
  1176. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.html +17 -0
  1177. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +78 -0
  1178. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.css +0 -0
  1179. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.html +20 -0
  1180. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +118 -0
  1181. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +4 -0
  1182. package/src/libs/feature/search/src/lib/state/actions.ts +69 -17
  1183. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  1184. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  1185. package/src/libs/feature/search/src/lib/state/search.facade.ts +6 -8
  1186. package/src/libs/feature/search/src/lib/state/selectors.ts +0 -18
  1187. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +36 -5
  1188. package/src/libs/feature/search/src/lib/utils/service/fields.ts +91 -12
  1189. package/src/libs/ui/catalog/src/index.ts +0 -1
  1190. package/src/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.ts +3 -0
  1191. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  1192. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +15 -21
  1193. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +2 -3
  1194. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +11 -0
  1195. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  1196. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +3 -0
  1197. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +1 -1
  1198. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  1199. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +6 -5
  1200. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  1201. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +17 -2
  1202. package/src/libs/ui/elements/src/index.ts +3 -3
  1203. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +37 -27
  1204. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +21 -1
  1205. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  1206. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  1207. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  1208. package/src/libs/ui/elements/src/lib/content-ghost/content-ghost.component.ts +3 -0
  1209. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +7 -5
  1210. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +16 -5
  1211. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +1 -1
  1212. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +57 -11
  1213. package/src/libs/ui/elements/src/lib/error/error.component.css +24 -19
  1214. package/src/libs/ui/elements/src/lib/error/error.component.html +11 -21
  1215. package/src/libs/ui/elements/src/lib/error/error.component.ts +19 -0
  1216. package/src/libs/ui/elements/src/lib/image-input/image-input.component.css +4 -0
  1217. package/src/libs/ui/elements/src/lib/image-input/image-input.component.html +143 -0
  1218. package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +57 -21
  1219. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -6
  1220. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  1221. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +2 -6
  1222. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +16 -5
  1223. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -17
  1224. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -3
  1225. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +7 -1
  1226. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +4 -1
  1227. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  1228. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +4 -1
  1229. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +20 -22
  1230. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +24 -0
  1231. package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +7 -3
  1232. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  1233. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -34
  1234. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +43 -1
  1235. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  1236. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +18 -11
  1237. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  1238. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +7 -1
  1239. package/src/libs/ui/elements/src/lib/notification/notification.component.html +10 -14
  1240. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +33 -2
  1241. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.css +2 -2
  1242. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  1243. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +44 -35
  1244. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +4 -4
  1245. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +15 -0
  1246. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +24 -63
  1247. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +2 -2
  1248. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +2 -6
  1249. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +22 -0
  1250. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -4
  1251. package/src/libs/ui/inputs/src/index.ts +5 -1
  1252. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +20 -20
  1253. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +39 -25
  1254. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +37 -6
  1255. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +11 -3
  1256. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +15 -1
  1257. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  1258. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.html +4 -1
  1259. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -3
  1260. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +4 -1
  1261. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +5 -6
  1262. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.ts +7 -0
  1263. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  1264. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +12 -6
  1265. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +19 -2
  1266. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +5 -0
  1267. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +30 -0
  1268. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +63 -0
  1269. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  1270. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +26 -23
  1271. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +19 -2
  1272. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +16 -20
  1273. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +7 -7
  1274. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +16 -2
  1275. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +44 -27
  1276. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  1277. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +90 -0
  1278. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +108 -0
  1279. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -3
  1280. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +4 -1
  1281. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.html +2 -2
  1282. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +16 -1
  1283. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -9
  1284. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +2 -6
  1285. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +6 -0
  1286. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +32 -0
  1287. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  1288. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +40 -0
  1289. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  1290. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  1291. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  1292. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  1293. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +37 -36
  1294. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  1295. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +32 -0
  1296. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +85 -0
  1297. package/src/libs/ui/layout/src/index.ts +7 -0
  1298. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +0 -16
  1299. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +4 -12
  1300. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +20 -11
  1301. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -16
  1302. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -12
  1303. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +22 -19
  1304. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +2 -4
  1305. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +8 -2
  1306. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.html +2 -6
  1307. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.ts +6 -0
  1308. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +9 -4
  1309. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +5 -4
  1310. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +1 -0
  1311. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +5 -9
  1312. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +12 -11
  1313. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -3
  1314. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +2 -1
  1315. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  1316. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  1317. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  1318. package/src/libs/ui/layout/src/lib/paginable.interface.ts +14 -0
  1319. package/src/libs/ui/layout/src/lib/pagination/pagination.component.css +0 -0
  1320. package/src/libs/ui/{elements → layout}/src/lib/pagination/pagination.component.html +12 -13
  1321. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +45 -0
  1322. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.css +0 -0
  1323. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.html +51 -0
  1324. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.ts +50 -0
  1325. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.css +16 -0
  1326. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.html +15 -0
  1327. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.ts +31 -0
  1328. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +18 -0
  1329. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +29 -0
  1330. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +4 -2
  1331. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  1332. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +45 -0
  1333. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +8 -15
  1334. package/src/libs/ui/map/src/index.ts +4 -2
  1335. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  1336. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  1337. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  1338. package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +4 -3
  1339. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +214 -0
  1340. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  1341. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.css +5 -0
  1342. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.html +1 -0
  1343. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +39 -0
  1344. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  1345. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  1346. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +17 -13
  1347. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +16 -10
  1348. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +1 -1
  1349. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  1350. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +59 -0
  1351. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +61 -0
  1352. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +60 -27
  1353. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +118 -44
  1354. package/src/libs/ui/search/src/lib/ui-search.module.ts +22 -3
  1355. package/src/libs/ui/widgets/src/index.ts +1 -0
  1356. package/src/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.ts +4 -6
  1357. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  1358. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  1359. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  1360. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.html +2 -4
  1361. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +8 -2
  1362. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +1 -0
  1363. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.ts +1 -0
  1364. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +2 -2
  1365. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -18
  1366. package/src/libs/util/app-config/src/index.ts +1 -0
  1367. package/src/libs/util/app-config/src/lib/app-config.ts +9 -2
  1368. package/src/libs/util/app-config/src/lib/fixtures.ts +10 -9
  1369. package/src/libs/util/app-config/src/lib/map-layers.ts +37 -0
  1370. package/src/libs/util/app-config/src/lib/model.ts +6 -1
  1371. package/src/libs/util/data-fetcher/src/lib/model.ts +6 -6
  1372. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -1
  1373. package/src/libs/util/data-fetcher/src/lib/utils.ts +13 -11
  1374. package/src/libs/util/i18n/src/index.ts +1 -0
  1375. package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
  1376. package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
  1377. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
  1378. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +6 -3
  1379. package/src/libs/util/shared/src/lib/links/link-utils.ts +23 -23
  1380. package/src/libs/util/shared/src/lib/services/proxy.service.ts +7 -3
  1381. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  1382. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  1383. package/src/libs/util/shared/src/lib/utils/format-fields.ts +11 -0
  1384. package/src/libs/util/shared/src/lib/utils/index.ts +2 -0
  1385. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  1386. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -1
  1387. package/tailwind.base.config.js +1 -0
  1388. package/tailwind.base.css +69 -13
  1389. package/translations/de.json +196 -47
  1390. package/translations/en.json +241 -76
  1391. package/translations/es.json +174 -25
  1392. package/translations/fr.json +268 -103
  1393. package/translations/it.json +179 -30
  1394. package/translations/nl.json +174 -25
  1395. package/translations/pt.json +174 -25
  1396. package/translations/sk.json +176 -27
  1397. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +0 -71
  1398. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  1399. 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
  1400. 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
  1401. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  1402. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  1403. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  1404. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  1405. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  1406. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  1407. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  1408. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  1409. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  1410. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  1411. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  1412. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  1413. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  1414. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +0 -62
  1415. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +0 -54
  1416. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +0 -66
  1417. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -43
  1418. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -183
  1419. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +0 -29
  1420. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  1421. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  1422. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +0 -21
  1423. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +0 -1
  1424. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  1425. 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
  1426. 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
  1427. 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
  1428. 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
  1429. 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
  1430. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  1431. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  1432. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  1433. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  1434. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  1435. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  1436. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  1437. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  1438. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  1439. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  1440. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  1441. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  1442. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  1443. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  1444. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  1445. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  1446. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  1447. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  1448. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  1449. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  1450. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  1451. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  1452. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  1453. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  1454. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  1455. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  1456. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +0 -18
  1457. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +0 -1
  1458. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts +0 -16
  1459. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts.map +0 -1
  1460. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts +0 -17
  1461. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +0 -1
  1462. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  1463. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  1464. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
  1465. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +0 -12
  1466. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +0 -1
  1467. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  1468. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  1469. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  1470. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  1471. package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.ts +0 -445
  1472. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  1473. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  1474. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  1475. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +0 -44
  1476. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -8
  1477. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -70
  1478. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  1479. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  1480. 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
  1481. 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
  1482. 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
  1483. 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
  1484. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  1485. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  1486. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  1487. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  1488. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  1489. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  1490. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  1491. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  1492. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  1493. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  1494. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  1495. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  1496. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  1497. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  1498. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  1499. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -38
  1500. package/src/libs/ui/elements/src/lib/pagination/pagination.component.ts +0 -50
  1501. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.html +0 -33
  1502. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.ts +0 -68
  1503. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -36
  1504. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +0 -56
  1505. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +0 -146
  1506. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +0 -26
  1507. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +0 -32
  1508. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  1509. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  1510. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  1511. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → import-record/import-record.component.css} +0 -0
  1512. /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 → online-resource-card/online-resource-card.component.css} +0 -0
  1513. /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-service-resource-input/online-service-resource-input.component.css} +0 -0
  1514. /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
  1515. /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/form-field-date.component.css} +0 -0
  1516. /package/src/libs/{ui/elements/src/lib/pagination-buttons/pagination-buttons.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  1517. /package/src/libs/{ui/elements/src/lib/pagination/pagination.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
  1518. /package/src/libs/{ui/inputs/src/lib/image-input/image-input.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.css} +0 -0
  1519. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css} +0 -0
  1520. /package/src/libs/ui/{inputs → layout}/src/lib/previous-next-buttons/previous-next-buttons.component.css +0 -0
@@ -1,7 +1,7 @@
1
1
  import { Iso19139Converter } from '../iso19139';
2
2
  import { renameElements } from '../xml-utils';
3
- import { readContacts, readDistributions, readKind, readLandingPage, readLineage, readOwnerOrganization, readRecordCreated, readRecordPublished, readRecordUpdated, readResourceContacts, readUniqueIdentifier, } from './read-parts';
4
- import { writeContacts, writeContactsForResource, writeDistributions, writeKind, writeLandingPage, writeLineage, writeOwnerOrganization, writeRecordCreated, writeRecordPublished, writeRecordUpdated, writeResourceCreated, writeResourcePublished, writeResourceUpdated, writeSpatialRepresentation, writeStatus, writeUniqueIdentifier, } from './write-parts';
3
+ import { readContacts, readContactsForResource, readDefaultLanguage, readKind, readLandingPage, readLineage, readOnlineResources, readOtherLanguages, readOwnerOrganization, readRecordCreated, readRecordPublished, readRecordUpdated, readReuseType, readUniqueIdentifier, } from './read-parts';
4
+ import { writeContacts, writeContactsForResource, writeDefaultLanguage, writeKind, writeLandingPage, writeLineage, writeOnlineResources, writeOtherLanguages, writeRecordCreated, writeRecordPublished, writeRecordUpdated, writeResourceCreated, writeResourcePublished, writeResourceUpdated, writeReuseType, writeSpatialRepresentation, writeStatus, writeUniqueIdentifier, } from './write-parts';
5
5
  export class Iso191153Converter extends Iso19139Converter {
6
6
  constructor() {
7
7
  super();
@@ -11,11 +11,14 @@ export class Iso191153Converter extends Iso19139Converter {
11
11
  this.readers['recordCreated'] = readRecordCreated;
12
12
  this.readers['recordPublished'] = readRecordPublished;
13
13
  this.readers['contacts'] = readContacts;
14
- this.readers['contactsForResource'] = readResourceContacts;
14
+ this.readers['contactsForResource'] = readContactsForResource;
15
15
  this.readers['ownerOrganization'] = readOwnerOrganization;
16
16
  this.readers['landingPage'] = readLandingPage;
17
17
  this.readers['lineage'] = readLineage;
18
- this.readers['distributions'] = readDistributions;
18
+ this.readers['onlineResources'] = readOnlineResources;
19
+ this.readers['defaultLanguage'] = readDefaultLanguage;
20
+ this.readers['otherLanguages'] = readOtherLanguages;
21
+ this.readers['reuseType'] = readReuseType;
19
22
  this.writers['uniqueIdentifier'] = writeUniqueIdentifier;
20
23
  this.writers['kind'] = writeKind;
21
24
  this.writers['recordUpdated'] = writeRecordUpdated;
@@ -24,14 +27,17 @@ export class Iso191153Converter extends Iso19139Converter {
24
27
  this.writers['resourceUpdated'] = writeResourceUpdated;
25
28
  this.writers['resourceCreated'] = writeResourceCreated;
26
29
  this.writers['resourcePublished'] = writeResourcePublished;
30
+ this.writers['reuseType'] = writeReuseType;
27
31
  this.writers['contacts'] = writeContacts;
28
32
  this.writers['contactsForResource'] = writeContactsForResource;
29
- this.writers['ownerOrganization'] = writeOwnerOrganization;
33
+ this.writers['ownerOrganization'] = () => undefined; // fixme: find a way to store this value properly
30
34
  this.writers['landingPage'] = writeLandingPage;
31
35
  this.writers['lineage'] = writeLineage;
32
- this.writers['distributions'] = writeDistributions;
36
+ this.writers['onlineResources'] = writeOnlineResources;
33
37
  this.writers['status'] = writeStatus;
34
38
  this.writers['spatialRepresentation'] = writeSpatialRepresentation;
39
+ this.writers['defaultLanguage'] = writeDefaultLanguage;
40
+ this.writers['otherLanguages'] = writeOtherLanguages;
35
41
  }
36
42
  beforeDocumentCreation(rootEl) {
37
43
  renameElements(rootEl, {
@@ -46,7 +52,7 @@ export class Iso191153Converter extends Iso19139Converter {
46
52
  'gmx:Anchor': 'gcx:Anchor',
47
53
  // languages
48
54
  'gmd:PT_Locale': 'lan:PT_Locale',
49
- 'gmd:languageCode': 'lan:languageCode',
55
+ 'gmd:PT_FreeText': 'lan:PT_FreeText',
50
56
  'gmd:LanguageCode': 'lan:LanguageCode',
51
57
  // status
52
58
  'gmd:status': 'mri:status',
@@ -120,4 +126,4 @@ export class Iso191153Converter extends Iso19139Converter {
120
126
  return result;
121
127
  }
122
128
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvMTkxMTUtMy5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTExNS0zL2lzbzE5MTE1LTMuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFDTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixlQUFlLEVBQ2YsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBQ3JCLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxxQkFBcUIsR0FDdEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUN2RDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBRVAsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFBO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsaUJBQWlCLENBQUE7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxpQkFBaUIsQ0FBQTtRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsbUJBQW1CLENBQUE7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUE7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLG9CQUFvQixDQUFBO1FBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxxQkFBcUIsQ0FBQTtRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQTtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQVcsQ0FBQTtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGlCQUFpQixDQUFBO1FBRWpELElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxxQkFBcUIsQ0FBQTtRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGtCQUFrQixDQUFBO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsa0JBQWtCLENBQUE7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLG9CQUFvQixDQUFBO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxvQkFBb0IsQ0FBQTtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsb0JBQW9CLENBQUE7UUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLHNCQUFzQixDQUFBO1FBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsYUFBYSxDQUFBO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyx3QkFBd0IsQ0FBQTtRQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsc0JBQXNCLENBQUE7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQTtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFlBQVksQ0FBQTtRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGtCQUFrQixDQUFBO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FBRywwQkFBMEIsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBa0I7UUFDdkMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNyQixHQUFHLEVBQUUsS0FBSztZQUNWLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCx5QkFBeUIsRUFBRSx5QkFBeUI7WUFDcEQsMkJBQTJCLEVBQUUsMkJBQTJCO1lBQ3hELGNBQWMsRUFBRSxjQUFjO1lBQzlCLGNBQWMsRUFBRSxjQUFjO1lBQzlCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxZQUFZLEVBQUUsWUFBWTtZQUUxQixZQUFZO1lBQ1osZUFBZSxFQUFFLGVBQWU7WUFDaEMsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLGtCQUFrQixFQUFFLGtCQUFrQjtZQUV0QyxTQUFTO1lBQ1QsWUFBWSxFQUFFLFlBQVk7WUFDMUIscUJBQXFCLEVBQUUscUJBQXFCO1lBRTVDLFFBQVE7WUFDUixVQUFVLEVBQUUsVUFBVTtZQUN0QixhQUFhLEVBQUUsYUFBYTtZQUM1QixjQUFjLEVBQUUsY0FBYztZQUM5QixxQkFBcUIsRUFBRSxxQkFBcUI7WUFFNUMsV0FBVztZQUNYLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCxVQUFVLEVBQUUsVUFBVTtZQUN0QixpQkFBaUIsRUFBRSxpQkFBaUI7WUFFcEMsV0FBVztZQUNYLHlCQUF5QixFQUFFLHlCQUF5QjtZQUNwRCxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsVUFBVSxFQUFFLFVBQVU7WUFDdEIsd0JBQXdCLEVBQUUsd0JBQXdCO1lBQ2xELG1CQUFtQixFQUFFLG1CQUFtQjtZQUN4QyxhQUFhLEVBQUUsYUFBYTtZQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CO1lBQ3hDLFVBQVUsRUFBRSxVQUFVO1lBRXRCLGdCQUFnQjtZQUNoQixxQkFBcUIsRUFBRSxxQkFBcUI7WUFDNUMscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLCtCQUErQixFQUFFLCtCQUErQjtZQUNoRSxZQUFZLEVBQUUsWUFBWTtZQUMxQix3QkFBd0IsRUFBRSx3QkFBd0I7WUFDbEQsZUFBZSxFQUFFLGVBQWU7WUFDaEMsdUJBQXVCLEVBQUUsdUJBQXVCO1lBQ2hELGFBQWEsRUFBRSxhQUFhO1lBQzVCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQywyQkFBMkIsRUFBRSwyQkFBMkI7WUFDeEQsY0FBYyxFQUFFLGNBQWM7WUFDOUIsY0FBYyxFQUFFLGNBQWM7WUFFOUIsUUFBUTtZQUNSLG1CQUFtQixFQUFFLG1CQUFtQjtZQUN4QywwQkFBMEIsRUFBRSwwQkFBMEI7WUFFdEQsbUJBQW1CO1lBQ25CLHlCQUF5QixFQUFFLHlCQUF5QjtZQUNwRCwrQkFBK0IsRUFBRSwrQkFBK0I7WUFDaEUscUNBQXFDLEVBQ25DLHFDQUFxQztZQUN2Qyx1QkFBdUIsRUFBRSx1QkFBdUI7WUFFaEQsY0FBYztZQUNkLHlCQUF5QixFQUFFLHlCQUF5QjtZQUNwRCxvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMseUJBQXlCLEVBQUUseUJBQXlCO1lBQ3BELDRCQUE0QixFQUFFLDRCQUE0QjtZQUMxRCxtQkFBbUIsRUFBRSxtQkFBbUI7WUFDeEMsb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsd0JBQXdCLEVBQUUsd0JBQXdCO1lBQ2xELG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQywyQkFBMkIsRUFBRSwyQkFBMkI7WUFFeEQsWUFBWTtZQUNaLHFCQUFxQixFQUFFLHFCQUFxQjtZQUM1QyxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsY0FBYyxFQUFFLGNBQWM7WUFDOUIscUJBQXFCLEVBQUUscUJBQXFCO1lBRTVDLHVCQUF1QjtZQUN2QixTQUFTLEVBQUUscUJBQXFCO1NBQ2pDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUNmLE1BQXFCLEVBQ3JCLFNBQWtCO1FBRWxCLElBQUksTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDdkQsd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNyQixvQ0FBb0MsRUFDcEMsaURBQWlELENBQ2xELENBQUE7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBYbWxFbGVtZW50IH0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5pbXBvcnQgeyBJc28xOTEzOUNvbnZlcnRlciB9IGZyb20gJy4uL2lzbzE5MTM5J1xuaW1wb3J0IHsgcmVuYW1lRWxlbWVudHMgfSBmcm9tICcuLi94bWwtdXRpbHMnXG5pbXBvcnQge1xuICByZWFkQ29udGFjdHMsXG4gIHJlYWREaXN0cmlidXRpb25zLFxuICByZWFkS2luZCxcbiAgcmVhZExhbmRpbmdQYWdlLFxuICByZWFkTGluZWFnZSxcbiAgcmVhZE93bmVyT3JnYW5pemF0aW9uLFxuICByZWFkUmVjb3JkQ3JlYXRlZCxcbiAgcmVhZFJlY29yZFB1Ymxpc2hlZCxcbiAgcmVhZFJlY29yZFVwZGF0ZWQsXG4gIHJlYWRSZXNvdXJjZUNvbnRhY3RzLFxuICByZWFkVW5pcXVlSWRlbnRpZmllcixcbn0gZnJvbSAnLi9yZWFkLXBhcnRzJ1xuaW1wb3J0IHtcbiAgd3JpdGVDb250YWN0cyxcbiAgd3JpdGVDb250YWN0c0ZvclJlc291cmNlLFxuICB3cml0ZURpc3RyaWJ1dGlvbnMsXG4gIHdyaXRlS2luZCxcbiAgd3JpdGVMYW5kaW5nUGFnZSxcbiAgd3JpdGVMaW5lYWdlLFxuICB3cml0ZU93bmVyT3JnYW5pemF0aW9uLFxuICB3cml0ZVJlY29yZENyZWF0ZWQsXG4gIHdyaXRlUmVjb3JkUHVibGlzaGVkLFxuICB3cml0ZVJlY29yZFVwZGF0ZWQsXG4gIHdyaXRlUmVzb3VyY2VDcmVhdGVkLFxuICB3cml0ZVJlc291cmNlUHVibGlzaGVkLFxuICB3cml0ZVJlc291cmNlVXBkYXRlZCxcbiAgd3JpdGVTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gIHdyaXRlU3RhdHVzLFxuICB3cml0ZVVuaXF1ZUlkZW50aWZpZXIsXG59IGZyb20gJy4vd3JpdGUtcGFydHMnXG5cbmV4cG9ydCBjbGFzcyBJc28xOTExNTNDb252ZXJ0ZXIgZXh0ZW5kcyBJc28xOTEzOUNvbnZlcnRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcblxuICAgIHRoaXMucmVhZGVyc1sndW5pcXVlSWRlbnRpZmllciddID0gcmVhZFVuaXF1ZUlkZW50aWZpZXJcbiAgICB0aGlzLnJlYWRlcnNbJ2tpbmQnXSA9IHJlYWRLaW5kXG4gICAgdGhpcy5yZWFkZXJzWydyZWNvcmRVcGRhdGVkJ10gPSByZWFkUmVjb3JkVXBkYXRlZFxuICAgIHRoaXMucmVhZGVyc1sncmVjb3JkQ3JlYXRlZCddID0gcmVhZFJlY29yZENyZWF0ZWRcbiAgICB0aGlzLnJlYWRlcnNbJ3JlY29yZFB1Ymxpc2hlZCddID0gcmVhZFJlY29yZFB1Ymxpc2hlZFxuICAgIHRoaXMucmVhZGVyc1snY29udGFjdHMnXSA9IHJlYWRDb250YWN0c1xuICAgIHRoaXMucmVhZGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddID0gcmVhZFJlc291cmNlQ29udGFjdHNcbiAgICB0aGlzLnJlYWRlcnNbJ293bmVyT3JnYW5pemF0aW9uJ10gPSByZWFkT3duZXJPcmdhbml6YXRpb25cbiAgICB0aGlzLnJlYWRlcnNbJ2xhbmRpbmdQYWdlJ10gPSByZWFkTGFuZGluZ1BhZ2VcbiAgICB0aGlzLnJlYWRlcnNbJ2xpbmVhZ2UnXSA9IHJlYWRMaW5lYWdlXG4gICAgdGhpcy5yZWFkZXJzWydkaXN0cmlidXRpb25zJ10gPSByZWFkRGlzdHJpYnV0aW9uc1xuXG4gICAgdGhpcy53cml0ZXJzWyd1bmlxdWVJZGVudGlmaWVyJ10gPSB3cml0ZVVuaXF1ZUlkZW50aWZpZXJcbiAgICB0aGlzLndyaXRlcnNbJ2tpbmQnXSA9IHdyaXRlS2luZFxuICAgIHRoaXMud3JpdGVyc1sncmVjb3JkVXBkYXRlZCddID0gd3JpdGVSZWNvcmRVcGRhdGVkXG4gICAgdGhpcy53cml0ZXJzWydyZWNvcmRDcmVhdGVkJ10gPSB3cml0ZVJlY29yZENyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3JlY29yZFB1Ymxpc2hlZCddID0gd3JpdGVSZWNvcmRQdWJsaXNoZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlVXBkYXRlZCddID0gd3JpdGVSZXNvdXJjZVVwZGF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlQ3JlYXRlZCddID0gd3JpdGVSZXNvdXJjZUNyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10gPSB3cml0ZVJlc291cmNlUHVibGlzaGVkXG4gICAgdGhpcy53cml0ZXJzWydjb250YWN0cyddID0gd3JpdGVDb250YWN0c1xuICAgIHRoaXMud3JpdGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddID0gd3JpdGVDb250YWN0c0ZvclJlc291cmNlXG4gICAgdGhpcy53cml0ZXJzWydvd25lck9yZ2FuaXphdGlvbiddID0gd3JpdGVPd25lck9yZ2FuaXphdGlvblxuICAgIHRoaXMud3JpdGVyc1snbGFuZGluZ1BhZ2UnXSA9IHdyaXRlTGFuZGluZ1BhZ2VcbiAgICB0aGlzLndyaXRlcnNbJ2xpbmVhZ2UnXSA9IHdyaXRlTGluZWFnZVxuICAgIHRoaXMud3JpdGVyc1snZGlzdHJpYnV0aW9ucyddID0gd3JpdGVEaXN0cmlidXRpb25zXG4gICAgdGhpcy53cml0ZXJzWydzdGF0dXMnXSA9IHdyaXRlU3RhdHVzXG4gICAgdGhpcy53cml0ZXJzWydzcGF0aWFsUmVwcmVzZW50YXRpb24nXSA9IHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uXG4gIH1cblxuICBiZWZvcmVEb2N1bWVudENyZWF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCkge1xuICAgIHJlbmFtZUVsZW1lbnRzKHJvb3RFbCwge1xuICAgICAgZ21kOiAnbWRiJyxcbiAgICAgICdnbWQ6Y2hhcmFjdGVyRW5jb2RpbmcnOiAnbGFuOmNoYXJhY3RlckVuY29kaW5nJyxcbiAgICAgICdnbWQ6TURfQ2hhcmFjdGVyU2V0Q29kZSc6ICdsYW46TURfQ2hhcmFjdGVyU2V0Q29kZScsXG4gICAgICAnZ21kOk1EX0RhdGFJZGVudGlmaWNhdGlvbic6ICdtcmk6TURfRGF0YUlkZW50aWZpY2F0aW9uJyxcbiAgICAgICdnbWQ6Y2l0YXRpb24nOiAnbXJpOmNpdGF0aW9uJyxcbiAgICAgICdnbWQ6YWJzdHJhY3QnOiAnbXJpOmFic3RyYWN0JyxcbiAgICAgICdnbWQ6dGl0bGUnOiAnY2l0OnRpdGxlJyxcbiAgICAgICdnbWQ6Q0lfQ2l0YXRpb24nOiAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAgICdnbXg6QW5jaG9yJzogJ2djeDpBbmNob3InLFxuXG4gICAgICAvLyBsYW5ndWFnZXNcbiAgICAgICdnbWQ6UFRfTG9jYWxlJzogJ2xhbjpQVF9Mb2NhbGUnLFxuICAgICAgJ2dtZDpsYW5ndWFnZUNvZGUnOiAnbGFuOmxhbmd1YWdlQ29kZScsXG4gICAgICAnZ21kOkxhbmd1YWdlQ29kZSc6ICdsYW46TGFuZ3VhZ2VDb2RlJyxcblxuICAgICAgLy8gc3RhdHVzXG4gICAgICAnZ21kOnN0YXR1cyc6ICdtcmk6c3RhdHVzJyxcbiAgICAgICdnbWQ6TURfUHJvZ3Jlc3NDb2RlJzogJ21yaTpNRF9Qcm9ncmVzc0NvZGUnLFxuXG4gICAgICAvLyBkYXRlc1xuICAgICAgJ2dtZDpkYXRlJzogJ2NpdDpkYXRlJyxcbiAgICAgICdnbWQ6Q0lfRGF0ZSc6ICdjaXQ6Q0lfRGF0ZScsXG4gICAgICAnZ21kOmRhdGVUeXBlJzogJ2NpdDpkYXRlVHlwZScsXG4gICAgICAnZ21kOkNJX0RhdGVUeXBlQ29kZSc6ICdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyxcblxuICAgICAgLy8gY29udGFjdHNcbiAgICAgICdnbWQ6Q0lfUmVzcG9uc2liaWxpdHknOiAnY2l0OkNJX1Jlc3BvbnNpYmlsaXR5JyxcbiAgICAgICdnbWQ6cm9sZSc6ICdjaXQ6cm9sZScsXG4gICAgICAnZ21kOkNJX1JvbGVDb2RlJzogJ2NpdDpDSV9Sb2xlQ29kZScsXG5cbiAgICAgIC8vIGtleXdvcmRzXG4gICAgICAnZ21kOmRlc2NyaXB0aXZlS2V5d29yZHMnOiAnbXJpOmRlc2NyaXB0aXZlS2V5d29yZHMnLFxuICAgICAgJ2dtZDpNRF9LZXl3b3Jkcyc6ICdtcmk6TURfS2V5d29yZHMnLFxuICAgICAgJ2dtZDp0eXBlJzogJ21yaTp0eXBlJyxcbiAgICAgICdnbWQ6TURfS2V5d29yZFR5cGVDb2RlJzogJ21yaTpNRF9LZXl3b3JkVHlwZUNvZGUnLFxuICAgICAgJ2dtZDp0aGVzYXVydXNOYW1lJzogJ21yaTp0aGVzYXVydXNOYW1lJyxcbiAgICAgICdnbWQ6a2V5d29yZCc6ICdtcmk6a2V5d29yZCcsXG4gICAgICAnZ21kOmlkZW50aWZpZXInOiAnY2l0OmlkZW50aWZpZXInLFxuICAgICAgJ2dtZDpNRF9JZGVudGlmaWVyJzogJ21jYzpNRF9JZGVudGlmaWVyJyxcbiAgICAgICdnbWQ6Y29kZSc6ICdtY2M6Y29kZScsXG5cbiAgICAgIC8vIGRpc3RyaWJ1dGlvbnNcbiAgICAgICdnbWQ6TURfRGlzdHJpYnV0aW9uJzogJ21yZDpNRF9EaXN0cmlidXRpb24nLFxuICAgICAgJ2dtZDp0cmFuc2Zlck9wdGlvbnMnOiAnbXJkOnRyYW5zZmVyT3B0aW9ucycsXG4gICAgICAnZ21kOk1EX0RpZ2l0YWxUcmFuc2Zlck9wdGlvbnMnOiAnbXJkOk1EX0RpZ2l0YWxUcmFuc2Zlck9wdGlvbnMnLFxuICAgICAgJ2dtZDpvbkxpbmUnOiAnbXJkOm9uTGluZScsXG4gICAgICAnZ21kOmRpc3RyaWJ1dGlvbkZvcm1hdCc6ICdtcmQ6ZGlzdHJpYnV0aW9uRm9ybWF0JyxcbiAgICAgICdnbWQ6TURfRm9ybWF0JzogJ21yZDpNRF9Gb3JtYXQnLFxuICAgICAgJ2dtZDpDSV9PbmxpbmVSZXNvdXJjZSc6ICdjaXQ6Q0lfT25saW5lUmVzb3VyY2UnLFxuICAgICAgJ2dtZDpsaW5rYWdlJzogJ2NpdDpsaW5rYWdlJyxcbiAgICAgICdnbWQ6bmFtZSc6ICdjaXQ6bmFtZScsXG4gICAgICAnZ21kOmRlc2NyaXB0aW9uJzogJ2NpdDpkZXNjcmlwdGlvbicsXG4gICAgICAnZ21kOkNJX09uTGluZUZ1bmN0aW9uQ29kZSc6ICdjaXQ6Q0lfT25MaW5lRnVuY3Rpb25Db2RlJyxcbiAgICAgICdnbWQ6ZnVuY3Rpb24nOiAnY2l0OmZ1bmN0aW9uJyxcbiAgICAgICdnbWQ6cHJvdG9jb2wnOiAnY2l0OnByb3RvY29sJyxcblxuICAgICAgLy8gdG9waWNcbiAgICAgICdnbWQ6dG9waWNDYXRlZ29yeSc6ICdtcmk6dG9waWNDYXRlZ29yeScsXG4gICAgICAnZ21kOk1EX1RvcGljQ2F0ZWdvcnlDb2RlJzogJ21yaTpNRF9Ub3BpY0NhdGVnb3J5Q29kZScsXG5cbiAgICAgIC8vIHVwZGF0ZSBmcmVxdWVuY3lcbiAgICAgICdnbWQ6cmVzb3VyY2VNYWludGVuYW5jZSc6ICdtcmk6cmVzb3VyY2VNYWludGVuYW5jZScsXG4gICAgICAnZ21kOk1EX01haW50ZW5hbmNlSW5mb3JtYXRpb24nOiAnbW1pOk1EX01haW50ZW5hbmNlSW5mb3JtYXRpb24nLFxuICAgICAgJ2dtZDp1c2VyRGVmaW5lZE1haW50ZW5hbmNlRnJlcXVlbmN5JzpcbiAgICAgICAgJ21taTp1c2VyRGVmaW5lZE1haW50ZW5hbmNlRnJlcXVlbmN5JyxcbiAgICAgICdndHM6VE1fUGVyaW9kRHVyYXRpb24nOiAnZ2NvOlRNX1BlcmlvZER1cmF0aW9uJyxcblxuICAgICAgLy8gY29uc3RyYWludHNcbiAgICAgICdnbWQ6cmVzb3VyY2VDb25zdHJhaW50cyc6ICdtcmk6cmVzb3VyY2VDb25zdHJhaW50cycsXG4gICAgICAnZ21kOk1EX0NvbnN0cmFpbnRzJzogJ21jbzpNRF9Db25zdHJhaW50cycsXG4gICAgICAnZ21kOk1EX0xlZ2FsQ29uc3RyYWludHMnOiAnbWNvOk1EX0xlZ2FsQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9TZWN1cml0eUNvbnN0cmFpbnRzJzogJ21jbzpNRF9TZWN1cml0eUNvbnN0cmFpbnRzJyxcbiAgICAgICdnbWQ6dXNlTGltaXRhdGlvbic6ICdtY286dXNlTGltaXRhdGlvbicsXG4gICAgICAnZ21kOnVzZUNvbnN0cmFpbnRzJzogJ21jbzp1c2VDb25zdHJhaW50cycsXG4gICAgICAnZ21kOmFjY2Vzc0NvbnN0cmFpbnRzJzogJ21jbzphY2Nlc3NDb25zdHJhaW50cycsXG4gICAgICAnZ21kOm90aGVyQ29uc3RyYWludHMnOiAnbWNvOm90aGVyQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9SZXN0cmljdGlvbkNvZGUnOiAnbWNvOk1EX1Jlc3RyaWN0aW9uQ29kZScsXG4gICAgICAnZ21kOmNsYXNzaWZpY2F0aW9uJzogJ21jbzpjbGFzc2lmaWNhdGlvbicsXG4gICAgICAnZ21kOk1EX0NsYXNzaWZpY2F0aW9uQ29kZSc6ICdtY286TURfQ2xhc3NpZmljYXRpb25Db2RlJyxcblxuICAgICAgLy8gb3ZlcnZpZXdzXG4gICAgICAnZ21kOmdyYXBoaWNPdmVydmlldyc6ICdtcmk6Z3JhcGhpY092ZXJ2aWV3JyxcbiAgICAgICdnbWQ6TURfQnJvd3NlR3JhcGhpYyc6ICdtY2M6TURfQnJvd3NlR3JhcGhpYycsXG4gICAgICAnZ21kOmZpbGVOYW1lJzogJ21jYzpmaWxlTmFtZScsXG4gICAgICAnZ21kOmZpbGVEZXNjcmlwdGlvbic6ICdtY2M6ZmlsZURlc2NyaXB0aW9uJyxcblxuICAgICAgLy8gbm8gbW9yZSBVUkwgZWxlbWVudHNcbiAgICAgICdnbWQ6VVJMJzogJ2djbzpDaGFyYWN0ZXJTdHJpbmcnLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB3cml0ZVJlY29yZChcbiAgICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gICAgcmVmZXJlbmNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHN1cGVyLndyaXRlUmVjb3JkKHJlY29yZCwgcmVmZXJlbmNlKVxuICAgIC8vIGZpeCBnY28gbmFtZXNwYWNlIGRlZmluaXRpb24gKGNoYW5nZXMgYmV0d2VlbiBpc28xOTEzOSBhbmQgaXNvMTkxMTUtM1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgJ1wiaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nY29cIicsXG4gICAgICAnXCJodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2djby8xLjBcIidcbiAgICApXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXX0=
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvMTkxMTUtMy5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTExNS0zL2lzbzE5MTE1LTMuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFDTCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsZUFBZSxFQUNmLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixhQUFhLEVBQ2Isb0JBQW9CLEdBQ3JCLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLHFCQUFxQixHQUN0QixNQUFNLGVBQWUsQ0FBQTtBQUV0QixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZEO1FBQ0UsS0FBSyxFQUFFLENBQUE7UUFFUCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsb0JBQW9CLENBQUE7UUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUE7UUFDL0IsSUFB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aUQsQ0FDbEQsQ0FBQTtRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFhtbEVsZW1lbnQgfSBmcm9tICdAcmdyb3ZlL3BhcnNlLXhtbCdcbmltcG9ydCB7IElzbzE5MTM5Q29udmVydGVyIH0gZnJvbSAnLi4vaXNvMTkxMzknXG5pbXBvcnQgeyByZW5hbWVFbGVtZW50cyB9IGZyb20gJy4uL3htbC11dGlscydcbmltcG9ydCB7XG4gIHJlYWRDb250YWN0cyxcbiAgcmVhZENvbnRhY3RzRm9yUmVzb3VyY2UsXG4gIHJlYWREZWZhdWx0TGFuZ3VhZ2UsXG4gIHJlYWRLaW5kLFxuICByZWFkTGFuZGluZ1BhZ2UsXG4gIHJlYWRMaW5lYWdlLFxuICByZWFkT25saW5lUmVzb3VyY2VzLFxuICByZWFkT3RoZXJMYW5ndWFnZXMsXG4gIHJlYWRPd25lck9yZ2FuaXphdGlvbixcbiAgcmVhZFJlY29yZENyZWF0ZWQsXG4gIHJlYWRSZWNvcmRQdWJsaXNoZWQsXG4gIHJlYWRSZWNvcmRVcGRhdGVkLFxuICByZWFkUmV1c2VUeXBlLFxuICByZWFkVW5pcXVlSWRlbnRpZmllcixcbn0gZnJvbSAnLi9yZWFkLXBhcnRzJ1xuaW1wb3J0IHtcbiAgd3JpdGVDb250YWN0cyxcbiAgd3JpdGVDb250YWN0c0ZvclJlc291cmNlLFxuICB3cml0ZURlZmF1bHRMYW5ndWFnZSxcbiAgd3JpdGVLaW5kLFxuICB3cml0ZUxhbmRpbmdQYWdlLFxuICB3cml0ZUxpbmVhZ2UsXG4gIHdyaXRlT25saW5lUmVzb3VyY2VzLFxuICB3cml0ZU90aGVyTGFuZ3VhZ2VzLFxuICB3cml0ZVJlY29yZENyZWF0ZWQsXG4gIHdyaXRlUmVjb3JkUHVibGlzaGVkLFxuICB3cml0ZVJlY29yZFVwZGF0ZWQsXG4gIHdyaXRlUmVzb3VyY2VDcmVhdGVkLFxuICB3cml0ZVJlc291cmNlUHVibGlzaGVkLFxuICB3cml0ZVJlc291cmNlVXBkYXRlZCxcbiAgd3JpdGVSZXVzZVR5cGUsXG4gIHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICB3cml0ZVN0YXR1cyxcbiAgd3JpdGVVbmlxdWVJZGVudGlmaWVyLFxufSBmcm9tICcuL3dyaXRlLXBhcnRzJ1xuXG5leHBvcnQgY2xhc3MgSXNvMTkxMTUzQ29udmVydGVyIGV4dGVuZHMgSXNvMTkxMzlDb252ZXJ0ZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpXG5cbiAgICB0aGlzLnJlYWRlcnNbJ3VuaXF1ZUlkZW50aWZpZXInXSA9IHJlYWRVbmlxdWVJZGVudGlmaWVyXG4gICAgdGhpcy5yZWFkZXJzWydraW5kJ10gPSByZWFkS2luZFxuICAgIHRoaXMucmVhZGVyc1sncmVjb3JkVXBkYXRlZCddID0gcmVhZFJlY29yZFVwZGF0ZWRcbiAgICB0aGlzLnJlYWRlcnNbJ3JlY29yZENyZWF0ZWQnXSA9IHJlYWRSZWNvcmRDcmVhdGVkXG4gICAgdGhpcy5yZWFkZXJzWydyZWNvcmRQdWJsaXNoZWQnXSA9IHJlYWRSZWNvcmRQdWJsaXNoZWRcbiAgICB0aGlzLnJlYWRlcnNbJ2NvbnRhY3RzJ10gPSByZWFkQ29udGFjdHNcbiAgICB0aGlzLnJlYWRlcnNbJ2NvbnRhY3RzRm9yUmVzb3VyY2UnXSA9IHJlYWRDb250YWN0c0ZvclJlc291cmNlXG4gICAgdGhpcy5yZWFkZXJzWydvd25lck9yZ2FuaXphdGlvbiddID0gcmVhZE93bmVyT3JnYW5pemF0aW9uXG4gICAgdGhpcy5yZWFkZXJzWydsYW5kaW5nUGFnZSddID0gcmVhZExhbmRpbmdQYWdlXG4gICAgdGhpcy5yZWFkZXJzWydsaW5lYWdlJ10gPSByZWFkTGluZWFnZVxuICAgIHRoaXMucmVhZGVyc1snb25saW5lUmVzb3VyY2VzJ10gPSByZWFkT25saW5lUmVzb3VyY2VzXG4gICAgdGhpcy5yZWFkZXJzWydkZWZhdWx0TGFuZ3VhZ2UnXSA9IHJlYWREZWZhdWx0TGFuZ3VhZ2VcbiAgICB0aGlzLnJlYWRlcnNbJ290aGVyTGFuZ3VhZ2VzJ10gPSByZWFkT3RoZXJMYW5ndWFnZXNcbiAgICB0aGlzLnJlYWRlcnNbJ3JldXNlVHlwZSddID0gcmVhZFJldXNlVHlwZVxuXG4gICAgdGhpcy53cml0ZXJzWyd1bmlxdWVJZGVudGlmaWVyJ10gPSB3cml0ZVVuaXF1ZUlkZW50aWZpZXJcbiAgICB0aGlzLndyaXRlcnNbJ2tpbmQnXSA9IHdyaXRlS2luZFxuICAgIHRoaXMud3JpdGVyc1sncmVjb3JkVXBkYXRlZCddID0gd3JpdGVSZWNvcmRVcGRhdGVkXG4gICAgdGhpcy53cml0ZXJzWydyZWNvcmRDcmVhdGVkJ10gPSB3cml0ZVJlY29yZENyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3JlY29yZFB1Ymxpc2hlZCddID0gd3JpdGVSZWNvcmRQdWJsaXNoZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlVXBkYXRlZCddID0gd3JpdGVSZXNvdXJjZVVwZGF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlQ3JlYXRlZCddID0gd3JpdGVSZXNvdXJjZUNyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10gPSB3cml0ZVJlc291cmNlUHVibGlzaGVkXG4gICAgdGhpcy53cml0ZXJzWydyZXVzZVR5cGUnXSA9IHdyaXRlUmV1c2VUeXBlXG4gICAgdGhpcy53cml0ZXJzWydjb250YWN0cyddID0gd3JpdGVDb250YWN0c1xuICAgIHRoaXMud3JpdGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddID0gd3JpdGVDb250YWN0c0ZvclJlc291cmNlXG4gICAgdGhpcy53cml0ZXJzWydvd25lck9yZ2FuaXphdGlvbiddID0gKCkgPT4gdW5kZWZpbmVkIC8vIGZpeG1lOiBmaW5kIGEgd2F5IHRvIHN0b3JlIHRoaXMgdmFsdWUgcHJvcGVybHlcbiAgICB0aGlzLndyaXRlcnNbJ2xhbmRpbmdQYWdlJ10gPSB3cml0ZUxhbmRpbmdQYWdlXG4gICAgdGhpcy53cml0ZXJzWydsaW5lYWdlJ10gPSB3cml0ZUxpbmVhZ2VcbiAgICB0aGlzLndyaXRlcnNbJ29ubGluZVJlc291cmNlcyddID0gd3JpdGVPbmxpbmVSZXNvdXJjZXNcbiAgICB0aGlzLndyaXRlcnNbJ3N0YXR1cyddID0gd3JpdGVTdGF0dXNcbiAgICB0aGlzLndyaXRlcnNbJ3NwYXRpYWxSZXByZXNlbnRhdGlvbiddID0gd3JpdGVTcGF0aWFsUmVwcmVzZW50YXRpb25cbiAgICB0aGlzLndyaXRlcnNbJ2RlZmF1bHRMYW5ndWFnZSddID0gd3JpdGVEZWZhdWx0TGFuZ3VhZ2VcbiAgICB0aGlzLndyaXRlcnNbJ290aGVyTGFuZ3VhZ2VzJ10gPSB3cml0ZU90aGVyTGFuZ3VhZ2VzXG4gIH1cblxuICBiZWZvcmVEb2N1bWVudENyZWF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCkge1xuICAgIHJlbmFtZUVsZW1lbnRzKHJvb3RFbCwge1xuICAgICAgZ21kOiAnbWRiJyxcbiAgICAgICdnbWQ6Y2hhcmFjdGVyRW5jb2RpbmcnOiAnbGFuOmNoYXJhY3RlckVuY29kaW5nJyxcbiAgICAgICdnbWQ6TURfQ2hhcmFjdGVyU2V0Q29kZSc6ICdsYW46TURfQ2hhcmFjdGVyU2V0Q29kZScsXG4gICAgICAnZ21kOk1EX0RhdGFJZGVudGlmaWNhdGlvbic6ICdtcmk6TURfRGF0YUlkZW50aWZpY2F0aW9uJyxcbiAgICAgICdnbWQ6Y2l0YXRpb24nOiAnbXJpOmNpdGF0aW9uJyxcbiAgICAgICdnbWQ6YWJzdHJhY3QnOiAnbXJpOmFic3RyYWN0JyxcbiAgICAgICdnbWQ6dGl0bGUnOiAnY2l0OnRpdGxlJyxcbiAgICAgICdnbWQ6Q0lfQ2l0YXRpb24nOiAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAgICdnbXg6QW5jaG9yJzogJ2djeDpBbmNob3InLFxuXG4gICAgICAvLyBsYW5ndWFnZXNcbiAgICAgICdnbWQ6UFRfTG9jYWxlJzogJ2xhbjpQVF9Mb2NhbGUnLFxuICAgICAgJ2dtZDpQVF9GcmVlVGV4dCc6ICdsYW46UFRfRnJlZVRleHQnLFxuICAgICAgJ2dtZDpMYW5ndWFnZUNvZGUnOiAnbGFuOkxhbmd1YWdlQ29kZScsXG5cbiAgICAgIC8vIHN0YXR1c1xuICAgICAgJ2dtZDpzdGF0dXMnOiAnbXJpOnN0YXR1cycsXG4gICAgICAnZ21kOk1EX1Byb2dyZXNzQ29kZSc6ICdtcmk6TURfUHJvZ3Jlc3NDb2RlJyxcblxuICAgICAgLy8gZGF0ZXNcbiAgICAgICdnbWQ6ZGF0ZSc6ICdjaXQ6ZGF0ZScsXG4gICAgICAnZ21kOkNJX0RhdGUnOiAnY2l0OkNJX0RhdGUnLFxuICAgICAgJ2dtZDpkYXRlVHlwZSc6ICdjaXQ6ZGF0ZVR5cGUnLFxuICAgICAgJ2dtZDpDSV9EYXRlVHlwZUNvZGUnOiAnY2l0OkNJX0RhdGVUeXBlQ29kZScsXG5cbiAgICAgIC8vIGNvbnRhY3RzXG4gICAgICAnZ21kOkNJX1Jlc3BvbnNpYmlsaXR5JzogJ2NpdDpDSV9SZXNwb25zaWJpbGl0eScsXG4gICAgICAnZ21kOnJvbGUnOiAnY2l0OnJvbGUnLFxuICAgICAgJ2dtZDpDSV9Sb2xlQ29kZSc6ICdjaXQ6Q0lfUm9sZUNvZGUnLFxuXG4gICAgICAvLyBrZXl3b3Jkc1xuICAgICAgJ2dtZDpkZXNjcmlwdGl2ZUtleXdvcmRzJzogJ21yaTpkZXNjcmlwdGl2ZUtleXdvcmRzJyxcbiAgICAgICdnbWQ6TURfS2V5d29yZHMnOiAnbXJpOk1EX0tleXdvcmRzJyxcbiAgICAgICdnbWQ6dHlwZSc6ICdtcmk6dHlwZScsXG4gICAgICAnZ21kOk1EX0tleXdvcmRUeXBlQ29kZSc6ICdtcmk6TURfS2V5d29yZFR5cGVDb2RlJyxcbiAgICAgICdnbWQ6dGhlc2F1cnVzTmFtZSc6ICdtcmk6dGhlc2F1cnVzTmFtZScsXG4gICAgICAnZ21kOmtleXdvcmQnOiAnbXJpOmtleXdvcmQnLFxuICAgICAgJ2dtZDppZGVudGlmaWVyJzogJ2NpdDppZGVudGlmaWVyJyxcbiAgICAgICdnbWQ6TURfSWRlbnRpZmllcic6ICdtY2M6TURfSWRlbnRpZmllcicsXG4gICAgICAnZ21kOmNvZGUnOiAnbWNjOmNvZGUnLFxuXG4gICAgICAvLyBkaXN0cmlidXRpb25zXG4gICAgICAnZ21kOk1EX0Rpc3RyaWJ1dGlvbic6ICdtcmQ6TURfRGlzdHJpYnV0aW9uJyxcbiAgICAgICdnbWQ6dHJhbnNmZXJPcHRpb25zJzogJ21yZDp0cmFuc2Zlck9wdGlvbnMnLFxuICAgICAgJ2dtZDpNRF9EaWdpdGFsVHJhbnNmZXJPcHRpb25zJzogJ21yZDpNRF9EaWdpdGFsVHJhbnNmZXJPcHRpb25zJyxcbiAgICAgICdnbWQ6b25MaW5lJzogJ21yZDpvbkxpbmUnLFxuICAgICAgJ2dtZDpkaXN0cmlidXRpb25Gb3JtYXQnOiAnbXJkOmRpc3RyaWJ1dGlvbkZvcm1hdCcsXG4gICAgICAnZ21kOk1EX0Zvcm1hdCc6ICdtcmQ6TURfRm9ybWF0JyxcbiAgICAgICdnbWQ6Q0lfT25saW5lUmVzb3VyY2UnOiAnY2l0OkNJX09ubGluZVJlc291cmNlJyxcbiAgICAgICdnbWQ6bGlua2FnZSc6ICdjaXQ6bGlua2FnZScsXG4gICAgICAnZ21kOm5hbWUnOiAnY2l0Om5hbWUnLFxuICAgICAgJ2dtZDpkZXNjcmlwdGlvbic6ICdjaXQ6ZGVzY3JpcHRpb24nLFxuICAgICAgJ2dtZDpDSV9PbkxpbmVGdW5jdGlvbkNvZGUnOiAnY2l0OkNJX09uTGluZUZ1bmN0aW9uQ29kZScsXG4gICAgICAnZ21kOmZ1bmN0aW9uJzogJ2NpdDpmdW5jdGlvbicsXG4gICAgICAnZ21kOnByb3RvY29sJzogJ2NpdDpwcm90b2NvbCcsXG5cbiAgICAgIC8vIHRvcGljXG4gICAgICAnZ21kOnRvcGljQ2F0ZWdvcnknOiAnbXJpOnRvcGljQ2F0ZWdvcnknLFxuICAgICAgJ2dtZDpNRF9Ub3BpY0NhdGVnb3J5Q29kZSc6ICdtcmk6TURfVG9waWNDYXRlZ29yeUNvZGUnLFxuXG4gICAgICAvLyB1cGRhdGUgZnJlcXVlbmN5XG4gICAgICAnZ21kOnJlc291cmNlTWFpbnRlbmFuY2UnOiAnbXJpOnJlc291cmNlTWFpbnRlbmFuY2UnLFxuICAgICAgJ2dtZDpNRF9NYWludGVuYW5jZUluZm9ybWF0aW9uJzogJ21taTpNRF9NYWludGVuYW5jZUluZm9ybWF0aW9uJyxcbiAgICAgICdnbWQ6dXNlckRlZmluZWRNYWludGVuYW5jZUZyZXF1ZW5jeSc6XG4gICAgICAgICdtbWk6dXNlckRlZmluZWRNYWludGVuYW5jZUZyZXF1ZW5jeScsXG4gICAgICAnZ3RzOlRNX1BlcmlvZER1cmF0aW9uJzogJ2djbzpUTV9QZXJpb2REdXJhdGlvbicsXG5cbiAgICAgIC8vIGNvbnN0cmFpbnRzXG4gICAgICAnZ21kOnJlc291cmNlQ29uc3RyYWludHMnOiAnbXJpOnJlc291cmNlQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9Db25zdHJhaW50cyc6ICdtY286TURfQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9MZWdhbENvbnN0cmFpbnRzJzogJ21jbzpNRF9MZWdhbENvbnN0cmFpbnRzJyxcbiAgICAgICdnbWQ6TURfU2VjdXJpdHlDb25zdHJhaW50cyc6ICdtY286TURfU2VjdXJpdHlDb25zdHJhaW50cycsXG4gICAgICAnZ21kOnVzZUxpbWl0YXRpb24nOiAnbWNvOnVzZUxpbWl0YXRpb24nLFxuICAgICAgJ2dtZDp1c2VDb25zdHJhaW50cyc6ICdtY286dXNlQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDphY2Nlc3NDb25zdHJhaW50cyc6ICdtY286YWNjZXNzQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpvdGhlckNvbnN0cmFpbnRzJzogJ21jbzpvdGhlckNvbnN0cmFpbnRzJyxcbiAgICAgICdnbWQ6TURfUmVzdHJpY3Rpb25Db2RlJzogJ21jbzpNRF9SZXN0cmljdGlvbkNvZGUnLFxuICAgICAgJ2dtZDpjbGFzc2lmaWNhdGlvbic6ICdtY286Y2xhc3NpZmljYXRpb24nLFxuICAgICAgJ2dtZDpNRF9DbGFzc2lmaWNhdGlvbkNvZGUnOiAnbWNvOk1EX0NsYXNzaWZpY2F0aW9uQ29kZScsXG5cbiAgICAgIC8vIG92ZXJ2aWV3c1xuICAgICAgJ2dtZDpncmFwaGljT3ZlcnZpZXcnOiAnbXJpOmdyYXBoaWNPdmVydmlldycsXG4gICAgICAnZ21kOk1EX0Jyb3dzZUdyYXBoaWMnOiAnbWNjOk1EX0Jyb3dzZUdyYXBoaWMnLFxuICAgICAgJ2dtZDpmaWxlTmFtZSc6ICdtY2M6ZmlsZU5hbWUnLFxuICAgICAgJ2dtZDpmaWxlRGVzY3JpcHRpb24nOiAnbWNjOmZpbGVEZXNjcmlwdGlvbicsXG5cbiAgICAgIC8vIG5vIG1vcmUgVVJMIGVsZW1lbnRzXG4gICAgICAnZ21kOlVSTCc6ICdnY286Q2hhcmFjdGVyU3RyaW5nJyxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgd3JpdGVSZWNvcmQoXG4gICAgcmVjb3JkOiBDYXRhbG9nUmVjb3JkLFxuICAgIHJlZmVyZW5jZT86IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGxldCByZXN1bHQgPSBhd2FpdCBzdXBlci53cml0ZVJlY29yZChyZWNvcmQsIHJlZmVyZW5jZSlcbiAgICAvLyBmaXggZ2NvIG5hbWVzcGFjZSBkZWZpbml0aW9uIChjaGFuZ2VzIGJldHdlZW4gaXNvMTkxMzkgYW5kIGlzbzE5MTE1LTNcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgICdcImh0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ2NvXCInLFxuICAgICAgJ1wiaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9nY28vMS4wXCInXG4gICAgKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl19
@@ -1,10 +1,12 @@
1
1
  import { findChildElement, findChildrenElement, findNestedElement, findNestedElements, findParent, readAttribute, } from '../xml-utils';
2
2
  import { combine, filterArray, flattenArray, getAtIndex, map, mapArray, pipe, } from '../function-utils';
3
- import { extractCharacterString, extractDatasetDistributions, extractDateTime, extractRole, extractUrl, findIdentification, } from '../iso19139/read-parts';
3
+ import { extractCharacterString, extractDatasetOnlineResources, extractDateTime, extractLocalizedCharacterString, extractRole, extractServiceOnlineResources, extractReuseOnlineResources, extractUrl, findIdentification, } from '../iso19139/read-parts';
4
4
  import { matchMimeType } from '../common/distribution.mapper';
5
5
  import { fullNameToParts } from '../iso19139/utils/individual-name';
6
+ import { LANG_3_TO_2_MAPPER } from '../../../../../../libs/util/i18n/src/lib/language-codes';
7
+ import { getResourceType, getReuseType } from '../common/resource-types';
6
8
  export function readKind(rootEl) {
7
- return pipe(findNestedElement('mdb:metadataScope', 'mdb:MD_MetadataScope', 'mdb:resourceScope', 'mcc:MD_ScopeCode'), readAttribute('codeListValue'), map((scopeCode) => scopeCode === 'service' ? 'service' : 'dataset'))(rootEl);
9
+ return pipe(findNestedElement('mdb:metadataScope', 'mdb:MD_MetadataScope', 'mdb:resourceScope', 'mcc:MD_ScopeCode'), readAttribute('codeListValue'), map((scopeCode) => getResourceType(scopeCode)))(rootEl);
8
10
  }
9
11
  export function findDistribution() {
10
12
  return findNestedElement('mdb:distributionInfo', 'mrd:MD_Distribution');
@@ -12,9 +14,10 @@ export function findDistribution() {
12
14
  // from cit:CI_Organisation
13
15
  export function extractOrganization() {
14
16
  const getUrl = pipe(findNestedElements('cit:contactInfo', 'cit:CI_Contact', 'cit:onlineResource', 'cit:CI_OnlineResource', 'cit:linkage'), getAtIndex(0), extractUrl());
15
- return pipe(combine(pipe(findChildElement('cit:name', false), extractCharacterString()), getUrl), map(([name, website]) => ({
17
+ return pipe(combine(pipe(findChildElement('cit:name', false), extractLocalizedCharacterString('name')), getUrl), map(([[name, translations], website]) => ({
16
18
  name,
17
19
  ...(website && { website }),
20
+ translations,
18
21
  })));
19
22
  }
20
23
  // from cit:CI_Individual or cit:CI_Organisation
@@ -32,6 +35,7 @@ export function extractIndividual(role, organization, orgContact) {
32
35
  const getEmail = pipe(getAddressRoot, findChildElement('cit:electronicMailAddress', false), extractCharacterString());
33
36
  const defaultOrg = {
34
37
  name: 'Missing Organization',
38
+ translations: {},
35
39
  };
36
40
  let defaultIndividual = {};
37
41
  if (orgContact) {
@@ -73,8 +77,8 @@ export function extractOrganizationIndividuals(role) {
73
77
  // from cit:CI_Responsibility
74
78
  export function extractIndividuals() {
75
79
  const getRole = pipe(findChildElement('cit:role'), extractRole());
76
- const getIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Individual')), ([role, els]) => els.map((el) => extractIndividual(role)(el)));
77
- const getOrgIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Organisation')), map(([role, els]) => els.map((el) => extractOrganizationIndividuals(role)(el))), flattenArray());
80
+ const getIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Individual')), ([role, els]) => els.map(extractIndividual(role)));
81
+ const getOrgIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Organisation')), map(([role, els]) => els.map(extractOrganizationIndividuals(role))), flattenArray());
78
82
  return pipe(combine(getIndividuals, getOrgIndividuals), flattenArray());
79
83
  }
80
84
  export function readUniqueIdentifier(rootEl) {
@@ -82,20 +86,21 @@ export function readUniqueIdentifier(rootEl) {
82
86
  }
83
87
  export function readOwnerOrganization(rootEl) {
84
88
  const contacts = readContacts(rootEl);
89
+ const contactsForResource = readContactsForResource(rootEl);
85
90
  const pointOfContact = contacts.filter((c) => c.role === 'point_of_contact')[0];
86
- return (pointOfContact || contacts[0]).organization;
91
+ return (pointOfContact || contacts[0] || contactsForResource[0]).organization;
87
92
  }
88
93
  export function readContacts(rootEl) {
89
94
  return pipe(findNestedElements('mdb:contact', 'cit:CI_Responsibility'), mapArray(extractIndividuals()), flattenArray())(rootEl);
90
95
  }
91
- export function readResourceContacts(rootEl) {
96
+ export function readContactsForResource(rootEl) {
92
97
  return pipe(combine(pipe(findIdentification(), findNestedElements('mri:citation', 'cit:CI_Citation', 'cit:citedResponsibleParty')), pipe(findIdentification(), findChildrenElement('mri:pointOfContact', false)), pipe(findDistribution(), findChildrenElement('mrd:distributorContact'))), flattenArray(), mapArray(findChildElement('cit:CI_Responsibility', false)), mapArray(extractIndividuals()), flattenArray())(rootEl);
93
98
  }
94
99
  export function readLandingPage(rootEl) {
95
100
  return pipe(findNestedElement('mdb:metadataLinkage', 'cit:CI_OnlineResource', 'cit:linkage'), extractUrl())(rootEl);
96
101
  }
97
- export function readLineage(rootEl) {
98
- return pipe(findNestedElement('mdb:resourceLineage', 'mrl:LI_Lineage', 'mrl:statement'), extractCharacterString())(rootEl);
102
+ export function readLineage(rootEl, translations) {
103
+ return pipe(findNestedElement('mdb:resourceLineage', 'mrl:LI_Lineage', 'mrl:statement'), extractLocalizedCharacterString('lineage', translations), map(([lineage]) => lineage))(rootEl);
99
104
  }
100
105
  function extractDateInfo(type) {
101
106
  return pipe(findChildrenElement('mdb:dateInfo', false), filterArray((el) => pipe(findChildElement('cit:CI_DateTypeCode'), readAttribute('codeListValue'))(el) === type), getAtIndex(0), findChildElement('cit:date'), extractDateTime());
@@ -109,8 +114,30 @@ export function readRecordCreated(rootEl) {
109
114
  export function readRecordPublished(rootEl) {
110
115
  return extractDateInfo('publication')(rootEl);
111
116
  }
117
+ export function readReuseType(rootEl) {
118
+ return pipe(findNestedElement('mdb:metadataScope', 'mdb:MD_MetadataScope', 'mdb:resourceScope', 'mcc:MD_ScopeCode'), readAttribute('codeListValue'), map((scopeCode) => getReuseType(scopeCode)))(rootEl);
119
+ }
112
120
  const getMimeType = pipe(findParent('mrd:MD_Distribution'), findNestedElement('mrd:distributionFormat', 'mrd:MD_Format', 'mrd:formatSpecificationCitation', 'cit:CI_Citation', 'cit:title'), extractCharacterString(), map(matchMimeType));
113
- export function readDistributions(rootEl) {
114
- return pipe(findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'), mapArray(extractDatasetDistributions(getMimeType)), flattenArray())(rootEl);
121
+ export function readOnlineResources(rootEl) {
122
+ let getOnlineResources;
123
+ if (readKind(rootEl) === 'dataset') {
124
+ getOnlineResources = extractDatasetOnlineResources(getMimeType);
125
+ }
126
+ else if (readKind(rootEl) === 'service') {
127
+ getOnlineResources = extractServiceOnlineResources();
128
+ }
129
+ else {
130
+ getOnlineResources = extractReuseOnlineResources();
131
+ }
132
+ return pipe(findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'), mapArray(getOnlineResources), flattenArray())(rootEl);
133
+ }
134
+ function readLocaleElement() {
135
+ return pipe(findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => (lang ? LANG_3_TO_2_MAPPER[lang.toLowerCase()] : null)));
136
+ }
137
+ export function readDefaultLanguage(rootEl) {
138
+ return pipe(findChildElement('mdb:defaultLocale', false), readLocaleElement())(rootEl);
139
+ }
140
+ export function readOtherLanguages(rootEl) {
141
+ return pipe(findChildrenElement('mdb:otherLocale', false), mapArray(readLocaleElement()))(rootEl);
115
142
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1wYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2lzbzE5MTE1LTMvcmVhZC1wYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixhQUFhLEdBRWQsTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUVMLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixHQUFHLEVBQ0gsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZixXQUFXLEVBQ1gsVUFBVSxFQUNWLGtCQUFrQixHQUNuQixNQUFNLHdCQUF3QixDQUFBO0FBUS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFbkUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFrQjtJQUN6QyxPQUFPLElBQUksQ0FDVCxpQkFBaUIsQ0FDZixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixrQkFBa0IsQ0FDbkIsRUFDRCxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQzlCLEdBQUcsQ0FDRCxDQUFDLFNBQVMsRUFBYyxFQUFFLENBQ3hCLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRCxDQUNGLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLGlCQUFpQixDQUFDLHNCQUFzQixF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QWtCLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLENBQUMsRUFDakUsUUFBUSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xELFlBQVksRUFBRSxDQUNmLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZmluZENoaWxkRWxlbWVudCxcbiAgZmluZENoaWxkcmVuRWxlbWVudCxcbiAgZmluZE5lc3RlZEVsZW1lbnQsXG4gIGZpbmROZXN0ZWRFbGVtZW50cyxcbiAgZmluZFBhcmVudCxcbiAgcmVhZEF0dHJpYnV0ZSxcbiAgWG1sRWxlbWVudCxcbn0gZnJvbSAnLi4veG1sLXV0aWxzJ1xuaW1wb3J0IHtcbiAgQ2hhaW5hYmxlRnVuY3Rpb24sXG4gIGNvbWJpbmUsXG4gIGZpbHRlckFycmF5LFxuICBmbGF0dGVuQXJyYXksXG4gIGdldEF0SW5kZXgsXG4gIG1hcCxcbiAgbWFwQXJyYXksXG4gIHBpcGUsXG59IGZyb20gJy4uL2Z1bmN0aW9uLXV0aWxzJ1xuaW1wb3J0IHtcbiAgZXh0cmFjdENoYXJhY3RlclN0cmluZyxcbiAgZXh0cmFjdERhdGFzZXREaXN0cmlidXRpb25zLFxuICBleHRyYWN0RGF0ZVRpbWUsXG4gIGV4dHJhY3RSb2xlLFxuICBleHRyYWN0VXJsLFxuICBmaW5kSWRlbnRpZmljYXRpb24sXG59IGZyb20gJy4uL2lzbzE5MTM5L3JlYWQtcGFydHMnXG5pbXBvcnQge1xuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBJbmRpdmlkdWFsLFxuICBPcmdhbml6YXRpb24sXG4gIFJlY29yZEtpbmQsXG4gIFJvbGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1hdGNoTWltZVR5cGUgfSBmcm9tICcuLi9jb21tb24vZGlzdHJpYnV0aW9uLm1hcHBlcidcbmltcG9ydCB7IGZ1bGxOYW1lVG9QYXJ0cyB9IGZyb20gJy4uL2lzbzE5MTM5L3V0aWxzL2luZGl2aWR1YWwtbmFtZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRLaW5kKHJvb3RFbDogWG1sRWxlbWVudCk6IFJlY29yZEtpbmQge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudChcbiAgICAgICdtZGI6bWV0YWRhdGFTY29wZScsXG4gICAgICAnbWRiOk1EX01ldGFkYXRhU2NvcGUnLFxuICAgICAgJ21kYjpyZXNvdXJjZVNjb3BlJyxcbiAgICAgICdtY2M6TURfU2NvcGVDb2RlJ1xuICAgICksXG4gICAgcmVhZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScpLFxuICAgIG1hcChcbiAgICAgIChzY29wZUNvZGUpOiBSZWNvcmRLaW5kID0+XG4gICAgICAgIHNjb3BlQ29kZSA9PT0gJ3NlcnZpY2UnID8gJ3NlcnZpY2UnIDogJ2RhdGFzZXQnXG4gICAgKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmREaXN0cmlidXRpb24oKSB7XG4gIHJldHVybiBmaW5kTmVzdGVkRWxlbWVudCgnbWRiOmRpc3RyaWJ1dGlvbkluZm8nLCAnbXJkOk1EX0Rpc3RyaWJ1dGlvbicpXG59XG5cbi8vIGZyb20gY2l0OkNJX09yZ2FuaXNhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPcmdhbml6YXRpb24oKTogQ2hhaW5hYmxlRnVuY3Rpb248XG4gIFhtbEVsZW1lbnQsXG4gIE9yZ2FuaXphdGlvblxuPiB7XG4gIGNvbnN0IGdldFVybCA9IHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKFxuICAgICAgJ2NpdDpjb250YWN0SW5mbycsXG4gICAgICAnY2l0OkNJX0NvbnRhY3QnLFxuICAgICAgJ2NpdDpvbmxpbmVSZXNvdXJjZScsXG4gICAgICAnY2l0OkNJX09ubGluZVJlc291cmNlJyxcbiAgICAgICdjaXQ6bGlua2FnZSdcbiAgICApLFxuICAgIGdldEF0SW5kZXgoMCksXG4gICAgZXh0cmFjdFVybCgpXG4gIClcbiAgcmV0dXJuIHBpcGUoXG4gICAgY29tYmluZShcbiAgICAgIHBpcGUoZmluZENoaWxkRWxlbWVudCgnY2l0Om5hbWUnLCBmYWxzZSksIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSksXG4gICAgICBnZXRVcmxcbiAgICApLFxuICAgIG1hcCgoW25hbWUsIHdlYnNpdGVdKSA9PiAoe1xuICAgICAgbmFtZSxcbiAgICAgIC4uLih3ZWJzaXRlICYmIHsgd2Vic2l0ZSB9KSxcbiAgICB9KSlcbiAgKVxufVxuXG4vLyBmcm9tIGNpdDpDSV9JbmRpdmlkdWFsIG9yIGNpdDpDSV9PcmdhbmlzYXRpb25cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0SW5kaXZpZHVhbChcbiAgcm9sZTogUm9sZSxcbiAgb3JnYW5pemF0aW9uPzogT3JnYW5pemF0aW9uLFxuICBvcmdDb250YWN0PzogSW5kaXZpZHVhbFxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgSW5kaXZpZHVhbD4ge1xuICBjb25zdCBnZXRQb3NpdGlvbiA9IHBpcGUoXG4gICAgZmluZENoaWxkRWxlbWVudCgnY2l0OnBvc2l0aW9uTmFtZScpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGdldE5hbWVQYXJ0cyA9IHBpcGUoXG4gICAgZmluZENoaWxkRWxlbWVudCgnY2l0Om5hbWUnKSxcbiAgICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCksXG4gICAgbWFwKChmdWxsTmFtZSkgPT4ge1xuICAgICAgaWYgKCFmdWxsTmFtZSkgcmV0dXJuIFtdXG4gICAgICByZXR1cm4gZnVsbE5hbWVUb1BhcnRzKGZ1bGxOYW1lKVxuICAgIH0pXG4gIClcbiAgY29uc3QgZ2V0Q29udGFjdCA9IGZpbmROZXN0ZWRFbGVtZW50KCdjaXQ6Y29udGFjdEluZm8nLCAnY2l0OkNJX0NvbnRhY3QnKVxuICBjb25zdCBnZXRBZGRyZXNzUm9vdCA9IHBpcGUoXG4gICAgZ2V0Q29udGFjdCxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnY2l0OmFkZHJlc3MnLCAnY2l0OkNJX0FkZHJlc3MnKVxuICApXG4gIGNvbnN0IGdldEFkZHJlc3MgPSBwaXBlKFxuICAgIGdldEFkZHJlc3NSb290LFxuICAgIGNvbWJpbmUoXG4gICAgICBwaXBlKFxuICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6ZGVsaXZlcnlQb2ludCcsIGZhbHNlKSxcbiAgICAgICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gICAgICApLFxuICAgICAgcGlwZShmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Y2l0eScsIGZhbHNlKSwgZXh0cmFjdENoYXJhY3RlclN0cmluZygpKSxcbiAgICAgIHBpcGUoZmluZENoaWxkRWxlbWVudCgnY2l0OnBvc3RhbENvZGUnLCBmYWxzZSksIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSksXG4gICAgICBwaXBlKGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpjb3VudHJ5JywgZmFsc2UpLCBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCkpXG4gICAgKSxcbiAgICBtYXAoKHBhcnRzKSA9PiBwYXJ0cy5maWx0ZXIoKHApID0+ICEhcCkuam9pbignLCAnKSlcbiAgKVxuICBjb25zdCBnZXRQaG9uZSA9IHBpcGUoXG4gICAgZ2V0Q29udGFjdCxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnY2l0OnBob25lJywgJ2NpdDpDSV9UZWxlcGhvbmUnLCAnY2l0Om51bWJlcicpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGdldEVtYWlsID0gcGlwZShcbiAgICBnZXRBZGRyZXNzUm9vdCxcbiAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6ZWxlY3Ryb25pY01haWxBZGRyZXNzJywgZmFsc2UpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGRlZmF1bHRPcmc6IE9yZ2FuaXphdGlvbiA9IHtcbiAgICBuYW1lOiAnTWlzc2luZyBPcmdhbml6YXRpb24nLFxuICB9XG5cbiAgbGV0IGRlZmF1bHRJbmRpdmlkdWFsOiBQYXJ0aWFsPEluZGl2aWR1YWw+ID0ge31cbiAgaWYgKG9yZ0NvbnRhY3QpIHtcbiAgICBkZWZhdWx0SW5kaXZpZHVhbCA9IHtcbiAgICAgIGVtYWlsOiBvcmdDb250YWN0LmVtYWlsLFxuICAgICAgLi4uKG9yZ0NvbnRhY3QuYWRkcmVzcyAmJiB7IGFkZHJlc3M6IG9yZ0NvbnRhY3QuYWRkcmVzcyB9KSxcbiAgICAgIC4uLihvcmdDb250YWN0LnBob25lICYmIHsgcGhvbmU6IG9yZ0NvbnRhY3QucGhvbmUgfSksXG4gICAgICAuLi4ob3JnQ29udGFjdC5wb3NpdGlvbiAmJiB7IHBvc2l0aW9uOiBvcmdDb250YWN0LnBvc2l0aW9uIH0pLFxuICAgICAgb3JnYW5pemF0aW9uLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwaXBlKFxuICAgIGNvbWJpbmUoZ2V0UG9zaXRpb24sIGdldE5hbWVQYXJ0cywgZ2V0RW1haWwsIGdldEFkZHJlc3MsIGdldFBob25lKSxcbiAgICBtYXAoKFtwb3NpdGlvbiwgW2ZpcnN0TmFtZSwgbGFzdE5hbWVdLCBlbWFpbCwgYWRkcmVzcywgcGhvbmVdKSA9PiAoe1xuICAgICAgLi4uZGVmYXVsdEluZGl2aWR1YWwsXG4gICAgICBlbWFpbDogZW1haWwgfHwgZGVmYXVsdEluZGl2aWR1YWwuZW1haWwgfHwgJ21pc3NpbmdAbWlzc2luZy5jb20nLFxuICAgICAgcm9sZSxcbiAgICAgIG9yZ2FuaXphdGlvbjogb3JnYW5pemF0aW9uIHx8IGRlZmF1bHRPcmcsXG4gICAgICAuLi4ocG9zaXRpb24gJiYgeyBwb3NpdGlvbiB9KSxcbiAgICAgIC4uLihmaXJzdE5hbWUgJiYgeyBmaXJzdE5hbWUgfSksXG4gICAgICAuLi4obGFzdE5hbWUgJiYgeyBsYXN0TmFtZSB9KSxcbiAgICAgIC4uLihhZGRyZXNzICYmIHsgYWRkcmVzcyB9KSxcbiAgICAgIC4uLihwaG9uZSAmJiB7IHBob25lIH0pLFxuICAgIH0pKVxuICApXG59XG5cbi8vIGZyb20gY2l0OkNJX09yZ2FuaXNhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPcmdhbml6YXRpb25JbmRpdmlkdWFscyhcbiAgcm9sZTogUm9sZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgQXJyYXk8SW5kaXZpZHVhbD4+IHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgY29tYmluZShcbiAgICAgIGV4dHJhY3RPcmdhbml6YXRpb24oKSxcbiAgICAgIGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUpLFxuICAgICAgZmluZE5lc3RlZEVsZW1lbnRzKCdjaXQ6aW5kaXZpZHVhbCcsICdjaXQ6Q0lfSW5kaXZpZHVhbCcpXG4gICAgKSxcbiAgICBtYXAoKFtvcmcsIG9yZ0NvbnRhY3QsIGVsc10pID0+XG4gICAgICBlbHMubGVuZ3RoXG4gICAgICAgID8gZWxzLm1hcCgoZWwpID0+IGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUsIG9yZywgb3JnQ29udGFjdCkoZWwpKVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZW1haWw6IG9yZ0NvbnRhY3QuZW1haWwsXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LmFkZHJlc3MgJiYgeyBhZGRyZXNzOiBvcmdDb250YWN0LmFkZHJlc3MgfSksXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LnBob25lICYmIHsgcGhvbmU6IG9yZ0NvbnRhY3QucGhvbmUgfSksXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LnBvc2l0aW9uICYmIHsgcG9zaXRpb246IG9yZ0NvbnRhY3QucG9zaXRpb24gfSksXG4gICAgICAgICAgICAgIG9yZ2FuaXphdGlvbjogb3JnLFxuICAgICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgKVxuICApXG59XG5cbi8vIGZyb20gY2l0OkNJX1Jlc3BvbnNpYmlsaXR5XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEluZGl2aWR1YWxzKCk6IENoYWluYWJsZUZ1bmN0aW9uPFxuICBYbWxFbGVtZW50LFxuICBBcnJheTxJbmRpdmlkdWFsPlxuPiB7XG4gIGNvbnN0IGdldFJvbGUgPSBwaXBlKGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpyb2xlJyksIGV4dHJhY3RSb2xlKCkpXG4gIGNvbnN0IGdldEluZGl2aWR1YWxzID0gcGlwZShcbiAgICBjb21iaW5lKGdldFJvbGUsIGZpbmROZXN0ZWRFbGVtZW50cygnY2l0OnBhcnR5JywgJ2NpdDpDSV9JbmRpdmlkdWFsJykpLFxuICAgIChbcm9sZSwgZWxzXSkgPT4gZWxzLm1hcCgoZWwpID0+IGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUpKGVsKSlcbiAgKVxuICBjb25zdCBnZXRPcmdJbmRpdmlkdWFscyA9IHBpcGUoXG4gICAgY29tYmluZShnZXRSb2xlLCBmaW5kTmVzdGVkRWxlbWVudHMoJ2NpdDpwYXJ0eScsICdjaXQ6Q0lfT3JnYW5pc2F0aW9uJykpLFxuICAgIG1hcCgoW3JvbGUsIGVsc10pID0+XG4gICAgICBlbHMubWFwKChlbCkgPT4gZXh0cmFjdE9yZ2FuaXphdGlvbkluZGl2aWR1YWxzKHJvbGUpKGVsKSlcbiAgICApLFxuICAgIGZsYXR0ZW5BcnJheSgpXG4gIClcblxuICByZXR1cm4gcGlwZShjb21iaW5lKGdldEluZGl2aWR1YWxzLCBnZXRPcmdJbmRpdmlkdWFscyksIGZsYXR0ZW5BcnJheSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFVuaXF1ZUlkZW50aWZpZXIocm9vdEVsOiBYbWxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhSWRlbnRpZmllcicsXG4gICAgICAnbWNjOk1EX0lkZW50aWZpZXInLFxuICAgICAgJ21jYzpjb2RlJ1xuICAgICksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZE93bmVyT3JnYW5pemF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCk6IE9yZ2FuaXphdGlvbiB7XG4gIGNvbnN0IGNvbnRhY3RzID0gcmVhZENvbnRhY3RzKHJvb3RFbClcbiAgY29uc3QgcG9pbnRPZkNvbnRhY3QgPSBjb250YWN0cy5maWx0ZXIoXG4gICAgKGMpID0+IGMucm9sZSA9PT0gJ3BvaW50X29mX2NvbnRhY3QnXG4gIClbMF1cbiAgcmV0dXJuIChwb2ludE9mQ29udGFjdCB8fCBjb250YWN0c1swXSkub3JnYW5pemF0aW9uXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkQ29udGFjdHMocm9vdEVsOiBYbWxFbGVtZW50KTogSW5kaXZpZHVhbFtdIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKCdtZGI6Y29udGFjdCcsICdjaXQ6Q0lfUmVzcG9uc2liaWxpdHknKSxcbiAgICBtYXBBcnJheShleHRyYWN0SW5kaXZpZHVhbHMoKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkUmVzb3VyY2VDb250YWN0cyhyb290RWw6IFhtbEVsZW1lbnQpOiBJbmRpdmlkdWFsW10ge1xuICByZXR1cm4gcGlwZShcbiAgICBjb21iaW5lKFxuICAgICAgcGlwZShcbiAgICAgICAgZmluZElkZW50aWZpY2F0aW9uKCksXG4gICAgICAgIGZpbmROZXN0ZWRFbGVtZW50cyhcbiAgICAgICAgICAnbXJpOmNpdGF0aW9uJyxcbiAgICAgICAgICAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAgICAgICAnY2l0OmNpdGVkUmVzcG9uc2libGVQYXJ0eSdcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHBpcGUoXG4gICAgICAgIGZpbmRJZGVudGlmaWNhdGlvbigpLFxuICAgICAgICBmaW5kQ2hpbGRyZW5FbGVtZW50KCdtcmk6cG9pbnRPZkNvbnRhY3QnLCBmYWxzZSlcbiAgICAgICksXG4gICAgICBwaXBlKGZpbmREaXN0cmlidXRpb24oKSwgZmluZENoaWxkcmVuRWxlbWVudCgnbXJkOmRpc3RyaWJ1dG9yQ29udGFjdCcpKVxuICAgICksXG4gICAgZmxhdHRlbkFycmF5KCksXG4gICAgbWFwQXJyYXkoZmluZENoaWxkRWxlbWVudCgnY2l0OkNJX1Jlc3BvbnNpYmlsaXR5JywgZmFsc2UpKSxcbiAgICBtYXBBcnJheShleHRyYWN0SW5kaXZpZHVhbHMoKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkTGFuZGluZ1BhZ2Uocm9vdEVsOiBYbWxFbGVtZW50KTogVVJMIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhTGlua2FnZScsXG4gICAgICAnY2l0OkNJX09ubGluZVJlc291cmNlJyxcbiAgICAgICdjaXQ6bGlua2FnZSdcbiAgICApLFxuICAgIGV4dHJhY3RVcmwoKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRMaW5lYWdlKHJvb3RFbDogWG1sRWxlbWVudCk6IHN0cmluZyB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KCdtZGI6cmVzb3VyY2VMaW5lYWdlJywgJ21ybDpMSV9MaW5lYWdlJywgJ21ybDpzdGF0ZW1lbnQnKSxcbiAgICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKClcbiAgKShyb290RWwpXG59XG5cbmZ1bmN0aW9uIGV4dHJhY3REYXRlSW5mbyhcbiAgdHlwZTogJ2NyZWF0aW9uJyB8ICdyZXZpc2lvbicgfCAncHVibGljYXRpb24nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBEYXRlPiB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21kYjpkYXRlSW5mbycsIGZhbHNlKSxcbiAgICBmaWx0ZXJBcnJheShcbiAgICAgIChlbCkgPT5cbiAgICAgICAgcGlwZShcbiAgICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyksXG4gICAgICAgICAgcmVhZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScpXG4gICAgICAgICkoZWwpID09PSB0eXBlXG4gICAgKSxcbiAgICBnZXRBdEluZGV4KDApLFxuICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpkYXRlJyksXG4gICAgZXh0cmFjdERhdGVUaW1lKClcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFVwZGF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ3JldmlzaW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZENyZWF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ2NyZWF0aW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFB1Ymxpc2hlZChyb290RWw6IFhtbEVsZW1lbnQpOiBEYXRlIHtcbiAgcmV0dXJuIGV4dHJhY3REYXRlSW5mbygncHVibGljYXRpb24nKShyb290RWwpXG59XG5cbmNvbnN0IGdldE1pbWVUeXBlID0gcGlwZShcbiAgZmluZFBhcmVudCgnbXJkOk1EX0Rpc3RyaWJ1dGlvbicpLFxuICBmaW5kTmVzdGVkRWxlbWVudChcbiAgICAnbXJkOmRpc3RyaWJ1dGlvbkZvcm1hdCcsXG4gICAgJ21yZDpNRF9Gb3JtYXQnLFxuICAgICdtcmQ6Zm9ybWF0U3BlY2lmaWNhdGlvbkNpdGF0aW9uJyxcbiAgICAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAnY2l0OnRpdGxlJ1xuICApLFxuICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCksXG4gIG1hcChtYXRjaE1pbWVUeXBlKVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZERpc3RyaWJ1dGlvbnMocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0YXNldERpc3RyaWJ1dGlvbltdIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKCdtcmQ6ZGlzdHJpYnV0aW9uSW5mbycsICdtcmQ6TURfRGlzdHJpYnV0aW9uJyksXG4gICAgbWFwQXJyYXkoZXh0cmFjdERhdGFzZXREaXN0cmlidXRpb25zKGdldE1pbWVUeXBlKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1wYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2lzbzE5MTE1LTMvcmVhZC1wYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixhQUFhLEdBRWQsTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUVMLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixHQUFHLEVBQ0gsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZiwrQkFBK0IsRUFDL0IsV0FBVyxFQUNYLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLGtCQUFrQixHQUNuQixNQUFNLHdCQUF3QixDQUFBO0FBWS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seURBQXlELENBQUE7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUV4RSxNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQWtCO0lBQ3pDLE9BQU8sSUFBSSxDQUNULGlCQUFpQixDQUNmLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGtCQUFrQixDQUNuQixFQUNELGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFDOUIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFjLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FB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QUVELFNBQVMsaUJBQWlCO0lBQ3hCLE9BQU8sSUFBSSxDQUNULGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEVBQ3BDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFDOUIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RFLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQWtCO0lBQ3BELE9BQU8sSUFBSSxDQUNULGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUM1QyxpQkFBaUIsRUFBRSxDQUNwQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFrQjtJQUNuRCxPQUFPLElBQUksQ0FDVCxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFDN0MsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDOUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmaW5kQ2hpbGRFbGVtZW50LFxuICBmaW5kQ2hpbGRyZW5FbGVtZW50LFxuICBmaW5kTmVzdGVkRWxlbWVudCxcbiAgZmluZE5lc3RlZEVsZW1lbnRzLFxuICBmaW5kUGFyZW50LFxuICByZWFkQXR0cmlidXRlLFxuICBYbWxFbGVtZW50LFxufSBmcm9tICcuLi94bWwtdXRpbHMnXG5pbXBvcnQge1xuICBDaGFpbmFibGVGdW5jdGlvbixcbiAgY29tYmluZSxcbiAgZmlsdGVyQXJyYXksXG4gIGZsYXR0ZW5BcnJheSxcbiAgZ2V0QXRJbmRleCxcbiAgbWFwLFxuICBtYXBBcnJheSxcbiAgcGlwZSxcbn0gZnJvbSAnLi4vZnVuY3Rpb24tdXRpbHMnXG5pbXBvcnQge1xuICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nLFxuICBleHRyYWN0RGF0YXNldE9ubGluZVJlc291cmNlcyxcbiAgZXh0cmFjdERhdGVUaW1lLFxuICBleHRyYWN0TG9jYWxpemVkQ2hhcmFjdGVyU3RyaW5nLFxuICBleHRyYWN0Um9sZSxcbiAgZXh0cmFjdFNlcnZpY2VPbmxpbmVSZXNvdXJjZXMsXG4gIGV4dHJhY3RSZXVzZU9ubGluZVJlc291cmNlcyxcbiAgZXh0cmFjdFVybCxcbiAgZmluZElkZW50aWZpY2F0aW9uLFxufSBmcm9tICcuLi9pc28xOTEzOS9yZWFkLXBhcnRzJ1xuaW1wb3J0IHtcbiAgSW5kaXZpZHVhbCxcbiAgTGFuZ3VhZ2VDb2RlLFxuICBPbmxpbmVSZXNvdXJjZSxcbiAgT3JnYW5pemF0aW9uLFxuICBPcmdhbml6YXRpb25UcmFuc2xhdGlvbnMsXG4gIFJlY29yZEtpbmQsXG4gIFJlY29yZFRyYW5zbGF0aW9ucyxcbiAgUmV1c2VUeXBlLFxuICBSb2xlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBtYXRjaE1pbWVUeXBlIH0gZnJvbSAnLi4vY29tbW9uL2Rpc3RyaWJ1dGlvbi5tYXBwZXInXG5pbXBvcnQgeyBmdWxsTmFtZVRvUGFydHMgfSBmcm9tICcuLi9pc28xOTEzOS91dGlscy9pbmRpdmlkdWFsLW5hbWUnXG5pbXBvcnQgeyBMQU5HXzNfVE9fMl9NQVBQRVIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2xhbmd1YWdlLWNvZGVzJ1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VUeXBlLCBnZXRSZXVzZVR5cGUgfSBmcm9tICcuLi9jb21tb24vcmVzb3VyY2UtdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkS2luZChyb290RWw6IFhtbEVsZW1lbnQpOiBSZWNvcmRLaW5kIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhU2NvcGUnLFxuICAgICAgJ21kYjpNRF9NZXRhZGF0YVNjb3BlJyxcbiAgICAgICdtZGI6cmVzb3VyY2VTY29wZScsXG4gICAgICAnbWNjOk1EX1Njb3BlQ29kZSdcbiAgICApLFxuICAgIHJlYWRBdHRyaWJ1dGUoJ2NvZGVMaXN0VmFsdWUnKSxcbiAgICBtYXAoKHNjb3BlQ29kZSk6IFJlY29yZEtpbmQgPT4gZ2V0UmVzb3VyY2VUeXBlKHNjb3BlQ29kZSkpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZERpc3RyaWJ1dGlvbigpIHtcbiAgcmV0dXJuIGZpbmROZXN0ZWRFbGVtZW50KCdtZGI6ZGlzdHJpYnV0aW9uSW5mbycsICdtcmQ6TURfRGlzdHJpYnV0aW9uJylcbn1cblxuLy8gZnJvbSBjaXQ6Q0lfT3JnYW5pc2F0aW9uXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE9yZ2FuaXphdGlvbigpOiBDaGFpbmFibGVGdW5jdGlvbjxcbiAgWG1sRWxlbWVudCxcbiAgT3JnYW5pemF0aW9uXG4+IHtcbiAgY29uc3QgZ2V0VXJsID0gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudHMoXG4gICAgICAnY2l0OmNvbnRhY3RJbmZvJyxcbiAgICAgICdjaXQ6Q0lfQ29udGFjdCcsXG4gICAgICAnY2l0Om9ubGluZVJlc291cmNlJyxcbiAgICAgICdjaXQ6Q0lfT25saW5lUmVzb3VyY2UnLFxuICAgICAgJ2NpdDpsaW5rYWdlJ1xuICAgICksXG4gICAgZ2V0QXRJbmRleCgwKSxcbiAgICBleHRyYWN0VXJsKClcbiAgKVxuICByZXR1cm4gcGlwZShcbiAgICBjb21iaW5lKFxuICAgICAgcGlwZShcbiAgICAgICAgZmluZENoaWxkRWxlbWVudCgnY2l0Om5hbWUnLCBmYWxzZSksXG4gICAgICAgIGV4dHJhY3RMb2NhbGl6ZWRDaGFyYWN0ZXJTdHJpbmc8T3JnYW5pemF0aW9uVHJhbnNsYXRpb25zPignbmFtZScpXG4gICAgICApLFxuICAgICAgZ2V0VXJsXG4gICAgKSxcbiAgICBtYXAoKFtbbmFtZSwgdHJhbnNsYXRpb25zXSwgd2Vic2l0ZV0pID0+ICh7XG4gICAgICBuYW1lLFxuICAgICAgLi4uKHdlYnNpdGUgJiYgeyB3ZWJzaXRlIH0pLFxuICAgICAgdHJhbnNsYXRpb25zLFxuICAgIH0pKVxuICApXG59XG5cbi8vIGZyb20gY2l0OkNJX0luZGl2aWR1YWwgb3IgY2l0OkNJX09yZ2FuaXNhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RJbmRpdmlkdWFsKFxuICByb2xlOiBSb2xlLFxuICBvcmdhbml6YXRpb24/OiBPcmdhbml6YXRpb24sXG4gIG9yZ0NvbnRhY3Q/OiBJbmRpdmlkdWFsXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBJbmRpdmlkdWFsPiB7XG4gIGNvbnN0IGdldFBvc2l0aW9uID0gcGlwZShcbiAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6cG9zaXRpb25OYW1lJyksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gIClcbiAgY29uc3QgZ2V0TmFtZVBhcnRzID0gcGlwZShcbiAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6bmFtZScpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSxcbiAgICBtYXAoKGZ1bGxOYW1lKSA9PiB7XG4gICAgICBpZiAoIWZ1bGxOYW1lKSByZXR1cm4gW11cbiAgICAgIHJldHVybiBmdWxsTmFtZVRvUGFydHMoZnVsbE5hbWUpXG4gICAgfSlcbiAgKVxuICBjb25zdCBnZXRDb250YWN0ID0gZmluZE5lc3RlZEVsZW1lbnQoJ2NpdDpjb250YWN0SW5mbycsICdjaXQ6Q0lfQ29udGFjdCcpXG4gIGNvbnN0IGdldEFkZHJlc3NSb290ID0gcGlwZShcbiAgICBnZXRDb250YWN0LFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KCdjaXQ6YWRkcmVzcycsICdjaXQ6Q0lfQWRkcmVzcycpXG4gIClcbiAgY29uc3QgZ2V0QWRkcmVzcyA9IHBpcGUoXG4gICAgZ2V0QWRkcmVzc1Jvb3QsXG4gICAgY29tYmluZShcbiAgICAgIHBpcGUoXG4gICAgICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpkZWxpdmVyeVBvaW50JywgZmFsc2UpLFxuICAgICAgICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKClcbiAgICAgICksXG4gICAgICBwaXBlKGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpjaXR5JywgZmFsc2UpLCBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCkpLFxuICAgICAgcGlwZShmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6cG9zdGFsQ29kZScsIGZhbHNlKSwgZXh0cmFjdENoYXJhY3RlclN0cmluZygpKSxcbiAgICAgIHBpcGUoZmluZENoaWxkRWxlbWVudCgnY2l0OmNvdW50cnknLCBmYWxzZSksIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSlcbiAgICApLFxuICAgIG1hcCgocGFydHMpID0+IHBhcnRzLmZpbHRlcigocCkgPT4gISFwKS5qb2luKCcsICcpKVxuICApXG4gIGNvbnN0IGdldFBob25lID0gcGlwZShcbiAgICBnZXRDb250YWN0LFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KCdjaXQ6cGhvbmUnLCAnY2l0OkNJX1RlbGVwaG9uZScsICdjaXQ6bnVtYmVyJyksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gIClcbiAgY29uc3QgZ2V0RW1haWwgPSBwaXBlKFxuICAgIGdldEFkZHJlc3NSb290LFxuICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDplbGVjdHJvbmljTWFpbEFkZHJlc3MnLCBmYWxzZSksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gIClcbiAgY29uc3QgZGVmYXVsdE9yZzogT3JnYW5pemF0aW9uID0ge1xuICAgIG5hbWU6ICdNaXNzaW5nIE9yZ2FuaXphdGlvbicsXG4gICAgdHJhbnNsYXRpb25zOiB7fSxcbiAgfVxuXG4gIGxldCBkZWZhdWx0SW5kaXZpZHVhbDogUGFydGlhbDxJbmRpdmlkdWFsPiA9IHt9XG4gIGlmIChvcmdDb250YWN0KSB7XG4gICAgZGVmYXVsdEluZGl2aWR1YWwgPSB7XG4gICAgICBlbWFpbDogb3JnQ29udGFjdC5lbWFpbCxcbiAgICAgIC4uLihvcmdDb250YWN0LmFkZHJlc3MgJiYgeyBhZGRyZXNzOiBvcmdDb250YWN0LmFkZHJlc3MgfSksXG4gICAgICAuLi4ob3JnQ29udGFjdC5waG9uZSAmJiB7IHBob25lOiBvcmdDb250YWN0LnBob25lIH0pLFxuICAgICAgLi4uKG9yZ0NvbnRhY3QucG9zaXRpb24gJiYgeyBwb3NpdGlvbjogb3JnQ29udGFjdC5wb3NpdGlvbiB9KSxcbiAgICAgIG9yZ2FuaXphdGlvbixcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGlwZShcbiAgICBjb21iaW5lKGdldFBvc2l0aW9uLCBnZXROYW1lUGFydHMsIGdldEVtYWlsLCBnZXRBZGRyZXNzLCBnZXRQaG9uZSksXG4gICAgbWFwKChbcG9zaXRpb24sIFtmaXJzdE5hbWUsIGxhc3ROYW1lXSwgZW1haWwsIGFkZHJlc3MsIHBob25lXSkgPT4gKHtcbiAgICAgIC4uLmRlZmF1bHRJbmRpdmlkdWFsLFxuICAgICAgZW1haWw6IGVtYWlsIHx8IGRlZmF1bHRJbmRpdmlkdWFsLmVtYWlsIHx8ICdtaXNzaW5nQG1pc3NpbmcuY29tJyxcbiAgICAgIHJvbGUsXG4gICAgICBvcmdhbml6YXRpb246IG9yZ2FuaXphdGlvbiB8fCBkZWZhdWx0T3JnLFxuICAgICAgLi4uKHBvc2l0aW9uICYmIHsgcG9zaXRpb24gfSksXG4gICAgICAuLi4oZmlyc3ROYW1lICYmIHsgZmlyc3ROYW1lIH0pLFxuICAgICAgLi4uKGxhc3ROYW1lICYmIHsgbGFzdE5hbWUgfSksXG4gICAgICAuLi4oYWRkcmVzcyAmJiB7IGFkZHJlc3MgfSksXG4gICAgICAuLi4ocGhvbmUgJiYgeyBwaG9uZSB9KSxcbiAgICB9KSlcbiAgKVxufVxuXG4vLyBmcm9tIGNpdDpDSV9PcmdhbmlzYXRpb25cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0T3JnYW5pemF0aW9uSW5kaXZpZHVhbHMoXG4gIHJvbGU6IFJvbGVcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PEluZGl2aWR1YWw+PiB7XG4gIHJldHVybiBwaXBlKFxuICAgIGNvbWJpbmUoXG4gICAgICBleHRyYWN0T3JnYW5pemF0aW9uKCksXG4gICAgICBleHRyYWN0SW5kaXZpZHVhbChyb2xlKSxcbiAgICAgIGZpbmROZXN0ZWRFbGVtZW50cygnY2l0OmluZGl2aWR1YWwnLCAnY2l0OkNJX0luZGl2aWR1YWwnKVxuICAgICksXG4gICAgbWFwKChbb3JnLCBvcmdDb250YWN0LCBlbHNdKSA9PlxuICAgICAgZWxzLmxlbmd0aFxuICAgICAgICA/IGVscy5tYXAoKGVsKSA9PiBleHRyYWN0SW5kaXZpZHVhbChyb2xlLCBvcmcsIG9yZ0NvbnRhY3QpKGVsKSlcbiAgICAgICAgOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVtYWlsOiBvcmdDb250YWN0LmVtYWlsLFxuICAgICAgICAgICAgICAuLi4ob3JnQ29udGFjdC5hZGRyZXNzICYmIHsgYWRkcmVzczogb3JnQ29udGFjdC5hZGRyZXNzIH0pLFxuICAgICAgICAgICAgICAuLi4ob3JnQ29udGFjdC5waG9uZSAmJiB7IHBob25lOiBvcmdDb250YWN0LnBob25lIH0pLFxuICAgICAgICAgICAgICAuLi4ob3JnQ29udGFjdC5wb3NpdGlvbiAmJiB7IHBvc2l0aW9uOiBvcmdDb250YWN0LnBvc2l0aW9uIH0pLFxuICAgICAgICAgICAgICBvcmdhbml6YXRpb246IG9yZyxcbiAgICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgIClcbiAgKVxufVxuXG4vLyBmcm9tIGNpdDpDSV9SZXNwb25zaWJpbGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RJbmRpdmlkdWFscygpOiBDaGFpbmFibGVGdW5jdGlvbjxcbiAgWG1sRWxlbWVudCxcbiAgQXJyYXk8SW5kaXZpZHVhbD5cbj4ge1xuICBjb25zdCBnZXRSb2xlID0gcGlwZShmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6cm9sZScpLCBleHRyYWN0Um9sZSgpKVxuICBjb25zdCBnZXRJbmRpdmlkdWFscyA9IHBpcGUoXG4gICAgY29tYmluZShnZXRSb2xlLCBmaW5kTmVzdGVkRWxlbWVudHMoJ2NpdDpwYXJ0eScsICdjaXQ6Q0lfSW5kaXZpZHVhbCcpKSxcbiAgICAoW3JvbGUsIGVsc10pID0+IGVscy5tYXAoZXh0cmFjdEluZGl2aWR1YWwocm9sZSkpXG4gIClcbiAgY29uc3QgZ2V0T3JnSW5kaXZpZHVhbHMgPSBwaXBlKFxuICAgIGNvbWJpbmUoZ2V0Um9sZSwgZmluZE5lc3RlZEVsZW1lbnRzKCdjaXQ6cGFydHknLCAnY2l0OkNJX09yZ2FuaXNhdGlvbicpKSxcbiAgICBtYXAoKFtyb2xlLCBlbHNdKSA9PiBlbHMubWFwKGV4dHJhY3RPcmdhbml6YXRpb25JbmRpdmlkdWFscyhyb2xlKSkpLFxuICAgIGZsYXR0ZW5BcnJheSgpXG4gIClcblxuICByZXR1cm4gcGlwZShjb21iaW5lKGdldEluZGl2aWR1YWxzLCBnZXRPcmdJbmRpdmlkdWFscyksIGZsYXR0ZW5BcnJheSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFVuaXF1ZUlkZW50aWZpZXIocm9vdEVsOiBYbWxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhSWRlbnRpZmllcicsXG4gICAgICAnbWNjOk1EX0lkZW50aWZpZXInLFxuICAgICAgJ21jYzpjb2RlJ1xuICAgICksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZE93bmVyT3JnYW5pemF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCk6IE9yZ2FuaXphdGlvbiB7XG4gIGNvbnN0IGNvbnRhY3RzID0gcmVhZENvbnRhY3RzKHJvb3RFbClcbiAgY29uc3QgY29udGFjdHNGb3JSZXNvdXJjZSA9IHJlYWRDb250YWN0c0ZvclJlc291cmNlKHJvb3RFbClcbiAgY29uc3QgcG9pbnRPZkNvbnRhY3QgPSBjb250YWN0cy5maWx0ZXIoXG4gICAgKGMpID0+IGMucm9sZSA9PT0gJ3BvaW50X29mX2NvbnRhY3QnXG4gIClbMF1cbiAgcmV0dXJuIChwb2ludE9mQ29udGFjdCB8fCBjb250YWN0c1swXSB8fCBjb250YWN0c0ZvclJlc291cmNlWzBdKS5vcmdhbml6YXRpb25cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDb250YWN0cyhyb290RWw6IFhtbEVsZW1lbnQpOiBJbmRpdmlkdWFsW10ge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudHMoJ21kYjpjb250YWN0JywgJ2NpdDpDSV9SZXNwb25zaWJpbGl0eScpLFxuICAgIG1hcEFycmF5KGV4dHJhY3RJbmRpdmlkdWFscygpKSxcbiAgICBmbGF0dGVuQXJyYXkoKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDb250YWN0c0ZvclJlc291cmNlKHJvb3RFbDogWG1sRWxlbWVudCk6IEluZGl2aWR1YWxbXSB7XG4gIHJldHVybiBwaXBlKFxuICAgIGNvbWJpbmUoXG4gICAgICBwaXBlKFxuICAgICAgICBmaW5kSWRlbnRpZmljYXRpb24oKSxcbiAgICAgICAgZmluZE5lc3RlZEVsZW1lbnRzKFxuICAgICAgICAgICdtcmk6Y2l0YXRpb24nLFxuICAgICAgICAgICdjaXQ6Q0lfQ2l0YXRpb24nLFxuICAgICAgICAgICdjaXQ6Y2l0ZWRSZXNwb25zaWJsZVBhcnR5J1xuICAgICAgICApXG4gICAgICApLFxuICAgICAgcGlwZShcbiAgICAgICAgZmluZElkZW50aWZpY2F0aW9uKCksXG4gICAgICAgIGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21yaTpwb2ludE9mQ29udGFjdCcsIGZhbHNlKVxuICAgICAgKSxcbiAgICAgIHBpcGUoZmluZERpc3RyaWJ1dGlvbigpLCBmaW5kQ2hpbGRyZW5FbGVtZW50KCdtcmQ6ZGlzdHJpYnV0b3JDb250YWN0JykpXG4gICAgKSxcbiAgICBmbGF0dGVuQXJyYXkoKSxcbiAgICBtYXBBcnJheShmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Q0lfUmVzcG9uc2liaWxpdHknLCBmYWxzZSkpLFxuICAgIG1hcEFycmF5KGV4dHJhY3RJbmRpdmlkdWFscygpKSxcbiAgICBmbGF0dGVuQXJyYXkoKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRMYW5kaW5nUGFnZShyb290RWw6IFhtbEVsZW1lbnQpOiBVUkwge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudChcbiAgICAgICdtZGI6bWV0YWRhdGFMaW5rYWdlJyxcbiAgICAgICdjaXQ6Q0lfT25saW5lUmVzb3VyY2UnLFxuICAgICAgJ2NpdDpsaW5rYWdlJ1xuICAgICksXG4gICAgZXh0cmFjdFVybCgpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZExpbmVhZ2UoXG4gIHJvb3RFbDogWG1sRWxlbWVudCxcbiAgdHJhbnNsYXRpb25zOiBSZWNvcmRUcmFuc2xhdGlvbnNcbik6IHN0cmluZyB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KCdtZGI6cmVzb3VyY2VMaW5lYWdlJywgJ21ybDpMSV9MaW5lYWdlJywgJ21ybDpzdGF0ZW1lbnQnKSxcbiAgICBleHRyYWN0TG9jYWxpemVkQ2hhcmFjdGVyU3RyaW5nKCdsaW5lYWdlJywgdHJhbnNsYXRpb25zKSxcbiAgICBtYXAoKFtsaW5lYWdlXSkgPT4gbGluZWFnZSlcbiAgKShyb290RWwpXG59XG5cbmZ1bmN0aW9uIGV4dHJhY3REYXRlSW5mbyhcbiAgdHlwZTogJ2NyZWF0aW9uJyB8ICdyZXZpc2lvbicgfCAncHVibGljYXRpb24nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBEYXRlPiB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21kYjpkYXRlSW5mbycsIGZhbHNlKSxcbiAgICBmaWx0ZXJBcnJheShcbiAgICAgIChlbCkgPT5cbiAgICAgICAgcGlwZShcbiAgICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyksXG4gICAgICAgICAgcmVhZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScpXG4gICAgICAgICkoZWwpID09PSB0eXBlXG4gICAgKSxcbiAgICBnZXRBdEluZGV4KDApLFxuICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpkYXRlJyksXG4gICAgZXh0cmFjdERhdGVUaW1lKClcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFVwZGF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ3JldmlzaW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZENyZWF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ2NyZWF0aW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFB1Ymxpc2hlZChyb290RWw6IFhtbEVsZW1lbnQpOiBEYXRlIHtcbiAgcmV0dXJuIGV4dHJhY3REYXRlSW5mbygncHVibGljYXRpb24nKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkUmV1c2VUeXBlKHJvb3RFbDogWG1sRWxlbWVudCk6IFJldXNlVHlwZSB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KFxuICAgICAgJ21kYjptZXRhZGF0YVNjb3BlJyxcbiAgICAgICdtZGI6TURfTWV0YWRhdGFTY29wZScsXG4gICAgICAnbWRiOnJlc291cmNlU2NvcGUnLFxuICAgICAgJ21jYzpNRF9TY29wZUNvZGUnXG4gICAgKSxcbiAgICByZWFkQXR0cmlidXRlKCdjb2RlTGlzdFZhbHVlJyksXG4gICAgbWFwKChzY29wZUNvZGUpOiBSZXVzZVR5cGUgPT4gZ2V0UmV1c2VUeXBlKHNjb3BlQ29kZSkpXG4gICkocm9vdEVsKVxufVxuXG5jb25zdCBnZXRNaW1lVHlwZSA9IHBpcGUoXG4gIGZpbmRQYXJlbnQoJ21yZDpNRF9EaXN0cmlidXRpb24nKSxcbiAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgJ21yZDpkaXN0cmlidXRpb25Gb3JtYXQnLFxuICAgICdtcmQ6TURfRm9ybWF0JyxcbiAgICAnbXJkOmZvcm1hdFNwZWNpZmljYXRpb25DaXRhdGlvbicsXG4gICAgJ2NpdDpDSV9DaXRhdGlvbicsXG4gICAgJ2NpdDp0aXRsZSdcbiAgKSxcbiAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpLFxuICBtYXAobWF0Y2hNaW1lVHlwZSlcbilcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRPbmxpbmVSZXNvdXJjZXMocm9vdEVsOiBYbWxFbGVtZW50KTogT25saW5lUmVzb3VyY2VbXSB7XG4gIGxldCBnZXRPbmxpbmVSZXNvdXJjZXM6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIE9ubGluZVJlc291cmNlW10+XG4gIGlmIChyZWFkS2luZChyb290RWwpID09PSAnZGF0YXNldCcpIHtcbiAgICBnZXRPbmxpbmVSZXNvdXJjZXMgPSBleHRyYWN0RGF0YXNldE9ubGluZVJlc291cmNlcyhnZXRNaW1lVHlwZSlcbiAgfSBlbHNlIGlmIChyZWFkS2luZChyb290RWwpID09PSAnc2VydmljZScpIHtcbiAgICBnZXRPbmxpbmVSZXNvdXJjZXMgPSBleHRyYWN0U2VydmljZU9ubGluZVJlc291cmNlcygpXG4gIH0gZWxzZSB7XG4gICAgZ2V0T25saW5lUmVzb3VyY2VzID0gZXh0cmFjdFJldXNlT25saW5lUmVzb3VyY2VzKClcbiAgfVxuICByZXR1cm4gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudHMoJ21yZDpkaXN0cmlidXRpb25JbmZvJywgJ21yZDpNRF9EaXN0cmlidXRpb24nKSxcbiAgICBtYXBBcnJheShnZXRPbmxpbmVSZXNvdXJjZXMpLFxuICAgIGZsYXR0ZW5BcnJheSgpXG4gICkocm9vdEVsKVxufVxuXG5mdW5jdGlvbiByZWFkTG9jYWxlRWxlbWVudCgpOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBMYW5ndWFnZUNvZGU+IHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZENoaWxkRWxlbWVudCgnbGFuOkxhbmd1YWdlQ29kZScpLFxuICAgIHJlYWRBdHRyaWJ1dGUoJ2NvZGVMaXN0VmFsdWUnKSxcbiAgICBtYXAoKGxhbmcpID0+IChsYW5nID8gTEFOR18zX1RPXzJfTUFQUEVSW2xhbmcudG9Mb3dlckNhc2UoKV0gOiBudWxsKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZERlZmF1bHRMYW5ndWFnZShyb290RWw6IFhtbEVsZW1lbnQpOiBMYW5ndWFnZUNvZGUge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kQ2hpbGRFbGVtZW50KCdtZGI6ZGVmYXVsdExvY2FsZScsIGZhbHNlKSxcbiAgICByZWFkTG9jYWxlRWxlbWVudCgpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZE90aGVyTGFuZ3VhZ2VzKHJvb3RFbDogWG1sRWxlbWVudCk6IExhbmd1YWdlQ29kZVtdIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZENoaWxkcmVuRWxlbWVudCgnbWRiOm90aGVyTG9jYWxlJywgZmFsc2UpLFxuICAgIG1hcEFycmF5KHJlYWRMb2NhbGVFbGVtZW50KCkpXG4gICkocm9vdEVsKVxufVxuIl19