geonetwork-ui 2.5.0 → 2.6.0-dev.025a2f85d

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 (278) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -3
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  5. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
  6. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +18 -11
  7. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  8. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  9. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -3
  10. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  11. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -1
  12. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -3
  13. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  14. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  16. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
  17. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +2 -4
  18. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  19. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  20. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  21. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +45 -14
  22. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  23. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  24. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
  25. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  26. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  27. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  28. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  29. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  30. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -15
  31. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  32. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  33. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  34. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  35. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  36. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  37. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  38. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  39. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  40. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  41. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  42. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  43. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  44. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  45. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  46. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
  47. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  48. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  49. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  50. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  51. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  52. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  53. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +14 -3
  54. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +5 -1
  55. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
  56. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  57. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  58. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +6 -2
  59. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +4 -1
  60. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +30 -2
  61. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  62. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  63. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
  64. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -24
  65. package/esm2022/translations/de.json +34 -3
  66. package/esm2022/translations/en.json +35 -4
  67. package/esm2022/translations/es.json +34 -3
  68. package/esm2022/translations/fr.json +36 -5
  69. package/esm2022/translations/it.json +34 -4
  70. package/esm2022/translations/nl.json +34 -3
  71. package/esm2022/translations/pt.json +34 -3
  72. package/fesm2022/geonetwork-ui.mjs +1367 -531
  73. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  74. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  75. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  76. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  77. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  78. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  79. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  80. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +23 -4
  81. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  82. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  83. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  84. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -2
  85. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  86. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  87. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  88. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  89. 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
  90. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  91. package/libs/feature/record/src/index.d.ts +0 -1
  92. package/libs/feature/record/src/index.d.ts.map +1 -1
  93. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  94. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  95. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  96. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  97. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  98. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  99. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -2
  100. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  102. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  103. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  104. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  105. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  106. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  107. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  108. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  109. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  110. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  111. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  112. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  113. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  114. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  116. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  117. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  118. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  119. package/libs/ui/elements/src/index.d.ts +2 -0
  120. package/libs/ui/elements/src/index.d.ts.map +1 -1
  121. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  122. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  124. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  125. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  126. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  127. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  128. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  129. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  130. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  131. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  132. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  133. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  134. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +3 -1
  135. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  136. package/libs/ui/inputs/src/index.d.ts +0 -1
  137. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  138. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  139. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  140. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  141. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  142. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  143. package/libs/ui/map/src/index.d.ts +1 -0
  144. package/libs/ui/map/src/index.d.ts.map +1 -1
  145. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +4 -2
  146. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
  147. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -1
  148. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  149. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  150. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  151. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  152. package/libs/util/data-fetcher/src/lib/model.d.ts +3 -2
  153. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  154. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +1 -0
  155. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  156. package/libs/util/shared/src/index.d.ts +1 -0
  157. package/libs/util/shared/src/index.d.ts.map +1 -1
  158. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  159. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  160. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  161. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  162. package/libs/util/shared/src/lib/links/link-utils.d.ts +30 -23
  163. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  164. package/package.json +1 -1
  165. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  166. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  167. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  168. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  169. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  170. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -2
  171. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  172. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  173. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  174. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -12
  175. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  176. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +22 -3
  177. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
  178. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
  179. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  180. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +18 -2
  181. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -0
  182. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -0
  183. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +1 -0
  184. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +10 -8
  185. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -0
  186. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  187. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  188. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  189. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  190. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -3
  191. package/src/libs/feature/record/src/index.ts +0 -1
  192. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  193. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  194. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
  195. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +41 -7
  196. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  197. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  198. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
  199. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  200. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  201. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  202. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  203. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  204. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  205. package/src/libs/feature/search/src/lib/feature-search.module.ts +0 -8
  206. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  207. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  208. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  209. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  210. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  211. package/src/libs/ui/elements/src/index.ts +2 -0
  212. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  213. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  214. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +17 -17
  215. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  216. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +7 -6
  217. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  218. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  219. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +27 -29
  220. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +33 -3
  221. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +1 -1
  222. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  223. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  224. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +13 -4
  225. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  226. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +4 -2
  227. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  228. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  229. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  230. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  231. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -0
  232. package/src/libs/ui/inputs/src/index.ts +0 -1
  233. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +5 -5
  234. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  235. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  236. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -4
  237. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  238. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  239. package/src/libs/ui/map/src/index.ts +1 -0
  240. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +14 -0
  241. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +3 -0
  242. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  243. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  244. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +7 -8
  245. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  246. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  247. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -2
  248. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +3 -1
  249. package/src/libs/util/data-fetcher/src/lib/model.ts +11 -1
  250. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +29 -3
  251. package/src/libs/util/shared/src/index.ts +1 -0
  252. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  253. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
  254. package/src/libs/util/shared/src/lib/links/link-utils.ts +50 -30
  255. package/tailwind.base.css +51 -13
  256. package/translations/de.json +34 -3
  257. package/translations/en.json +35 -4
  258. package/translations/es.json +34 -3
  259. package/translations/fr.json +36 -5
  260. package/translations/it.json +34 -4
  261. package/translations/nl.json +34 -3
  262. package/translations/pt.json +34 -3
  263. package/translations/sk.json +34 -3
  264. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  265. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  266. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  267. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  268. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  269. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  270. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  271. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  272. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  273. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  274. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  275. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  276. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  277. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  278. /package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css → ui/elements/src/lib/internal-link-card/internal-link-card.component.css} +0 -0
@@ -11,18 +11,20 @@ import { NgIconComponent, provideIcons } from '@ng-icons/core';
11
11
  import { matClose } from '@ng-icons/material-icons/baseline';
12
12
  import { CommonModule } from '@angular/common';
13
13
  import { ButtonComponent, DropdownSelectorComponent, } from '../../../../../../libs/ui/inputs/src';
14
- import { TranslateModule } from '@ngx-translate/core';
14
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
15
15
  import { ExternalViewerButtonComponent } from '../external-viewer-button/external-viewer-button.component';
16
16
  import { LoadingMaskComponent, PopupAlertComponent, } from '../../../../../../libs/ui/widgets/src';
17
17
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
18
+ import { FetchError } from '../../../../../../libs/util/data-fetcher/src';
18
19
  import * as i0 from "@angular/core";
19
20
  import * as i1 from "../state/mdview.facade";
20
21
  import * as i2 from "../../../../../../libs/feature/map/src";
21
22
  import * as i3 from "../../../../../../libs/feature/dataviz/src";
22
- import * as i4 from "@angular/common";
23
- import * as i5 from "@ngx-translate/core";
23
+ import * as i4 from "@ngx-translate/core";
24
+ import * as i5 from "@angular/common";
24
25
  marker('map.dropdown.placeholder');
25
26
  marker('wfs.feature.limit');
