geonetwork-ui 2.4.0-dev.fdf8f64b → 2.4.1-dev.c1a684900

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 (1144) hide show
  1. package/README.md +1 -7
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +38 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +1 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/convert-utils.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +51 -35
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +71 -40
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +37 -26
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +30 -8
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +32 -12
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +1 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +1 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +7 -6
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +31 -18
  17. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +5 -5
  18. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.mjs +1 -1
  19. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +11 -5
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +36 -12
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +45 -18
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +150 -87
  24. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +114 -28
  25. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  26. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +1 -1
  27. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +1 -1
  28. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +1 -1
  29. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +116 -63
  30. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +77 -22
  31. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +36 -9
  32. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +5 -5
  33. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.mjs +12 -0
  34. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -25
  35. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/index.mjs +2 -1
  36. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  37. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +61 -15
  38. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +4 -4
  39. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +5 -5
  40. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +5 -5
  41. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +59 -31
  42. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  43. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  44. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  45. package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
  46. package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
  47. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +19 -19
  48. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  49. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  50. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  51. package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
  52. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  53. package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +2 -1
  54. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  55. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +6 -6
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +6 -6
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +6 -6
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +6 -6
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +6 -6
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +6 -6
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +6 -6
  63. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +6 -6
  64. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +6 -6
  65. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +6 -6
  66. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +6 -6
  67. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +6 -6
  68. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +6 -6
  69. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +6 -6
  70. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +6 -6
  71. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -6
  72. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +6 -6
  73. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +6 -6
  74. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +6 -6
  75. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +6 -6
  76. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +6 -6
  77. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +6 -6
  78. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +6 -6
  79. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +6 -6
  80. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +6 -6
  81. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +6 -6
  82. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +6 -6
  83. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +6 -6
  84. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +6 -6
  85. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +6 -6
  86. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +6 -6
  87. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +6 -6
  88. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +7 -7
  89. package/esm2022/libs/data-access/gn4/src/openapi/configuration.mjs +1 -1
  90. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +4 -4
  91. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +14 -21
  92. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  93. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +41 -16
  94. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -4
  95. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +6 -6
  96. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +5 -5
  97. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  98. package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
  99. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +18 -11
  100. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +7 -6
  101. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  102. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +7 -10
  103. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +20 -9
  104. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -10
  105. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +4 -1
  106. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +23 -6
  107. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +12 -4
  108. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  109. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +25 -1
  110. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -1
  111. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +68 -0
  112. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +5 -6
  113. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +18 -10
  114. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +36 -18
  115. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +23 -9
  116. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +8 -7
  117. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +3 -3
  118. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +76 -0
  119. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.mjs +35 -0
  120. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +130 -0
  121. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -6
  122. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +19 -9
  123. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.mjs +19 -0
  124. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +5 -5
  125. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +5 -5
  126. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +31 -50
  127. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +4 -4
  128. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +3 -3
  129. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +18 -11
  130. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
  131. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +17 -17
  132. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +19 -12
  133. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +5 -5
  134. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +7 -26
  135. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +6 -30
  136. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.mjs +44 -0
  137. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +19 -9
  138. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +6 -6
  139. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +29 -12
  140. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  141. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +6 -6
  142. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +5 -5
  143. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -7
  144. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +5 -5
  145. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  146. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +4 -4
  147. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -13
  148. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  149. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
  150. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +5 -5
  151. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
  152. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +4 -4
  153. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +5 -5
  154. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +5 -5
  155. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +5 -5
  156. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +5 -5
  157. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +6 -6
  158. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -9
  159. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -5
  160. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +6 -6
  161. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +33 -15
  162. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +5 -5
  163. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  164. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -4
  165. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +4 -4
  166. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  167. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +6 -5
  168. package/esm2022/libs/feature/record/src/index.mjs +4 -1
  169. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -10
  170. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +12 -10
  171. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +18 -10
  172. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +13 -11
  173. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +12 -10
  174. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +25 -58
  175. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +169 -0
  176. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +45 -0
  177. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +56 -20
  178. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +45 -0
  179. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  180. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -6
  181. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +1 -1
  182. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +6 -6
  183. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  184. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -5
  185. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  186. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +50 -0
  187. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +8 -8
  188. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -8
  189. package/esm2022/libs/feature/search/src/index.mjs +3 -1
  190. package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -2
  191. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  192. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +4 -4
  193. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +5 -5
  194. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -7
  195. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +22 -19
  196. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +30 -8
  197. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -5
  198. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +5 -5
  199. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  200. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +5 -5
  201. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +15 -10
  202. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +6 -6
  203. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +67 -0
  204. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +84 -0
  205. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +9 -5
  206. package/esm2022/libs/feature/search/src/lib/state/actions.mjs +1 -1
  207. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +6 -6
  208. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -6
  209. package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +1 -1
  210. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +7 -9
  211. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +1 -9
  212. package/esm2022/libs/feature/search/src/lib/utils/operators/search.operator.mjs +1 -1
  213. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +63 -8
  214. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +13 -6
  215. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  216. package/esm2022/libs/ui/catalog/src/index.mjs +1 -2
  217. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +6 -5
  218. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +15 -19
  219. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +17 -7
  220. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +3 -3
  221. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +6 -5
  222. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +6 -6
  223. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -7
  224. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +6 -6
  225. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +33 -7
  226. package/esm2022/libs/ui/elements/src/index.mjs +1 -3
  227. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +28 -9
  228. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +3 -3
  229. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -5
  230. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +6 -5
  231. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +19 -8
  232. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +40 -12
  233. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +25 -7
  234. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +17 -9
  235. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +17 -7
  236. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +4 -6
  237. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +7 -5
  238. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +7 -6
  239. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +28 -8
  240. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +7 -6
  241. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +43 -16
  242. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +16 -9
  243. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +10 -8
  244. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +38 -7
  245. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +40 -35
  246. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +20 -11
  247. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +6 -6
  248. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +17 -98
  249. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +6 -6
  250. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +29 -11
  251. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  252. package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
  253. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +32 -14
  254. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +21 -7
  255. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
  256. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +7 -7
  257. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  258. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +5 -5
  259. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +10 -7
  260. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +19 -9
  261. package/esm2022/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.mjs +65 -0
  262. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -9
  263. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +3 -3
  264. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -8
  265. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +25 -9
  266. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +5 -5
  267. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +32 -11
  268. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  269. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +38 -11
  270. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +7 -7
  271. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +17 -7
  272. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +8 -6
  273. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +8 -5
  274. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  275. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +3 -3
  276. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +31 -26
  277. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +52 -23
  278. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +5 -5
  279. package/esm2022/libs/ui/layout/src/index.mjs +6 -1
  280. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +5 -5
  281. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +20 -15
  282. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +27 -22
  283. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +9 -7
  284. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +8 -6
  285. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +7 -6
  286. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +6 -4
  287. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +12 -8
  288. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +6 -6
  289. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +5 -5
  290. package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +2 -0
  291. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +52 -0
  292. package/esm2022/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.mjs +52 -0
  293. package/esm2022/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.mjs +36 -0
  294. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +26 -0
  295. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +5 -13
  296. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +6 -6
  297. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +17 -26
  298. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  299. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +3 -3
  300. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +20 -10
  301. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +32 -0
  302. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +1 -1
  303. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  304. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +6 -6
  305. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +3 -3
  306. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +4 -4
  307. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +3 -3
  308. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +5 -5
  309. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +3 -3
  310. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +8 -7
  311. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +3 -3
  312. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +10 -9
  313. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +3 -3
  314. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +3 -3
  315. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  316. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +1 -1
  317. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  318. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +5 -5
  319. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +25 -33
  320. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +74 -32
  321. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +34 -12
  322. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  323. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +7 -6
  324. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +5 -5
  325. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +8 -8
  326. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +5 -5
  327. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +5 -5
  328. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +5 -5
  329. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +9 -34
  330. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +9 -2
  331. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  332. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +7 -1
  333. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  334. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +1 -1
  335. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +1 -1
  336. package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +1 -1
  337. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +3 -3
  338. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +1 -1
  339. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +1 -1
  340. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +1 -1
  341. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +1 -1
  342. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +1 -1
  343. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +1 -1
  344. package/esm2022/libs/util/data-fetcher/src/lib/sql-utils.mjs +1 -1
  345. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -11
  346. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  347. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
  348. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  349. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +6 -6
  350. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
  351. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +6 -6
  352. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +5 -5
  353. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +6 -4
  354. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +17 -17
  355. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +3 -3
  356. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +12 -9
  357. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
  358. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +4 -4
  359. package/esm2022/libs/util/shared/src/lib/utils/format-fields.mjs +9 -0
  360. package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +1 -1
  361. package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +1 -1
  362. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +3 -1
  363. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  364. package/esm2022/libs/util/shared/src/lib/utils/parse.mjs +1 -1
  365. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +1 -1
  366. package/esm2022/libs/util/shared/src/lib/utils/url.mjs +1 -1
  367. package/esm2022/translations/de.json +49 -24
  368. package/esm2022/translations/en.json +113 -69
  369. package/esm2022/translations/es.json +38 -13
  370. package/esm2022/translations/fr.json +109 -65
  371. package/esm2022/translations/it.json +41 -16
  372. package/esm2022/translations/nl.json +38 -13
  373. package/esm2022/translations/pt.json +38 -13
  374. package/fesm2022/geonetwork-ui.mjs +7323 -5096
  375. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  376. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  377. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +5 -0
  378. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -0
  379. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +2 -2
  380. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
  381. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +6 -5
  382. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
  383. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +11 -5
  384. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -1
  385. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -1
  386. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -1
  387. package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
  388. package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
  389. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +4 -4
  390. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  391. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  392. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  393. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts +1 -1
  394. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts.map +1 -1
  395. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +11 -10
  396. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  397. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  398. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +6 -3
  399. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  400. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +5 -2
  401. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  402. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +4 -2
  403. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  404. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +14 -4
  405. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  406. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +16 -9
  407. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  408. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +47 -4
  409. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  410. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts +14 -2
  411. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  412. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts +4 -0
  413. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts.map +1 -0
  414. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +5 -1
  415. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  416. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts +1 -0
  417. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts.map +1 -1
  418. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +15 -8
  419. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  420. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +5 -17
  421. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  422. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
  423. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  424. package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
  425. package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
  426. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
  427. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
  428. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
  429. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  430. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  431. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  432. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +27 -7
  433. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  434. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +2 -0
  435. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  436. package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
  437. package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
  438. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +16 -1
  439. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  440. package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
  441. package/libs/common/domain/src/lib/platform.service.interface.d.ts +4 -4
  442. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  443. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +5 -0
  444. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  445. package/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.d.ts.map +1 -1
  446. package/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.d.ts.map +1 -1
  447. package/libs/data-access/gn4/src/openapi/model/link.api.model.d.ts.map +1 -1
  448. package/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.d.ts.map +1 -1
  449. package/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.d.ts.map +1 -1
  450. package/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.d.ts.map +1 -1
  451. package/libs/data-access/gn4/src/openapi/model/operation.api.model.d.ts.map +1 -1
  452. package/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.d.ts.map +1 -1
  453. package/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.d.ts.map +1 -1
  454. package/libs/data-access/gn4/src/openapi/model/setting.api.model.d.ts.map +1 -1
  455. package/libs/data-access/gn4/src/openapi/model/status.api.model.d.ts.map +1 -1
  456. package/libs/data-access/gn4/src/openapi/model/statusValue.api.model.d.ts.map +1 -1
  457. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts.map +1 -1
  458. package/libs/data-access/gn4/src/openapi/model/userGroup.api.model.d.ts.map +1 -1
  459. package/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.d.ts.map +1 -1
  460. package/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.d.ts.map +1 -1
  461. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +8 -9
  462. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  463. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +10 -3
  464. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  465. package/libs/feature/dataviz/src/index.d.ts +0 -1
  466. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  467. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +1 -1
  468. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  469. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts +1 -1
  470. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  471. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +1 -1
  472. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  473. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
  474. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  475. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
  476. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  477. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +33 -9
  478. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  479. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +18 -10
  480. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  481. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +11 -4
  482. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  483. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +1 -1
  484. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  485. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -0
  486. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  487. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +8 -1
  488. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  489. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts +16 -0
  490. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -0
  491. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  492. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  493. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  494. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  495. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +2 -1
  496. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  497. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts +18 -0
  498. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -0
  499. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts +6 -0
  500. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts.map +1 -0
  501. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts +32 -0
  502. 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
  503. 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 -1
  504. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts +9 -0
  505. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts.map +1 -0
  506. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  507. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +14 -35
  508. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  509. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +5 -2
  510. 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 -1
  511. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +4 -1
  512. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  513. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +1 -2
  514. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -1
  515. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +5 -2
  516. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  517. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +2 -8
  518. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  519. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +3 -7
  520. 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
  521. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts +14 -0
  522. 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
  523. 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
  524. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +11 -9
  525. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  526. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  527. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  528. package/libs/feature/editor/src/lib/fields.config.d.ts +11 -3
  529. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  530. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -3
  531. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  532. package/libs/feature/editor/src/lib/services/editor.service.d.ts +4 -0
  533. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  534. package/libs/feature/map/src/lib/+state/map.actions.d.ts +3 -3
  535. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  536. package/libs/feature/map/src/lib/feature-map.module.d.ts +9 -10
  537. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  538. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  539. package/libs/feature/notifications/src/lib/notifications.service.d.ts +1 -1
  540. package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -1
  541. package/libs/feature/record/src/index.d.ts +3 -0
  542. package/libs/feature/record/src/index.d.ts.map +1 -1
  543. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -1
  544. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  545. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +1 -1
  546. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  547. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +1 -1
  548. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  549. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -1
  550. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  551. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +1 -1
  552. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  553. package/libs/feature/record/src/lib/feature-record.module.d.ts +15 -25
  554. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  555. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts +74 -0
  556. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -0
  557. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts +19 -0
  558. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -0
  559. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -1
  560. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  561. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +14 -0
  562. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts.map +1 -0
  563. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +13 -13
  564. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  565. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -9
  566. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  567. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  568. package/libs/feature/router/src/lib/default/constants.d.ts +3 -2
  569. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  570. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts +4 -0
  571. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -0
  572. package/libs/feature/router/src/lib/default/state/router.actions.d.ts +3 -3
  573. package/libs/feature/router/src/lib/default/state/router.actions.d.ts.map +1 -1
  574. package/libs/feature/router/src/lib/default/state/router.effects.d.ts +5 -5
  575. package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
  576. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -1
  577. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  578. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts +1 -1
  579. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts.map +1 -1
  580. package/libs/feature/search/src/index.d.ts +2 -0
  581. package/libs/feature/search/src/index.d.ts.map +1 -1
  582. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  583. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  584. package/libs/feature/search/src/lib/feature-search.module.d.ts +17 -15
  585. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  586. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +7 -1
  587. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  588. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -0
  589. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  590. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  591. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +22 -0
  592. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -0
  593. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts +34 -0
  594. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -0
  595. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
  596. package/libs/feature/search/src/lib/state/actions.d.ts.map +1 -1
  597. package/libs/feature/search/src/lib/state/search.facade.d.ts +0 -2
  598. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  599. package/libs/feature/search/src/lib/state/selectors.d.ts +0 -2
  600. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  601. package/libs/feature/search/src/lib/utils/operators/search.operator.d.ts.map +1 -1
  602. package/libs/feature/search/src/lib/utils/service/fields.d.ts +24 -6
  603. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  604. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +4 -2
  605. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  606. package/libs/ui/catalog/src/index.d.ts +0 -1
  607. package/libs/ui/catalog/src/index.d.ts.map +1 -1
  608. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts +1 -1
  609. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts.map +1 -1
  610. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts +10 -8
  611. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts.map +1 -1
  612. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +1 -1
  613. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts.map +1 -1
  614. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts +1 -1
  615. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts.map +1 -1
  616. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +3 -3
  617. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +1 -1
  618. package/libs/ui/elements/src/index.d.ts +0 -2
  619. package/libs/ui/elements/src/index.d.ts.map +1 -1
  620. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +1 -1
  621. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  622. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts +1 -1
  623. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts.map +1 -1
  624. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  625. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  626. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +10 -9
  627. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  628. package/libs/ui/elements/src/lib/error/error.component.d.ts +1 -1
  629. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  630. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +1 -1
  631. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -1
  632. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  633. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  634. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +2 -1
  635. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  636. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts +1 -1
  637. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts.map +1 -1
  638. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -1
  639. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  640. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts +2 -2
  641. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts.map +1 -1
  642. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -1
  643. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  644. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +1 -1
  645. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  646. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts +2 -2
  647. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  648. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +1 -0
  649. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -1
  650. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +6 -17
  651. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  652. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +1 -1
  653. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  654. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -37
  655. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  656. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -1
  657. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
  658. package/libs/ui/inputs/src/index.d.ts +1 -1
  659. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  660. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  661. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  662. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +2 -2
  663. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  664. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +1 -1
  665. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts +1 -1
  666. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts.map +1 -1
  667. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  668. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts +20 -0
  669. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts.map +1 -0
  670. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  671. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  672. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  673. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +3 -2
  674. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  675. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +2 -1
  676. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  677. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +1 -1
  678. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +1 -1
  679. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  680. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +1 -1
  681. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  682. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +2 -1
  683. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
  684. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +28 -31
  685. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  686. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +14 -12
  687. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  688. package/libs/ui/layout/src/index.d.ts +5 -0
  689. package/libs/ui/layout/src/index.d.ts.map +1 -1
  690. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +7 -5
  691. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  692. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +9 -7
  693. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  694. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +1 -1
  695. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  696. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts +1 -1
  697. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts.map +1 -1
  698. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +2 -1
  699. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -1
  700. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  701. package/libs/ui/layout/src/lib/paginable.interface.d.ts +15 -0
  702. package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -0
  703. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts +11 -0
  704. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts.map +1 -0
  705. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts +9 -0
  706. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +1 -0
  707. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts +10 -0
  708. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts.map +1 -0
  709. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +8 -0
  710. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  711. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -1
  712. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +6 -8
  713. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  714. package/libs/ui/map/src/index.d.ts +1 -0
  715. package/libs/ui/map/src/index.d.ts.map +1 -1
  716. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
  717. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -1
  718. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts +12 -0
  719. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -0
  720. package/libs/ui/search/src/lib/results-list/results-layout.config.d.ts.map +1 -1
  721. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +10 -6
  722. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  723. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +11 -4
  724. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  725. package/libs/ui/search/src/lib/ui-search.module.d.ts +6 -5
  726. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  727. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts +1 -1
  728. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts.map +1 -1
  729. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  730. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  731. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  732. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts +1 -1
  733. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts.map +1 -1
  734. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -13
  735. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  736. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  737. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  738. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -1
  739. package/libs/util/app-config/src/lib/model.d.ts +6 -1
  740. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  741. package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
  742. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  743. package/libs/util/data-fetcher/src/lib/readers/csv.d.ts.map +1 -1
  744. package/libs/util/data-fetcher/src/lib/readers/excel.d.ts.map +1 -1
  745. package/libs/util/data-fetcher/src/lib/readers/geojson.d.ts.map +1 -1
  746. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  747. package/libs/util/data-fetcher/src/lib/readers/json.d.ts.map +1 -1
  748. package/libs/util/data-fetcher/src/lib/utils.d.ts +1 -1
  749. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  750. package/libs/util/i18n/src/index.d.ts +1 -0
  751. package/libs/util/i18n/src/index.d.ts.map +1 -1
  752. package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
  753. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  754. package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
  755. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
  756. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  757. package/libs/util/shared/src/lib/links/link-utils.d.ts +16 -16
  758. package/libs/util/shared/src/lib/services/proxy.service.d.ts +4 -2
  759. package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
  760. package/libs/util/shared/src/lib/utils/format-fields.d.ts +2 -0
  761. package/libs/util/shared/src/lib/utils/format-fields.d.ts.map +1 -0
  762. package/libs/util/shared/src/lib/utils/index.d.ts +2 -0
  763. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  764. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  765. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  766. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +4 -1
  767. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  768. package/package.json +50 -43
  769. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  770. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +50 -0
  771. package/src/libs/api/metadata-converter/src/lib/convert-utils.ts +1 -1
  772. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +160 -34
  773. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +140 -47
  774. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +62 -47
  775. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +37 -7
  776. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +51 -18
  777. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +473 -2
  778. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +36 -3
  779. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +246 -0
  780. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +101 -0
  781. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +187 -0
  782. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +20 -3
  783. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +336 -5
  784. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +216 -0
  785. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +84 -2
  786. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +336 -9
  787. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +404 -2
  788. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +4 -1
  789. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +451 -0
  790. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +289 -0
  791. package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
  792. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
  793. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +29 -23
  794. package/src/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.ts +1 -1
  795. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +11 -10
  796. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +15 -3
  797. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +69 -20
  798. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +100 -25
  799. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +165 -81
  800. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +279 -49
  801. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +428 -172
  802. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +97 -24
  803. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +35 -6
  804. package/src/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.ts +13 -0
  805. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +58 -23
  806. package/src/libs/api/repository/src/lib/gn4/elasticsearch/index.ts +1 -0
  807. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +111 -52
  808. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
  809. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +113 -31
  810. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
  811. package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
  812. package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
  813. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
  814. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  815. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +44 -7
  816. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +4 -0
  817. package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
  818. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +17 -1
  819. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +1 -0
  820. package/src/libs/common/domain/src/lib/platform.service.interface.ts +4 -3
  821. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -0
  822. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +10 -3
  823. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +1673 -0
  824. package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +12931 -0
  825. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +37 -28
  826. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +117 -15
  827. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -9
  828. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -5
  829. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +41 -5
  830. package/src/libs/feature/dataviz/src/index.ts +0 -1
  831. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -1
  832. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +20 -2
  833. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +3 -1
  834. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +6 -1
  835. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +30 -7
  836. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -1
  837. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +15 -2
  838. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +16 -0
  839. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +41 -2
  840. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -0
  841. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -1
  842. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +27 -0
  843. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +5 -0
  844. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.css +4 -0
  845. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +28 -0
  846. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +71 -0
  847. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -2
  848. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +3 -0
  849. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +7 -6
  850. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +12 -2
  851. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +3 -4
  852. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +32 -11
  853. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +1 -1
  854. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +15 -2
  855. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +2 -0
  856. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +1 -2
  857. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.css +4 -0
  858. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.html +24 -0
  859. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +85 -0
  860. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.ts +42 -0
  861. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.css +4 -0
  862. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.html +34 -0
  863. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +210 -0
  864. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
  865. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -1
  866. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +13 -2
  867. package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.ts → form-field-date/form-field-date.component.ts} +4 -4
  868. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.html +1 -1
  869. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +11 -8
  870. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +33 -45
  871. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +55 -40
  872. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +29 -18
  873. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +83 -66
  874. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +27 -17
  875. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +1 -1
  876. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +15 -12
  877. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +22 -11
  878. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +30 -17
  879. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
  880. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +4 -25
  881. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +3 -23
  882. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -5
  883. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -42
  884. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.html +5 -0
  885. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.ts +60 -0
  886. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +3 -2
  887. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +13 -2
  888. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -0
  889. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +55 -21
  890. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +33 -8
  891. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  892. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +6 -1
  893. package/src/libs/feature/editor/src/lib/fields.config.ts +83 -12
  894. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -4
  895. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  896. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +2 -2
  897. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -2
  898. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +3 -5
  899. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +23 -4
  900. package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -1
  901. package/src/libs/feature/record/src/index.ts +3 -0
  902. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
  903. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +15 -0
  904. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +5 -0
  905. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +16 -1
  906. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +5 -0
  907. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +1 -1
  908. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +8 -1
  909. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -38
  910. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.css +22 -0
  911. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.html +132 -0
  912. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +253 -0
  913. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.html +37 -0
  914. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +43 -0
  915. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +50 -12
  916. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +62 -4
  917. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +45 -0
  918. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +10 -1
  919. package/src/libs/feature/router/src/lib/default/constants.ts +6 -1
  920. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +61 -0
  921. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  922. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +5 -3
  923. package/src/libs/feature/search/src/index.ts +2 -0
  924. package/src/libs/feature/search/src/lib/constants.ts +1 -1
  925. package/src/libs/feature/search/src/lib/facets/facets.service.ts +4 -4
  926. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +3 -0
  927. package/src/libs/feature/search/src/lib/feature-search.module.ts +15 -8
  928. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +20 -10
  929. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +32 -1
  930. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -6
  931. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +12 -1
  932. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +16 -12
  933. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.css +0 -0
  934. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.html +17 -0
  935. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +78 -0
  936. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.css +0 -0
  937. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.html +20 -0
  938. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +118 -0
  939. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +4 -0
  940. package/src/libs/feature/search/src/lib/state/actions.ts +69 -17
  941. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  942. package/src/libs/feature/search/src/lib/state/search.facade.ts +0 -8
  943. package/src/libs/feature/search/src/lib/state/selectors.ts +0 -18
  944. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +20 -3
  945. package/src/libs/feature/search/src/lib/utils/service/fields.ts +91 -12
  946. package/src/libs/ui/catalog/src/index.ts +0 -1
  947. package/src/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.ts +3 -0
  948. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  949. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +15 -21
  950. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +2 -3
  951. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +11 -0
  952. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +3 -0
  953. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +1 -1
  954. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +6 -5
  955. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +17 -2
  956. package/src/libs/ui/elements/src/index.ts +0 -2
  957. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +18 -8
  958. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +21 -1
  959. package/src/libs/ui/elements/src/lib/content-ghost/content-ghost.component.ts +3 -0
  960. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +7 -5
  961. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +12 -1
  962. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +1 -1
  963. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +57 -11
  964. package/src/libs/ui/elements/src/lib/error/error.component.css +24 -19
  965. package/src/libs/ui/elements/src/lib/error/error.component.html +11 -21
  966. package/src/libs/ui/elements/src/lib/error/error.component.ts +19 -0
  967. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -6
  968. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  969. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +2 -6
  970. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +13 -2
  971. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +0 -2
  972. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +4 -1
  973. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  974. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +4 -1
  975. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +20 -22
  976. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +24 -0
  977. package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +7 -3
  978. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  979. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +47 -26
  980. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +43 -1
  981. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +18 -1
  982. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  983. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +7 -1
  984. package/src/libs/ui/elements/src/lib/notification/notification.component.html +10 -14
  985. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +33 -2
  986. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.css +2 -2
  987. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +44 -35
  988. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +4 -4
  989. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +15 -0
  990. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -55
  991. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +2 -2
  992. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +2 -6
  993. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +22 -0
  994. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -4
  995. package/src/libs/ui/inputs/src/index.ts +1 -1
  996. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +3 -10
  997. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +5 -5
  998. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +18 -2
  999. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +2 -2
  1000. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +15 -2
  1001. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.html +4 -1
  1002. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -3
  1003. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +4 -1
  1004. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +5 -6
  1005. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.ts +7 -0
  1006. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +1 -3
  1007. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +13 -2
  1008. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +5 -0
  1009. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +30 -0
  1010. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +63 -0
  1011. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +1 -3
  1012. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -2
  1013. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +16 -20
  1014. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +7 -7
  1015. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +16 -2
  1016. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +4 -1
  1017. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +14 -13
  1018. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +19 -3
  1019. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +32 -28
  1020. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +32 -3
  1021. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -3
  1022. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +4 -1
  1023. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.html +2 -2
  1024. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +13 -2
  1025. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -9
  1026. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +2 -6
  1027. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +6 -0
  1028. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +1 -0
  1029. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -0
  1030. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +21 -11
  1031. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +1 -1
  1032. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +12 -21
  1033. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +49 -20
  1034. package/src/libs/ui/layout/src/index.ts +5 -0
  1035. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +0 -16
  1036. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +4 -12
  1037. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +20 -11
  1038. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -16
  1039. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -12
  1040. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +22 -19
  1041. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +2 -4
  1042. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +8 -2
  1043. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.html +2 -6
  1044. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.ts +6 -0
  1045. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
  1046. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
  1047. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +1 -0
  1048. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +4 -8
  1049. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +9 -9
  1050. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -3
  1051. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  1052. package/src/libs/ui/layout/src/lib/paginable.interface.ts +14 -0
  1053. package/src/libs/ui/layout/src/lib/pagination/pagination.component.css +0 -0
  1054. package/src/libs/ui/{elements → layout}/src/lib/pagination/pagination.component.html +12 -13
  1055. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +45 -0
  1056. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.css +0 -0
  1057. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.html +51 -0
  1058. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.ts +50 -0
  1059. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.css +16 -0
  1060. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.html +15 -0
  1061. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.ts +31 -0
  1062. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +18 -0
  1063. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +29 -0
  1064. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.css +4 -2
  1065. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +1 -9
  1066. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +8 -15
  1067. package/src/libs/ui/map/src/index.ts +1 -0
  1068. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.html +4 -3
  1069. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +13 -2
  1070. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.css +5 -0
  1071. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.html +1 -0
  1072. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +39 -0
  1073. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +17 -13
  1074. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +16 -10
  1075. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +1 -1
  1076. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +59 -26
  1077. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +17 -30
  1078. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +35 -27
  1079. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +89 -28
  1080. package/src/libs/ui/search/src/lib/ui-search.module.ts +22 -3
  1081. package/src/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.ts +4 -6
  1082. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.html +2 -4
  1083. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +8 -2
  1084. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +1 -0
  1085. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.ts +1 -0
  1086. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +2 -2
  1087. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -18
  1088. package/src/libs/util/app-config/src/lib/app-config.ts +9 -2
  1089. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  1090. package/src/libs/util/app-config/src/lib/map-layers.ts +6 -0
  1091. package/src/libs/util/app-config/src/lib/model.ts +6 -1
  1092. package/src/libs/util/data-fetcher/src/lib/model.ts +6 -6
  1093. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -1
  1094. package/src/libs/util/data-fetcher/src/lib/utils.ts +13 -11
  1095. package/src/libs/util/i18n/src/index.ts +1 -0
  1096. package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
  1097. package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
  1098. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
  1099. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
  1100. package/src/libs/util/shared/src/lib/links/link-utils.ts +17 -17
  1101. package/src/libs/util/shared/src/lib/services/proxy.service.ts +7 -3
  1102. package/src/libs/util/shared/src/lib/utils/format-fields.ts +11 -0
  1103. package/src/libs/util/shared/src/lib/utils/index.ts +2 -0
  1104. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  1105. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -1
  1106. package/tailwind.base.css +17 -6
  1107. package/translations/de.json +49 -24
  1108. package/translations/en.json +113 -69
  1109. package/translations/es.json +38 -13
  1110. package/translations/fr.json +109 -65
  1111. package/translations/it.json +41 -16
  1112. package/translations/nl.json +38 -13
  1113. package/translations/pt.json +38 -13
  1114. package/translations/sk.json +39 -14
  1115. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +0 -74
  1116. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +0 -19
  1117. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +0 -57
  1118. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +0 -54
  1119. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +0 -66
  1120. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +0 -29
  1121. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +0 -22
  1122. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +0 -1
  1123. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +0 -9
  1124. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +0 -1
  1125. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +0 -17
  1126. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +0 -1
  1127. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts +0 -16
  1128. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts.map +0 -1
  1129. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts +0 -17
  1130. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +0 -1
  1131. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +0 -12
  1132. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +0 -1
  1133. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +0 -48
  1134. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -35
  1135. package/src/libs/ui/elements/src/lib/pagination/pagination.component.ts +0 -50
  1136. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.html +0 -33
  1137. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.ts +0 -68
  1138. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +0 -26
  1139. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +0 -32
  1140. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.css → form-field-date/form-field-date.component.css} +0 -0
  1141. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.html → form-field-date/form-field-date.component.html} +0 -0
  1142. /package/src/libs/{ui/elements/src/lib/pagination-buttons/pagination-buttons.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.css} +0 -0
  1143. /package/src/libs/{ui/elements/src/lib/pagination/pagination.component.css → feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.css} +0 -0
  1144. /package/src/libs/ui/{inputs → layout}/src/lib/previous-next-buttons/previous-next-buttons.component.css +0 -0