27
+ marker('dataset.error.restrictedAccess');
26
28
  export class MapViewComponent {
27
29
  set exceedsLimit(value) {
28
30
  this.excludeWfs$.next(value);
@@ -32,15 +34,13 @@ export class MapViewComponent {
32
34
  }
33
35
  onLegendStatusChange(status) {
34
36
  this.legendExists = status;
35
- if (!status) {
36
- this.showLegend = false;
37
- }
38
37
  }
39
- constructor(mdViewFacade, mapUtils, dataService, changeRef) {
38
+ constructor(mdViewFacade, mapUtils, dataService, changeRef, translateService) {
40
39
  this.mdViewFacade = mdViewFacade;
41
40
  this.mapUtils = mapUtils;
42
41
  this.dataService = dataService;
43
42
  this.changeRef = changeRef;
43
+ this.translateService = translateService;
44
44
  this.displaySource = true;
45
45
  this.excludeWfs$ = new BehaviorSubject(false);
46
46
  this.hidePreview = false;
@@ -76,9 +76,12 @@ export class MapViewComponent {
76
76
  this.hidePreview = false;
77
77
  this.loading = true;
78
78
  this.error = null;
79
+ if (link.accessRestricted) {
80
+ this.handleError('dataset.error.restrictedAccess');
81
+ return of([]);
82
+ }
79
83
  return this.getLayerFromLink(link).pipe(map((layer) => [layer]), catchError((e) => {
80
- this.error = e.message;
81
- console.warn(e.stack || e.message);
84
+ this.handleError(e);
82
85
  return of([]);
83
86
  }), finalize(() => (this.loading = false)));
84
87
  }));
@@ -115,6 +118,16 @@ export class MapViewComponent {
115
118
  }
116
119
  this.changeRef.detectChanges();
117
120
  }
121
+ onSourceLoadError(error) {
122
+ if (error.httpStatus === 403 || error.httpStatus === 401) {
123
+ this.error = this.translateService.instant(`dataset.error.forbidden`);
124
+ }
125
+ else {
126
+ this.error = this.translateService.instant(`dataset.error.http`, {
127
+ info: error.httpStatus,
128
+ });
129
+ }
130
+ }
118
131
  resetSelection() {
119
132
  if (this.selection) {
120
133
  // FIXME: restore styling of selected feature
@@ -154,8 +167,26 @@ export class MapViewComponent {
154
167
  selectLinkToDisplay(link) {
155
168
  this.selectedLinkIndex$.next(link);
156
169
  }
157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { exceedsLimit: "exceedsLimit", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.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: "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"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
170
+ handleError(error) {
171
+ if (error instanceof FetchError) {
172
+ this.error = this.translateService.instant(`dataset.error.${error.type}`, {
173
+ info: error.info,
174
+ });
175
+ console.warn(error.message);
176
+ }
177
+ else if (error instanceof Error) {
178
+ this.error = this.translateService.instant(error.message);
179
+ console.warn(error.stack || error);
180
+ }
181
+ else {
182
+ this.error = this.translateService.instant(error);
183
+ console.warn(error);
184
+ }
185
+ this.loading = false;
186
+ this.changeRef.detectChanges();
187
+ }
188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i0.ChangeDetectorRef }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { exceedsLimit: "exceedsLimit", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n (sourceLoadError)=\"onSourceLoadError($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.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: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick", "sourceLoadError"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
190
  }
160
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
161
192
  type: Component,
@@ -171,8 +202,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
171
202
  ExternalViewerButtonComponent,
172
203
  ButtonComponent,
173
204
  MapLegendComponent,
174
- ], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
175
- }], ctorParameters: () => [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { exceedsLimit: [{
205
+ ], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n (sourceLoadError)=\"onSourceLoadError($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
206
+ }], ctorParameters: () => [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }, { type: i4.TranslateService }], propDecorators: { exceedsLimit: [{
176
207
  type: Input
177
208
  }], displaySource: [{
178
209
  type: Input
@@ -180,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
180
211
  type: ViewChild,
181
212
  args: ['mapContainer']
182
213
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBR3BCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1B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b0JBQW9CLG9GQUNwQixlQUFlLDZHQUNmLDZCQUE2QiwyRkFDN0IsZUFBZSwrSEFDZixrQkFBa0Isd0dBRUwsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDOzs0RkFFaEMsZ0JBQWdCO2tCQXJCNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzt5S0FHOUIsWUFBWTtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHRocm93RXJyb3IsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9tZHZpZXcuZmFjYWRlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBjcmVhdGVWaWV3RnJvbUxheWVyLFxuICBNYXBDb250ZXh0LFxuICBNYXBDb250ZXh0TGF5ZXIsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICBwcmlvcml0aXplUGFnZVNjcm9sbCxcbiAgTWFwTGVnZW5kQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDbG9zZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuXG5tYXJrZXIoJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJlLmxpbWl0JylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXBMZWdlbmRDb21wb25lbnQsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXRDbG9zZSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2V0IGV4Y2VlZHNMaW1pdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZXhjbHVkZVdmcyQubmV4dCh2YWx1ZSlcbiAgfVxuICBASW5wdXQoKSBkaXNwbGF5U291cmNlID0gdHJ1ZVxuICBAVmlld0NoaWxkKCdtYXBDb250YWluZXInKSBtYXBDb250YWluZXI6IE1hcENvbnRhaW5lckNvbXBvbmVudFxuXG4gIGV4Y2x1ZGVXZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbiAgaGlkZVByZXZpZXcgPSBmYWxzZVxuICBzZWxlY3Rpb246IEZlYXR1cmVcbiAgc2hvd0xlZ2VuZCA9IHRydWVcbiAgbGVnZW5kRXhpc3RzID0gZmFsc2VcblxuICB0b2dnbGVMZWdlbmQoKSB7XG4gICAgdGhpcy5zaG93TGVnZW5kID0gIXRoaXMuc2hvd0xlZ2VuZFxuICB9XG5cbiAgb25MZWdlbmRTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgdGhpcy5sZWdlbmRFeGlzdHMgPSBzdGF0dXNcbiAgICBpZiAoIXN0YXR1cykge1xuICAgICAgdGhpcy5zaG93TGVnZW5kID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb21wYXRpYmxlTWFwTGlua3MkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUubWFwQXBpTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbbWFwQXBpTGlua3MsIGdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV0pID0+IHtcbiAgICAgIHJldHVybiBbLi4ubWFwQXBpTGlua3MsIC4uLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV1cbiAgICB9KVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicsIHZhbHVlOiAwIH1dXG4gICAgKVxuICApXG4gIHNlbGVjdGVkTGlua0luZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMClcblxuICBsb2FkaW5nID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG5cbiAgc2VsZWN0ZWRMaW5rJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJCxcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICBdKS5waXBlKG1hcCgoW2xpbmtzLCBpbmRleF0pID0+IGxpbmtzW2luZGV4XSkpXG5cbiAgY3VycmVudExheWVycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdGVkTGluayQsIHRoaXMuZXhjbHVkZVdmcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpbmssIGV4Y2x1ZGVXZnNdKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgaWYgKGV4Y2x1ZGVXZnMgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSB0cnVlXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSBmYWxzZVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbShjcmVhdGVWaWV3RnJvbUxheWVyKGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLCAvLyBjb3VsZCBub3Qgem9vbSBvbiB0aGUgbGF5ZXI6IHVzZSB0aGUgcmVjb3JkIGV4dGVudFxuICAgICAgICBtYXAoKHZpZXcpID0+ICh7XG4gICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgIHZpZXcsXG4gICAgICAgIH0pKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHN0YXJ0V2l0aCh7XG4gICAgICBsYXllcnM6IFtdLFxuICAgICAgdmlldzogbnVsbCxcbiAgICB9KSxcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLm1kVmlld0ZhY2FkZS5tZXRhZGF0YSQpLFxuICAgIG1hcCgoW2NvbnRleHQsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHQudmlldykgcmV0dXJuIGNvbnRleHRcbiAgICAgIGNvbnN0IGV4dGVudCA9IHRoaXMubWFwVXRpbHMuZ2V0UmVjb3JkRXh0ZW50KG1ldGFkYXRhKVxuICAgICAgY29uc3QgdmlldyA9IGV4dGVudCA/IHsgZXh0ZW50IH0gOiBudWxsXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3LFxuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBtYXAgPSBhd2FpdCB0aGlzLm1hcENvbnRhaW5lci5vcGVubGF5ZXJzTWFwXG4gICAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwobWFwLmdldEludGVyYWN0aW9ucygpKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtcycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXRzJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgY29uc3QgY2FjaGVBY3RpdmUgPSB0cnVlIC8vIFRPRE8gaW1wbGVtZW50IHdoZXRoZXIgc2hvdWxkIGJlIHRydWUgb3IgZmFsc2VcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaywgY2FjaGVBY3RpdmUpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAnZ2VvanNvbicsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxuXG4gIHNlbGVjdExpbmtUb0Rpc3BsYXkobGluazogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmRcIj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhZGlzcGxheVNvdXJjZSB9XCJcbiAgICAgIGNsYXNzPVwidHJ1bmNhdGUgcC0xIC1teC0xIG1iLTFcIlxuICAgICAgZXh0cmFCdG5DbGFzcz1cIiF0ZXh0LXByaW1hcnkgZm9udC1zYW5zIGZvbnQtbWVkaXVtXCJcbiAgICAgIFt0aXRsZV09XCInbWFwLnNlbGVjdC5sYXllcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Nob2ljZXNdPVwiZHJvcGRvd25DaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZWxlY3RMaW5rVG9EaXNwbGF5KCRldmVudClcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uXG4gICAgICBjbGFzcz1cInNocmluay0wIHB5LTEgcGxhY2Utc2VsZi1lbmRcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgPC9nbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpZGVQcmV2aWV3OyBlbHNlIG1hcFZpZXdcIj5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYmxvY2sgaC0xMiBwLTFcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQuZmVhdHVyZS5saW1pdDwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNtYXBWaWV3PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsIGgtZnVsbCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+XG4gICAgICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICAgICAjbWFwQ29udGFpbmVyXG4gICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1tYXAtY29udGFpbmVyPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgICBbY2xhc3MuaGlkZGVuXT1cIiFzZWxlY3Rpb25cIlxuICAgICAgPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwicmVzZXRTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHJpZ2h0LVswLjVlbV0gbWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8Z24tdWktZmVhdHVyZS1kZXRhaWwgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCI+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JpZ2h0LVsxZW1dJzogIXNlbGVjdGlvbiwgJ3JpZ2h0LVsxNmVtXSc6IHNlbGVjdGlvbiB9XCJcbiAgICAgICAgW2hpZGRlbl09XCIhc2hvd0xlZ2VuZCB8fCAhbGVnZW5kRXhpc3RzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LWJvbGRcIj5MZWdlbmQ8L2Rpdj5cbiAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBleHRyYUNsYXNzPVwibWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGduLXVpLW1hcC1sZWdlbmRcbiAgICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAobGVnZW5kU3RhdHVzQ2hhbmdlKT1cIm9uTGVnZW5kU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9nbi11aS1tYXAtbGVnZW5kPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhc2hvd0xlZ2VuZCAmJiBsZWdlbmRFeGlzdHMgJiYgIXNlbGVjdGlvblwiXG4gICAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHRvcC1bMWVtXSByaWdodC1bMWVtXSByb3VuZGVkIHAtMSB0ZXh0LXhzIGJnLXdoaXRlXCJcbiAgICAgID5cbiAgICAgICAgTGVnZW5kXG4gICAgICA8L2duLXVpLWJ1dHRvbj5cblxuICAgICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTBcIlxuICAgICAgICBbbWVzc2FnZV09XCInbWFwLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBSXBCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1B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SSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOytHQTVNVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixrUUN0RjdCLDJwSEF5R0EseUREakNJLFlBQVksc1JBQ1oseUJBQXlCLHFOQUN6QixxQkFBcUIsaUtBQ3JCLHNCQUFzQixzRkFDdEIsbUJBQW1CLG1HQUNuQixlQUFlLG1PQUNmLG9CQUFvQixvRkFDcEIsZUFBZSw2R0FDZiw2QkFBNkIsMkZBQzdCLGVBQWUsK0hBQ2Ysa0JBQWtCLHdHQUVMLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs7NEZBRWhDLGdCQUFnQjtrQkFyQjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1oseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZiw2QkFBNkI7d0JBQzdCLGVBQWU7d0JBQ2Ysa0JBQWtCO3FCQUNuQixpQkFDYyxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d01BRzlCLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFDcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYydcbmltcG9ydCB7IGdldExpbmtMYWJlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICB0aHJvd0Vycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaW5hbGl6ZSxcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvbWR2aWV3LmZhY2FkZSdcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVmlld0Zyb21MYXllcixcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxuICBTb3VyY2VMb2FkRXJyb3JFdmVudCxcbn0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBGZWF0dXJlRGV0YWlsQ29tcG9uZW50LFxuICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsLFxuICBNYXBMZWdlbmRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgTmdJY29uQ29tcG9uZW50LCBwcm92aWRlSWNvbnMgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdENsb3NlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gIFBvcHVwQWxlcnRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBGZXRjaEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMnXG5cbm1hcmtlcignbWFwLmRyb3Bkb3duLnBsYWNlaG9sZGVyJylcbm1hcmtlcignd2ZzLmZlYXR1cmUubGltaXQnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnJlc3RyaWN0ZWRBY2Nlc3MnKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tYXAtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gICAgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE1hcExlZ2VuZENvbXBvbmVudCxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IG1hdENsb3NlIH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBzZXQgZXhjZWVkc0xpbWl0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5leGNsdWRlV2ZzJC5uZXh0KHZhbHVlKVxuICB9XG4gIEBJbnB1dCgpIGRpc3BsYXlTb3VyY2UgPSB0cnVlXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIG1hcENvbnRhaW5lcjogTWFwQ29udGFpbmVyQ29tcG9uZW50XG5cbiAgZXhjbHVkZVdmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICBoaWRlUHJldmlldyA9IGZhbHNlXG4gIHNlbGVjdGlvbjogRmVhdHVyZVxuICBzaG93TGVnZW5kID0gdHJ1ZVxuICBsZWdlbmRFeGlzdHMgPSBmYWxzZVxuXG4gIHRvZ2dsZUxlZ2VuZCgpIHtcbiAgICB0aGlzLnNob3dMZWdlbmQgPSAhdGhpcy5zaG93TGVnZW5kXG4gIH1cblxuICBvbkxlZ2VuZFN0YXR1c0NoYW5nZShzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxlZ2VuZEV4aXN0cyA9IHN0YXR1c1xuICB9XG5cbiAgY29tcGF0aWJsZU1hcExpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLm1hcEFwaUxpbmtzJCxcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnkkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW21hcEFwaUxpbmtzLCBnZW9EYXRhTGlua3NXaXRoR2VvbWV0cnldKSA9PiB7XG4gICAgICByZXR1cm4gWy4uLm1hcEFwaUxpbmtzLCAuLi5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnldXG4gICAgfSlcbiAgKVxuXG4gIGRyb3Bkb3duQ2hvaWNlcyQgPSB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MubGVuZ3RoXG4gICAgICAgID8gbGlua3MubWFwKChsaW5rLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICAgICAgfSkpXG4gICAgICAgIDogW3sgbGFiZWw6ICdtYXAuZHJvcGRvd24ucGxhY2Vob2xkZXInLCB2YWx1ZTogMCB9XVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmtJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApXG5cbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuXG4gIHNlbGVjdGVkTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQsXG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgXSkucGlwZShtYXAoKFtsaW5rcywgaW5kZXhdKSA9PiBsaW5rc1tpbmRleF0pKVxuXG4gIGN1cnJlbnRMYXllcnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3RlZExpbmskLCB0aGlzLmV4Y2x1ZGVXZnMkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtsaW5rLCBleGNsdWRlV2ZzXSkgPT4ge1xuICAgICAgaWYgKCFsaW5rKSB7XG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIGlmIChleGNsdWRlV2ZzICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJykge1xuICAgICAgICB0aGlzLmhpZGVQcmV2aWV3ID0gdHJ1ZVxuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9XG4gICAgICB0aGlzLmhpZGVQcmV2aWV3ID0gZmFsc2VcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgIHRoaXMuZXJyb3IgPSBudWxsXG4gICAgICBpZiAobGluay5hY2Nlc3NSZXN0cmljdGVkKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ2RhdGFzZXQuZXJyb3IucmVzdHJpY3RlZEFjY2VzcycpXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpXG4gICAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgIClcbiAgICB9KVxuICApXG5cbiAgbWFwQ29udGV4dCQ6IE9ic2VydmFibGU8TWFwQ29udGV4dD4gPSB0aGlzLmN1cnJlbnRMYXllcnMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsYXllcnMpID0+XG4gICAgICBmcm9tKGNyZWF0ZVZpZXdGcm9tTGF5ZXIobGF5ZXJzWzBdKSkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksIC8vIGNvdWxkIG5vdCB6b29tIG9uIHRoZSBsYXllcjogdXNlIHRoZSByZWNvcmQgZXh0ZW50XG4gICAgICAgIG1hcCgodmlldykgPT4gKHtcbiAgICAgICAgICBsYXllcnMsXG4gICAgICAgICAgdmlldyxcbiAgICAgICAgfSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgc3RhcnRXaXRoKHtcbiAgICAgIGxheWVyczogW10sXG4gICAgICB2aWV3OiBudWxsLFxuICAgIH0pLFxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMubWRWaWV3RmFjYWRlLm1ldGFkYXRhJCksXG4gICAgbWFwKChbY29udGV4dCwgbWV0YWRhdGFdKSA9PiB7XG4gICAgICBpZiAoY29udGV4dC52aWV3KSByZXR1cm4gY29udGV4dFxuICAgICAgY29uc3QgZXh0ZW50ID0gdGhpcy5tYXBVdGlscy5nZXRSZWNvcmRFeHRlbnQobWV0YWRhdGEpXG4gICAgICBjb25zdCB2aWV3ID0gZXh0ZW50ID8geyBleHRlbnQgfSA6IG51bGxcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHZpZXcsXG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWRWaWV3RmFjYWRlOiBNZFZpZXdGYWNhZGUsXG4gICAgcHJpdmF0ZSBtYXBVdGlsczogTWFwVXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBtYXAgPSBhd2FpdCB0aGlzLm1hcENvbnRhaW5lci5vcGVubGF5ZXJzTWFwXG4gICAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwobWFwLmdldEludGVyYWN0aW9ucygpKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgb25Tb3VyY2VMb2FkRXJyb3IoZXJyb3I6IFNvdXJjZUxvYWRFcnJvckV2ZW50KSB7XG4gICAgaWYgKGVycm9yLmh0dHBTdGF0dXMgPT09IDQwMyB8fCBlcnJvci5odHRwU3RhdHVzID09PSA0MDEpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZGF0YXNldC5lcnJvci5mb3JiaWRkZW5gKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRhdGFzZXQuZXJyb3IuaHR0cGAsIHtcbiAgICAgICAgaW5mbzogZXJyb3IuaHR0cFN0YXR1cyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtcycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXRzJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgY29uc3QgY2FjaGVBY3RpdmUgPSB0cnVlIC8vIFRPRE8gaW1wbGVtZW50IHdoZXRoZXIgc2hvdWxkIGJlIHRydWUgb3IgZmFsc2VcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaywgY2FjaGVBY3RpdmUpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAnZ2VvanNvbicsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxuXG4gIHNlbGVjdExpbmtUb0Rpc3BsYXkobGluazogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQubmV4dChsaW5rKVxuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvciB8IHN0cmluZykge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvci5tZXNzYWdlKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLnN0YWNrIHx8IGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFkaXNwbGF5U291cmNlIH1cIlxuICAgICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTEgbWItMVwiXG4gICAgICBleHRyYUJ0bkNsYXNzPVwiIXRleHQtcHJpbWFyeSBmb250LXNhbnMgZm9udC1tZWRpdW1cIlxuICAgICAgW3RpdGxlXT1cIidtYXAuc2VsZWN0LmxheWVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2hvaWNlc109XCJkcm9wZG93bkNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmtUb0Rpc3BsYXkoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b25cbiAgICAgIGNsYXNzPVwic2hyaW5rLTAgcHktMSBwbGFjZS1zZWxmLWVuZFwiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID5cbiAgICA8L2duLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b24+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlkZVByZXZpZXc7IGVsc2UgbWFwVmlld1wiPlxuICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJibG9jayBoLTEyIHAtMVwiXG4gICAgPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5mZWF0dXJlLmxpbWl0PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI21hcFZpZXc+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW5cIlxuICAgID5cbiAgICAgIDxnbi11aS1tYXAtY29udGFpbmVyXG4gICAgICAgICNtYXBDb250YWluZXJcbiAgICAgICAgW2NvbnRleHRdPVwibWFwQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICAgIChmZWF0dXJlc0NsaWNrKT1cIm9uTWFwRmVhdHVyZVNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgKHNvdXJjZUxvYWRFcnJvcik9XCJvblNvdXJjZUxvYWRFcnJvcigkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLW1hcC1jb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHJpZ2h0LVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNlbGVjdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJyZXNldFNlbGVjdGlvbigpXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgXCJcbiAgICAgICAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtWzAuNWVtXSBtbC1bOHB4XSBtci1bMTBweF1cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1zbVwiPjwvbmctaWNvbj5cbiAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDxnbi11aS1mZWF0dXJlLWRldGFpbCBbZmVhdHVyZV09XCJzZWxlY3Rpb25cIj48L2duLXVpLWZlYXR1cmUtZGV0YWlsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0b3AtWzFlbV0gcC0zIGJnLXdoaXRlIGFic29sdXRlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBtYXgtaC03MiB3LTU2XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAncmlnaHQtWzFlbV0nOiAhc2VsZWN0aW9uLCAncmlnaHQtWzE2ZW1dJzogc2VsZWN0aW9uIH1cIlxuICAgICAgICBbaGlkZGVuXT1cIiFzaG93TGVnZW5kIHx8ICFsZWdlbmRFeGlzdHNcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtYm9sZFwiPkxlZ2VuZDwvZGl2PlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlTGVnZW5kKClcIlxuICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJtbC1bOHB4XSBtci1bMTBweF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Z24tdWktbWFwLWxlZ2VuZFxuICAgICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAgIChsZWdlbmRTdGF0dXNDaGFuZ2UpPVwib25MZWdlbmRTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2duLXVpLW1hcC1sZWdlbmQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFzaG93TGVnZW5kICYmIGxlZ2VuZEV4aXN0cyAmJiAhc2VsZWN0aW9uXCJcbiAgICAgICAgdHlwZT1cIm91dGxpbmVcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlTGVnZW5kKClcIlxuICAgICAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgdG9wLVsxZW1dIHJpZ2h0LVsxZW1dIHJvdW5kZWQgcC0xIHRleHQteHMgYmctd2hpdGVcIlxuICAgICAgPlxuICAgICAgICBMZWdlbmRcbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuXG4gICAgICA8Z24tdWktbG9hZGluZy1tYXNrXG4gICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICAgIFttZXNzYWdlXT1cIidtYXAubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+PC9nbi11aS1sb2FkaW5nLW1hc2s+XG4gICAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
42
42
  }], ctorParameters: () => [{ type: i1.Meta }], propDecorators: { metadata: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW1ldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL3JlY29yZC1tZXRhL3JlY29yZC1tZXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFBOzs7QUFTaEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUFvQixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtJQUFHLENBQUM7SUFFbEMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDZixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUN6QyxDQUFDLENBQUE7WUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDZixRQUFRLEVBQUUsVUFBVTt3QkFDcEIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO3FCQUNqQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM1QyxDQUFDOytHQTNCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvSUFKcEIsRUFBRTs7NEZBSUQsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7eUVBRVUsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJ1xuaW1wb3J0IHsgRGF0YXNldFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLW1ldGEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRNZXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogRGF0YXNldFJlY29yZFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWV0YTogTWV0YSkge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5tZXRhZGF0YT8udGl0bGUpIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcoeyBwcm9wZXJ0eTogJ29nOnRpdGxlJywgY29udGVudDogdGhpcy5tZXRhZGF0YS50aXRsZSB9KVxuICAgICAgdGhpcy5tZXRhLmFkZFRhZyh7XG4gICAgICAgIHByb3BlcnR5OiAnb2c6dXJsJyxcbiAgICAgICAgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICBpZiAodGhpcy5tZXRhZGF0YT8ub3ZlcnZpZXdzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3Qgb3ZlcnZpZXcgb2YgdGhpcy5tZXRhZGF0YS5vdmVydmlld3MpIHtcbiAgICAgICAgICB0aGlzLm1ldGEuYWRkVGFnKHtcbiAgICAgICAgICAgIHByb3BlcnR5OiAnb2c6aW1hZ2UnLFxuICAgICAgICAgICAgY29udGVudDogb3ZlcnZpZXcudXJsLnRvU3RyaW5nKCksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoJ3Byb3BlcnR5PVwib2c6aW1hZ2VcIicpXG4gICAgdGhpcy5tZXRhLnJlbW92ZVRhZygncHJvcGVydHk9XCJvZzp1cmxcIicpXG4gICAgdGhpcy5tZXRhLnJlbW92ZVRhZygncHJvcGVydHk9XCJvZzp0aXRsZVwiJylcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW1ldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL3JlY29yZC1tZXRhL3JlY29yZC1tZXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFBOzs7QUFTaEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUFvQixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtJQUFHLENBQUM7SUFFbEMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDZixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUN6QyxDQUFDLENBQUE7WUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDZixRQUFRLEVBQUUsVUFBVTt3QkFDcEIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO3FCQUNqQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM1QyxDQUFDOytHQTNCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvSUFKcEIsRUFBRTs7NEZBSUQsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7eUVBRVUsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLW1ldGEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRNZXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWV0YTogTWV0YSkge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5tZXRhZGF0YT8udGl0bGUpIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcoeyBwcm9wZXJ0eTogJ29nOnRpdGxlJywgY29udGVudDogdGhpcy5tZXRhZGF0YS50aXRsZSB9KVxuICAgICAgdGhpcy5tZXRhLmFkZFRhZyh7XG4gICAgICAgIHByb3BlcnR5OiAnb2c6dXJsJyxcbiAgICAgICAgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICBpZiAodGhpcy5tZXRhZGF0YT8ub3ZlcnZpZXdzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3Qgb3ZlcnZpZXcgb2YgdGhpcy5tZXRhZGF0YS5vdmVydmlld3MpIHtcbiAgICAgICAgICB0aGlzLm1ldGEuYWRkVGFnKHtcbiAgICAgICAgICAgIHByb3BlcnR5OiAnb2c6aW1hZ2UnLFxuICAgICAgICAgICAgY29udGVudDogb3ZlcnZpZXcudXJsLnRvU3RyaW5nKCksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoJ3Byb3BlcnR5PVwib2c6aW1hZ2VcIicpXG4gICAgdGhpcy5tZXRhLnJlbW92ZVRhZygncHJvcGVydHk9XCJvZzp1cmxcIicpXG4gICAgdGhpcy5tZXRhLnJlbW92ZVRhZygncHJvcGVydHk9XCJvZzp0aXRsZVwiJylcbiAgfVxufVxuIl19
@@ -5,20 +5,23 @@ import { catchError, filter, map, switchMap } from 'rxjs/operators';
5
5
  import * as MdViewActions from './mdview.actions';
6
6
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
7
7
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
8
+ import { Router } from '@angular/router';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@ngrx/effects";
10
11
  import * as i2 from "../../../../../../libs/common/domain/src/lib/repository/records-repository.interface";
11
12
  import * as i3 from "../../../../../../libs/common/domain/src/lib/platform.service.interface";
13
+ import * as i4 from "@angular/router";
12
14
  export class MdViewEffects {
13
- constructor(actions$, recordsRepository, platformServiceInterface) {
15
+ constructor(actions$, recordsRepository, platformServiceInterface, router) {
14
16
  this.actions$ = actions$;
15
17
  this.recordsRepository = recordsRepository;
16
18
  this.platformServiceInterface = platformServiceInterface;
19
+ this.router = router;
17
20
  /*
18
21
  Metadata effects
19
22
  */
20
23
  this.loadFullMetadata$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadFullMetadata), switchMap(({ uuid }) => this.recordsRepository.getRecord(uuid)), map((record) => {
21
- if (record === null) {
24
+ if (record === null || !this.router.url.includes(record.kind)) {
22
25
  return MdViewActions.loadFullMetadataFailure({ notFound: true });
23
26
  }
24
27
  return MdViewActions.loadFullMetadataSuccess({ full: record });
@@ -53,10 +56,10 @@ export class MdViewEffects {
53
56
  }));
54
57
  })))));
55
58
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewEffects, deps: [{ token: i1.Actions }, { token: i2.RecordsRepositoryInterface }, { token: i3.PlatformServiceInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewEffects, deps: [{ token: i1.Actions }, { token: i2.RecordsRepositoryInterface }, { token: i3.PlatformServiceInterface }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
60
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewEffects }); }
58
61
  }
59
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewEffects, decorators: [{
60
63
  type: Injectable
61
- }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.RecordsRepositoryInterface }, { type: i3.PlatformServiceInterface }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6RSxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNGQUFzRixDQUFBO0FBQ2pJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlFQUF5RSxDQUFBOzs7OztBQUVsSCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLFFBQWlCLEVBQ2pCLGlCQUE2QyxFQUM3Qyx3QkFBa0Q7UUFGbEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQzdDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFHNUQ7O1VBRUU7UUFDRixzQkFBaUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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QUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQ0osQ0FDRixDQUNGLENBQUE7SUF4SEUsQ0FBQzsrR0FMTyxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kVmlld0VmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2VcbiAgKSB7fVxuXG4gIC8qXG4gICAgTWV0YWRhdGEgZWZmZWN0c1xuICAqL1xuICBsb2FkRnVsbE1ldGFkYXRhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGEpLFxuICAgICAgc3dpdGNoTWFwKCh7IHV1aWQgfSkgPT4gdGhpcy5yZWNvcmRzUmVwb3NpdG9yeS5nZXRSZWNvcmQodXVpZCkpLFxuICAgICAgbWFwKChyZWNvcmQpID0+IHtcbiAgICAgICAgaWYgKHJlY29yZCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGFGYWlsdXJlKHsgbm90Rm91bmQ6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhU3VjY2Vzcyh7IGZ1bGw6IHJlY29yZCB9KVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgb2YoTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhRmFpbHVyZSh7IG90aGVyRXJyb3I6IGVycm9yLm1lc3NhZ2UgfSkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgbG9hZEZlYXR1cmVDYXRhbG9nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGFTdWNjZXNzKSxcbiAgICAgIGZpbHRlcigoeyBmdWxsIH0pID0+IGZ1bGwgIT09IHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKHsgZnVsbCB9KSA9PiB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldEZlYXR1cmVDYXRhbG9nKGZ1bGwpKSxcbiAgICAgIG1hcCgoZmVhdHVyZUNhdGFsb2cpID0+XG4gICAgICAgIE1kVmlld0FjdGlvbnMubG9hZEZlYXR1cmVDYXRhbG9nU3VjY2Vzcyh7XG4gICAgICAgICAgZGF0YXNldENhdGFsb2c6IGZlYXR1cmVDYXRhbG9nLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICBvZihcbiAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRGZWF0dXJlQ2F0YWxvZ0ZhaWx1cmUoe1xuICAgICAgICAgICAgZXJyb3I6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIC8qXG4gICAgUmVsYXRlZCBlZmZlY3RzXG4gICovXG4gIGxvYWRSZWxhdGVkUmVjb3JkcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhU3VjY2VzcyksXG4gICAgICBzd2l0Y2hNYXAoKHsgZnVsbCB9KSA9PiB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldFNpbWlsYXJSZWNvcmRzKGZ1bGwpKSxcbiAgICAgIG1hcCgocmVsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZCB9KVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gb2YoTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZDogbnVsbCB9KSkpXG4gICAgKVxuICApXG5cbiAgLypcbiAgICBVc2VyRmVlZGJhY2sgZWZmZWN0c1xuICAqL1xuICBsb2FkVXNlckZlZWRiYWNrcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrcyksXG4gICAgICBleGhhdXN0TWFwKCh7IGRhdGFzZXRVdWlkIH0pID0+XG4gICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLmdldFVzZXJGZWVkYmFja3MoZGF0YXNldFV1aWQpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VyRmVlZGJhY2tzKSA9PlxuICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc1N1Y2Nlc3MoeyB1c2VyRmVlZGJhY2tzIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICAgIG9mKFxuICAgICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzRmFpbHVyZSh7XG4gICAgICAgICAgICAgICAgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICByZWxvYWRVc2VyRmVlZGJhY2tzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFja1N1Y2Nlc3MpLFxuICAgICAgZXhoYXVzdE1hcCgoeyBkYXRhc2V0VXVpZCB9KSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZUludGVyZmFjZS5nZXRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkKS5waXBlKFxuICAgICAgICAgIG1hcCgodXNlckZlZWRiYWNrcykgPT5cbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3NTdWNjZXNzKHsgdXNlckZlZWRiYWNrcyB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgICBvZihcbiAgICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc0ZhaWx1cmUoe1xuICAgICAgICAgICAgICAgIG90aGVyRXJyb3I6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgYWRkVXNlckZlZWRiYWNrJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZUludGVyZmFjZVxuICAgICAgICAgIC5wb3N0VXNlckZlZWRiYWNrcyhhY3Rpb24udXNlckZlZWRiYWNrKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+XG4gICAgICAgICAgICAgIE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrU3VjY2Vzcyh7XG4gICAgICAgICAgICAgICAgZGF0YXNldFV1aWQ6IGFjdGlvbi51c2VyRmVlZGJhY2subWV0YWRhdGFVVUlELFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFja0ZhaWx1cmUoe1xuICAgICAgICAgICAgICAgICAgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcbn1cbiJdfQ==
64
+ }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.RecordsRepositoryInterface }, { type: i3.PlatformServiceInterface }, { type: i4.Router }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuRSxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNGQUFzRixDQUFBO0FBQ2pJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlFQUF5RSxDQUFBO0FBQ2xILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBRXhDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsUUFBaUIsRUFDakIsaUJBQTZDLEVBQzdDLHdCQUFrRCxFQUNsRCxNQUFjO1FBSGQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQzdDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUd4Qjs7VUFFRTtRQUNGLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFDdEMsU0FBUyxD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QyxZQUFZLENBQUMsWUFBWTtTQUM5QyxDQUFDLENBQ0gsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FDUCxhQUFhLENBQUMsc0JBQXNCLENBQUM7Z0JBQ25DLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTzthQUMxQixDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQ0osQ0FDRixDQUNGLENBQUE7SUF4SEUsQ0FBQzsrR0FOTyxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kVmlld0VmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgLypcbiAgICBNZXRhZGF0YSBlZmZlY3RzXG4gICovXG4gIGxvYWRGdWxsTWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSksXG4gICAgICBzd2l0Y2hNYXAoKHsgdXVpZCB9KSA9PiB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldFJlY29yZCh1dWlkKSksXG4gICAgICBtYXAoKHJlY29yZCkgPT4ge1xuICAgICAgICBpZiAocmVjb3JkID09PSBudWxsIHx8ICF0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMocmVjb3JkLmtpbmQpKSB7XG4gICAgICAgICAgcmV0dXJuIE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YUZhaWx1cmUoeyBub3RGb3VuZDogdHJ1ZSB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGFTdWNjZXNzKHsgZnVsbDogcmVjb3JkIH0pXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICBvZihNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGFGYWlsdXJlKHsgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSB9KSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBsb2FkRmVhdHVyZUNhdGFsb2ckID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YVN1Y2Nlc3MpLFxuICAgICAgZmlsdGVyKCh7IGZ1bGwgfSkgPT4gZnVsbCAhPT0gdW5kZWZpbmVkKSxcbiAgICAgIHN3aXRjaE1hcCgoeyBmdWxsIH0pID0+IHRoaXMucmVjb3Jkc1JlcG9zaXRvcnkuZ2V0RmVhdHVyZUNhdGFsb2coZnVsbCkpLFxuICAgICAgbWFwKChmZWF0dXJlQ2F0YWxvZykgPT5cbiAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkRmVhdHVyZUNhdGFsb2dTdWNjZXNzKHtcbiAgICAgICAgICBkYXRhc2V0Q2F0YWxvZzogZmVhdHVyZUNhdGFsb2csXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgIG9mKFxuICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZEZlYXR1cmVDYXRhbG9nRmFpbHVyZSh7XG4gICAgICAgICAgICBlcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgLypcbiAgICBSZWxhdGVkIGVmZmVjdHNcbiAgKi9cbiAgbG9hZFJlbGF0ZWRSZWNvcmRzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGFTdWNjZXNzKSxcbiAgICAgIHN3aXRjaE1hcCgoeyBmdWxsIH0pID0+IHRoaXMucmVjb3Jkc1JlcG9zaXRvcnkuZ2V0U2ltaWxhclJlY29yZHMoZnVsbCkpLFxuICAgICAgbWFwKChyZWxhdGVkKSA9PiB7XG4gICAgICAgIHJldHVybiBNZFZpZXdBY3Rpb25zLnNldFJlbGF0ZWQoeyByZWxhdGVkIH0pXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihNZFZpZXdBY3Rpb25zLnNldFJlbGF0ZWQoeyByZWxhdGVkOiBudWxsIH0pKSlcbiAgICApXG4gIClcblxuICAvKlxuICAgIFVzZXJGZWVkYmFjayBlZmZlY3RzXG4gICovXG4gIGxvYWRVc2VyRmVlZGJhY2tzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzKSxcbiAgICAgIGV4aGF1c3RNYXAoKHsgZGF0YXNldFV1aWQgfSkgPT5cbiAgICAgICAgdGhpcy5wbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UuZ2V0VXNlckZlZWRiYWNrcyhkYXRhc2V0VXVpZCkucGlwZShcbiAgICAgICAgICBtYXAoKHVzZXJGZWVkYmFja3MpID0+XG4gICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzU3VjY2Vzcyh7IHVzZXJGZWVkYmFja3MgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICAgICAgb2YoXG4gICAgICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3NGYWlsdXJlKHtcbiAgICAgICAgICAgICAgICBvdGhlckVycm9yOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIHJlbG9hZFVzZXJGZWVkYmFja3MkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrU3VjY2VzcyksXG4gICAgICBleGhhdXN0TWFwKCh7IGRhdGFzZXRVdWlkIH0pID0+XG4gICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLmdldFVzZXJGZWVkYmFja3MoZGF0YXNldFV1aWQpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VyRmVlZGJhY2tzKSA9PlxuICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc1N1Y2Nlc3MoeyB1c2VyRmVlZGJhY2tzIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICAgIG9mKFxuICAgICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzRmFpbHVyZSh7XG4gICAgICAgICAgICAgICAgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICBhZGRVc2VyRmVlZGJhY2skID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlXG4gICAgICAgICAgLnBvc3RVc2VyRmVlZGJhY2tzKGFjdGlvbi51c2VyRmVlZGJhY2spXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT5cbiAgICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5hZGRVc2VyRmVlZGJhY2tTdWNjZXNzKHtcbiAgICAgICAgICAgICAgICBkYXRhc2V0VXVpZDogYWN0aW9uLnVzZXJGZWVkYmFjay5tZXRhZGF0YVVVSUQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFxuICAgICAgICAgICAgICAgIE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrRmFpbHVyZSh7XG4gICAgICAgICAgICAgICAgICBvdGhlckVycm9yOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxufVxuIl19
@@ -39,15 +39,13 @@ export class MdViewFacade {
39
39
  this.error$ = this.store.pipe(select(MdViewSelectors.getMetadataError));
40
40
  this.related$ = this.store.pipe(select(MdViewSelectors.getRelated));
41
41
  this.chartConfig$ = this.store.pipe(select(MdViewSelectors.getChartConfig));
42
- this.allLinks$ = this.metadata$.pipe(map((record) => record.kind === 'dataset' && 'onlineResources' in record
43
- ? record.onlineResources
44
- : []));
42
+ this.allLinks$ = this.metadata$.pipe(map((record) => ('onlineResources' in record ? record.onlineResources : [])));
45
43
  this.apiLinks$ = this.allLinks$.pipe(map((links) => links
46
44
  .filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))
47
45
  // Put links to IGN Géoplateforme first
48
46
  .sort((dd1, dd2) => {
49
- return dd2.accessServiceProtocol ===
50
- 'GPFDL'
47
+ return dd2
48
+ .accessServiceProtocol === 'GPFDL'
51
49
  ? 1
52
50
  : undefined; // do not change the sorting otherwise
53
51
  })));