@@ -1,18 +1,18 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Output, } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { FetchError, getJsonDataItemsProxy, } from '../../../../../../libs/util/data-fetcher/src';
4
+ import { DropdownSelectorComponent, } from '../../../../../../libs/ui/inputs/src';
4
5
  import { BehaviorSubject, combineLatest, EMPTY } from 'rxjs';
5
6
  import { catchError, filter, map, shareReplay, startWith, switchMap, tap, } from 'rxjs/operators';
6
7
  import { DataService } from '../service/data.service';
7
- import { TranslateService } from '@ngx-translate/core';
8
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
9
+ import { CommonModule } from '@angular/common';
10
+ import { ChartComponent } from '../../../../../../libs/ui/dataviz/src';
11
+ import { LoadingMaskComponent, PopupAlertComponent, } from '../../../../../../libs/ui/widgets/src';
8
12
  import * as i0 from "@angular/core";
9
13
  import * as i1 from "../service/data.service";
10
14
  import * as i2 from "@ngx-translate/core";
11
15
  import * as i3 from "@angular/common";
12
- import * as i4 from "../../../../../ui/widgets/src/lib/loading-mask/loading-mask.component";
13
- import * as i5 from "../../../../../ui/dataviz/src/lib/chart/chart.component";
14
- import * as i6 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
15
- import * as i7 from "../../../../../ui/widgets/src/lib/popup-alert/popup-alert.component";
16
16
  marker('chart.type.bar');