@@ -116,4 +114,4 @@ export class MdViewFacade {
116
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewFacade, decorators: [{
117
115
  type: Injectable
118
116
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LinkClassifierService }, { type: i3.AvatarServiceInterface }, { type: i4.DataService }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFPekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7QUFHeEU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLEtBQVksRUFDYixjQUFxQyxFQUNwQyxhQUFxQyxFQUN0QyxXQUF3QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdqQyxlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFB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O1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFzQztRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxZQUEwQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdkUsQ0FBQzsrR0E1TFUsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQVB4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkZWZhdWx0SWZFbXB0eSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRvQXJyYXksXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgTWRWaWV3QWN0aW9ucyBmcm9tICcuL21kdmlldy5hY3Rpb25zJ1xuaW1wb3J0ICogYXMgTWRWaWV3U2VsZWN0b3JzIGZyb20gJy4vbWR2aWV3LnNlbGVjdG9ycydcbmltcG9ydCB7IExpbmtDbGFzc2lmaWVyU2VydmljZSwgTGlua1VzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbiAgVXNlckZlZWRiYWNrLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5pbXBvcnQgeyBPZ2NBcGlSZWNvcmQgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgZnJvbSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5cbkBJbmplY3RhYmxlKClcbi8qKlxuICogVGhlIE1ldGFkYXRhIFZpZXcgRmFjYWRlIGlzIHVzZWQgdG8gcmVuZGVyIGNvbXBsZXRlIG1ldGFkYXRhIHJlY29yZHMuXG4gKiBTdXBwbHkgaXQgd2l0aCBhbiBpbmNvbXBsZXRlIHJlY29yZCAoYXQgbGVhc3QgY29udGFpbmluZyB0aGUgdXVpZCkgYW5kIHRoZVxuICogY29ycmVzcG9uZGluZyBmdWxsIHJlY29yZCB3aWxsIGJlIGxvYWRlZC5cbiAqIFRvIGNsZWFyIHRoZSBjdXJyZW50IHJlY29yZCB1c2UgdGhlIGBjbG9zZSgpYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZFZpZXdGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwdWJsaWMgbGlua0NsYXNzaWZpZXI6IExpbmtDbGFzc2lmaWVyU2VydmljZSxcbiAgICBwcml2YXRlIGF2YXRhclNlcnZpY2U6IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZVxuICApIHt9XG5cbiAgaXNQcmVzZW50JCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhVXVpZCksXG4gICAgbWFwKCh1dWlkKSA9PiAhIXV1aWQpXG4gIClcblxuICBpc01ldGFkYXRhTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUlzTG9hZGluZylcbiAgKVxuXG4gIG1ldGFkYXRhJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhKSxcbiAgICBmaWx0ZXIoKG1kKSA9PiAhIW1kKVxuICApXG5cbiAgZmVhdHVyZUNhdGFsb2ckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0RmVhdHVyZUNhdGFsb2cpKVxuXG4gIGlzSW5jb21wbGV0ZSQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUlzSW5jb21wbGV0ZSksXG4gICAgZmlsdGVyKChpbmNvbXBsZXRlKSA9PiBpbmNvbXBsZXRlICE9PSBudWxsKVxuICApXG5cbiAgaXNIaWdoVXBkYXRlRnJlcXVlbmN5JCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHtcbiAgICAgIGlmIChyZWNvcmQudXBkYXRlRnJlcXVlbmN5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXIgPT09ICdkYXknICYmXG4gICAgICAgICAgcmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS51cGRhdGVkVGltZXMgPiAxXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlY29yZC51cGRhdGVGcmVxdWVuY3kgPT09ICdjb250aW51YWwnXG4gICAgfSlcbiAgKVxuXG4gIGVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhRXJyb3IpKVxuXG4gIHJlbGF0ZWQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0UmVsYXRlZCkpXG5cbiAgY2hhcnRDb25maWckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0Q2hhcnRDb25maWcpKVxuXG4gIGFsbExpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+XG4gICAgICByZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnICYmICdvbmxpbmVSZXNvdXJjZXMnIGluIHJlY29yZFxuICAgICAgICA/IHJlY29yZC5vbmxpbmVSZXNvdXJjZXNcbiAgICAgICAgOiBbXVxuICAgIClcbiAgKVxuXG4gIGFwaUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzXG4gICAgICAgIC5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkFQSSkpXG4gICAgICAgIC8vIFB1dCBsaW5rcyB0byBJR04gR8Opb3BsYXRlZm9ybWUgZmlyc3RcbiAgICAgICAgLnNvcnQoKGRkMSwgZGQyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChkZDIgYXMgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24pLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT1cbiAgICAgICAgICAgICdHUEZETCdcbiAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgOiB1bmRlZmluZWQgLy8gZG8gbm90IGNoYW5nZSB0aGUgc29ydGluZyBvdGhlcndpc2VcbiAgICAgICAgfSlcbiAgICApXG4gIClcblxuICBtYXBBcGlMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLk1BUF9BUEkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZG93bmxvYWRMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRPV05MT0FEKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGRhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRBVEEpKVxuICAgIClcbiAgKVxuXG4gIGdlb0RhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rcykgPT5cbiAgICAgIGZyb20obGlua3MpLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChsaW5rKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRJdGVtc0Zyb21PZ2NBcGkobGluay51cmwuaHJlZilcbiAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoY29sbGVjdGlvblJlY29yZHM6IE9nY0FwaVJlY29yZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25SZWNvcmRzICYmIGNvbGxlY3Rpb25SZWNvcmRzLmdlb21ldHJ5XG4gICAgICAgICAgICAgICAgICAgID8gbGlua1xuICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0SWZFbXB0eShudWxsKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YobGluaylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdG9BcnJheSgpLFxuICAgICAgICBtYXAoKGxpbmtzKSA9PiBsaW5rcy5maWx0ZXIoKGxpbmspID0+IGxpbmsgIT09IG51bGwpKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGxhbmRpbmdQYWdlTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdsYW5kaW5nUGFnZScgaW4gcmVjb3JkID8gW3JlY29yZC5sYW5kaW5nUGFnZV0gOiBbXSkpXG4gIClcblxuICBvdGhlckxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuVU5LTk9XTilcbiAgICAgIClcbiAgICApXG4gIClcblxuICB1c2VyRmVlZGJhY2tzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFVzZXJGZWVkYmFja3MpKVxuICBpc0FsbFVzZXJGZWVkYmFja0xvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0QWxsVXNlckZlZWRiYWNrc0xvYWRpbmcpXG4gIClcbiAgaXNBZGRVc2VyRmVlZGJhY2tMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEFkZFVzZXJGZWVkYmFja3NMb2FkaW5nKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBzaG93IGFuIGluY29tcGxldGUgcmVjb3JkIChlLmcuIGZyb20gYSBzZWFyY2ggcmVzdWx0KSBhcyBhIHByZXZpZXdcbiAgICogTm90ZTogdGhlIGZ1bGwgcmVjb3JkIHdpbGwgbm90IGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5OyB1c2UgdGhlIGBsb2FkRnVsbGAgbWV0aG9kIGZvciB0aGF0XG4gICAqL1xuICBzZXRJbmNvbXBsZXRlTWV0YWRhdGEoaW5jb21wbGV0ZTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5zZXRJbmNvbXBsZXRlTWV0YWRhdGEoeyBpbmNvbXBsZXRlIH0pKVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBsb2FkIG9mIGEgZnVsbCBtZXRhZGF0YSByZWNvcmRcbiAgICovXG4gIGxvYWRGdWxsKHV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhKHsgdXVpZCB9KSlcbiAgfVxuXG4gIGNsb3NlTWV0YWRhdGEoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmNsb3NlTWV0YWRhdGEoKSlcbiAgfVxuXG4gIHNldENoYXJ0Q29uZmlnKGNoYXJ0Q29uZmlnOiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldENoYXJ0Q29uZmlnKHsgY2hhcnRDb25maWcgfSkpXG4gIH1cblxuICAvKipcbiAgICogVXNlckZlZWRiYWNrc1xuICAgKi9cbiAgYWRkVXNlckZlZWRiYWNrKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9KSlcbiAgfVxuXG4gIGxvYWRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3MoeyBkYXRhc2V0VXVpZCB9KSlcbiAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFRekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFbEYsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7QUFHeEU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLEtBQVksRUFDYixjQUFxQyxFQUNwQyxhQUFxQyxFQUN0QyxXQUF3QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdqQyxlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFB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LENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFRCxjQUFjLENBQUMsV0FBc0M7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsWUFBMEI7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7K0dBeExVLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFQeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGVmYXVsdElmRW1wdHksXG4gIGZpbHRlcixcbiAgbWFwLFxuICBtZXJnZU1hcCxcbiAgc3dpdGNoTWFwLFxuICB0b0FycmF5LFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCAqIGFzIE1kVmlld0FjdGlvbnMgZnJvbSAnLi9tZHZpZXcuYWN0aW9ucydcbmltcG9ydCAqIGFzIE1kVmlld1NlbGVjdG9ycyBmcm9tICcuL21kdmlldy5zZWxlY3RvcnMnXG5pbXBvcnQgeyBMaW5rQ2xhc3NpZmllclNlcnZpY2UsIExpbmtVc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgRGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL2RhdGF2aXovZGF0YXZpei1jb25maWd1cmF0aW9uLm1vZGVsJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sXG4gIFNlcnZpY2VFbmRwb2ludCxcbiAgVXNlckZlZWRiYWNrLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5pbXBvcnQgeyBPZ2NBcGlSZWNvcmQgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgZnJvbSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5cbkBJbmplY3RhYmxlKClcbi8qKlxuICogVGhlIE1ldGFkYXRhIFZpZXcgRmFjYWRlIGlzIHVzZWQgdG8gcmVuZGVyIGNvbXBsZXRlIG1ldGFkYXRhIHJlY29yZHMuXG4gKiBTdXBwbHkgaXQgd2l0aCBhbiBpbmNvbXBsZXRlIHJlY29yZCAoYXQgbGVhc3QgY29udGFpbmluZyB0aGUgdXVpZCkgYW5kIHRoZVxuICogY29ycmVzcG9uZGluZyBmdWxsIHJlY29yZCB3aWxsIGJlIGxvYWRlZC5cbiAqIFRvIGNsZWFyIHRoZSBjdXJyZW50IHJlY29yZCB1c2UgdGhlIGBjbG9zZSgpYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZFZpZXdGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwdWJsaWMgbGlua0NsYXNzaWZpZXI6IExpbmtDbGFzc2lmaWVyU2VydmljZSxcbiAgICBwcml2YXRlIGF2YXRhclNlcnZpY2U6IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZVxuICApIHt9XG5cbiAgaXNQcmVzZW50JCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhVXVpZCksXG4gICAgbWFwKCh1dWlkKSA9PiAhIXV1aWQpXG4gIClcblxuICBpc01ldGFkYXRhTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUlzTG9hZGluZylcbiAgKVxuXG4gIG1ldGFkYXRhJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhKSxcbiAgICBmaWx0ZXIoKG1kKSA9PiAhIW1kKVxuICApXG5cbiAgZmVhdHVyZUNhdGFsb2ckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0RmVhdHVyZUNhdGFsb2cpKVxuXG4gIGlzSW5jb21wbGV0ZSQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUlzSW5jb21wbGV0ZSksXG4gICAgZmlsdGVyKChpbmNvbXBsZXRlKSA9PiBpbmNvbXBsZXRlICE9PSBudWxsKVxuICApXG5cbiAgaXNIaWdoVXBkYXRlRnJlcXVlbmN5JCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHtcbiAgICAgIGlmIChyZWNvcmQudXBkYXRlRnJlcXVlbmN5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXIgPT09ICdkYXknICYmXG4gICAgICAgICAgcmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS51cGRhdGVkVGltZXMgPiAxXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlY29yZC51cGRhdGVGcmVxdWVuY3kgPT09ICdjb250aW51YWwnXG4gICAgfSlcbiAgKVxuXG4gIGVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhRXJyb3IpKVxuXG4gIHJlbGF0ZWQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0UmVsYXRlZCkpXG5cbiAgY2hhcnRDb25maWckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0Q2hhcnRDb25maWcpKVxuXG4gIGFsbExpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+ICgnb25saW5lUmVzb3VyY2VzJyBpbiByZWNvcmQgPyByZWNvcmQub25saW5lUmVzb3VyY2VzIDogW10pKVxuICApXG5cbiAgYXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3NcbiAgICAgICAgLmZpbHRlcigobGluaykgPT4gdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuQVBJKSlcbiAgICAgICAgLy8gUHV0IGxpbmtzIHRvIElHTiBHw6lvcGxhdGVmb3JtZSBmaXJzdFxuICAgICAgICAuc29ydCgoZGQxLCBkZDIpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGRkMiBhcyBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB8IFNlcnZpY2VFbmRwb2ludClcbiAgICAgICAgICAgIC5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdHUEZETCdcbiAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgOiB1bmRlZmluZWQgLy8gZG8gbm90IGNoYW5nZSB0aGUgc29ydGluZyBvdGhlcndpc2VcbiAgICAgICAgfSlcbiAgICApXG4gIClcblxuICBtYXBBcGlMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLk1BUF9BUEkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZG93bmxvYWRMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRPV05MT0FEKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGRhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRBVEEpKVxuICAgIClcbiAgKVxuXG4gIGdlb0RhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rcykgPT5cbiAgICAgIGZyb20obGlua3MpLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChsaW5rKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRJdGVtc0Zyb21PZ2NBcGkobGluay51cmwuaHJlZilcbiAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoY29sbGVjdGlvblJlY29yZHM6IE9nY0FwaVJlY29yZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25SZWNvcmRzICYmIGNvbGxlY3Rpb25SZWNvcmRzLmdlb21ldHJ5XG4gICAgICAgICAgICAgICAgICAgID8gbGlua1xuICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0SWZFbXB0eShudWxsKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YobGluaylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdG9BcnJheSgpLFxuICAgICAgICBtYXAoKGxpbmtzKSA9PiBsaW5rcy5maWx0ZXIoKGxpbmspID0+IGxpbmsgIT09IG51bGwpKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGxhbmRpbmdQYWdlTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdsYW5kaW5nUGFnZScgaW4gcmVjb3JkID8gW3JlY29yZC5sYW5kaW5nUGFnZV0gOiBbXSkpXG4gIClcblxuICBvdGhlckxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuVU5LTk9XTilcbiAgICAgIClcbiAgICApXG4gIClcblxuICB1c2VyRmVlZGJhY2tzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFVzZXJGZWVkYmFja3MpKVxuICBpc0FsbFVzZXJGZWVkYmFja0xvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0QWxsVXNlckZlZWRiYWNrc0xvYWRpbmcpXG4gIClcbiAgaXNBZGRVc2VyRmVlZGJhY2tMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEFkZFVzZXJGZWVkYmFja3NMb2FkaW5nKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBzaG93IGFuIGluY29tcGxldGUgcmVjb3JkIChlLmcuIGZyb20gYSBzZWFyY2ggcmVzdWx0KSBhcyBhIHByZXZpZXdcbiAgICogTm90ZTogdGhlIGZ1bGwgcmVjb3JkIHdpbGwgbm90IGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5OyB1c2UgdGhlIGBsb2FkRnVsbGAgbWV0aG9kIGZvciB0aGF0XG4gICAqL1xuICBzZXRJbmNvbXBsZXRlTWV0YWRhdGEoaW5jb21wbGV0ZTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5zZXRJbmNvbXBsZXRlTWV0YWRhdGEoeyBpbmNvbXBsZXRlIH0pKVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBsb2FkIG9mIGEgZnVsbCBtZXRhZGF0YSByZWNvcmRcbiAgICovXG4gIGxvYWRGdWxsKHV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhKHsgdXVpZCB9KSlcbiAgfVxuXG4gIGNsb3NlTWV0YWRhdGEoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmNsb3NlTWV0YWRhdGEoKSlcbiAgfVxuXG4gIHNldENoYXJ0Q29uZmlnKGNoYXJ0Q29uZmlnOiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldENoYXJ0Q29uZmlnKHsgY2hhcnRDb25maWcgfSkpXG4gIH1cblxuICAvKipcbiAgICogVXNlckZlZWRiYWNrc1xuICAgKi9cbiAgYWRkVXNlckZlZWRiYWNrKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9KSlcbiAgfVxuXG4gIGxvYWRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3MoeyBkYXRhc2V0VXVpZCB9KSlcbiAgfVxufVxuIl19
@@ -1,6 +1,8 @@
1
1
  export const ROUTER_STATE_KEY = 'router';
2
2
  export const ROUTER_ROUTE_SEARCH = 'search';
3
3
  export const ROUTER_ROUTE_DATASET = 'dataset';
4
+ export const ROUTER_ROUTE_SERVICE = 'service';
5
+ export const ROUTER_ROUTE_REUSE = 'reuse';
4
6
  export const ROUTER_ROUTE_ORGANIZATION = 'organization';
5
7
  export var ROUTE_PARAMS;
6
8
  (function (ROUTE_PARAMS) {
@@ -8,4 +10,4 @@ export var ROUTE_PARAMS;
8
10
  ROUTE_PARAMS["PUBLISHER"] = "publisher";
9
11
  ROUTE_PARAMS["PAGE"] = "_page";
10
12
  })(ROUTE_PARAMS || (ROUTE_PARAMS = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JvdXRlci9zcmMvbGliL2RlZmF1bHQvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUE7QUFDM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FBQTtBQUV2RCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3RCLDhCQUFjLENBQUE7SUFDZCx1Q0FBdUIsQ0FBQTtJQUN2Qiw4QkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuXG5leHBvcnQgY29uc3QgUk9VVEVSX1NUQVRFX0tFWSA9ICdyb3V0ZXInXG5cbmV4cG9ydCBjb25zdCBST1VURVJfUk9VVEVfU0VBUkNIID0gJ3NlYXJjaCdcbmV4cG9ydCBjb25zdCBST1VURVJfUk9VVEVfREFUQVNFVCA9ICdkYXRhc2V0J1xuZXhwb3J0IGNvbnN0IFJPVVRFUl9ST1VURV9PUkdBTklaQVRJT04gPSAnb3JnYW5pemF0aW9uJ1xuXG5leHBvcnQgZW51bSBST1VURV9QQVJBTVMge1xuICBTT1JUID0gJ19zb3J0JyxcbiAgUFVCTElTSEVSID0gJ3B1Ymxpc2hlcicsIC8vIEZJWE1FOiB0aGlzIHNob3VsZG4ndCBiZSBoZXJlIGFzIGl0IGlzIGEgc2VhcmNoIGZpZWxkXG4gIFBBR0UgPSAnX3BhZ2UnLFxufVxuZXhwb3J0IHR5cGUgU2VhcmNoUm91dGVQYXJhbXMgPSBSZWNvcmQ8XG4gIHN0cmluZyxcbiAgc3RyaW5nIHwgc3RyaW5nW10gfCBudW1iZXIgfCBEYXRlUmFuZ2Vcbj5cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JvdXRlci9zcmMvbGliL2RlZmF1bHQvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUE7QUFDM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQTtBQUM3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUE7QUFDekMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUFBO0FBRXZELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsOEJBQWMsQ0FBQTtJQUNkLHVDQUF1QixDQUFBO0lBQ3ZCLDhCQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5cbmV4cG9ydCBjb25zdCBST1VURVJfU1RBVEVfS0VZID0gJ3JvdXRlcidcblxuZXhwb3J0IGNvbnN0IFJPVVRFUl9ST1VURV9TRUFSQ0ggPSAnc2VhcmNoJ1xuZXhwb3J0IGNvbnN0IFJPVVRFUl9ST1VURV9EQVRBU0VUID0gJ2RhdGFzZXQnXG5leHBvcnQgY29uc3QgUk9VVEVSX1JPVVRFX1NFUlZJQ0UgPSAnc2VydmljZSdcbmV4cG9ydCBjb25zdCBST1VURVJfUk9VVEVfUkVVU0UgPSAncmV1c2UnXG5leHBvcnQgY29uc3QgUk9VVEVSX1JPVVRFX09SR0FOSVpBVElPTiA9ICdvcmdhbml6YXRpb24nXG5cbmV4cG9ydCBlbnVtIFJPVVRFX1BBUkFNUyB7XG4gIFNPUlQgPSAnX3NvcnQnLFxuICBQVUJMSVNIRVIgPSAncHVibGlzaGVyJywgLy8gRklYTUU6IHRoaXMgc2hvdWxkbid0IGJlIGhlcmUgYXMgaXQgaXMgYSBzZWFyY2ggZmllbGRcbiAgUEFHRSA9ICdfcGFnZScsXG59XG5leHBvcnQgdHlwZSBTZWFyY2hSb3V0ZVBhcmFtcyA9IFJlY29yZDxcbiAgc3RyaW5nLFxuICBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bWJlciB8IERhdGVSYW5nZVxuPlxuIl19
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const ROUTER_CONFIG = new InjectionToken('router.config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yb3V0ZXIvc3JjL2xpYi9kZWZhdWx0L3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQVNwRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQzdDLGVBQWUsQ0FDaEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJDb25maWdNb2RlbCB7XG4gIHNlYXJjaFN0YXRlSWQ6IHN0cmluZ1xuICBzZWFyY2hSb3V0ZUNvbXBvbmVudDogVHlwZTxhbnk+XG4gIHJlY29yZFJvdXRlQ29tcG9uZW50OiBUeXBlPGFueT5cbiAgb3JnYW5pemF0aW9uUm91dGVDb21wb25lbnQ6IFR5cGU8YW55PlxufVxuXG5leHBvcnQgY29uc3QgUk9VVEVSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSb3V0ZXJDb25maWdNb2RlbD4oXG4gICdyb3V0ZXIuY29uZmlnJ1xuKVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yb3V0ZXIvc3JjL2xpYi9kZWZhdWx0L3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQVdwRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQzdDLGVBQWUsQ0FDaEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJDb25maWdNb2RlbCB7XG4gIHNlYXJjaFN0YXRlSWQ6IHN0cmluZ1xuICBzZWFyY2hSb3V0ZUNvbXBvbmVudDogVHlwZTxhbnk+XG4gIHJlY29yZFJvdXRlQ29tcG9uZW50OiBUeXBlPGFueT5cbiAgc2VydmljZVJvdXRlQ29tcG9uZW50OiBUeXBlPGFueT5cbiAgcmV1c2VSb3V0ZUNvbXBvbmVudDogVHlwZTxhbnk+XG4gIG9yZ2FuaXphdGlvblJvdXRlQ29tcG9uZW50OiBUeXBlPGFueT5cbn1cblxuZXhwb3J0IGNvbnN0IFJPVVRFUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Um91dGVyQ29uZmlnTW9kZWw+KFxuICAncm91dGVyLmNvbmZpZydcbilcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, } from '.';
2
+ import { ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_ROUTE_REUSE, } from '.';
3
3
  import { Router } from '@angular/router';
4
4
  import { ROUTER_CONFIG } from './router.config';
5
5
  import * as i0 from "@angular/core";
@@ -26,6 +26,14 @@ export class RouterService {
26
26
  path: `${ROUTER_ROUTE_DATASET}/:metadataUuid`,
27
27
  component: this.routerConfig.recordRouteComponent,
28
28
  },
29
+ {
30
+ path: `${ROUTER_ROUTE_SERVICE}/:metadataUuid`,
31
+ component: this.routerConfig.recordRouteComponent,
32
+ },
33
+ {
34
+ path: `${ROUTER_ROUTE_REUSE}/:metadataUuid`,
35
+ component: this.routerConfig.recordRouteComponent,
36
+ },
29
37
  {
30
38
  path: `${ROUTER_ROUTE_ORGANIZATION}/:name`,
31
39
  component: this.routerConfig.organizationRouteComponent,
@@ -50,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
50
58
  type: Inject,
51
59
  args: [ROUTER_CONFIG]
52
60
  }] }, { type: i1.Router }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSxHQUFHLENBQUE7QUFDVixPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBS2xFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21DLFlBQStCLEVBQ3hELE1BQWM7UUFEVyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDeEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTztZQUNMLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxtQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDdEU7Z0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFO29CQUNKLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsZ0JBQWdCO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyx5QkFBeUIsUUFBUTtnQkFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCO2FBQ3hEO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxtQkFBbUIsQ0FBQTtJQUM1QixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8seUJBQXlCLENBQUE7SUFDbEMsQ0FBQzsrR0FyQ1UsYUFBYSxrQkFFZCxhQUFhO21IQUZaLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFJPVVRFUl9ST1VURV9EQVRBU0VULFxuICBST1VURVJfUk9VVEVfT1JHQU5JWkFUSU9OLFxuICBST1VURVJfUk9VVEVfU0VBUkNILFxufSBmcm9tICcuJ1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBST1VURVJfQ09ORklHLCBSb3V0ZXJDb25maWdNb2RlbCB9IGZyb20gJy4vcm91dGVyLmNvbmZpZydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFJPVVRFUl9DT05GSUcpIHByb3RlY3RlZCByb3V0ZXJDb25maWc6IFJvdXRlckNvbmZpZ01vZGVsLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGluaXRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZXIucmVzZXRDb25maWcodGhpcy5idWlsZFJvdXRlcygpKVxuICB9XG5cbiAgYnVpbGRSb3V0ZXMoKTogUm91dGVzIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBwYXRoOiAnJywgcmVkaXJlY3RUbzogYC8ke1JPVVRFUl9ST1VURV9TRUFSQ0h9YCwgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogUk9VVEVSX1JPVVRFX1NFQVJDSCxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHNob3VsZERldGFjaDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnJvdXRlckNvbmZpZy5zZWFyY2hSb3V0ZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke1JPVVRFUl9ST1VURV9EQVRBU0VUfS86bWV0YWRhdGFVdWlkYCxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnJvdXRlckNvbmZpZy5yZWNvcmRSb3V0ZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke1JPVVRFUl9ST1VURV9PUkdBTklaQVRJT059LzpuYW1lYCxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnJvdXRlckNvbmZpZy5vcmdhbml6YXRpb25Sb3V0ZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgZ2V0U2VhcmNoUm91dGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUk9VVEVSX1JPVVRFX1NFQVJDSFxuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uUGFnZVJvdXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFJPVVRFUl9ST1VURV9PUkdBTklaQVRJT05cbiAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLEdBQUcsQ0FBQTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLGlCQUFpQixDQUFBOzs7QUFLbEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDbUMsWUFBK0IsRUFDeEQsTUFBYztRQURXLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUN4RCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPO1lBQ0wsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLG1CQUFtQixFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtZQUN0RTtnQkFDRSxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLElBQUk7aUJBQ25CO2dCQUNELFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQjthQUNsRDtZQUNEO2dCQUNFLElBQUksRUFBRSxHQUFHLG9CQUFvQixnQkFBZ0I7Z0JBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQjthQUNsRDtZQUNEO2dCQUNFLElBQUksRUFBRSxHQUFHLG9CQUFvQixnQkFBZ0I7Z0JBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQjthQUNsRDtZQUNEO2dCQUNFLElBQUksRUFBRSxHQUFHLGtCQUFrQixnQkFBZ0I7Z0JBQzNDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQjthQUNsRDtZQUNEO2dCQUNFLElBQUksRUFBRSxHQUFHLHlCQUF5QixRQUFRO2dCQUMxQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEI7YUFDeEQ7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLG1CQUFtQixDQUFBO0lBQzVCLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyx5QkFBeUIsQ0FBQTtJQUNsQyxDQUFDOytHQTdDVSxhQUFhLGtCQUVkLGFBQWE7bUhBRlosYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgUk9VVEVSX1JPVVRFX0RBVEFTRVQsXG4gIFJPVVRFUl9ST1VURV9PUkdBTklaQVRJT04sXG4gIFJPVVRFUl9ST1VURV9TRUFSQ0gsXG4gIFJPVVRFUl9ST1VURV9TRVJWSUNFLFxuICBST1VURVJfUk9VVEVfUkVVU0UsXG59IGZyb20gJy4nXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFJPVVRFUl9DT05GSUcsIFJvdXRlckNvbmZpZ01vZGVsIH0gZnJvbSAnLi9yb3V0ZXIuY29uZmlnJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUk9VVEVSX0NPTkZJRykgcHJvdGVjdGVkIHJvdXRlckNvbmZpZzogUm91dGVyQ29uZmlnTW9kZWwsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgaW5pdFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlci5yZXNldENvbmZpZyh0aGlzLmJ1aWxkUm91dGVzKCkpXG4gIH1cblxuICBidWlsZFJvdXRlcygpOiBSb3V0ZXMge1xuICAgIHJldHVybiBbXG4gICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiBgLyR7Uk9VVEVSX1JPVVRFX1NFQVJDSH1gLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBST1VURVJfUk9VVEVfU0VBUkNILFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgc2hvdWxkRGV0YWNoOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7Uk9VVEVSX1JPVVRFX0RBVEFTRVR9LzptZXRhZGF0YVV1aWRgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLnJlY29yZFJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7Uk9VVEVSX1JPVVRFX1NFUlZJQ0V9LzptZXRhZGF0YVV1aWRgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLnJlY29yZFJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7Uk9VVEVSX1JPVVRFX1JFVVNFfS86bWV0YWRhdGFVdWlkYCxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnJvdXRlckNvbmZpZy5yZWNvcmRSb3V0ZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke1JPVVRFUl9ST1VURV9PUkdBTklaQVRJT059LzpuYW1lYCxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnJvdXRlckNvbmZpZy5vcmdhbml6YXRpb25Sb3V0ZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgZ2V0U2VhcmNoUm91dGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUk9VVEVSX1JPVVRFX1NFQVJDSFxuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uUGFnZVJvdXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFJPVVRFUl9ST1VURV9PUkdBTklaQVRJT05cbiAgfVxufVxuIl19