17
17
  marker('chart.type.barHorizontal');
18
18
  marker('chart.type.line');
@@ -165,13 +165,20 @@ export class ChartViewComponent {
165
165
  this.loading = false;
166
166
  this.changeDetector.detectChanges();
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: i5.ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: i6.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i7.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
172
172
  type: Component,
173
- args: [{ selector: 'gn-ui-chart-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
174
- }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }]; }, propDecorators: { link: [{
173
+ args: [{ selector: 'gn-ui-chart-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
174
+ CommonModule,
175
+ DropdownSelectorComponent,
176
+ TranslateModule,
177
+ ChartComponent,
178
+ LoadingMaskComponent,
179
+ PopupAlertComponent,
180
+ ], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
181
+ }], ctorParameters: () => [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }], propDecorators: { link: [{
175
182
  type: Input
176
183
  }], aggregation: [{
177
184
  type: Input
@@ -184,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
184
191
  }], chartConfig$: [{
185
192
  type: Output
186
193
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUVMLFVBQVUsRUFFVixxQkFBcUIsR0FDdEIsTUFBTSw4Q0FBOEMsQ0FBQTtBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDeEUsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUdyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7Ozs7O0FBRXRELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBQ2xDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ3pCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLE1BQU0s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S08sU0FBUztzQkFBckIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQUtPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgQmFzZVJlYWRlcixcbiAgRmV0Y2hFcnJvcixcbiAgRmllbGRBZ2dyZWdhdGlvbixcbiAgZ2V0SnNvbkRhdGFJdGVtc1Byb3h5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7IERyb3Bkb3duQ2hvaWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2RhdGEuc2VydmljZSdcbmltcG9ydCB7IElucHV0Q2hhcnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxubWFya2VyKCdjaGFydC50eXBlLmJhcicpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUuYmFySG9yaXpvbnRhbCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZScpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZVNtb290aCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUucGllJylcblxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5zdW0nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5tYXgnKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5taW4nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5hdmVyYWdlJylcbm1hcmtlcignY2hhcnQuYWdncmVnYXRpb24uY291bnQnKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jaGFydC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Vmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBsaW5rKHZhbHVlOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpIHtcbiAgICB0aGlzLmN1cnJlbnRMaW5rJC5uZXh0KHZhbHVlKVxuICB9XG4gIHByaXZhdGUgY3VycmVudExpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhc2V0T25saW5lUmVzb3VyY2U+KG51bGwpXG5cbiAgQElucHV0KCkgc2V0IGFnZ3JlZ2F0aW9uKHZhbHVlOiBGaWVsZEFnZ3JlZ2F0aW9uWzBdKSB7XG4gICAgdGhpcy5hZ2dyZWdhdGlvbiQubmV4dCh2YWx1ZSlcbiAgfVxuICBhZ2dyZWdhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpZWxkQWdncmVnYXRpb25bMF0+KCdzdW0nKVxuXG4gIEBJbnB1dCgpIHNldCB4UHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMueFByb3BlcnR5JC5uZXh0KHZhbHVlKVxuICB9XG4gIHhQcm9wZXJ0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKVxuXG4gIEBJbnB1dCgpIHNldCB5UHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMueVByb3BlcnR5JC5uZXh0KHZhbHVlKVxuICB9XG4gIHlQcm9wZXJ0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKVxuXG4gIEBJbnB1dCgpIHNldCBjaGFydFR5cGUodmFsdWU6IElucHV0Q2hhcnRUeXBlKSB7XG4gICAgdGhpcy5jaGFydFR5cGUkLm5leHQodmFsdWUpXG4gIH1cbiAgY2hhcnRUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5wdXRDaGFydFR5cGU+KCdiYXInKVxuXG4gIEBPdXRwdXQoKSBjaGFydENvbmZpZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnhQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy55UHJvcGVydHkkLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgIHRoaXMuYWdncmVnYXRpb24kLFxuICAgIHRoaXMuY2hhcnRUeXBlJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt4UHJvcGVydHksIHlQcm9wZXJ0eSwgYWdncmVnYXRpb24sIGNoYXJ0VHlwZV0pID0+ICh7XG4gICAgICBhZ2dyZWdhdGlvbixcbiAgICAgIHhQcm9wZXJ0eSxcbiAgICAgIHlQcm9wZXJ0eSxcbiAgICAgIGNoYXJ0VHlwZSxcbiAgICB9KSlcbiAgKVxuXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBlcnJvciA9IG51bGxcbiAgZXJyb3JJbmZvID0gbnVsbFxuXG4gIHR5cGVDaG9pY2VzOiBEcm9wZG93bkNob2ljZVtdID0gW1xuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmJhcicsIHZhbHVlOiAnYmFyJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmJhckhvcml6b250YWwnLCB2YWx1ZTogJ2Jhci1ob3Jpem9udGFsJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmxpbmUnLCB2YWx1ZTogJ2xpbmUnIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUubGluZVNtb290aCcsIHZhbHVlOiAnbGluZS1pbnRlcnBvbGF0ZWQnIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUucGllJywgdmFsdWU6ICdwaWUnIH0sXG4gIF1cblxuICBnZXQgYWdncmVnYXRpb25DaG9pY2VzKCkge1xuICAgIGlmICghdGhpcy55UHJvcGVydHkkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gW3sgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5jb3VudCcsIHZhbHVlOiAnY291bnQnIH1dXG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uc3VtJywgdmFsdWU6ICdzdW0nIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24ubWF4JywgdmFsdWU6ICdtYXgnIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24ubWluJywgdmFsdWU6ICdtaW4nIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uYXZlcmFnZScsIHZhbHVlOiAnYXZlcmFnZScgfSxcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5jb3VudCcsIHZhbHVlOiAnY291bnQnIH0sXG4gICAgXSBhcyBEcm9wZG93bkNob2ljZVtdXG4gIH1cblxuICBkYXRhc2V0JDogT2JzZXJ2YWJsZTxCYXNlUmVhZGVyPiA9IHRoaXMuY3VycmVudExpbmskLnBpcGUoXG4gICAgZmlsdGVyKChsaW5rKSA9PiAhIWxpbmspLFxuICAgIHN3aXRjaE1hcCgobGluaykgPT4ge1xuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmdldERhdGFzZXQobGluaykucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICAgIHJldHVybiBFTVBUWVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcbiAgcHJvcGVydGllcyQgPSB0aGlzLmRhdGFzZXQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChkYXRhc2V0KSA9PlxuICAgICAgZGF0YXNldC5wcm9wZXJ0aWVzLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH0pXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG4gIHlDaG9pY2VzJCA9IHRoaXMucHJvcGVydGllcyQucGlwZShcbiAgICBtYXAoKHByb3BlcnRpZXMpID0+XG4gICAgICBwcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoKHByb3ApID0+IHByb3AudHlwZSA9PT0gJ251bWJlcicgfHwgcHJvcC50eXBlID09PSAnZGF0ZScpXG4gICAgICAgIC5tYXAoKHByb3ApID0+ICh7IHZhbHVlOiBwcm9wLm5hbWUsIGxhYmVsOiBwcm9wLmxhYmVsIHx8IHByb3AubmFtZSB9KSlcbiAgICApLFxuICAgIHRhcCgoY2hvaWNlcykgPT4ge1xuICAgICAgaWYgKCFjaG9pY2VzLmZpbmQoKGNob2ljZSkgPT4gY2hvaWNlLnZhbHVlID09PSB0aGlzLnlQcm9wZXJ0eSQudmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3AgPSBjaG9pY2VzWzBdPy52YWx1ZSB8fCAnJ1xuICAgICAgICBpZiAoIW5ld1Byb3AgJiYgdGhpcy5hZ2dyZWdhdGlvbiQudmFsdWUgIT09ICdjb3VudCcpIHtcbiAgICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9uJC5uZXh0KCdjb3VudCcpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy55UHJvcGVydHkkLm5leHQobmV3UHJvcClcbiAgICAgIH1cbiAgICB9KVxuICApXG4gIHhDaG9pY2VzJCA9IHRoaXMucHJvcGVydGllcyQucGlwZShcbiAgICBtYXAoKHByb3BlcnRpZXMpID0+XG4gICAgICBwcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoKHByb3ApID0+IHByb3AudHlwZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIC5tYXAoKHByb3ApID0+ICh7XG4gICAgICAgICAgdmFsdWU6IHByb3AubmFtZSxcbiAgICAgICAgICBsYWJlbDogcHJvcC5sYWJlbCB8fCBwcm9wLm5hbWUsXG4gICAgICAgIH0pKVxuICAgICksXG4gICAgdGFwKChjaG9pY2VzKSA9PiB7XG4gICAgICBpZiAoIWNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMueFByb3BlcnR5JC52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy54UHJvcGVydHkkLm5leHQoY2hvaWNlc1swXT8udmFsdWUgfHwgJycpXG4gICAgICB9XG4gICAgfSlcbiAgKVxuXG4gIGNoYXJ0RGF0YSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRhdGFzZXQkLFxuICAgIHRoaXMueFByb3BlcnR5JC5waXBlKGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSxcbiAgICB0aGlzLnlQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy5hZ2dyZWdhdGlvbiQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZGF0YXNldCwgeFByb3AsIHlQcm9wLCBhZ2dyZWdhdGlvbl0pID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkQWdnOiBGaWVsZEFnZ3JlZ2F0aW9uID1cbiAgICAgICAgYWdncmVnYXRpb24gPT09ICdjb3VudCcgPyBbJ2NvdW50J10gOiBbYWdncmVnYXRpb24sIHlQcm9wXVxuICAgICAgcmV0dXJuIGRhdGFzZXRcbiAgICAgICAgLmdyb3VwQnkoWydkaXN0aW5jdCcsIHhQcm9wXSlcbiAgICAgICAgLmFnZ3JlZ2F0ZShmaWVsZEFnZylcbiAgICAgICAgLnJlYWQoKVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIH0pXG4gICAgfSksXG4gICAgbWFwKGdldEpzb25EYXRhSXRlbXNQcm94eSksXG4gICAgc3RhcnRXaXRoKFtdKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgZ2V0IGxhYmVsUHJvcGVydHkoKSB7XG4gICAgaWYgKCF0aGlzLnhQcm9wZXJ0eSQudmFsdWUpIHJldHVybiAnJ1xuICAgIHJldHVybiBgZGlzdGluY3QoJHt0aGlzLnhQcm9wZXJ0eSQudmFsdWV9KWBcbiAgfVxuICBnZXQgdmFsdWVQcm9wZXJ0eSgpIHtcbiAgICBpZiAodGhpcy5pc0NvdW50QWdncmVnYXRpb24pIHJldHVybiAnY291bnQoKSdcbiAgICByZXR1cm4gYCR7dGhpcy5hZ2dyZWdhdGlvbiQudmFsdWV9KCR7dGhpcy55UHJvcGVydHkkLnZhbHVlfSlgXG4gIH1cbiAgZ2V0IGlzQ291bnRBZ2dyZWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZ2dyZWdhdGlvbiQudmFsdWUgPT09ICdjb3VudCdcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvciB8IHN0cmluZykge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvci5tZXNzYWdlKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLnN0YWNrIHx8IGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMiBzbTpmbGV4LXJvdyBzbTpzcGFjZS15LTAgc206c3BhY2UteC0yIGp1c3RpZnktYmV0d2VlbiB0ZXh0LVsxM3B4XVwiXG4gID5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgIFtjaG9pY2VzXT1cInR5cGVDaG9pY2VzXCJcbiAgICAgIFtleHRyYUJ0bkNsYXNzXT1cIidzZWNvbmRhcnkgbWluLXctZnVsbCdcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cImNoYXJ0VHlwZSQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJjaGFydFR5cGUkLnZhbHVlXCJcbiAgICAgIFt0aXRsZV09XCInY2hhcnQuZHJvcGRvd24udHlwZScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJiYXNpcy0xLzRcIlxuICAgICAgW2Nob2ljZXNdPVwieENob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgW2V4dHJhQnRuQ2xhc3NdPVwiJ3NlY29uZGFyeSBtaW4tdy1mdWxsJ1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwieFByb3BlcnR5JC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInhQcm9wZXJ0eSQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi54UHJvcGVydHknIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgICpuZ0lmPVwiIWlzQ291bnRBZ2dyZWdhdGlvblwiXG4gICAgICBbY2hvaWNlc109XCJ5Q2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwieVByb3BlcnR5JC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInlQcm9wZXJ0eSQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi55UHJvcGVydHknIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwic2VsZWN0LXktcHJvcFwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cImJhc2lzLTEvNFwiXG4gICAgICBbY2hvaWNlc109XCJhZ2dyZWdhdGlvbkNob2ljZXNcIlxuICAgICAgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jaG9pY2VzXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJhZ2dyZWdhdGlvbiQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJhZ2dyZWdhdGlvbiQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi5hZ2dyZWdhdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmVsYXRpdmUgaC1mdWxsIG10LTIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gID5cbiAgICA8Z24tdWktY2hhcnRcbiAgICAgIFtkYXRhXT1cImNoYXJ0RGF0YSQgfCBhc3luY1wiXG4gICAgICBbdHlwZV09XCJjaGFydFR5cGUkLnZhbHVlXCJcbiAgICAgIFtsYWJlbFByb3BlcnR5XT1cImxhYmVsUHJvcGVydHlcIlxuICAgICAgW3ZhbHVlUHJvcGVydHldPVwidmFsdWVQcm9wZXJ0eVwiXG4gICAgPjwvZ24tdWktY2hhcnQ+XG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICBbbWVzc2FnZV09XCInY2hhcnQubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwiZXJyb3Jfb3V0bGluZVwiXG4gICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUVMLFVBQVUsRUFFVixxQkFBcUIsR0FDdEIsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNyRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ3hFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDdEUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixtQkFBbUIsR0FDcEIs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QUFLLENBQUMsQ0FBQTtRQUNyQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNyQyxDQUFDOytHQXRMVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxUENsRS9CLDhuRUE4REEseURETEksWUFBWSx3TEFDWix5QkFBeUIsb05BQ3pCLGVBQWUsNEZBQ2YsY0FBYyw4SUFDZCxvQkFBb0Isb0ZBQ3BCLG1CQUFtQjs7NEZBSVYsa0JBQWtCO2tCQWY5QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFlBQVk7d0JBQ1oseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7cUJBQ3BCLGNBQ1csSUFBSTsrSUFHSCxJQUFJO3NCQUFoQixLQUFLO2dCQUtPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBS08sU0FBUztzQkFBckIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQUtPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgQmFzZVJlYWRlcixcbiAgRmV0Y2hFcnJvcixcbiAgRmllbGRBZ2dyZWdhdGlvbixcbiAgZ2V0SnNvbkRhdGFJdGVtc1Byb3h5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7XG4gIERyb3Bkb3duQ2hvaWNlLFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIEVNUFRZLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvZGF0YS5zZXJ2aWNlJ1xuaW1wb3J0IHsgSW5wdXRDaGFydFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGFydENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMnXG5pbXBvcnQge1xuICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgUG9wdXBBbGVydENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcblxubWFya2VyKCdjaGFydC50eXBlLmJhcicpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUuYmFySG9yaXpvbnRhbCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZScpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZVNtb290aCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUucGllJylcblxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5zdW0nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5tYXgnKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5taW4nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5hdmVyYWdlJylcbm1hcmtlcignY2hhcnQuYWdncmVnYXRpb24uY291bnQnKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jaGFydC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ2hhcnRDb21wb25lbnQsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRWaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc2V0IGxpbmsodmFsdWU6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSkge1xuICAgIHRoaXMuY3VycmVudExpbmskLm5leHQodmFsdWUpXG4gIH1cbiAgcHJpdmF0ZSBjdXJyZW50TGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFzZXRPbmxpbmVSZXNvdXJjZT4obnVsbClcblxuICBASW5wdXQoKSBzZXQgYWdncmVnYXRpb24odmFsdWU6IEZpZWxkQWdncmVnYXRpb25bMF0pIHtcbiAgICB0aGlzLmFnZ3JlZ2F0aW9uJC5uZXh0KHZhbHVlKVxuICB9XG4gIGFnZ3JlZ2F0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmllbGRBZ2dyZWdhdGlvblswXT4oJ3N1bScpXG5cbiAgQElucHV0KCkgc2V0IHhQcm9wZXJ0eSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy54UHJvcGVydHkkLm5leHQodmFsdWUpXG4gIH1cbiAgeFByb3BlcnR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpXG5cbiAgQElucHV0KCkgc2V0IHlQcm9wZXJ0eSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy55UHJvcGVydHkkLm5leHQodmFsdWUpXG4gIH1cbiAgeVByb3BlcnR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpXG5cbiAgQElucHV0KCkgc2V0IGNoYXJ0VHlwZSh2YWx1ZTogSW5wdXRDaGFydFR5cGUpIHtcbiAgICB0aGlzLmNoYXJ0VHlwZSQubmV4dCh2YWx1ZSlcbiAgfVxuICBjaGFydFR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnB1dENoYXJ0VHlwZT4oJ2JhcicpXG5cbiAgQE91dHB1dCgpIGNoYXJ0Q29uZmlnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMueFByb3BlcnR5JC5waXBlKGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSxcbiAgICB0aGlzLnlQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy5hZ2dyZWdhdGlvbiQsXG4gICAgdGhpcy5jaGFydFR5cGUkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3hQcm9wZXJ0eSwgeVByb3BlcnR5LCBhZ2dyZWdhdGlvbiwgY2hhcnRUeXBlXSkgPT4gKHtcbiAgICAgIGFnZ3JlZ2F0aW9uLFxuICAgICAgeFByb3BlcnR5LFxuICAgICAgeVByb3BlcnR5LFxuICAgICAgY2hhcnRUeXBlLFxuICAgIH0pKVxuICApXG5cbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuICBlcnJvckluZm8gPSBudWxsXG5cbiAgdHlwZUNob2ljZXM6IERyb3Bkb3duQ2hvaWNlW10gPSBbXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUuYmFyJywgdmFsdWU6ICdiYXInIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUuYmFySG9yaXpvbnRhbCcsIHZhbHVlOiAnYmFyLWhvcml6b250YWwnIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUubGluZScsIHZhbHVlOiAnbGluZScgfSxcbiAgICB7IGxhYmVsOiAnY2hhcnQudHlwZS5saW5lU21vb3RoJywgdmFsdWU6ICdsaW5lLWludGVycG9sYXRlZCcgfSxcbiAgICB7IGxhYmVsOiAnY2hhcnQudHlwZS5waWUnLCB2YWx1ZTogJ3BpZScgfSxcbiAgXVxuXG4gIGdldCBhZ2dyZWdhdGlvbkNob2ljZXMoKSB7XG4gICAgaWYgKCF0aGlzLnlQcm9wZXJ0eSQudmFsdWUpIHtcbiAgICAgIHJldHVybiBbeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLmNvdW50JywgdmFsdWU6ICdjb3VudCcgfV1cbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5zdW0nLCB2YWx1ZTogJ3N1bScgfSxcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5tYXgnLCB2YWx1ZTogJ21heCcgfSxcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5taW4nLCB2YWx1ZTogJ21pbicgfSxcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5hdmVyYWdlJywgdmFsdWU6ICdhdmVyYWdlJyB9LFxuICAgICAgeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLmNvdW50JywgdmFsdWU6ICdjb3VudCcgfSxcbiAgICBdIGFzIERyb3Bkb3duQ2hvaWNlW11cbiAgfVxuXG4gIGRhdGFzZXQkOiBPYnNlcnZhYmxlPEJhc2VSZWFkZXI+ID0gdGhpcy5jdXJyZW50TGluayQucGlwZShcbiAgICBmaWx0ZXIoKGxpbmspID0+ICEhbGluayksXG4gICAgc3dpdGNoTWFwKChsaW5rKSA9PiB7XG4gICAgICB0aGlzLmVycm9yID0gbnVsbFxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZ2V0RGF0YXNldChsaW5rKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgcmV0dXJuIEVNUFRZXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuICBwcm9wZXJ0aWVzJCA9IHRoaXMuZGF0YXNldCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGRhdGFzZXQpID0+XG4gICAgICBkYXRhc2V0LnByb3BlcnRpZXMuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgIHJldHVybiBbXVxuICAgICAgfSlcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcbiAgeUNob2ljZXMkID0gdGhpcy5wcm9wZXJ0aWVzJC5waXBlKFxuICAgIG1hcCgocHJvcGVydGllcykgPT5cbiAgICAgIHByb3BlcnRpZXNcbiAgICAgICAgLmZpbHRlcigocHJvcCkgPT4gcHJvcC50eXBlID09PSAnbnVtYmVyJyB8fCBwcm9wLnR5cGUgPT09ICdkYXRlJylcbiAgICAgICAgLm1hcCgocHJvcCkgPT4gKHsgdmFsdWU6IHByb3AubmFtZSwgbGFiZWw6IHByb3AubGFiZWwgfHwgcHJvcC5uYW1lIH0pKVxuICAgICksXG4gICAgdGFwKChjaG9pY2VzKSA9PiB7XG4gICAgICBpZiAoIWNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMueVByb3BlcnR5JC52YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgbmV3UHJvcCA9IGNob2ljZXNbMF0/LnZhbHVlIHx8ICcnXG4gICAgICAgIGlmICghbmV3UHJvcCAmJiB0aGlzLmFnZ3JlZ2F0aW9uJC52YWx1ZSAhPT0gJ2NvdW50Jykge1xuICAgICAgICAgIHRoaXMuYWdncmVnYXRpb24kLm5leHQoJ2NvdW50JylcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnlQcm9wZXJ0eSQubmV4dChuZXdQcm9wKVxuICAgICAgfVxuICAgIH0pXG4gIClcbiAgeENob2ljZXMkID0gdGhpcy5wcm9wZXJ0aWVzJC5waXBlKFxuICAgIG1hcCgocHJvcGVydGllcykgPT5cbiAgICAgIHByb3BlcnRpZXNcbiAgICAgICAgLmZpbHRlcigocHJvcCkgPT4gcHJvcC50eXBlID09PSAnc3RyaW5nJylcbiAgICAgICAgLm1hcCgocHJvcCkgPT4gKHtcbiAgICAgICAgICB2YWx1ZTogcHJvcC5uYW1lLFxuICAgICAgICAgIGxhYmVsOiBwcm9wLmxhYmVsIHx8IHByb3AubmFtZSxcbiAgICAgICAgfSkpXG4gICAgKSxcbiAgICB0YXAoKGNob2ljZXMpID0+IHtcbiAgICAgIGlmICghY2hvaWNlcy5maW5kKChjaG9pY2UpID0+IGNob2ljZS52YWx1ZSA9PT0gdGhpcy54UHJvcGVydHkkLnZhbHVlKSkge1xuICAgICAgICB0aGlzLnhQcm9wZXJ0eSQubmV4dChjaG9pY2VzWzBdPy52YWx1ZSB8fCAnJylcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgY2hhcnREYXRhJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZGF0YXNldCQsXG4gICAgdGhpcy54UHJvcGVydHkkLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgIHRoaXMueVByb3BlcnR5JC5waXBlKGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSxcbiAgICB0aGlzLmFnZ3JlZ2F0aW9uJCxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtkYXRhc2V0LCB4UHJvcCwgeVByb3AsIGFnZ3JlZ2F0aW9uXSkgPT4ge1xuICAgICAgY29uc3QgZmllbGRBZ2c6IEZpZWxkQWdncmVnYXRpb24gPVxuICAgICAgICBhZ2dyZWdhdGlvbiA9PT0gJ2NvdW50JyA/IFsnY291bnQnXSA6IFthZ2dyZWdhdGlvbiwgeVByb3BdXG4gICAgICByZXR1cm4gZGF0YXNldFxuICAgICAgICAuZ3JvdXBCeShbJ2Rpc3RpbmN0JywgeFByb3BdKVxuICAgICAgICAuYWdncmVnYXRlKGZpZWxkQWdnKVxuICAgICAgICAucmVhZCgpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICAgIHJldHVybiBbXVxuICAgICAgICB9KVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgfSlcbiAgICB9KSxcbiAgICBtYXAoZ2V0SnNvbkRhdGFJdGVtc1Byb3h5KSxcbiAgICBzdGFydFdpdGgoW10pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBnZXQgbGFiZWxQcm9wZXJ0eSgpIHtcbiAgICBpZiAoIXRoaXMueFByb3BlcnR5JC52YWx1ZSkgcmV0dXJuICcnXG4gICAgcmV0dXJuIGBkaXN0aW5jdCgke3RoaXMueFByb3BlcnR5JC52YWx1ZX0pYFxuICB9XG4gIGdldCB2YWx1ZVByb3BlcnR5KCkge1xuICAgIGlmICh0aGlzLmlzQ291bnRBZ2dyZWdhdGlvbikgcmV0dXJuICdjb3VudCgpJ1xuICAgIHJldHVybiBgJHt0aGlzLmFnZ3JlZ2F0aW9uJC52YWx1ZX0oJHt0aGlzLnlQcm9wZXJ0eSQudmFsdWV9KWBcbiAgfVxuICBnZXQgaXNDb3VudEFnZ3JlZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFnZ3JlZ2F0aW9uJC52YWx1ZSA9PT0gJ2NvdW50J1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBoYW5kbGVFcnJvcihlcnJvcjogRmV0Y2hFcnJvciB8IEVycm9yIHwgc3RyaW5nKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRmV0Y2hFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgZGF0YXNldC5lcnJvci4ke2Vycm9yLnR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIGluZm86IGVycm9yLmluZm8sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5tZXNzYWdlKVxuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yLm1lc3NhZ2UpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3Iuc3RhY2sgfHwgZXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvcilcbiAgICAgIGNvbnNvbGUud2FybihlcnJvcilcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgc3BhY2UteS0yIHNtOmZsZXgtcm93IHNtOnNwYWNlLXktMCBzbTpzcGFjZS14LTIganVzdGlmeS1iZXR3ZWVuIHRleHQtWzEzcHhdXCJcbiAgPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJiYXNpcy0xLzRcIlxuICAgICAgW2Nob2ljZXNdPVwidHlwZUNob2ljZXNcIlxuICAgICAgW2V4dHJhQnRuQ2xhc3NdPVwiJ3NlY29uZGFyeSBtaW4tdy1mdWxsJ1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwiY2hhcnRUeXBlJC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cImNoYXJ0VHlwZSQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi50eXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cImJhc2lzLTEvNFwiXG4gICAgICBbY2hvaWNlc109XCJ4Q2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICBbZXh0cmFCdG5DbGFzc109XCInc2Vjb25kYXJ5IG1pbi13LWZ1bGwnXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJ4UHJvcGVydHkkLm5leHQoJGV2ZW50KVwiXG4gICAgICBbc2VsZWN0ZWRdPVwieFByb3BlcnR5JC52YWx1ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2NoYXJ0LmRyb3Bkb3duLnhQcm9wZXJ0eScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJiYXNpcy0xLzRcIlxuICAgICAgKm5nSWY9XCIhaXNDb3VudEFnZ3JlZ2F0aW9uXCJcbiAgICAgIFtjaG9pY2VzXT1cInlDaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJ5UHJvcGVydHkkLm5leHQoJGV2ZW50KVwiXG4gICAgICBbc2VsZWN0ZWRdPVwieVByb3BlcnR5JC52YWx1ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2NoYXJ0LmRyb3Bkb3duLnlQcm9wZXJ0eScgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJzZWxlY3QteS1wcm9wXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgIFtjaG9pY2VzXT1cImFnZ3JlZ2F0aW9uQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cImFnZ3JlZ2F0aW9uLWNob2ljZXNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cImFnZ3JlZ2F0aW9uJC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cImFnZ3JlZ2F0aW9uJC52YWx1ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2NoYXJ0LmRyb3Bkb3duLmFnZ3JlZ2F0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZWxhdGl2ZSBoLWZ1bGwgbXQtMiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgPlxuICAgIDxnbi11aS1jaGFydFxuICAgICAgW2RhdGFdPVwiY2hhcnREYXRhJCB8IGFzeW5jXCJcbiAgICAgIFt0eXBlXT1cImNoYXJ0VHlwZSQudmFsdWVcIlxuICAgICAgW2xhYmVsUHJvcGVydHldPVwibGFiZWxQcm9wZXJ0eVwiXG4gICAgICBbdmFsdWVQcm9wZXJ0eV09XCJ2YWx1ZVByb3BlcnR5XCJcbiAgICA+PC9nbi11aS1jaGFydD5cbiAgICA8Z24tdWktbG9hZGluZy1tYXNrXG4gICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wXCJcbiAgICAgIFttZXNzYWdlXT1cIidjaGFydC5sb2FkaW5nLmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1sb2FkaW5nLW1hc2s+XG4gICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbS0yIGluc2V0LTBcIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IGVycm9yIH19PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { UiDatavizModule } from '../../../../../../../libs/ui/dataviz/src';
2
3
  import { FigureService } from '../figure.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../figure.service";
@@ -14,13 +15,13 @@ export class FigureContainerComponent {
14
15
  .toFixed(this.digits);
15
16
  this.figure = parseFloat(figure).toString();
16
17
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureContainerComponent, deps: [{ token: i1.FigureService }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureContainerComponent, selector: "gn-ui-figure-container", inputs: { dataset: "dataset", expression: "expression", icon: "icon", title: "title", unit: "unit", digits: "digits" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n", styles: [""], dependencies: [{ kind: "component", type: i2.FigureComponent, selector: "gn-ui-figure", inputs: ["icon", "title", "figure", "unit", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureContainerComponent, deps: [{ token: i1.FigureService }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FigureContainerComponent, isStandalone: true, selector: "gn-ui-figure-container", inputs: { dataset: "dataset", expression: "expression", icon: "icon", title: "title", unit: "unit", digits: "digits" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiDatavizModule }, { kind: "component", type: i2.FigureComponent, selector: "gn-ui-figure", inputs: ["icon", "title", "figure", "unit", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
20
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureContainerComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureContainerComponent, decorators: [{
21
22
  type: Component,
22
- args: [{ selector: 'gn-ui-figure-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n" }]
23
- }], ctorParameters: function () { return [{ type: i1.FigureService }]; }, propDecorators: { dataset: [{
23
+ args: [{ selector: 'gn-ui-figure-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [UiDatavizModule], template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n" }]
24
+ }], ctorParameters: () => [{ type: i1.FigureService }], propDecorators: { dataset: [{
24
25
  type: Input
25
26
  }], expression: [{
26
27
  type: Input
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
34
  }], digits: [{
34
35
  type: Input
35
36
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUtY29udGFpbmVyL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9maWd1cmUvZmlndXJlLWNvbnRhaW5lci9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFRakQsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBSGpDLFdBQU0sR0FBWSxDQUFDLENBQUE7SUFHaUIsQ0FBQztJQUU5QyxXQUFXO1FBQ1QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzdDLENBQUM7K0dBaEJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJNQ2ZyQyxxSEFNQTs7NEZEU2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTtvR0FHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRhYmxlSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7IEZpZ3VyZVNlcnZpY2UgfSBmcm9tICcuLi9maWd1cmUuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZmlndXJlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWd1cmVDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhc2V0OiBUYWJsZUl0ZW1Nb2RlbFtdXG4gIEBJbnB1dCgpIGV4cHJlc3Npb246IHN0cmluZ1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmdcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSB1bml0OiBzdHJpbmdcbiAgQElucHV0KCkgZGlnaXRzPzogbnVtYmVyID0gMlxuICBmaWd1cmU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogRmlndXJlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWd1cmUgPSB0aGlzLnNlcnZpY2VcbiAgICAgIC5jb21wdXRlKHRoaXMuZXhwcmVzc2lvbiwgdGhpcy5kYXRhc2V0KVxuICAgICAgLnRvRml4ZWQodGhpcy5kaWdpdHMpXG4gICAgdGhpcy5maWd1cmUgPSBwYXJzZUZsb2F0KGZpZ3VyZSkudG9TdHJpbmcoKVxuICB9XG59XG4iLCI8Z24tdWktZmlndXJlXG4gIFtmaWd1cmVdPVwiZmlndXJlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFt1bml0XT1cInVuaXRcIlxuPjwvZ24tdWktZmlndXJlPlxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUtY29udGFpbmVyL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9maWd1cmUvZmlndXJlLWNvbnRhaW5lci9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQVVqRCxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQW9CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFIakMsV0FBTSxHQUFZLENBQUMsQ0FBQTtJQUdpQixDQUFDO0lBRTlDLFdBQVc7UUFDVCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTzthQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDN0MsQ0FBQzsrR0FoQlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsK05DakJyQyxxSEFNQSx5RERTWSxlQUFlOzs0RkFFZCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQztrRkFHakIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRhYmxlSXRlbU1vZGVsLCBVaURhdGF2aXpNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRmlndXJlU2VydmljZSB9IGZyb20gJy4uL2ZpZ3VyZS5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1maWd1cmUtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtVaURhdGF2aXpNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWd1cmVDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhc2V0OiBUYWJsZUl0ZW1Nb2RlbFtdXG4gIEBJbnB1dCgpIGV4cHJlc3Npb246IHN0cmluZ1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmdcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSB1bml0OiBzdHJpbmdcbiAgQElucHV0KCkgZGlnaXRzPzogbnVtYmVyID0gMlxuICBmaWd1cmU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogRmlndXJlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWd1cmUgPSB0aGlzLnNlcnZpY2VcbiAgICAgIC5jb21wdXRlKHRoaXMuZXhwcmVzc2lvbiwgdGhpcy5kYXRhc2V0KVxuICAgICAgLnRvRml4ZWQodGhpcy5kaWdpdHMpXG4gICAgdGhpcy5maWd1cmUgPSBwYXJzZUZsb2F0KGZpZ3VyZSkudG9TdHJpbmcoKVxuICB9XG59XG4iLCI8Z24tdWktZmlndXJlXG4gIFtmaWd1cmVdPVwiZmlndXJlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFt1bml0XT1cInVuaXRcIlxuPjwvZ24tdWktZmlndXJlPlxuIl19
@@ -19,13 +19,13 @@ export class FigureService {
19
19
  return NaN;
20
20
  }
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureService, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureService, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root',
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQVExQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJVSxlQUFVLEdBQTBCO1lBQzFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNO1NBQzNELENBQUE7S0FZRjtJQVZDLE9BQU8sQ0FBQyxVQUFrQixFQUFFLE9BQXlCO1FBQ25ELElBQUk7WUFDRixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDakUsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzlELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1lBQzlDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUN4QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxHQUFHLENBQUE7U0FDWDtJQUNILENBQUM7K0dBZlUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRhYmxlSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcblxudHlwZSBGaWd1cmVPcGVyYXRpb25UeXBlcyA9ICdzdW0nIHwgJ2F2ZXJhZ2UnXG50eXBlIEZpZ3VyZU9wZXJhdGlvbnNNb2RlbCA9IFJlY29yZDxcbiAgRmlndXJlT3BlcmF0aW9uVHlwZXMsXG4gIChkYXRhOiBudW1iZXJbXSkgPT4gbnVtYmVyXG4+XG5leHBvcnQgY29uc3QgRklHVVJFX09QRVJBVElPTl9ERUxJTUlURVIgPSAnfCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpZ3VyZVNlcnZpY2Uge1xuICBwcml2YXRlIG9wZXJhdGlvbnM6IEZpZ3VyZU9wZXJhdGlvbnNNb2RlbCA9IHtcbiAgICBzdW06IChkYXRhKSA9PiBkYXRhLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gKHN1bSArPSB2YWx1ZSksIDApLFxuICAgIGF2ZXJhZ2U6IChkYXRhKSA9PiB0aGlzLm9wZXJhdGlvbnMuc3VtKGRhdGEpIC8gZGF0YS5sZW5ndGgsXG4gIH1cblxuICBjb21wdXRlKGV4cHJlc3Npb246IHN0cmluZywgZGF0YXNldDogVGFibGVJdGVtTW9kZWxbXSk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXB1dGluZyA9IGV4cHJlc3Npb24uc3BsaXQoRklHVVJFX09QRVJBVElPTl9ERUxJTUlURVIpWzBdXG4gICAgICBjb25zdCBjb2x1bW4gPSBleHByZXNzaW9uLnNwbGl0KEZJR1VSRV9PUEVSQVRJT05fREVMSU1JVEVSKVsxXVxuICAgICAgY29uc3QgZGF0YSA9IGRhdGFzZXQubWFwKChyb3cpID0+IHJvd1tjb2x1bW5dKVxuICAgICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uc1tjb21wdXRpbmddKGRhdGEpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIE5hTlxuICAgIH1cbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQVExQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJVSxlQUFVLEdBQTBCO1lBQzFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNO1NBQzNELENBQUE7S0FZRjtJQVZDLE9BQU8sQ0FBQyxVQUFrQixFQUFFLE9BQXlCO1FBQ25ELElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNqRSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDOUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDO0lBQ0gsQ0FBQzsrR0FmVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVGFibGVJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjJ1xuXG50eXBlIEZpZ3VyZU9wZXJhdGlvblR5cGVzID0gJ3N1bScgfCAnYXZlcmFnZSdcbnR5cGUgRmlndXJlT3BlcmF0aW9uc01vZGVsID0gUmVjb3JkPFxuICBGaWd1cmVPcGVyYXRpb25UeXBlcyxcbiAgKGRhdGE6IG51bWJlcltdKSA9PiBudW1iZXJcbj5cbmV4cG9ydCBjb25zdCBGSUdVUkVfT1BFUkFUSU9OX0RFTElNSVRFUiA9ICd8J1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRmlndXJlU2VydmljZSB7XG4gIHByaXZhdGUgb3BlcmF0aW9uczogRmlndXJlT3BlcmF0aW9uc01vZGVsID0ge1xuICAgIHN1bTogKGRhdGEpID0+IGRhdGEucmVkdWNlKChzdW0sIHZhbHVlKSA9PiAoc3VtICs9IHZhbHVlKSwgMCksXG4gICAgYXZlcmFnZTogKGRhdGEpID0+IHRoaXMub3BlcmF0aW9ucy5zdW0oZGF0YSkgLyBkYXRhLmxlbmd0aCxcbiAgfVxuXG4gIGNvbXB1dGUoZXhwcmVzc2lvbjogc3RyaW5nLCBkYXRhc2V0OiBUYWJsZUl0ZW1Nb2RlbFtdKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcHV0aW5nID0gZXhwcmVzc2lvbi5zcGxpdChGSUdVUkVfT1BFUkFUSU9OX0RFTElNSVRFUilbMF1cbiAgICAgIGNvbnN0IGNvbHVtbiA9IGV4cHJlc3Npb24uc3BsaXQoRklHVVJFX09QRVJBVElPTl9ERUxJTUlURVIpWzFdXG4gICAgICBjb25zdCBkYXRhID0gZGF0YXNldC5tYXAoKHJvdykgPT4gcm93W2NvbHVtbl0pXG4gICAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25zW2NvbXB1dGluZ10oZGF0YSlcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gTmFOXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,11 +1,8 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
2
2
  import { TableComponent, } from '../../../../../../libs/ui/dataviz/src';
3
3
  import { Subscription } from 'rxjs';
4
- import { MapContainerComponent } from '../../../../../../libs/ui/map/src';
4
+ import { FeatureDetailComponent, MapContainerComponent, } from '../../../../../../libs/ui/map/src';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../../../ui/dataviz/src/lib/table/table.component";
7
- import * as i2 from "../../../../../ui/map/src/lib/components/feature-detail/feature-detail.component";
8
- import * as i3 from "../../../../../ui/map/src/lib/components/map-container/map-container.component";
9
6
  export class GeoTableViewComponent {
10
7
  get features() {
11
8
  return this.data.features;
@@ -81,13 +78,13 @@ export class GeoTableViewComponent {
81
78
  ngOnDestroy() {
82
79
  this.subscription.unsubscribe();
83
80
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeoTableViewComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GeoTableViewComponent, selector: "gn-ui-geo-table-view", inputs: { data: "data" }, viewQueries: [{ propertyName: "uiTable", first: true, predicate: ["table"], descendants: true }, { propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-table\n #table\n class=\"w-1/2 overflow-auto\"\n [data]=\"tableData\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TableComponent, selector: "gn-ui-table", inputs: ["data", "activeId"], outputs: ["selected"] }, { kind: "component", type: i2.FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: i3.MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoTableViewComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoTableViewComponent, isStandalone: true, selector: "gn-ui-geo-table-view", inputs: { data: "data" }, viewQueries: [{ propertyName: "uiTable", first: true, predicate: ["table"], descendants: true }, { propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-table\n #table\n class=\"w-1/2 overflow-auto\"\n [data]=\"tableData\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: TableComponent, selector: "gn-ui-table", inputs: ["data", "activeId"], outputs: ["selected"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
83
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeoTableViewComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoTableViewComponent, decorators: [{
88
85
  type: Component,
89
- args: [{ selector: 'gn-ui-geo-table-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-table\n #table\n class=\"w-1/2 overflow-auto\"\n [data]=\"tableData\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n" }]
90
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
86
+ args: [{ selector: 'gn-ui-geo-table-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TableComponent, MapContainerComponent, FeatureDetailComponent], standalone: true, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-table\n #table\n class=\"w-1/2 overflow-auto\"\n [data]=\"tableData\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n" }]
87
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
91
88
  type: Input
92
89
  }], uiTable: [{
93
90
  type: ViewChild,
@@ -96,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
96
93
  type: ViewChild,
97
94
  args: ['mapContainer']
98
95
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9nZW8tdGFibGUtdmlldy9nZW8tdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2dlby10YWJsZS12aWV3L2dlby10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxjQUFjLEdBR2YsTUFBTSx1Q0FBdUMsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRW5DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7OztBQVF6RSxNQUFNLE9BQU8scUJBQXFCO0lBV2hDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDM0IsQ0FBQztJQUVELFlBQW9CLFNBQTRCO1FBQTVCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBZHZDLFNBQUksR0FBc0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBUXRFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQU1VLENBQUM7SUFFcEQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQTBCO1FBQ3RDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBQUE7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDMUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7U0FDdEM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBbUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLG9DQUFvQztZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDOUIsNkJBQTZCO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtTQUM1QztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUEwQjtRQUNuRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNSLEdBQUcsQ0FBQyxDQUFDLFVBQVU7U0FDaEIsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLElBQUksRUFBRSxLQUFLO29CQUNYLEdBQUcsRUFBRSxzREFBc0Q7aUJBQzVEO2dCQUNEO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDaEI7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNkLElBQUksRUFBRSxDQUFDO2FBQ1I7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWdCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxJQUFJLENBQUMsVUFBVTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixPQUFPLEVBQUUsRUFBRTthQUNaO1NBQ0YsQ0FBQTtRQUNELDBCQUEwQjtRQUMxQixxREFBcUQ7UUFDckQsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixLQUFLO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEVBQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDakMsQ0FBQzsrR0F6RlUscUJBQXFCO21HQUFyQixxQkFBcUIsdVJDekJsQyxna0JBb0JBOzs0RkRLYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07d0dBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDYyxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU87Z0JBQ1MsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgVGFibGVDb21wb25lbnQsXG4gIFRhYmxlSXRlbUlkLFxuICBUYWJsZUl0ZW1Nb2RlbCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZSwgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1hcENvbnRleHQgfSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7IE1hcENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZ2VvLXRhYmxlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXRhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW8tdGFibGUtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9UYWJsZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uID0geyB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLCBmZWF0dXJlczogW10gfVxuICBAVmlld0NoaWxkKCd0YWJsZScpIHVpVGFibGU6IFRhYmxlQ29tcG9uZW50XG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIG1hcENvbnRhaW5lcjogTWFwQ29udGFpbmVyQ29tcG9uZW50XG5cbiAgdGFibGVEYXRhOiBUYWJsZUl0ZW1Nb2RlbFtdXG4gIG1hcENvbnRleHQ6IE1hcENvbnRleHRcbiAgc2VsZWN0aW9uSWQ6IFRhYmxlSXRlbUlkXG4gIHNlbGVjdGlvbjogRmVhdHVyZVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGdldCBmZWF0dXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmZlYXR1cmVzXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmdlb2pzb25Ub1RhYmxlRGF0YSh0aGlzLmRhdGEpXG4gICAgdGhpcy5tYXBDb250ZXh0ID0gdGhpcy5pbml0TWFwQ29udGV4dCgpXG4gIH1cblxuICBvblRhYmxlU2VsZWN0KHRhYmxlRW50cnk6IFRhYmxlSXRlbU1vZGVsKSB7XG4gICAgY29uc3QgeyBpZCB9ID0gdGFibGVFbnRyeVxuICAgIHRoaXMuc2VsZWN0aW9uSWQgPSBpZFxuICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5nZXRGZWF0dXJlRnJvbUlkKGlkKVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgdGhpcy5hbmltYXRlVG9GZWF0dXJlKHRoaXMuc2VsZWN0aW9uKVxuICAgIH1cbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBmZWF0dXJlcz8ubGVuZ3RoID4gMCAmJiBmZWF0dXJlc1swXVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHNob3cgc3R5bGluZyBmb3Igc2VsZWN0aW9uXG4gICAgICB0aGlzLnNlbGVjdGlvbklkID0gdGhpcy5zZWxlY3Rpb24uaWRcbiAgICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgLy8gdGhpcy52ZWN0b3JMYXllci5jaGFuZ2VkKClcbiAgICAgIHRoaXMudWlUYWJsZS5zY3JvbGxUb0l0ZW0odGhpcy5zZWxlY3Rpb25JZClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdlb2pzb25Ub1RhYmxlRGF0YShnZW9qc29uOiBGZWF0dXJlQ29sbGVjdGlvbikge1xuICAgIHJldHVybiBnZW9qc29uLmZlYXR1cmVzLm1hcCgoZikgPT4gKHtcbiAgICAgIGlkOiBmLmlkLFxuICAgICAgLi4uZi5wcm9wZXJ0aWVzLFxuICAgIH0pKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0TWFwQ29udGV4dCgpOiBNYXBDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF5ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAneHl6JyxcbiAgICAgICAgICB1cmw6ICdodHRwczovL3thLWN9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdmlldzoge1xuICAgICAgICBjZW50ZXI6IFswLCAwXSxcbiAgICAgICAgem9vbTogMixcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhbmltYXRlVG9GZWF0dXJlKGZlYXR1cmU6IEZlYXR1cmUpOiB2b2lkIHtcbiAgICB0aGlzLm1hcENvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLm1hcENvbnRleHQsXG4gICAgICB2aWV3OiB7XG4gICAgICAgIGdlb21ldHJ5OiBmZWF0dXJlLmdlb21ldHJ5LFxuICAgICAgICBtYXhab29tOiAxMyxcbiAgICAgIH0sXG4gICAgfVxuICAgIC8vIEZJWE1FOiBhbmltYXRlIHRoZSB2aWV3XG4gICAgLy8gdGhpcy52aWV3LmZpdChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0RXh0ZW50KCksIHtcbiAgICAvLyAgIGR1cmF0aW9uOiAxMDAwLFxuICAgIC8vICAgbWF4Wm9vbTogMTEsXG4gICAgLy8gfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZUZyb21JZChpZDogVGFibGVJdGVtSWQpIHtcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlcy5maW5kKChmZWF0dXJlKSA9PiBmZWF0dXJlLmlkID09PSBpZClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaC1mdWxsIG92ZXJmbG93LWF1dG9cIj5cbiAgPGduLXVpLXRhYmxlXG4gICAgI3RhYmxlXG4gICAgY2xhc3M9XCJ3LTEvMiBvdmVyZmxvdy1hdXRvXCJcbiAgICBbZGF0YV09XCJ0YWJsZURhdGFcIlxuICAgIFthY3RpdmVJZF09XCJzZWxlY3Rpb25JZFwiXG4gICAgKHNlbGVjdGVkKT1cIm9uVGFibGVTZWxlY3QoJGV2ZW50KVwiXG4gID48L2duLXVpLXRhYmxlPlxuICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICNtYXBDb250YWluZXJcbiAgICBjbGFzcz1cInctMS8yIGgtZnVsbFwiXG4gICAgW2NvbnRleHRdPVwibWFwQ29udGV4dFwiXG4gICAgKGZlYXR1cmVzQ2xpY2spPVwib25NYXBGZWF0dXJlU2VsZWN0KCRldmVudClcIlxuICA+PC9nbi11aS1tYXAtY29udGFpbmVyPlxuICA8Z24tdWktZmVhdHVyZS1kZXRhaWxcbiAgICBzdHlsZT1cIndpZHRoOiAzMDBweFwiXG4gICAgY2xhc3M9XCJwLTMgc2hyaW5rLTAgb3ZlcmZsb3ctYXV0b1wiXG4gICAgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCJcbiAgPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG48L2Rpdj5cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9nZW8tdGFibGUtdmlldy9nZW8tdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2dlby10YWJsZS12aWV3L2dlby10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxjQUFjLEdBR2YsTUFBTSx1Q0FBdUMsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRW5DLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIscUJBQXFCLEdBQ3RCLE1BQU0sbUNBQW1DLENBQUE7O0FBVTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUMzQixDQUFDO0lBRUQsWUFBb0IsU0FBNEI7UUFBNUIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFkdkMsU0FBSSxHQUFzQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUE7UUFRdEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBTVUsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNB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YyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFRhYmxlQ29tcG9uZW50LFxuICBUYWJsZUl0ZW1JZCxcbiAgVGFibGVJdGVtTW9kZWwsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMnXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmUsIEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYXBDb250ZXh0IH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBGZWF0dXJlRGV0YWlsQ29tcG9uZW50LFxuICBNYXBDb250YWluZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZ2VvLXRhYmxlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXRhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW8tdGFibGUtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVGFibGVDb21wb25lbnQsIE1hcENvbnRhaW5lckNvbXBvbmVudCwgRmVhdHVyZURldGFpbENvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEdlb1RhYmxlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YTogRmVhdHVyZUNvbGxlY3Rpb24gPSB7IHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsIGZlYXR1cmVzOiBbXSB9XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdWlUYWJsZTogVGFibGVDb21wb25lbnRcbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgbWFwQ29udGFpbmVyOiBNYXBDb250YWluZXJDb21wb25lbnRcblxuICB0YWJsZURhdGE6IFRhYmxlSXRlbU1vZGVsW11cbiAgbWFwQ29udGV4dDogTWFwQ29udGV4dFxuICBzZWxlY3Rpb25JZDogVGFibGVJdGVtSWRcbiAgc2VsZWN0aW9uOiBGZWF0dXJlXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgZ2V0IGZlYXR1cmVzKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXNcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuZ2VvanNvblRvVGFibGVEYXRhKHRoaXMuZGF0YSlcbiAgICB0aGlzLm1hcENvbnRleHQgPSB0aGlzLmluaXRNYXBDb250ZXh0KClcbiAgfVxuXG4gIG9uVGFibGVTZWxlY3QodGFibGVFbnRyeTogVGFibGVJdGVtTW9kZWwpIHtcbiAgICBjb25zdCB7IGlkIH0gPSB0YWJsZUVudHJ5XG4gICAgdGhpcy5zZWxlY3Rpb25JZCA9IGlkXG4gICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLmdldEZlYXR1cmVGcm9tSWQoaWQpXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmFuaW1hdGVUb0ZlYXR1cmUodGhpcy5zZWxlY3Rpb24pXG4gICAgfVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogc2hvdyBzdHlsaW5nIGZvciBzZWxlY3Rpb25cbiAgICAgIHRoaXMuc2VsZWN0aW9uSWQgPSB0aGlzLnNlbGVjdGlvbi5pZFxuICAgICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAvLyB0aGlzLnZlY3RvckxheWVyLmNoYW5nZWQoKVxuICAgICAgdGhpcy51aVRhYmxlLnNjcm9sbFRvSXRlbSh0aGlzLnNlbGVjdGlvbklkKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2VvanNvblRvVGFibGVEYXRhKGdlb2pzb246IEZlYXR1cmVDb2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIGdlb2pzb24uZmVhdHVyZXMubWFwKChmKSA9PiAoe1xuICAgICAgaWQ6IGYuaWQsXG4gICAgICAuLi5mLnByb3BlcnRpZXMsXG4gICAgfSkpXG4gIH1cblxuICBwcml2YXRlIGluaXRNYXBDb250ZXh0KCk6IE1hcENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBsYXllcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICd4eXonLFxuICAgICAgICAgIHVybDogJ2h0dHBzOi8ve2EtY30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2dlb2pzb24nLFxuICAgICAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB2aWV3OiB7XG4gICAgICAgIGNlbnRlcjogWzAsIDBdLFxuICAgICAgICB6b29tOiAyLFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGVUb0ZlYXR1cmUoZmVhdHVyZTogRmVhdHVyZSk6IHZvaWQge1xuICAgIHRoaXMubWFwQ29udGV4dCA9IHtcbiAgICAgIC4uLnRoaXMubWFwQ29udGV4dCxcbiAgICAgIHZpZXc6IHtcbiAgICAgICAgZ2VvbWV0cnk6IGZlYXR1cmUuZ2VvbWV0cnksXG4gICAgICAgIG1heFpvb206IDEzLFxuICAgICAgfSxcbiAgICB9XG4gICAgLy8gRklYTUU6IGFuaW1hdGUgdGhlIHZpZXdcbiAgICAvLyB0aGlzLnZpZXcuZml0KGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRFeHRlbnQoKSwge1xuICAgIC8vICAgZHVyYXRpb246IDEwMDAsXG4gICAgLy8gICBtYXhab29tOiAxMSxcbiAgICAvLyB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlRnJvbUlkKGlkOiBUYWJsZUl0ZW1JZCkge1xuICAgIHJldHVybiB0aGlzLmZlYXR1cmVzLmZpbmQoKGZlYXR1cmUpID0+IGZlYXR1cmUuaWQgPT09IGlkKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBoLWZ1bGwgb3ZlcmZsb3ctYXV0b1wiPlxuICA8Z24tdWktdGFibGVcbiAgICAjdGFibGVcbiAgICBjbGFzcz1cInctMS8yIG92ZXJmbG93LWF1dG9cIlxuICAgIFtkYXRhXT1cInRhYmxlRGF0YVwiXG4gICAgW2FjdGl2ZUlkXT1cInNlbGVjdGlvbklkXCJcbiAgICAoc2VsZWN0ZWQpPVwib25UYWJsZVNlbGVjdCgkZXZlbnQpXCJcbiAgPjwvZ24tdWktdGFibGU+XG4gIDxnbi11aS1tYXAtY29udGFpbmVyXG4gICAgI21hcENvbnRhaW5lclxuICAgIGNsYXNzPVwidy0xLzIgaC1mdWxsXCJcbiAgICBbY29udGV4dF09XCJtYXBDb250ZXh0XCJcbiAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gID48L2duLXVpLW1hcC1jb250YWluZXI+XG4gIDxnbi11aS1mZWF0dXJlLWRldGFpbFxuICAgIHN0eWxlPVwid2lkdGg6IDMwMHB4XCJcbiAgICBjbGFzcz1cInAtMyBzaHJpbmstMCBvdmVyZmxvdy1hdXRvXCJcbiAgICBbZmVhdHVyZV09XCJzZWxlY3Rpb25cIlxuICA+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbjwvZGl2PlxuIl19
@@ -22,7 +22,7 @@ export class DataService {
22
22
  constructor(proxy) {
23
23
  this.proxy = proxy;
24
24
  }
25
- getDownloadUrlsFromWfs(wfsUrl, featureTypeName) {
25
+ getWfsEndpoint(wfsUrl) {
26
26
  return from(new WfsEndpoint(this.proxy.getProxiedUrl(wfsUrl)).isReady()).pipe(catchError((error) => {
27
27
  if (error instanceof Error) {
28
28
  throw new Error(`wfs.unreachable.unknown`);
@@ -44,7 +44,10 @@ export class DataService {
44
44
  throw new Error(`wfs.unreachable.unknown`);
45
45
  }
46
46
  }
47
- }), map((endpoint) => {
47
+ }));
48
+ }
49
+ getDownloadUrlsFromWfs(wfsUrl, featureTypeName) {
50
+ return this.getWfsEndpoint(wfsUrl).pipe(map((endpoint) => {
48
51
  const featureTypes = endpoint.getFeatureTypes();
49
52
  const featureType = endpoint.getFeatureTypeSummary(featureTypes.length === 1 && !featureTypeName
50
53
  ? featureTypes[0].name
@@ -80,6 +83,14 @@ export class DataService {
80
83
  };
81
84
  }));
82
85
  }
86
+ getWfsFeatureCount(wfsUrl, featureTypeName) {
87
+ return this.getWfsEndpoint(wfsUrl).pipe(switchMap((endpoint) => from(endpoint.getFeatureTypeFull(featureTypeName)).pipe(map((featureType) => {
88
+ if (!featureType) {
89
+ throw new Error('wfs.featuretype.notfound');
90
+ }
91
+ return featureType.objectCount;
92
+ }))));
93
+ }
83
94
  getDownloadUrlFromEsriRest(apiUrl, format) {
84
95
  return this.proxy.getProxiedUrl(`${apiUrl}/query?f=${format}&where=1=1&outFields=*`);
85
96
  }
@@ -104,7 +115,7 @@ export class DataService {
104
115
  });
105
116
  }
106
117
  async getDownloadUrlsFromOgcApi(url) {
107
- const endpoint = new OgcApiEndpoint(this.proxy.getProxiedUrl(url));
118
+ const endpoint = new OgcApiEndpoint(url);
108
119
  return await endpoint.allCollections
109
120
  .then((collections) => {
110
121
  return endpoint.getCollectionInfo(collections[0].name);
@@ -114,7 +125,7 @@ export class DataService {
114
125
  });
115
126
  }
116
127
  async getItemsFromOgcApi(url) {
117
- const endpoint = new OgcApiEndpoint(this.proxy.getProxiedUrl(url));
128
+ const endpoint = new OgcApiEndpoint(url);
118
129
  return await endpoint.featureCollections
119
130
  .then((collections) => {
120
131
  return collections.length
@@ -181,13 +192,13 @@ export class DataService {
181
192
  }
182
193
  return throwError(() => 'protocol not supported');
183
194
  }
184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, deps: [{ token: i1.ProxyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
185
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, providedIn: 'root' }); }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataService, deps: [{ token: i1.ProxyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
196
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataService, providedIn: 'root' }); }
186
197
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataService, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataService, decorators: [{
188
199
  type: Injectable,
189
200
  args: [{
190
201
  providedIn: 'root',
191
202
  }]
192
- }], ctorParameters: function () { return [{ type: i1.ProxyService }]; } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9zZXJ2aWNlL2RhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBRUwsY0FBYyxFQUVkLFdBQVcsR0FFWixNQUFNLHdCQUF3QixDQUFBO0FBQy9CLE9BQU8sRUFHTCxXQUFXLEVBRVgsY0FBYyxHQUNmLE1BQU0sOENBQThDLENBQUE7QUFDckQsT0FBTyxFQUNMLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLFlBQVksR0FDYixNQUFNLHdDQUF3QyxDQUFBO0FBRS9DLE9BQU8sRUFBRSxJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTWhFLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBQzlCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBQzlCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0FBQ2pDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBQ2xDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0FBQ3JDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0FBQ2pDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0FBQzVCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBQzdCLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLE1B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LENBQUMsQ0FBQTtpQkFDL0M7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ25ELENBQUM7K0dBOU5VLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBPZ2NBcGlDb2xsZWN0aW9uSW5mbyxcbiAgT2djQXBpRW5kcG9pbnQsXG4gIE9nY0FwaVJlY29yZCxcbiAgV2ZzRW5kcG9pbnQsXG4gIFdmc1ZlcnNpb24sXG59IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQge1xuICBCYXNlUmVhZGVyLFxuICBGZXRjaEVycm9yLFxuICBvcGVuRGF0YXNldCxcbiAgU3VwcG9ydGVkVHlwZSxcbiAgU3VwcG9ydGVkVHlwZXMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjJ1xuaW1wb3J0IHtcbiAgZ2V0RmlsZUZvcm1hdCxcbiAgZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0LFxuICBnZXRNaW1lVHlwZUZvckZvcm1hdCxcbiAgUHJveHlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbm1hcmtlcignd2ZzLnVucmVhY2hhYmxlLmNvcnMnKVxubWFya2VyKCd3ZnMudW5yZWFjaGFibGUuaHR0cCcpXG5tYXJrZXIoJ3dmcy51bnJlYWNoYWJsZS51bmtub3duJylcbm1hcmtlcignd2ZzLmZlYXR1cmV0eXBlLm5vdGZvdW5kJylcbm1hcmtlcignd2ZzLmdlb2pzb25nbWwubm90c3VwcG9ydGVkJylcbm1hcmtlcignb2djLnVucmVhY2hhYmxlLnVua25vd24nKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLm5ldHdvcmsnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLmh0dHAnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnBhcnNlJylcbm1hcmtlcignZGF0YXNldC5lcnJvci51bnN1cHBvcnRlZFR5cGUnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnVua25vd24nKVxuXG5pbnRlcmZhY2UgV2ZzRG93bmxvYWRVcmxzIHtcbiAgYWxsOiB7IFtmb3JtYXQ6IHN0cmluZ106IHN0cmluZyB9XG4gIGdlb2pzb246IHN0cmluZ1xuICBnbWw6IHsgZmVhdHVyZVVybDogc3RyaW5nOyBuYW1lc3BhY2U6IHN0cmluZzsgd2ZzVmVyc2lvbjogV2ZzVmVyc2lvbiB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJveHk6IFByb3h5U2VydmljZSkge31cblxuICBnZXREb3dubG9hZFVybHNGcm9tV2ZzKFxuICAgIHdmc1VybDogc3RyaW5nLFxuICAgIGZlYXR1cmVUeXBlTmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8V2ZzRG93bmxvYWRVcmxzPiB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICBuZXcgV2ZzRW5kcG9pbnQodGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKHdmc1VybCkpLmlzUmVhZHkoKVxuICAgICkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBGZXRjaEVycm9yIHwgRXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS51bmtub3duYClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ25ldHdvcmsnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS5jb3JzYClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICdodHRwJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUuaHR0cGApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAncGFyc2UnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS5wYXJzZWApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAndW5zdXBwb3J0ZWRUeXBlJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUudW5zdXBwb3J0ZWRUeXBlYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUudW5rbm93bmApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIG1hcCgoZW5kcG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgZmVhdHVyZVR5cGVzID0gZW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVzKClcbiAgICAgICAgY29uc3QgZmVhdHVyZVR5cGUgPSBlbmRwb2ludC5nZXRGZWF0dXJlVHlwZVN1bW1hcnkoXG4gICAgICAgICAgZmVhdHVyZVR5cGVzLmxlbmd0aCA9PT0gMSAmJiAhZmVhdHVyZVR5cGVOYW1lXG4gICAgICAgICAgICA/IGZlYXR1cmVUeXBlc1swXS5uYW1lXG4gICAgICAgICAgICA6IGZlYXR1cmVUeXBlTmFtZVxuICAgICAgICApXG4gICAgICAgIGlmICghZmVhdHVyZVR5cGUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dmcy5mZWF0dXJldHlwZS5ub3Rmb3VuZCcpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBhbGw6IGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMucmVkdWNlKFxuICAgICAgICAgICAgKHByZXYsIGN1cnIpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtjdXJyXTogZW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0OiBjdXJyLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge31cbiAgICAgICAgICApLFxuICAgICAgICAgIGdlb2pzb246IGVuZHBvaW50LnN1cHBvcnRzSnNvbihmZWF0dXJlVHlwZS5uYW1lKVxuICAgICAgICAgICAgPyBlbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICAgICAgICBhc0pzb246IHRydWUsXG4gICAgICAgICAgICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICBnbWw6XG4gICAgICAgICAgICBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgICAgIGYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZ21sJylcbiAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgIChmZWF0dXJlVHlwZS5kZWZhdWx0Q3JzID09PSAnRVBTRzo0MzI2JyB8fFxuICAgICAgICAgICAgICBmZWF0dXJlVHlwZS5vdGhlckNycz8uaW5jbHVkZXMoJ0VQU0c6NDMyNicpKVxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVVcmw6IGVuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ6IGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMuZmluZCgoZikgPT5cbiAgICAgICAgICAgICAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZTogZmVhdHVyZVR5cGUubmFtZSxcbiAgICAgICAgICAgICAgICAgIHdmc1ZlcnNpb246IGVuZHBvaW50LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChhcGlVcmw6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3h5LmdldFByb3hpZWRVcmwoXG4gICAgICBgJHthcGlVcmx9L3F1ZXJ5P2Y9JHtmb3JtYXR9JndoZXJlPTE9MSZvdXRGaWVsZHM9KmBcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZExpbmtzRnJvbVdmcyhcbiAgICB3ZnNMaW5rOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICApOiBPYnNlcnZhYmxlPERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdPiB7XG4gICAgLy8gUG91ciBETCB0b3V0ZXMgbGVzIGRvbm7DqWVzXG4gICAgcmV0dXJuIHRoaXMuZ2V0RG93bmxvYWRVcmxzRnJvbVdmcyhcbiAgICAgIHdmc0xpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICB3ZnNMaW5rLm5hbWVcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKHVybHMpID0+IHVybHMuYWxsKSxcbiAgICAgIG1hcCgodXJscykgPT5cbiAgICAgICAgT2JqZWN0LmtleXModXJscykubWFwKChmb3JtYXQpID0+ICh7XG4gICAgICAgICAgLi4ud2ZzTGluayxcbiAgICAgICAgICB0eXBlOiAnZG93bmxvYWQnLFxuICAgICAgICAgIHVybDogbmV3IFVSTCh1cmxzW2Zvcm1hdF0pLFxuICAgICAgICAgIG1pbWVUeXBlOiBnZXRNaW1lVHlwZUZvckZvcm1hdChcbiAgICAgICAgICAgIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChmb3JtYXQpXG4gICAgICAgICAgKSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgYXN5bmMgZ2V0RG93bmxvYWRMaW5rc0Zyb21PZ2NBcGlGZWF0dXJlcyhcbiAgICBvZ2NBcGlMaW5rOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICApOiBQcm9taXNlPERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdPiB7XG4gICAgY29uc3QgY29sbGVjdGlvbkluZm8gPSBhd2FpdCB0aGlzLmdldERvd25sb2FkVXJsc0Zyb21PZ2NBcGkoXG4gICAgICBvZ2NBcGlMaW5rLnVybC5ocmVmXG4gICAgKVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhjb2xsZWN0aW9uSW5mby5idWxrRG93bmxvYWRMaW5rcykubWFwKChkb3dubG9hZExpbmspID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9nY0FwaUxpbmssXG4gICAgICAgIHR5cGU6ICdkb3dubG9hZCcsXG4gICAgICAgIHVybDogbmV3IFVSTChjb2xsZWN0aW9uSW5mby5idWxrRG93bmxvYWRMaW5rc1tkb3dubG9hZExpbmtdKSxcbiAgICAgICAgbWltZVR5cGU6IGdldE1pbWVUeXBlRm9yRm9ybWF0KFxuICAgICAgICAgIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChkb3dubG9hZExpbmspXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldERvd25sb2FkVXJsc0Zyb21PZ2NBcGkodXJsOiBzdHJpbmcpOiBQcm9taXNlPE9nY0FwaUNvbGxlY3Rpb25JbmZvPiB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKHVybCkpXG4gICAgcmV0dXJuIGF3YWl0IGVuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICAudGhlbigoY29sbGVjdGlvbnMpID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZHBvaW50LmdldENvbGxlY3Rpb25JbmZvKGNvbGxlY3Rpb25zWzBdLm5hbWUpXG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYG9nYy51bnJlYWNoYWJsZS51bmtub3duYClcbiAgICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRJdGVtc0Zyb21PZ2NBcGkodXJsOiBzdHJpbmcpOiBQcm9taXNlPE9nY0FwaVJlY29yZD4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gbmV3IE9nY0FwaUVuZHBvaW50KHRoaXMucHJveHkuZ2V0UHJveGllZFVybCh1cmwpKVxuICAgIHJldHVybiBhd2FpdCBlbmRwb2ludC5mZWF0dXJlQ29sbGVjdGlvbnNcbiAgICAgIC50aGVuKChjb2xsZWN0aW9ucykgPT4ge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbnMubGVuZ3RoXG4gICAgICAgICAgPyBlbmRwb2ludC5nZXRDb2xsZWN0aW9uSXRlbShjb2xsZWN0aW9uc1swXSwgJzEnKVxuICAgICAgICAgIDogbnVsbFxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBvZ2MudW5yZWFjaGFibGUudW5rbm93bmApXG4gICAgICB9KVxuICB9XG5cbiAgZ2V0RG93bmxvYWRMaW5rc0Zyb21Fc3JpUmVzdChcbiAgICBlc3JpUmVzdExpbms6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gICk6IERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gWydqc29uJywgJ2dlb2pzb24nXS5tYXAoKGZvcm1hdCkgPT4gKHtcbiAgICAgIC4uLmVzcmlSZXN0TGluayxcbiAgICAgIHVybDogbmV3IFVSTChcbiAgICAgICAgdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChlc3JpUmVzdExpbmsudXJsLnRvU3RyaW5nKCksIGZvcm1hdClcbiAgICAgICksXG4gICAgICBtaW1lVHlwZTogZ2V0TWltZVR5cGVGb3JGb3JtYXQoZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KGZvcm1hdCkpLFxuICAgIH0pKVxuICB9XG5cbiAgcmVhZEFzR2VvSnNvbihsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPEZlYXR1cmVDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YXNldChsaW5rKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChkYXRhc2V0KSA9PiBkYXRhc2V0LnNlbGVjdEFsbCgpLnJlYWQoKSksXG4gICAgICBtYXAoKGZlYXR1cmVzKSA9PiAoe1xuICAgICAgICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICAgICAgICBmZWF0dXJlcyxcbiAgICAgIH0pKVxuICAgIClcbiAgfVxuXG4gIGdldERhdGFzZXQobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogT2JzZXJ2YWJsZTxCYXNlUmVhZGVyPiB7XG4gICAgaWYgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RG93bmxvYWRVcmxzRnJvbVdmcyhsaW5rLnVybC50b1N0cmluZygpLCBsaW5rLm5hbWUpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJscykgPT4ge1xuICAgICAgICAgIGlmICh1cmxzLmdlb2pzb24pIHJldHVybiBvcGVuRGF0YXNldCh1cmxzLmdlb2pzb24sICdnZW9qc29uJylcbiAgICAgICAgICBpZiAodXJscy5nbWwpXG4gICAgICAgICAgICByZXR1cm4gb3BlbkRhdGFzZXQodXJscy5nbWwuZmVhdHVyZVVybCwgJ2dtbCcsIHtcbiAgICAgICAgICAgICAgbmFtZXNwYWNlOiB1cmxzLmdtbC5uYW1lc3BhY2UsXG4gICAgICAgICAgICAgIHdmc1ZlcnNpb246IHVybHMuZ21sLndmc1ZlcnNpb24sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHVybCkgPT4ge1xuICAgICAgICAgIGlmICh1cmwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmdlb2pzb25nbWwubm90c3VwcG9ydGVkJylcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSBlbHNlIGlmIChsaW5rLnR5cGUgPT09ICdkb3dubG9hZCcpIHtcbiAgICAgIGNvbnN0IGxpbmtQcm94aWZpZWRVcmwgPSB0aGlzLnByb3h5LmdldFByb3hpZWRVcmwobGluay51cmwudG9TdHJpbmcoKSlcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgICAgIGNvbnN0IHN1cHBvcnRlZFR5cGUgPVxuICAgICAgICBTdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZvcm1hdCBhcyBhbnkpID4gLTFcbiAgICAgICAgICA/IChmb3JtYXQgYXMgU3VwcG9ydGVkVHlwZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmV0dXJuIGZyb20ob3BlbkRhdGFzZXQobGlua1Byb3hpZmllZFVybCwgc3VwcG9ydGVkVHlwZSkpLnBpcGUoKVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCdcbiAgICApIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0RG93bmxvYWRVcmxGcm9tRXNyaVJlc3QoXG4gICAgICAgIGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgICdnZW9qc29uJ1xuICAgICAgKVxuICAgICAgcmV0dXJuIGZyb20ob3BlbkRhdGFzZXQodXJsLCAnZ2VvanNvbicpKS5waXBlKClcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gZnJvbSh0aGlzLmdldERvd25sb2FkVXJsc0Zyb21PZ2NBcGkobGluay51cmwuaHJlZikpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoY29sbGVjdGlvbkluZm8pID0+IHtcbiAgICAgICAgICBjb25zdCBnZW9qc29uVXJsID0gY29sbGVjdGlvbkluZm8uanNvbkRvd25sb2FkTGlua1xuICAgICAgICAgIHJldHVybiBvcGVuRGF0YXNldChnZW9qc29uVXJsLCAnZ2VvanNvbicpXG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHVybCkgPT4ge1xuICAgICAgICAgIGlmICh1cmwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmdlb2pzb25nbWwubm90c3VwcG9ydGVkJylcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxufVxuIl19
203
+ }], ctorParameters: () => [{ type: i1.ProxyService }] });
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9zZXJ2aWNlL2RhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBRUwsY0FBYyxFQUVkLFdBQVcsR0FFWixNQUFNLHdCQUF3QixDQUFBO0FBQy9CLE9BQU8sRUFHTCxXQUFXLEVBRVgsY0FBYyxHQUNmLE1BQU0sOENBQThDLENBQUE7QUFDckQsT0FBTyxFQUNMLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLFlBQVksR0FDYixNQUFNLHdDQUF3QyxDQUFBO0FBRS9DLE9BQU8sRUFBRSxJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTWhFLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBQzlCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBQzlCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0FBQ2pDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBQ2xDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0FBQ3JDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0FBQ2pDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0FBQzVCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBQzdCLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLE1B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QUFDLFFBQVEsRUFBRSxFQUNuQixTQUFTLENBQ1YsQ0FBQTtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNqRCxDQUFDO2FBQU0sSUFDTCxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDdkIsSUFBSSxDQUFDLHFCQUFxQixLQUFLLGFBQWEsRUFDNUMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM3RCxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFBO2dCQUNsRCxPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDM0MsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtnQkFDaEQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUNuRCxDQUFDOytHQXJQVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgT2djQXBpQ29sbGVjdGlvbkluZm8sXG4gIE9nY0FwaUVuZHBvaW50LFxuICBPZ2NBcGlSZWNvcmQsXG4gIFdmc0VuZHBvaW50LFxuICBXZnNWZXJzaW9uLFxufSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHtcbiAgQmFzZVJlYWRlcixcbiAgRmV0Y2hFcnJvcixcbiAgb3BlbkRhdGFzZXQsXG4gIFN1cHBvcnRlZFR5cGUsXG4gIFN1cHBvcnRlZFR5cGVzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7XG4gIGdldEZpbGVGb3JtYXQsXG4gIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dCxcbiAgZ2V0TWltZVR5cGVGb3JGb3JtYXQsXG4gIFByb3h5U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5tYXJrZXIoJ3dmcy51bnJlYWNoYWJsZS5jb3JzJylcbm1hcmtlcignd2ZzLnVucmVhY2hhYmxlLmh0dHAnKVxubWFya2VyKCd3ZnMudW5yZWFjaGFibGUudW5rbm93bicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJldHlwZS5ub3Rmb3VuZCcpXG5tYXJrZXIoJ3dmcy5nZW9qc29uZ21sLm5vdHN1cHBvcnRlZCcpXG5tYXJrZXIoJ29nYy51bnJlYWNoYWJsZS51bmtub3duJylcbm1hcmtlcignZGF0YXNldC5lcnJvci5uZXR3b3JrJylcbm1hcmtlcignZGF0YXNldC5lcnJvci5odHRwJylcbm1hcmtlcignZGF0YXNldC5lcnJvci5wYXJzZScpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IudW5zdXBwb3J0ZWRUeXBlJylcbm1hcmtlcignZGF0YXNldC5lcnJvci51bmtub3duJylcblxuaW50ZXJmYWNlIFdmc0Rvd25sb2FkVXJscyB7XG4gIGFsbDogeyBbZm9ybWF0OiBzdHJpbmddOiBzdHJpbmcgfVxuICBnZW9qc29uOiBzdHJpbmdcbiAgZ21sOiB7IGZlYXR1cmVVcmw6IHN0cmluZzsgbmFtZXNwYWNlOiBzdHJpbmc7IHdmc1ZlcnNpb246IFdmc1ZlcnNpb24gfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3h5OiBQcm94eVNlcnZpY2UpIHt9XG5cbiAgZ2V0V2ZzRW5kcG9pbnQod2ZzVXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdmc0VuZHBvaW50PiB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICBuZXcgV2ZzRW5kcG9pbnQodGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKHdmc1VybCkpLmlzUmVhZHkoKVxuICAgICkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBGZXRjaEVycm9yIHwgRXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS51bmtub3duYClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ25ldHdvcmsnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS5jb3JzYClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICdodHRwJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUuaHR0cGApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAncGFyc2UnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS5wYXJzZWApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAndW5zdXBwb3J0ZWRUeXBlJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUudW5zdXBwb3J0ZWRUeXBlYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUudW5rbm93bmApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldERvd25sb2FkVXJsc0Zyb21XZnMoXG4gICAgd2ZzVXJsOiBzdHJpbmcsXG4gICAgZmVhdHVyZVR5cGVOYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxXZnNEb3dubG9hZFVybHM+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXZnNFbmRwb2ludCh3ZnNVcmwpLnBpcGUoXG4gICAgICBtYXAoKGVuZHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGVuZHBvaW50LmdldEZlYXR1cmVUeXBlcygpXG4gICAgICAgIGNvbnN0IGZlYXR1cmVUeXBlID0gZW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVTdW1tYXJ5KFxuICAgICAgICAgIGZlYXR1cmVUeXBlcy5sZW5ndGggPT09IDEgJiYgIWZlYXR1cmVUeXBlTmFtZVxuICAgICAgICAgICAgPyBmZWF0dXJlVHlwZXNbMF0ubmFtZVxuICAgICAgICAgICAgOiBmZWF0dXJlVHlwZU5hbWVcbiAgICAgICAgKVxuICAgICAgICBpZiAoIWZlYXR1cmVUeXBlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZmVhdHVyZXR5cGUubm90Zm91bmQnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYWxsOiBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLnJlZHVjZShcbiAgICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbY3Vycl06IGVuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdDogY3VycixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9XG4gICAgICAgICAgKSxcbiAgICAgICAgICBnZW9qc29uOiBlbmRwb2ludC5zdXBwb3J0c0pzb24oZmVhdHVyZVR5cGUubmFtZSlcbiAgICAgICAgICAgID8gZW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgICAgICAgYXNKc29uOiB0cnVlLFxuICAgICAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgZ21sOlxuICAgICAgICAgICAgZmVhdHVyZVR5cGUub3V0cHV0Rm9ybWF0cy5maW5kKChmKSA9PlxuICAgICAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICAgICApICYmXG4gICAgICAgICAgICAoZmVhdHVyZVR5cGUuZGVmYXVsdENycyA9PT0gJ0VQU0c6NDMyNicgfHxcbiAgICAgICAgICAgICAgZmVhdHVyZVR5cGUub3RoZXJDcnM/LmluY2x1ZGVzKCdFUFNHOjQzMjYnKSlcbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBmZWF0dXJlVXJsOiBlbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0OiBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgICAgICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXRDcnM6ICdFUFNHOjQzMjYnLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6IGZlYXR1cmVUeXBlLm5hbWUsXG4gICAgICAgICAgICAgICAgICB3ZnNWZXJzaW9uOiBlbmRwb2ludC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0V2ZzRmVhdHVyZUNvdW50KFxuICAgIHdmc1VybDogc3RyaW5nLFxuICAgIGZlYXR1cmVUeXBlTmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0V2ZzRW5kcG9pbnQod2ZzVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChlbmRwb2ludCkgPT5cbiAgICAgICAgZnJvbShlbmRwb2ludC5nZXRGZWF0dXJlVHlwZUZ1bGwoZmVhdHVyZVR5cGVOYW1lKSkucGlwZShcbiAgICAgICAgICBtYXAoKGZlYXR1cmVUeXBlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWZlYXR1cmVUeXBlKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmZlYXR1cmV0eXBlLm5vdGZvdW5kJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlVHlwZS5vYmplY3RDb3VudFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChhcGlVcmw6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3h5LmdldFByb3hpZWRVcmwoXG4gICAgICBgJHthcGlVcmx9L3F1ZXJ5P2Y9JHtmb3JtYXR9JndoZXJlPTE9MSZvdXRGaWVsZHM9KmBcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZExpbmtzRnJvbVdmcyhcbiAgICB3ZnNMaW5rOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICApOiBPYnNlcnZhYmxlPERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdPiB7XG4gICAgLy8gUG91ciBETCB0b3V0ZXMgbGVzIGRvbm7DqWVzXG4gICAgcmV0dXJuIHRoaXMuZ2V0RG93bmxvYWRVcmxzRnJvbVdmcyhcbiAgICAgIHdmc0xpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICB3ZnNMaW5rLm5hbWVcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKHVybHMpID0+IHVybHMuYWxsKSxcbiAgICAgIG1hcCgodXJscykgPT5cbiAgICAgICAgT2JqZWN0LmtleXModXJscykubWFwKChmb3JtYXQpID0+ICh7XG4gICAgICAgICAgLi4ud2ZzTGluayxcbiAgICAgICAgICB0eXBlOiAnZG93bmxvYWQnLFxuICAgICAgICAgIHVybDogbmV3IFVSTCh1cmxzW2Zvcm1hdF0pLFxuICAgICAgICAgIG1pbWVUeXBlOiBnZXRNaW1lVHlwZUZvckZvcm1hdChcbiAgICAgICAgICAgIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChmb3JtYXQpXG4gICAgICAgICAgKSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgYXN5bmMgZ2V0RG93bmxvYWRMaW5rc0Zyb21PZ2NBcGlGZWF0dXJlcyhcbiAgICBvZ2NBcGlMaW5rOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICApOiBQcm9taXNlPERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdPiB7XG4gICAgY29uc3QgY29sbGVjdGlvbkluZm8gPSBhd2FpdCB0aGlzLmdldERvd25sb2FkVXJsc0Zyb21PZ2NBcGkoXG4gICAgICBvZ2NBcGlMaW5rLnVybC5ocmVmXG4gICAgKVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhjb2xsZWN0aW9uSW5mby5idWxrRG93bmxvYWRMaW5rcykubWFwKChkb3dubG9hZExpbmspID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9nY0FwaUxpbmssXG4gICAgICAgIHR5cGU6ICdkb3dubG9hZCcsXG4gICAgICAgIHVybDogbmV3IFVSTChjb2xsZWN0aW9uSW5mby5idWxrRG93bmxvYWRMaW5rc1tkb3dubG9hZExpbmtdKSxcbiAgICAgICAgbWltZVR5cGU6IGdldE1pbWVUeXBlRm9yRm9ybWF0KFxuICAgICAgICAgIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChkb3dubG9hZExpbmspXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldERvd25sb2FkVXJsc0Zyb21PZ2NBcGkodXJsOiBzdHJpbmcpOiBQcm9taXNlPE9nY0FwaUNvbGxlY3Rpb25JbmZvPiB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBuZXcgT2djQXBpRW5kcG9pbnQodXJsKVxuICAgIHJldHVybiBhd2FpdCBlbmRwb2ludC5hbGxDb2xsZWN0aW9uc1xuICAgICAgLnRoZW4oKGNvbGxlY3Rpb25zKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmRwb2ludC5nZXRDb2xsZWN0aW9uSW5mbyhjb2xsZWN0aW9uc1swXS5uYW1lKVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBvZ2MudW5yZWFjaGFibGUudW5rbm93bmApXG4gICAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0SXRlbXNGcm9tT2djQXBpKHVybDogc3RyaW5nKTogUHJvbWlzZTxPZ2NBcGlSZWNvcmQ+IHtcbiAgICBjb25zdCBlbmRwb2ludCA9IG5ldyBPZ2NBcGlFbmRwb2ludCh1cmwpXG4gICAgcmV0dXJuIGF3YWl0IGVuZHBvaW50LmZlYXR1cmVDb2xsZWN0aW9uc1xuICAgICAgLnRoZW4oKGNvbGxlY3Rpb25zKSA9PiB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9ucy5sZW5ndGhcbiAgICAgICAgICA/IGVuZHBvaW50LmdldENvbGxlY3Rpb25JdGVtKGNvbGxlY3Rpb25zWzBdLCAnMScpXG4gICAgICAgICAgOiBudWxsXG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYG9nYy51bnJlYWNoYWJsZS51bmtub3duYClcbiAgICAgIH0pXG4gIH1cblxuICBnZXREb3dubG9hZExpbmtzRnJvbUVzcmlSZXN0KFxuICAgIGVzcmlSZXN0TGluazogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgKTogRGF0YXNldE9ubGluZVJlc291cmNlW10ge1xuICAgIHJldHVybiBbJ2pzb24nLCAnZ2VvanNvbiddLm1hcCgoZm9ybWF0KSA9PiAoe1xuICAgICAgLi4uZXNyaVJlc3RMaW5rLFxuICAgICAgdXJsOiBuZXcgVVJMKFxuICAgICAgICB0aGlzLmdldERvd25sb2FkVXJsRnJvbUVzcmlSZXN0KGVzcmlSZXN0TGluay51cmwudG9TdHJpbmcoKSwgZm9ybWF0KVxuICAgICAgKSxcbiAgICAgIG1pbWVUeXBlOiBnZXRNaW1lVHlwZUZvckZvcm1hdChnZXRGaWxlRm9ybWF0RnJvbVNlcnZpY2VPdXRwdXQoZm9ybWF0KSksXG4gICAgfSkpXG4gIH1cblxuICByZWFkQXNHZW9Kc29uKGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSk6IE9ic2VydmFibGU8RmVhdHVyZUNvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRhc2V0KGxpbmspLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGRhdGFzZXQpID0+IGRhdGFzZXQuc2VsZWN0QWxsKCkucmVhZCgpKSxcbiAgICAgIG1hcCgoZmVhdHVyZXMpID0+ICh7XG4gICAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICAgIGZlYXR1cmVzLFxuICAgICAgfSkpXG4gICAgKVxuICB9XG5cbiAgZ2V0RGF0YXNldChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPEJhc2VSZWFkZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREb3dubG9hZFVybHNGcm9tV2ZzKGxpbmsudXJsLnRvU3RyaW5nKCksIGxpbmsubmFtZSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmxzKSA9PiB7XG4gICAgICAgICAgaWYgKHVybHMuZ2VvanNvbikgcmV0dXJuIG9wZW5EYXRhc2V0KHVybHMuZ2VvanNvbiwgJ2dlb2pzb24nKVxuICAgICAgICAgIGlmICh1cmxzLmdtbClcbiAgICAgICAgICAgIHJldHVybiBvcGVuRGF0YXNldCh1cmxzLmdtbC5mZWF0dXJlVXJsLCAnZ21sJywge1xuICAgICAgICAgICAgICBuYW1lc3BhY2U6IHVybHMuZ21sLm5hbWVzcGFjZSxcbiAgICAgICAgICAgICAgd2ZzVmVyc2lvbjogdXJscy5nbWwud2ZzVmVyc2lvbixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgodXJsKSA9PiB7XG4gICAgICAgICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJykge1xuICAgICAgY29uc3QgbGlua1Byb3hpZmllZFVybCA9IHRoaXMucHJveHkuZ2V0UHJveGllZFVybChsaW5rLnVybC50b1N0cmluZygpKVxuICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICAgICAgY29uc3Qgc3VwcG9ydGVkVHlwZSA9XG4gICAgICAgIFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZm9ybWF0IGFzIGFueSkgPiAtMVxuICAgICAgICAgID8gKGZvcm1hdCBhcyBTdXBwb3J0ZWRUeXBlKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldChsaW5rUHJveGlmaWVkVXJsLCBzdXBwb3J0ZWRUeXBlKSkucGlwZSgpXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0J1xuICAgICkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChcbiAgICAgICAgbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgJ2dlb2pzb24nXG4gICAgICApXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldCh1cmwsICdnZW9qc29uJykpLnBpcGUoKVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcydcbiAgICApIHtcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuZ2V0RG93bmxvYWRVcmxzRnJvbU9nY0FwaShsaW5rLnVybC5ocmVmKSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChjb2xsZWN0aW9uSW5mbykgPT4ge1xuICAgICAgICAgIGNvbnN0IGdlb2pzb25VcmwgPSBjb2xsZWN0aW9uSW5mby5qc29uRG93bmxvYWRMaW5rXG4gICAgICAgICAgcmV0dXJuIG9wZW5EYXRhc2V0KGdlb2pzb25VcmwsICdnZW9qc29uJylcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgodXJsKSA9PiB7XG4gICAgICAgICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG59XG4iXX0=