geonetwork-ui 2.7.0-dev.d500b08cc → 2.7.0-dev.d51ff2ddf

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 (162) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
  4. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +47 -3
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +32 -4
  6. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +5 -1
  8. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  9. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +10 -2
  10. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
  11. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  12. package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +80 -0
  13. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
  14. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +1 -3
  15. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +3 -5
  16. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +31 -12
  17. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +76 -27
  18. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +4 -2
  19. package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +5 -2
  20. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +4 -3
  21. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +5 -4
  22. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +5 -4
  23. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +4 -4
  24. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +21 -43
  25. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +5 -4
  26. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +2 -2
  27. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
  28. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  29. package/esm2022/libs/util/shared/src/index.mjs +2 -2
  30. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -2
  31. package/esm2022/libs/util/shared/src/lib/record/index.mjs +3 -0
  32. package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +45 -0
  33. package/esm2022/libs/util/shared/src/lib/record/record.util.mjs +56 -0
  34. package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +58 -1
  35. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  36. package/esm2022/libs/util/shared/src/lib/utils/mobile-screen.mjs +9 -0
  37. package/esm2022/translations/de.json +9 -1
  38. package/esm2022/translations/en.json +9 -1
  39. package/esm2022/translations/es.json +9 -1
  40. package/esm2022/translations/fr.json +10 -2
  41. package/esm2022/translations/it.json +9 -1
  42. package/esm2022/translations/nl.json +9 -1
  43. package/esm2022/translations/pt.json +9 -1
  44. package/esm2022/translations/sk.json +9 -1
  45. package/fesm2022/geonetwork-ui.mjs +2725 -2331
  46. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  47. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  49. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  50. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  51. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  52. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +3 -0
  53. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  54. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -0
  55. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  56. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  57. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
  58. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  59. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +3 -2
  60. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  61. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  62. package/libs/feature/editor/src/index.d.ts +1 -0
  63. package/libs/feature/editor/src/index.d.ts.map +1 -1
  64. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts +19 -0
  65. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -0
  66. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  67. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +2 -2
  68. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  69. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +8 -4
  70. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  71. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +12 -5
  72. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  73. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  74. package/libs/feature/search/src/lib/state/reducer.d.ts.map +1 -1
  75. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  76. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -0
  77. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  78. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +1 -0
  79. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -1
  80. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  81. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +7 -6
  82. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  83. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +1 -0
  84. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
  85. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  86. package/libs/util/app-config/src/lib/model.d.ts +2 -0
  87. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  88. package/libs/util/shared/src/index.d.ts +1 -1
  89. package/libs/util/shared/src/index.d.ts.map +1 -1
  90. package/libs/util/shared/src/lib/links/link-utils.d.ts +2 -1
  91. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  92. package/libs/util/shared/src/lib/record/index.d.ts +3 -0
  93. package/libs/util/shared/src/lib/record/index.d.ts.map +1 -0
  94. package/libs/util/shared/src/lib/record/quality-score.util.d.ts +13 -0
  95. package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -0
  96. package/libs/util/shared/src/lib/record/record.util.d.ts +3 -0
  97. package/libs/util/shared/src/lib/record/record.util.d.ts.map +1 -0
  98. package/libs/util/shared/src/lib/utils/geojson.d.ts +7 -2
  99. package/libs/util/shared/src/lib/utils/geojson.d.ts.map +1 -1
  100. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  101. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  102. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts +2 -0
  103. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts.map +1 -0
  104. package/package.json +1 -1
  105. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
  106. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
  107. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -0
  108. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
  109. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +50 -3
  110. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +38 -4
  111. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -0
  112. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
  113. package/src/libs/common/domain/src/lib/platform.service.interface.ts +2 -0
  114. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +0 -3
  115. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +10 -1
  116. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
  117. package/src/libs/feature/editor/src/index.ts +1 -0
  118. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.css +0 -0
  119. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +37 -0
  120. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +90 -0
  121. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +2 -1
  122. package/src/libs/feature/editor/src/lib/fields.config.ts +0 -2
  123. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -8
  124. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
  125. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +34 -15
  126. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +5 -2
  127. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +70 -23
  128. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -1
  129. package/src/libs/feature/search/src/lib/state/reducer.ts +4 -1
  130. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +6 -1
  131. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +12 -11
  132. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -1
  133. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +4 -1
  134. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +7 -1
  135. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +1 -0
  136. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +5 -1
  137. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +1 -0
  138. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +21 -54
  139. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +7 -1
  140. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +3 -1
  141. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +1 -1
  142. package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
  143. package/src/libs/util/app-config/src/lib/model.ts +2 -0
  144. package/src/libs/util/shared/src/index.ts +1 -1
  145. package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -1
  146. package/src/libs/util/shared/src/lib/record/index.ts +2 -0
  147. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +69 -0
  148. package/src/libs/util/shared/src/lib/{record.util.ts → record/record.util.ts} +1 -1
  149. package/src/libs/util/shared/src/lib/utils/geojson.ts +72 -2
  150. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  151. package/src/libs/util/shared/src/lib/utils/mobile-screen.ts +14 -0
  152. package/translations/de.json +9 -1
  153. package/translations/en.json +9 -1
  154. package/translations/es.json +9 -1
  155. package/translations/fr.json +10 -2
  156. package/translations/it.json +9 -1
  157. package/translations/nl.json +9 -1
  158. package/translations/pt.json +9 -1
  159. package/translations/sk.json +9 -1
  160. package/esm2022/libs/util/shared/src/lib/record.util.mjs +0 -56
  161. package/libs/util/shared/src/lib/record.util.d.ts +0 -3
  162. package/libs/util/shared/src/lib/record.util.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
2
  import { MetadataQualityItemComponent, } from '../metadata-quality-item/metadata-quality-item.component';
3
3
  import { PopoverComponent, ProgressBarComponent, } from '../../../../../../libs/ui/widgets/src';
4
+ import { getQualityValidators, getAllKeysValidator, } from '../../../../../../libs/util/shared/src';
4
5
  import { CommonModule } from '@angular/common';
5
6
  import { TranslateDirective } from '@ngx-translate/core';
6
7
  import { NgIcon, provideIcons, provideNgIconsConfig } from '@ng-icons/core';
@@ -10,58 +11,29 @@ import * as i1 from "@angular/common";
10
11
  export class MetadataQualityComponent {
11
12
  constructor() {
12
13
  this.smaller = false;
14
+ this.popoverDisplay = true;
15
+ this.forceComputeScore = false; // Instead of returning es' quality score
13
16
  this.items = [];
14
- this.COMMON_CHECKS = {
15
- title: (metadata) => !!metadata?.title,
16
- description: (metadata) => !!metadata?.abstract,
17
- keywords: (metadata) => (metadata?.keywords?.length ?? 0) > 0,
18
- legalConstraints: (metadata) => (metadata?.legalConstraints?.length ?? 0) > 0,
19
- contact: (metadata) => !!metadata?.contacts?.[0]?.email,
20
- };
21
- this.SPECIFIC_CHECKS = {
22
- dataset: {
23
- updateFrequency: (metadata) => !!metadata?.updateFrequency,
24
- topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
25
- organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
26
- },
27
- service: {
28
- capabilities: (metadata) => (metadata?.onlineResources ?? []).some((resource) => this.hasGetCapabilities(resource?.url?.href ?? '')),
29
- },
30
- reuse: {
31
- topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
32
- organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
33
- source: (metadata) => !!metadata?.extras?.sourcesIdentifiers,
34
- },
35
- };
36
17
  }
37
18
  get qualityScore() {
38
- const qualityScore = this.metadata?.extras?.qualityScore;
19
+ const qualityScore = !this.forceComputeScore
20
+ ? this.metadata?.extras?.qualityScore
21
+ : this.computedQualityScore;
39
22
  return typeof qualityScore === 'number'
40
23
  ? qualityScore
41
- : this.calculatedQualityScore;
24
+ : this.computedQualityScore;
42
25
  }
43
- get calculatedQualityScore() {
26
+ get computedQualityScore() {
44
27
  return Math.round((this.items.filter(({ value }) => value).length * 100) / this.items.length);
45
28
  }
46
- add(name, value) {
47
- if (this.metadataQualityDisplay?.[name] !== false) {
48
- this.items.push({ name, value });
49
- }
50
- }
51
29
  hasGetCapabilities(url) {
52
30
  return url.toLowerCase().includes('capabilities');
53
31
  }
54
32
  initialize() {
55
- this.items = [];
56
- Object.entries(this.COMMON_CHECKS).forEach(([name, check]) => {
57
- this.add(name, check(this.metadata));
58
- });
59
- const datasetType = this.metadata?.kind;
60
- if (datasetType && this.SPECIFIC_CHECKS[datasetType]) {
61
- Object.entries(this.SPECIFIC_CHECKS[datasetType]).forEach(([name, check]) => {
62
- this.add(name, check(this.metadata));
63
- });
33
+ if (!this.propsToValidate) {
34
+ this.propsToValidate = getAllKeysValidator();
64
35
  }
36
+ this.items = getQualityValidators(this.metadata, this.propsToValidate).map(({ name, validator }) => ({ name, value: validator() }));
65
37
  }
66
38
  ngOnChanges(changes) {
67
39
  if (changes['metadata'] || changes['metadataQualityDisplay']) {
@@ -69,7 +41,7 @@ export class MetadataQualityComponent {
69
41
  }
70
42
  }
71
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, providers: [
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay", popoverDisplay: "popoverDisplay", propsToValidate: "propsToValidate", forceComputeScore: "forceComputeScore" }, providers: [
73
45
  provideIcons({
74
46
  matInfoOutline,
75
47
  }),
@@ -77,7 +49,7 @@ export class MetadataQualityComponent {
77
49
  size: '1.2em',
78
50
  strokeWidth: '1.5px',
79
51
  }),
80
- ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
53
  }
82
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
83
55
  type: Component,
@@ -96,12 +68,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
96
68
  size: '1.2em',
97
69
  strokeWidth: '1.5px',
98
70
  }),
99
- ], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
71
+ ], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
100
72
  }], propDecorators: { metadata: [{
101
73
  type: Input
102
74
  }], smaller: [{
103
75
  type: Input
104
76
  }], metadataQualityDisplay: [{
105
77
  type: Input
78
+ }], popoverDisplay: [{
79
+ type: Input
80
+ }], propsToValidate: [{
81
+ type: Input
82
+ }], forceComputeScore: [{
83
+ type: Input
106
84
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7O0FBOEJqRSxNQUFNLE9BQU8sd0JBQXdCO0lBeEJyQztRQTBCVyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBR3hCLFVBQUssR0FBMEIsRUFBRSxDQUFBO1FBd0JoQixrQkFBYSxHQUFrQjtZQUM5QyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSztZQUN0QyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFB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QUksWUFBWSw4VkFDWixnQkFBZ0Isd0ZBQ2hCLG9CQUFvQiwwRkFDcEIsNEJBQTRCLG1HQUM1QixrQkFBa0Isa0hBQ2xCLE1BQU07OzRGQVlHLHdCQUF3QjtrQkF4QnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLGtCQUFrQjt3QkFDbEIsTUFBTTtxQkFDUCxhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxjQUFjO3lCQUNmLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPOzRCQUNiLFdBQVcsRUFBRSxPQUFPO3lCQUNyQixDQUFDO3FCQUNIOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNZXRhZGF0YVF1YWxpdHlJdGVtLFxuICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxufSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdEluZm9PdXRsaW5lIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5cbnR5cGUgUXVhbGl0eUNoZWNrcyA9IHtcbiAgW2tleTogc3RyaW5nXTogKG1ldGFkYXRhOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KSA9PiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLXF1YWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIE5nSWNvbixcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIG1hdEluZm9PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgICBzdHJva2VXaWR0aDogJzEuNXB4JyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFRdWFsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbWV0YWRhdGE6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cbiAgQElucHV0KCkgc21hbGxlciA9IGZhbHNlXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cblxuICBpdGVtczogTWV0YWRhdGFRdWFsaXR5SXRlbVtdID0gW11cblxuICBnZXQgcXVhbGl0eVNjb3JlKCkge1xuICAgIGNvbnN0IHF1YWxpdHlTY29yZSA9IHRoaXMubWV0YWRhdGE/LmV4dHJhcz8ucXVhbGl0eVNjb3JlXG4gICAgcmV0dXJuIHR5cGVvZiBxdWFsaXR5U2NvcmUgPT09ICdudW1iZXInXG4gICAgICA/IHF1YWxpdHlTY29yZVxuICAgICAgOiB0aGlzLmNhbGN1bGF0ZWRRdWFsaXR5U2NvcmVcbiAgfVxuXG4gIGdldCBjYWxjdWxhdGVkUXVhbGl0eVNjb3JlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICAodGhpcy5pdGVtcy5maWx0ZXIoKHsgdmFsdWUgfSkgPT4gdmFsdWUpLmxlbmd0aCAqIDEwMCkgLyB0aGlzLml0ZW1zLmxlbmd0aFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYWRkKG5hbWU6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5tZXRhZGF0YVF1YWxpdHlEaXNwbGF5Py5bbmFtZV0gIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLml0ZW1zLnB1c2goeyBuYW1lLCB2YWx1ZSB9KVxuICAgIH1cbiAgfVxuICBoYXNHZXRDYXBhYmlsaXRpZXModXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXJsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2NhcGFiaWxpdGllcycpXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IENPTU1PTl9DSEVDS1M6IFF1YWxpdHlDaGVja3MgPSB7XG4gICAgdGl0bGU6IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8udGl0bGUsXG4gICAgZGVzY3JpcHRpb246IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8uYWJzdHJhY3QsXG4gICAga2V5d29yZHM6IChtZXRhZGF0YSkgPT4gKG1ldGFkYXRhPy5rZXl3b3Jkcz8ubGVuZ3RoID8/IDApID4gMCxcbiAgICBsZWdhbENvbnN0cmFpbnRzOiAobWV0YWRhdGEpID0+XG4gICAgICAobWV0YWRhdGE/LmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCA/PyAwKSA+IDAsXG4gICAgY29udGFjdDogKG1ldGFkYXRhKSA9PiAhIW1ldGFkYXRhPy5jb250YWN0cz8uWzBdPy5lbWFpbCxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgU1BFQ0lGSUNfQ0hFQ0tTOiBSZWNvcmQ8c3RyaW5nLCBRdWFsaXR5Q2hlY2tzPiA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICB1cGRhdGVGcmVxdWVuY3k6IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5LFxuICAgICAgdG9waWM6IChtZXRhZGF0YSkgPT4gKG1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA/PyAwKSA+IDAsXG4gICAgICBvcmdhbmlzYXRpb246IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8uY29udGFjdHM/LlswXT8ub3JnYW5pemF0aW9uPy5uYW1lLFxuICAgIH0sXG4gICAgc2VydmljZToge1xuICAgICAgY2FwYWJpbGl0aWVzOiAobWV0YWRhdGEpID0+XG4gICAgICAgIChtZXRhZGF0YT8ub25saW5lUmVzb3VyY2VzID8/IFtdKS5zb21lKChyZXNvdXJjZSkgPT5cbiAgICAgICAgICB0aGlzLmhhc0dldENhcGFiaWxpdGllcyhyZXNvdXJjZT8udXJsPy5ocmVmID8/ICcnKVxuICAgICAgICApLFxuICAgIH0sXG4gICAgcmV1c2U6IHtcbiAgICAgIHRvcGljOiAobWV0YWRhdGEpID0+IChtZXRhZGF0YT8udG9waWNzPy5sZW5ndGggPz8gMCkgPiAwLFxuICAgICAgb3JnYW5pc2F0aW9uOiAobWV0YWRhdGEpID0+ICEhbWV0YWRhdGE/LmNvbnRhY3RzPy5bMF0/Lm9yZ2FuaXphdGlvbj8ubmFtZSxcbiAgICAgIHNvdXJjZTogKG1ldGFkYXRhKSA9PiAhIW1ldGFkYXRhPy5leHRyYXM/LnNvdXJjZXNJZGVudGlmaWVycyxcbiAgICB9LFxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLml0ZW1zID0gW11cblxuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuQ09NTU9OX0NIRUNLUykuZm9yRWFjaCgoW25hbWUsIGNoZWNrXSkgPT4ge1xuICAgICAgdGhpcy5hZGQobmFtZSwgY2hlY2sodGhpcy5tZXRhZGF0YSkpXG4gICAgfSlcblxuICAgIGNvbnN0IGRhdGFzZXRUeXBlID0gdGhpcy5tZXRhZGF0YT8ua2luZFxuICAgIGlmIChkYXRhc2V0VHlwZSAmJiB0aGlzLlNQRUNJRklDX0NIRUNLU1tkYXRhc2V0VHlwZV0pIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuU1BFQ0lGSUNfQ0hFQ0tTW2RhdGFzZXRUeXBlXSkuZm9yRWFjaChcbiAgICAgICAgKFtuYW1lLCBjaGVja10pID0+IHtcbiAgICAgICAgICB0aGlzLmFkZChuYW1lLCBjaGVjayh0aGlzLm1ldGFkYXRhKSlcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbWV0YWRhdGEnXSB8fCBjaGFuZ2VzWydtZXRhZGF0YVF1YWxpdHlEaXNwbGF5J10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWV0YWRhdGEtcXVhbGl0eSBtaW4tdy0wXCJcbiAgW25nQ2xhc3NdPVwieyAndGV4dC14cyBsZWFkaW5nLVs4cHhdIG0taC1bMTIwcHhdJzogc21hbGxlciB9XCJcbj5cbiAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW3ZhbHVlXT1cInF1YWxpdHlTY29yZVwiXG4gICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgY2xhc3M9XCJmbGV4LWdyb3dcIlxuICA+PC9nbi11aS1wcm9ncmVzcy1iYXI+XG4gIDxnbi11aS1wb3BvdmVyXG4gICAgW2NvbnRlbnRdPVwicG9wb3Zlckl0ZW1zXCJcbiAgICB0aGVtZT1cImxpZ2h0LWJvcmRlclwiXG4gICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gID5cbiAgICA8bmctaWNvblxuICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmstMCB0ZXh0LWdyYXktNjAwXCJcbiAgICA+PC9uZy1pY29uPlxuICA8L2duLXVpLXBvcG92ZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBmb250LWJvbGRcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuZGV0YWlsczwvZGl2PlxuICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5LWl0ZW1cbiAgICAgICpuZ0Zvcj1cImxldCBlIG9mIGl0ZW1zXCJcbiAgICAgIFtuYW1lXT1cImUubmFtZVwiXG4gICAgICBbdmFsdWVdPVwiZS52YWx1ZVwiXG4gICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBRXBCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBOzs7QUEwQmpFLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFFZixtQkFBYyxHQUFHLElBQUksQ0FBQTtRQUVyQixzQkFBaUIsR0FBRyxLQUFLLENBQUEsQ0FBQyx5Q0FBeUM7UUFFNUUsVUFBSyxHQUEwQixFQUFFLENBQUE7S0FxQ2xDO0lBbkNDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFBO1FBRTdCLE9BQU8sT0FBTyxZQUFZLEtBQUssUUFBUTtZQUNyQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMzRSxDQUFBO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixFQUFFLENBQUE7UUFDOUMsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUN4RSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3hELENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDOytHQTVDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwyUkFWeEI7WUFDVCxZQUFZLENBQUM7Z0JBQ1gsY0FBYzthQUNmLENBQUM7WUFDRixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsV0FBVyxFQUFFLE9BQU87YUFDckIsQ0FBQztTQUNILCtDQ2hESCx1NkJBaUNBLDJIREFJLFlBQVksOFZBQ1osZ0JBQWdCLHdGQUNoQixvQkFBb0IsMEZBQ3BCLDRCQUE0QixtR0FDNUIsa0JBQWtCLGtIQUNsQixNQUFNOzs0RkFZRyx3QkFBd0I7a0JBeEJwQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1QixrQkFBa0I7d0JBQ2xCLE1BQU07cUJBQ1AsYUFDVTt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsY0FBYzt5QkFDZixDQUFDO3dCQUNGLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsT0FBTzs0QkFDYixXQUFXLEVBQUUsT0FBTzt5QkFDckIsQ0FBQztxQkFDSDs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNZXRhZGF0YVF1YWxpdHlJdGVtLFxuICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxufSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7XG4gIGdldFF1YWxpdHlWYWxpZGF0b3JzLFxuICBnZXRBbGxLZXlzVmFsaWRhdG9yLFxuICB0eXBlIFZhbGlkYXRvck1hcHBlcktleXMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zLCBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0SW5mb091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICAgTmdJY29uLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0SW5mb091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAnMS41cHgnLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZFxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuICBASW5wdXQoKSBwb3BvdmVyRGlzcGxheSA9IHRydWVcbiAgQElucHV0KCkgcHJvcHNUb1ZhbGlkYXRlPzogVmFsaWRhdG9yTWFwcGVyS2V5c1tdXG4gIEBJbnB1dCgpIGZvcmNlQ29tcHV0ZVNjb3JlID0gZmFsc2UgLy8gSW5zdGVhZCBvZiByZXR1cm5pbmcgZXMnIHF1YWxpdHkgc2NvcmVcblxuICBpdGVtczogTWV0YWRhdGFRdWFsaXR5SXRlbVtdID0gW11cblxuICBnZXQgcXVhbGl0eVNjb3JlKCkge1xuICAgIGNvbnN0IHF1YWxpdHlTY29yZSA9ICF0aGlzLmZvcmNlQ29tcHV0ZVNjb3JlXG4gICAgICA/IHRoaXMubWV0YWRhdGE/LmV4dHJhcz8ucXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY29tcHV0ZWRRdWFsaXR5U2NvcmVcblxuICAgIHJldHVybiB0eXBlb2YgcXVhbGl0eVNjb3JlID09PSAnbnVtYmVyJ1xuICAgICAgPyBxdWFsaXR5U2NvcmVcbiAgICAgIDogdGhpcy5jb21wdXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNvbXB1dGVkUXVhbGl0eVNjb3JlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICAodGhpcy5pdGVtcy5maWx0ZXIoKHsgdmFsdWUgfSkgPT4gdmFsdWUpLmxlbmd0aCAqIDEwMCkgLyB0aGlzLml0ZW1zLmxlbmd0aFxuICAgIClcbiAgfVxuXG4gIGhhc0dldENhcGFiaWxpdGllcyh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1cmwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnY2FwYWJpbGl0aWVzJylcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzVG9WYWxpZGF0ZSkge1xuICAgICAgdGhpcy5wcm9wc1RvVmFsaWRhdGUgPSBnZXRBbGxLZXlzVmFsaWRhdG9yKClcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zID0gZ2V0UXVhbGl0eVZhbGlkYXRvcnModGhpcy5tZXRhZGF0YSwgdGhpcy5wcm9wc1RvVmFsaWRhdGUpLm1hcChcbiAgICAgICh7IG5hbWUsIHZhbGlkYXRvciB9KSA9PiAoeyBuYW1lLCB2YWx1ZTogdmFsaWRhdG9yKCkgfSlcbiAgICApXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ21ldGFkYXRhJ10gfHwgY2hhbmdlc1snbWV0YWRhdGFRdWFsaXR5RGlzcGxheSddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemUoKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1ldGFkYXRhLXF1YWxpdHkgbWluLXctMFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQteHMgbGVhZGluZy1bOHB4XSBtLWgtWzEyMHB4XSc6IHNtYWxsZXIgfVwiXG4+XG4gIDxnbi11aS1wcm9ncmVzcy1iYXJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIFt2YWx1ZV09XCJxdWFsaXR5U2NvcmVcIlxuICAgIFt0eXBlXT1cIidsaWdodCdcIlxuICAgIGNsYXNzPVwiZmxleC1ncm93XCJcbiAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICA8Z24tdWktcG9wb3ZlclxuICAgICpuZ0lmPVwicG9wb3ZlckRpc3BsYXlcIlxuICAgIFtjb250ZW50XT1cInBvcG92ZXJJdGVtc1wiXG4gICAgdGhlbWU9XCJsaWdodC1ib3JkZXJcIlxuICAgIFtjbGFzc109XCJzbWFsbGVyID8gJ21sLTInIDogJ21sLTIgbXQtMSdcIlxuICA+XG4gICAgPG5nLWljb25cbiAgICAgIG5hbWU9XCJtYXRJbmZvT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImZsZXgtc2hyaW5rLTAgdGV4dC1ncmF5LTYwMFwiXG4gICAgPjwvbmctaWNvbj5cbiAgPC9nbi11aS1wb3BvdmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -5,13 +5,14 @@ import { NgIcon, provideIcons, provideNgIconsConfig } from '@ng-icons/core';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { of } from 'rxjs';
7
7
  import { debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';
8
- import { createFuzzyFilter } from '../../../../../../libs/util/shared/src';
8
+ import { createFuzzyFilter, getIsMobile } from '../../../../../../libs/util/shared/src';
9
9
  import { iconoirSearch } from '@ng-icons/iconoir';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
12
12
  import * as i2 from "@angular/forms";
13
13
  export class SearchFeatureCatalogComponent {
14
14
  constructor() {
15
+ this.isMobile$ = getIsMobile();
15
16
  this.filteredFeatureCatalogChange = new EventEmitter();
16
17
  this.filterAction = (searchTerm) => {
17
18
  of(searchTerm)
@@ -44,7 +45,7 @@ export class SearchFeatureCatalogComponent {
44
45
  return (this.filteredFeatureCatalog?.featureTypes?.reduce((total, featureType) => total + (featureType.attributes?.length || 0), 0) || 0);
45
46
  }
46
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFeatureCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFeatureCatalogComponent, isStandalone: true, selector: "gn-ui-search-feature-catalog", inputs: { featureCatalog: "featureCatalog" }, outputs: { filteredFeatureCatalogChange: "filteredFeatureCatalogChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div class=\"text-sm px-1 ml-auto hidden sm:inline\">\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], viewProviders: [
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFeatureCatalogComponent, isStandalone: true, selector: "gn-ui-search-feature-catalog", inputs: { featureCatalog: "featureCatalog" }, outputs: { filteredFeatureCatalogChange: "filteredFeatureCatalogChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n *ngIf=\"\n (isMobile$ | async) === false || featureCatalog?.featureTypes?.length > 1\n \"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"(isMobile$ | async) === false\"\n class=\"text-sm px-1 ml-auto inline\"\n >\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], viewProviders: [
48
49
  provideIcons({ iconoirSearch }),
49
50
  provideNgIconsConfig({
50
51
  size: '1.5rem',
@@ -64,10 +65,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
64
65
  provideNgIconsConfig({
65
66
  size: '1.5rem',
66
67
  }),
67
- ], template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div class=\"text-sm px-1 ml-auto hidden sm:inline\">\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n" }]
68
+ ], template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n *ngIf=\"\n (isMobile$ | async) === false || featureCatalog?.featureTypes?.length > 1\n \"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"(isMobile$ | async) === false\"\n class=\"text-sm px-1 ml-auto inline\"\n >\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n" }]
68
69
  }], propDecorators: { featureCatalog: [{
69
70
  type: Input
70
71
  }], filteredFeatureCatalogChange: [{
71
72
  type: Output
72
73
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cvc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cvc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQXFCakQsTUFBTSxPQUFPLDZCQUE2QjtJQW5CMUM7UUE4QlksaUNBQTRCLEdBQ3BDLElBQUksWUFBWSxFQUF5QixDQUFBO1FBRzNDLGlCQUFZLEdBQUcsQ0FBQyxVQUFrQixFQUFRLEVBQUU7WUFDMUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDWCxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNQLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUNkLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFBO29CQUNqRCxPQUFPLENBQ0wsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7d0JBQzdCLENBQUMsV0FBVyxDQUFDLFVBQVUsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ2hFLENBQUE7Z0JBQ0gsQ0FBQyxDQUNGLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHO29CQUM1QixHQUFHLElBQUksQ0FBQyxjQUFjO29CQUN0QixZQUFZLEVBQUUsUUFBUTtpQkFDdkIsQ0FBQTtnQkFDRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1lBQ3JFLENBQUMsQ0FBQyxDQUNIO2lCQUNBLFNBQVMsRUFBRSxDQUFBO1FBQ2hCLENBQUMsQ0FBQTtLQWNGO0lBakRDLElBQWEsY0FBYyxDQUFDLEtBQTRCO1FBQ3RELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUE7SUFDckMsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQztJQStCRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FDL0MsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFDckUsQ0FBQyxDQUNGLElBQUksQ0FBQyxDQUNQLENBQUE7SUFDSCxDQUFDOytHQW5EVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixpTkM5QjFDLDQ3Q0EyQ0EseUREMUJJLFlBQVksbUlBQ1osTUFBTSw2R0FDTixrQkFBa0IsNkdBQ2xCLGFBQWEsaURBQ2IsV0FBVyxvbUJBRUU7WUFDYixZQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUMvQixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDO1NBQ0g7OzRGQUVVLDZCQUE2QjtrQkFuQnpDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLE1BQU07d0JBQ04sa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLFdBQVc7cUJBQ1osaUJBQ2M7d0JBQ2IsWUFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7d0JBQy9CLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDO3FCQUNIOzhCQUtZLGNBQWM7c0JBQTFCLEtBQUs7Z0JBUUksNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zLCBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgRGF0YXNldEZlYXR1cmVDYXRhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgY3JlYXRlRnV6enlGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IGljb25vaXJTZWFyY2ggfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc2VhcmNoLWZlYXR1cmUtY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZmVhdHVyZS1jYXRhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTmdJY29uLFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIEZvcm1zTW9kdWxlLFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHsgaWNvbm9pclNlYXJjaCB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41cmVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmVhdHVyZUNhdGFsb2dDb21wb25lbnQge1xuICBwcml2YXRlIF9mZWF0dXJlQ2F0YWxvZzogRGF0YXNldEZlYXR1cmVDYXRhbG9nXG4gIHNlYXJjaFRlcm06IGFueVxuICBASW5wdXQoKSBzZXQgZmVhdHVyZUNhdGFsb2codmFsdWU6IERhdGFzZXRGZWF0dXJlQ2F0YWxvZykge1xuICAgIHRoaXMuX2ZlYXR1cmVDYXRhbG9nID0gdmFsdWVcbiAgICB0aGlzLmZpbHRlcmVkRmVhdHVyZUNhdGFsb2cgPSB2YWx1ZVxuICB9XG4gIGdldCBmZWF0dXJlQ2F0YWxvZygpOiBEYXRhc2V0RmVhdHVyZUNhdGFsb2cge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlQ2F0YWxvZ1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbHRlcmVkRmVhdHVyZUNhdGFsb2dDaGFuZ2UgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldEZlYXR1cmVDYXRhbG9nPigpXG4gIGZpbHRlcmVkRmVhdHVyZUNhdGFsb2c6IERhdGFzZXRGZWF0dXJlQ2F0YWxvZ1xuXG4gIGZpbHRlckFjdGlvbiA9IChzZWFyY2hUZXJtOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBvZihzZWFyY2hUZXJtKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkID0gKHRoaXMuZmVhdHVyZUNhdGFsb2c/LmZlYXR1cmVUeXBlcyB8fCBbXSkuZmlsdGVyKFxuICAgICAgICAgICAgKGZlYXR1cmVUeXBlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZ1enp5RmlsdGVyID0gY3JlYXRlRnV6enlGaWx0ZXIoc2VhcmNoVGVybSlcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBmdXp6eUZpbHRlcihmZWF0dXJlVHlwZS5uYW1lKSB8fFxuICAgICAgICAgICAgICAgIChmZWF0dXJlVHlwZS5kZWZpbml0aW9uICYmIGZ1enp5RmlsdGVyKGZlYXR1cmVUeXBlLmRlZmluaXRpb24pKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZmVhdHVyZUNhdGFsb2csXG4gICAgICAgICAgICBmZWF0dXJlVHlwZXM6IGZpbHRlcmVkLFxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmZpbHRlcmVkRmVhdHVyZUNhdGFsb2dDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkRmVhdHVyZUNhdGFsb2cpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldCB0b3RhbE9iamVjdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXM/Lmxlbmd0aCB8fCAwXG4gIH1cblxuICBnZXQgdG90YWxBdHRyaWJ1dGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5yZWR1Y2UoXG4gICAgICAgICh0b3RhbCwgZmVhdHVyZVR5cGUpID0+IHRvdGFsICsgKGZlYXR1cmVUeXBlLmF0dHJpYnV0ZXM/Lmxlbmd0aCB8fCAwKSxcbiAgICAgICAgMFxuICAgICAgKSB8fCAwXG4gICAgKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyBtdC04IGJnLXdoaXRlIHJvdW5kZWQtbGcgYm9yZGVyLWIgc29saWQgYm9yZGVyLWdyYXktMzAwXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmVsYXRpdmUgc2hyaW5rLTBcIlxuICAgICpuZ0lmPVwiZmVhdHVyZUNhdGFsb2c/LmZlYXR1cmVUeXBlcz8ubGVuZ3RoID4gMVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLmZpbHRlci5pbnRvLmZlYXR1cmUuY2F0YWxvZycgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJ3LVsyMjBweF0gaC04IHBsLTMgcHItMTAgcHktMiBib3JkZXIgcm91bmRlZC1tZFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdGVyQWN0aW9uKHNlYXJjaFRlcm0pXCJcbiAgICAvPlxuICAgIDxuZy1pY29uXG4gICAgICBjbGFzcz1cImFic29sdXRlIHJpZ2h0LTIuNSB0b3AtMSB3LTYgaC02IHRleHQtYmxhY2tcIlxuICAgICAgbmFtZT1cImljb25vaXJTZWFyY2hcIlxuICAgID48L25nLWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBweC0xIG1sLWF1dG8gaGlkZGVuIHNtOmlubGluZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5sZW5ndGggPiAxXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMFwiXG4gICAgICAgIGRhdGEtY3k9XCJ0b3RhbC1vYmplY3RzLWxhYmVsXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5yZWNvcmQuZmVhdHVyZS5jYXRhbG9nLm51bWJlci50b3RhbC5vYmplY3Q8L3NwYW5cbiAgICAgID48c3BhblxuICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1ib2xkIHB4LTEgdGV4dC1ncmF5LTkwMFwiXG4gICAgICAgIGRhdGEtY3k9XCJ0b3RhbC1vYmplY3RzXCJcbiAgICAgICAgPnt7IHRvdGFsT2JqZWN0cyB9fTwvc3BhblxuICAgICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJweC0xLjVcIj58PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gcHgtMSB0ZXh0LWdyYXktOTAwXCJcbiAgICAgIGRhdGEtY3k9XCJ0b3RhbC1hdHRyaWJ1dGVzLWxhYmVsXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgICAgPnJlY29yZC5mZWF0dXJlLmNhdGFsb2cubnVtYmVyLnRvdGFsLmF0dHJpYnV0ZTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1ib2xkIHRleHQtZ3JheS05MDBcIiBkYXRhLWN5PVwidG90YWwtYXR0cmlidXRlc1wiPnt7XG4gICAgICB0b3RhbEF0dHJpYnV0ZXNcbiAgICB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cvc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cvc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFxQmpELE1BQU0sT0FBTyw2QkFBNkI7SUFuQjFDO1FBOEJFLGNBQVMsR0FBRyxXQUFXLEVBQUUsQ0FBQTtRQUVmLGlDQUE0QixHQUNwQyxJQUFJLFlBQVksRUFBeUIsQ0FBQTtRQUczQyxpQkFBWSxHQUFHLENBQUMsVUFBa0IsRUFBUSxFQUFFO1lBQzFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ1gsSUFBSSxDQUNILFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDUCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDZCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtvQkFDakQsT0FBTyxDQUNMLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO3dCQUM3QixDQUFDLFdBQVcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUNoRSxDQUFBO2dCQUNILENBQUMsQ0FDRixDQUFBO2dCQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRztvQkFDNUIsR0FBRyxJQUFJLENBQUMsY0FBYztvQkFDdEIsWUFBWSxFQUFFLFFBQVE7aUJBQ3ZCLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtZQUNyRSxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLEVBQUUsQ0FBQTtRQUNoQixDQUFDLENBQUE7S0FjRjtJQW5EQyxJQUFhLGNBQWMsQ0FBQyxLQUE0QjtRQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM1QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFBO0lBQ3JDLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7SUFpQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQ0wsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLENBQy9DLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQ3JFLENBQUMsQ0FDRixJQUFJLENBQUMsQ0FDUCxDQUFBO0lBQ0gsQ0FBQzsrR0FyRFUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsaU5DOUIxQyx5a0RBaURBLHlERGhDSSxZQUFZLHdMQUNaLE1BQU0sNkdBQ04sa0JBQWtCLDZHQUNsQixhQUFhLGlEQUNiLFdBQVcsb21CQUVFO1lBQ2IsWUFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDL0Isb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQztTQUNIOzs0RkFFVSw2QkFBNkI7a0JBbkJ6QyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixNQUFNO3dCQUNOLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixXQUFXO3FCQUNaLGlCQUNjO3dCQUNiLFlBQVksQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDO3dCQUMvQixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLFFBQVE7eUJBQ2YsQ0FBQztxQkFDSDs4QkFLWSxjQUFjO3NCQUExQixLQUFLO2dCQVVJLDRCQUE0QjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IERhdGFzZXRGZWF0dXJlQ2F0YWxvZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyLCBnZXRJc01vYmlsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgaWNvbm9pclNlYXJjaCB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1zZWFyY2gtZmVhdHVyZS1jYXRhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZmVhdHVyZS1jYXRhbG9nLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ0ljb24sXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoeyBpY29ub2lyU2VhcmNoIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjVyZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hGZWF0dXJlQ2F0YWxvZ0NvbXBvbmVudCB7XG4gIHByaXZhdGUgX2ZlYXR1cmVDYXRhbG9nOiBEYXRhc2V0RmVhdHVyZUNhdGFsb2dcbiAgc2VhcmNoVGVybTogYW55XG4gIEBJbnB1dCgpIHNldCBmZWF0dXJlQ2F0YWxvZyh2YWx1ZTogRGF0YXNldEZlYXR1cmVDYXRhbG9nKSB7XG4gICAgdGhpcy5fZmVhdHVyZUNhdGFsb2cgPSB2YWx1ZVxuICAgIHRoaXMuZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZyA9IHZhbHVlXG4gIH1cbiAgZ2V0IGZlYXR1cmVDYXRhbG9nKCk6IERhdGFzZXRGZWF0dXJlQ2F0YWxvZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVDYXRhbG9nXG4gIH1cblxuICBpc01vYmlsZSQgPSBnZXRJc01vYmlsZSgpXG5cbiAgQE91dHB1dCgpIGZpbHRlcmVkRmVhdHVyZUNhdGFsb2dDaGFuZ2UgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldEZlYXR1cmVDYXRhbG9nPigpXG4gIGZpbHRlcmVkRmVhdHVyZUNhdGFsb2c6IERhdGFzZXRGZWF0dXJlQ2F0YWxvZ1xuXG4gIGZpbHRlckFjdGlvbiA9IChzZWFyY2hUZXJtOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBvZihzZWFyY2hUZXJtKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkID0gKHRoaXMuZmVhdHVyZUNhdGFsb2c/LmZlYXR1cmVUeXBlcyB8fCBbXSkuZmlsdGVyKFxuICAgICAgICAgICAgKGZlYXR1cmVUeXBlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZ1enp5RmlsdGVyID0gY3JlYXRlRnV6enlGaWx0ZXIoc2VhcmNoVGVybSlcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBmdXp6eUZpbHRlcihmZWF0dXJlVHlwZS5uYW1lKSB8fFxuICAgICAgICAgICAgICAgIChmZWF0dXJlVHlwZS5kZWZpbml0aW9uICYmIGZ1enp5RmlsdGVyKGZlYXR1cmVUeXBlLmRlZmluaXRpb24pKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZmVhdHVyZUNhdGFsb2csXG4gICAgICAgICAgICBmZWF0dXJlVHlwZXM6IGZpbHRlcmVkLFxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmZpbHRlcmVkRmVhdHVyZUNhdGFsb2dDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkRmVhdHVyZUNhdGFsb2cpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldCB0b3RhbE9iamVjdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXM/Lmxlbmd0aCB8fCAwXG4gIH1cblxuICBnZXQgdG90YWxBdHRyaWJ1dGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5yZWR1Y2UoXG4gICAgICAgICh0b3RhbCwgZmVhdHVyZVR5cGUpID0+IHRvdGFsICsgKGZlYXR1cmVUeXBlLmF0dHJpYnV0ZXM/Lmxlbmd0aCB8fCAwKSxcbiAgICAgICAgMFxuICAgICAgKSB8fCAwXG4gICAgKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyBtdC04IGJnLXdoaXRlIHJvdW5kZWQtbGcgYm9yZGVyLWIgc29saWQgYm9yZGVyLWdyYXktMzAwXCJcbiAgKm5nSWY9XCJcbiAgICAoaXNNb2JpbGUkIHwgYXN5bmMpID09PSBmYWxzZSB8fCBmZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5sZW5ndGggPiAxXG4gIFwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIHNocmluay0wXCJcbiAgICAqbmdJZj1cImZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXM/Lmxlbmd0aCA+IDFcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaC5maWx0ZXIuaW50by5mZWF0dXJlLmNhdGFsb2cnIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwidy1bMjIwcHhdIGgtOCBwbC0zIHByLTEwIHB5LTIgYm9yZGVyIHJvdW5kZWQtbWRcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlckFjdGlvbihzZWFyY2hUZXJtKVwiXG4gICAgLz5cbiAgICA8bmctaWNvblxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0yLjUgdG9wLTEgdy02IGgtNiB0ZXh0LWJsYWNrXCJcbiAgICAgIG5hbWU9XCJpY29ub2lyU2VhcmNoXCJcbiAgICA+PC9uZy1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiKGlzTW9iaWxlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgIGNsYXNzPVwidGV4dC1zbSBweC0xIG1sLWF1dG8gaW5saW5lXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5sZW5ndGggPiAxXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMFwiXG4gICAgICAgIGRhdGEtY3k9XCJ0b3RhbC1vYmplY3RzLWxhYmVsXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5yZWNvcmQuZmVhdHVyZS5jYXRhbG9nLm51bWJlci50b3RhbC5vYmplY3Q8L3NwYW5cbiAgICAgID48c3BhblxuICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1ib2xkIHB4LTEgdGV4dC1ncmF5LTkwMFwiXG4gICAgICAgIGRhdGEtY3k9XCJ0b3RhbC1vYmplY3RzXCJcbiAgICAgICAgPnt7IHRvdGFsT2JqZWN0cyB9fTwvc3BhblxuICAgICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJweC0xLjVcIj58PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gcHgtMSB0ZXh0LWdyYXktOTAwXCJcbiAgICAgIGRhdGEtY3k9XCJ0b3RhbC1hdHRyaWJ1dGVzLWxhYmVsXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgICAgPnJlY29yZC5mZWF0dXJlLmNhdGFsb2cubnVtYmVyLnRvdGFsLmF0dHJpYnV0ZTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1ib2xkIHRleHQtZ3JheS05MDBcIiBkYXRhLWN5PVwidG90YWwtYXR0cmlidXRlc1wiPnt7XG4gICAgICB0b3RhbEF0dHJpYnV0ZXNcbiAgICB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -9,7 +9,7 @@ export class MapLegendComponent {
9
9
  async ngOnChanges(changes) {
10
10
  if ('context' in changes) {
11
11
  const mapContext = changes['context'].currentValue;
12
- if (mapContext.layers && mapContext.layers.length > 0) {
12
+ if (mapContext?.layers && mapContext.layers.length > 0) {
13
13
  const mapContextLayer = mapContext.layers[0];
14
14
  this.legendHTML = await createLegendFromLayer(mapContextLayer);
15
15
  if (this.legendHTML) {
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
33
33
  }], legendStatusChange: [{
34
34
  type: Output
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQVV0QyxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBVVksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWtCM0Q7SUFmQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDbEQsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQzlELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0xDckIvQix5RUFDQSw0SURrQlksSUFBSTs7NEZBRUgsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxJQUFJLENBQUM7OEJBR04sT0FBTztzQkFBZixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29udGV4dCB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgY3JlYXRlTGVnZW5kRnJvbUxheWVyIH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2xlZ2VuZCdcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IE1hcENvbnRleHQgfCBudWxsXG4gIEBPdXRwdXQoKSBsZWdlbmRTdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgbGVnZW5kSFRNTDogSFRNTEVsZW1lbnQgfCBmYWxzZVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBjaGFuZ2VzWydjb250ZXh0J10uY3VycmVudFZhbHVlXG4gICAgICBpZiAobWFwQ29udGV4dC5sYXllcnMgJiYgbWFwQ29udGV4dC5sYXllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtYXBDb250ZXh0TGF5ZXIgPSBtYXBDb250ZXh0LmxheWVyc1swXVxuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBhd2FpdCBjcmVhdGVMZWdlbmRGcm9tTGF5ZXIobWFwQ29udGV4dExheWVyKVxuICAgICAgICBpZiAodGhpcy5sZWdlbmRIVE1MKSB7XG4gICAgICAgICAgdGhpcy5sZWdlbmRTdGF0dXNDaGFuZ2UuZW1pdCh0cnVlKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBmYWxzZVxuICAgICAgICB0aGlzLmxlZ2VuZFN0YXR1c0NoYW5nZS5lbWl0KGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxlZ2VuZEhUTUxcIiBbaW5uZXJIVE1MXT1cImxlZ2VuZEhUTUwub3V0ZXJIVE1MXCI+PC9kaXY+XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQVV0QyxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBVVksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWtCM0Q7SUFmQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDbEQsSUFBSSxVQUFVLEVBQUUsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQzlELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0xDckIvQix5RUFDQSw0SURrQlksSUFBSTs7NEZBRUgsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxJQUFJLENBQUM7OEJBR04sT0FBTztzQkFBZixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29udGV4dCB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgY3JlYXRlTGVnZW5kRnJvbUxheWVyIH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2xlZ2VuZCdcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IE1hcENvbnRleHQgfCBudWxsXG4gIEBPdXRwdXQoKSBsZWdlbmRTdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgbGVnZW5kSFRNTDogSFRNTEVsZW1lbnQgfCBmYWxzZVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBjaGFuZ2VzWydjb250ZXh0J10uY3VycmVudFZhbHVlXG4gICAgICBpZiAobWFwQ29udGV4dD8ubGF5ZXJzICYmIG1hcENvbnRleHQubGF5ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgbWFwQ29udGV4dExheWVyID0gbWFwQ29udGV4dC5sYXllcnNbMF1cbiAgICAgICAgdGhpcy5sZWdlbmRIVE1MID0gYXdhaXQgY3JlYXRlTGVnZW5kRnJvbUxheWVyKG1hcENvbnRleHRMYXllcilcbiAgICAgICAgaWYgKHRoaXMubGVnZW5kSFRNTCkge1xuICAgICAgICAgIHRoaXMubGVnZW5kU3RhdHVzQ2hhbmdlLmVtaXQodHJ1ZSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sZWdlbmRIVE1MID0gZmFsc2VcbiAgICAgICAgdGhpcy5sZWdlbmRTdGF0dXNDaGFuZ2UuZW1pdChmYWxzZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJsZWdlbmRIVE1MXCIgW2lubmVySFRNTF09XCJsZWdlbmRIVE1MLm91dGVySFRNTFwiPjwvZGl2PlxuIl19
@@ -69,6 +69,7 @@ export function loadAppConfig() {
69
69
  'web_component_embedder_url',
70
70
  'languages',
71
71
  'contact_email',
72
+ 'reuse_form_url',
72
73
  ], warnings, errors);
73
74
  if (parsedGlobalSection?.metadata_language) {
74
75
  parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
@@ -89,6 +90,7 @@ export function loadAppConfig() {
89
90
  WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
90
91
  LANGUAGES: parsedGlobalSection.languages,
91
92
  CONTACT_EMAIL: parsedGlobalSection.contact_email,
93
+ REUSE_FORM_URL: parsedGlobalSection.reuse_form_url,
92
94
  };
93
95
  const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data', 'styleUrl', 'accessToken'], warnings, errors);
94
96
  const parsedMapSection = parseConfigSection(parsed, 'map', [], [
@@ -152,6 +154,7 @@ export function loadAppConfig() {
152
154
  'filter_geometry_url',
153
155
  'search_preset',
154
156
  'advanced_filters',
157
+ 'limit',
155
158
  ], warnings, errors);
156
159
  const parsedSearchParams = parseMultiConfigSection(parsed, 'search_preset', ['name'], ['sort', 'filters'], warnings, errors);
157
160
  searchConfig =
@@ -167,6 +170,7 @@ export function loadAppConfig() {
167
170
  filters: param.filters,
168
171
  })),
169
172
  ADVANCED_FILTERS: parsedSearchSection.advanced_filters,
173
+ LIMIT: parsedSearchSection.limit,
170
174
  };
171
175
  const parsedMetadataQualitySection = parseConfigSection(parsed, 'metadata-quality', [], ['enabled'], warnings, errors);
172
176
  metadataQualityConfig =
@@ -209,4 +213,4 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
209
213
  deps: [HttpClient],
210
214
  },
211
215
  };
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFOUYsTUFBTSxvQkFBb0IsR0FBRzs7OytJQUdrSCxDQUFBO0FBRS9JLElBQUksWUFBWSxHQUFpQixJQUFJLENBQUE7QUFFckMsTUFBTSxVQUFVLGVBQWU7SUFDN0IsSUFBSSxZQUFZLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNoRSxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsSUFBSSxXQUFXLEdBQWdCLElBQUksQ0FBQTtBQUVuQyxNQUFNLFVBQVUsY0FBYztJQUM1QixJQUFJLFdBQVcsS0FBSyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQy9ELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUM7QUFFRCxJQUFJLFNBQVMsR0FBYyxJQUFJLENBQUE7QUFFL0IsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsSUFBSSxZQUFZ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bXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICdsb2dvdXRfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICAgICdjb250YWN0X2VtYWlsJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgaWYgKHBhcnNlZEdsb2JhbFNlY3Rpb24/Lm1ldGFkYXRhX2xhbmd1YWdlKSB7XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBjaGVja01ldGFkYXRhTGFuZ3VhZ2UoXG4gICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbixcbiAgICAgICAgICB3YXJuaW5nc1xuICAgICAgICApXG4gICAgICB9XG4gICAgICBnbG9iYWxDb25maWcgPVxuICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBHTjRfQVBJX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5nZW9uZXR3b3JrNF9hcGlfdXJsLFxuICAgICAgICAgICAgICBEQVRBSFVCX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5kYXRhaHViX3VybCxcbiAgICAgICAgICAgICAgUFJPWFlfUEFUSDogcGFyc2VkR2xvYmFsU2VjdGlvbi5wcm94eV9wYXRoLFxuICAgICAgICAgICAgICBNRVRBREFUQV9MQU5HVUFHRTogcGFyc2VkR2xvYmFsU2VjdGlvbi5tZXRhZGF0YV9sYW5ndWFnZVxuICAgICAgICAgICAgICAgID8gKFxuICAgICAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIExPR0lOX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dpbl91cmwsXG4gICAgICAgICAgICAgIExPR09VVF9VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubG9nb3V0X3VybCxcbiAgICAgICAgICAgICAgU0VUVElOR1NfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnNldHRpbmdzX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnLCAnc3R5bGVVcmwnLCAnYWNjZXNzVG9rZW4nXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdkb19ub3RfdGlsZV93bXMnLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnbWF4X2ZlYXR1cmVfY291bnQnLFxuICAgICAgICAgICdiYXNlbGF5ZXInLFxuICAgICAgICAgICdkb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCcsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWFwQ29uZmlnID1cbiAgICAgICAgcGFyc2VkTWFwU2VjdGlvbiA9PT0gbnVsbCB8fCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgTUFYX1pPT006IHBhcnNlZE1hcFNlY3Rpb24ubWF4X3pvb20sXG4gICAgICAgICAgICAgIERPX05PVF9USUxFX1dNUzogcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdGlsZV93bXMsXG4gICAgICAgICAgICAgIE1BWF9FWFRFTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2V4dGVudCxcbiAgICAgICAgICAgICAgTUFYX0ZFQVRVUkVfQ09VTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2ZlYXR1cmVfY291bnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgU1RZTEVfVVJMOiBtYXBfbGF5ZXIuc3R5bGVVcmwsXG4gICAgICAgICAgICAgICAgICAgIEFDQ0VTU19UT0tFTjogbWFwX2xheWVyLmFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgICAgICAgfSkgYXMgTGF5ZXJDb25maWdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRUaGVtZVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgWydwcmltYXJ5X2NvbG9yJywgJ3NlY29uZGFyeV9jb2xvcicsICdtYWluX2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcbiAgICAgICAgW1xuICAgICAgICAgICdoZWFkZXJfZm9yZWdyb3VuZF9jb2xvcicsXG4gICAgICAgICAgJ21haW5fZm9udCcsXG4gICAgICAgICAgJ3RpdGxlX2ZvbnQnLFxuICAgICAgICAgICdmb250c19zdHlsZXNoZWV0X3VybCcsXG4gICAgICAgICAgJ3RodW1ibmFpbF9wbGFjZWhvbGRlcicsXG4gICAgICAgICAgJ2hlYWRlcl9iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnZmF2aWNvbicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHRoZW1lQ29uZmlnID1cbiAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBQUklNQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ucHJpbWFyeV9jb2xvcixcbiAgICAgICAgICAgICAgU0VDT05EQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uc2Vjb25kYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBNQUlOX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9jb2xvcixcbiAgICAgICAgICAgICAgQkFDS0dST1VORF9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLmJhY2tncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOlxuICAgICAgICAgICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfZm9yZWdyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgVEhVTUJOQUlMX1BMQUNFSE9MREVSOiBwYXJzZWRUaGVtZVNlY3Rpb24udGh1bWJuYWlsX3BsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICBIRUFERVJfQkFDS0dST1VORDogcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICBUSVRMRV9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24udGl0bGVfZm9udCxcbiAgICAgICAgICAgICAgTUFJTl9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9mb250LFxuICAgICAgICAgICAgICBGT05UU19TVFlMRVNIRUVUX1VSTDogcGFyc2VkVGhlbWVTZWN0aW9uLmZvbnRzX3N0eWxlc2hlZXRfdXJsLFxuICAgICAgICAgICAgICBGQVZJQ09OOiBwYXJzZWRUaGVtZVNlY3Rpb24uZmF2aWNvbixcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ3JlY29yZF9raW5kX3F1aWNrX2ZpbHRlcicsXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUkVDT1JEX0tJTkRfUVVJQ0tfRklMVEVSOlxuICAgICAgICAgICAgICAgIHBhcnNlZFNlYXJjaFNlY3Rpb24ucmVjb3JkX2tpbmRfcXVpY2tfZmlsdGVyLFxuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfREFUQTogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfZGF0YSxcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX1VSTDogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfdXJsLFxuICAgICAgICAgICAgICBTRUFSQ0hfUFJFU0VUOiBwYXJzZWRTZWFyY2hQYXJhbXMubWFwKChwYXJhbSkgPT4gKHtcbiAgICAgICAgICAgICAgICBzb3J0OiBwYXJhbS5zb3J0LFxuICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLm5hbWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogcGFyYW0uZmlsdGVycyxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICBBRFZBTkNFRF9GSUxURVJTOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmFkdmFuY2VkX2ZpbHRlcnMsXG4gICAgICAgICAgICB9IGFzIFNlYXJjaENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWV0YWRhdGEtcXVhbGl0eScsXG4gICAgICAgIFtdLFxuICAgICAgICBbJ2VuYWJsZWQnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnID1cbiAgICAgICAgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRU5BQkxFRDogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5lbmFibGVkLFxuICAgICAgICAgICAgICBTT1JUQUJMRTogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5zb3J0YWJsZSxcbiAgICAgICAgICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuXG4gICAgICBjdXN0b21UcmFuc2xhdGlvbnMgPSBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RyYW5zbGF0aW9ucydcbiAgICAgICkgYXMgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzXG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgT25lIG9yIG1vcmUgbWFuZGF0b3J5IHNldHRpbmdzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gKVxuICAgICAgfSBlbHNlIGlmICh3YXJuaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBPbmUgb3IgbW9yZSB1bmV4cGVjdGVkIHNldHRpbmdzIHdlcmUgZW5jb3VudGVyZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7d2FybmluZ3Muam9pbignXFxuJyl9YClcbiAgICAgIH1cblxuICAgICAgYXBwQ29uZmlnTG9hZGVkID0gdHJ1ZVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmZpZ0xvYWRlZCgpIHtcbiAgcmV0dXJuIGFwcENvbmZpZ0xvYWRlZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gX3Jlc2V0KCkge1xuICBnbG9iYWxDb25maWcgPSBudWxsXG4gIHRoZW1lQ29uZmlnID0gbnVsbFxuICBjdXN0b21UcmFuc2xhdGlvbnMgPSBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfV0lUSF9PVkVSUklERVNfQ09ORklHID0ge1xuICBjb21waWxlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUNvbXBpbGVyLFxuICAgIHVzZUNsYXNzOiBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIsXG4gIH0sXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgICByZXR1cm4gbmV3IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG4gICAgfSxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFOUYsTUFBTSxvQkFBb0IsR0FBRzs7OytJQUdrSCxDQUFBO0FBRS9JLElBQUksWUFBWSxHQUFpQixJQUFJLENBQUE7QUFFckMsTUFBTSxVQUFVLGVBQWU7SUFDN0IsSUFBSSxZQUFZLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNoRSxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsSUFBSSxXQUFXLEdBQWdCLElBQUksQ0FBQTtBQUVuQyxNQUFNLFVBQVUsY0FBYztJQUM1QixJQUFJLFdBQVcsS0FBSyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQy9ELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUM7QUFFRCxJQUFJLFNBQVMsR0FBYyxJQUFJLENBQUE7QUFFL0IsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsSUFBSSxZQUFZ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LENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRPTUwgZnJvbSAnQGx0ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICdsb2dvdXRfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICAgICdjb250YWN0X2VtYWlsJyxcbiAgICAgICAgICAncmV1c2VfZm9ybV91cmwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgTE9HT1VUX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dvdXRfdXJsLFxuICAgICAgICAgICAgICBTRVRUSU5HU19VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24uc2V0dGluZ3NfdXJsLFxuICAgICAgICAgICAgICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTDpcbiAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLndlYl9jb21wb25lbnRfZW1iZWRkZXJfdXJsLFxuICAgICAgICAgICAgICBMQU5HVUFHRVM6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICBDT05UQUNUX0VNQUlMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmNvbnRhY3RfZW1haWwsXG4gICAgICAgICAgICAgIFJFVVNFX0ZPUk1fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnJldXNlX2Zvcm1fdXJsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnLCAnc3R5bGVVcmwnLCAnYWNjZXNzVG9rZW4nXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdkb19ub3RfdGlsZV93bXMnLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnbWF4X2ZlYXR1cmVfY291bnQnLFxuICAgICAgICAgICdiYXNlbGF5ZXInLFxuICAgICAgICAgICdkb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCcsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWFwQ29uZmlnID1cbiAgICAgICAgcGFyc2VkTWFwU2VjdGlvbiA9PT0gbnVsbCB8fCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgTUFYX1pPT006IHBhcnNlZE1hcFNlY3Rpb24ubWF4X3pvb20sXG4gICAgICAgICAgICAgIERPX05PVF9USUxFX1dNUzogcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdGlsZV93bXMsXG4gICAgICAgICAgICAgIE1BWF9FWFRFTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2V4dGVudCxcbiAgICAgICAgICAgICAgTUFYX0ZFQVRVUkVfQ09VTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2ZlYXR1cmVfY291bnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgU1RZTEVfVVJMOiBtYXBfbGF5ZXIuc3R5bGVVcmwsXG4gICAgICAgICAgICAgICAgICAgIEFDQ0VTU19UT0tFTjogbWFwX2xheWVyLmFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgICAgICAgfSkgYXMgTGF5ZXJDb25maWdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRUaGVtZVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgWydwcmltYXJ5X2NvbG9yJywgJ3NlY29uZGFyeV9jb2xvcicsICdtYWluX2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcbiAgICAgICAgW1xuICAgICAgICAgICdoZWFkZXJfZm9yZWdyb3VuZF9jb2xvcicsXG4gICAgICAgICAgJ21haW5fZm9udCcsXG4gICAgICAgICAgJ3RpdGxlX2ZvbnQnLFxuICAgICAgICAgICdmb250c19zdHlsZXNoZWV0X3VybCcsXG4gICAgICAgICAgJ3RodW1ibmFpbF9wbGFjZWhvbGRlcicsXG4gICAgICAgICAgJ2hlYWRlcl9iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnZmF2aWNvbicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHRoZW1lQ29uZmlnID1cbiAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBQUklNQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ucHJpbWFyeV9jb2xvcixcbiAgICAgICAgICAgICAgU0VDT05EQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uc2Vjb25kYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBNQUlOX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9jb2xvcixcbiAgICAgICAgICAgICAgQkFDS0dST1VORF9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLmJhY2tncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOlxuICAgICAgICAgICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfZm9yZWdyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgVEhVTUJOQUlMX1BMQUNFSE9MREVSOiBwYXJzZWRUaGVtZVNlY3Rpb24udGh1bWJuYWlsX3BsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICBIRUFERVJfQkFDS0dST1VORDogcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICBUSVRMRV9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24udGl0bGVfZm9udCxcbiAgICAgICAgICAgICAgTUFJTl9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9mb250LFxuICAgICAgICAgICAgICBGT05UU19TVFlMRVNIRUVUX1VSTDogcGFyc2VkVGhlbWVTZWN0aW9uLmZvbnRzX3N0eWxlc2hlZXRfdXJsLFxuICAgICAgICAgICAgICBGQVZJQ09OOiBwYXJzZWRUaGVtZVNlY3Rpb24uZmF2aWNvbixcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ3JlY29yZF9raW5kX3F1aWNrX2ZpbHRlcicsXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgICAnbGltaXQnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hQYXJhbXMgPSBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnc2VhcmNoX3ByZXNldCcsXG4gICAgICAgIFsnbmFtZSddLFxuICAgICAgICBbJ3NvcnQnLCAnZmlsdGVycyddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBzZWFyY2hDb25maWcgPVxuICAgICAgICBwYXJzZWRTZWFyY2hTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBSRUNPUkRfS0lORF9RVUlDS19GSUxURVI6XG4gICAgICAgICAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbi5yZWNvcmRfa2luZF9xdWlja19maWx0ZXIsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9EQVRBOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV9kYXRhLFxuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfVVJMOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV91cmwsXG4gICAgICAgICAgICAgIFNFQVJDSF9QUkVTRVQ6IHBhcnNlZFNlYXJjaFBhcmFtcy5tYXAoKHBhcmFtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHNvcnQ6IHBhcmFtLnNvcnQsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBwYXJhbS5maWx0ZXJzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIEFEVkFOQ0VEX0ZJTFRFUlM6IHBhcnNlZFNlYXJjaFNlY3Rpb24uYWR2YW5jZWRfZmlsdGVycyxcbiAgICAgICAgICAgICAgTElNSVQ6IHBhcnNlZFNlYXJjaFNlY3Rpb24ubGltaXQsXG4gICAgICAgICAgICB9IGFzIFNlYXJjaENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWV0YWRhdGEtcXVhbGl0eScsXG4gICAgICAgIFtdLFxuICAgICAgICBbJ2VuYWJsZWQnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnID1cbiAgICAgICAgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRU5BQkxFRDogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5lbmFibGVkLFxuICAgICAgICAgICAgICBTT1JUQUJMRTogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5zb3J0YWJsZSxcbiAgICAgICAgICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuXG4gICAgICBjdXN0b21UcmFuc2xhdGlvbnMgPSBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RyYW5zbGF0aW9ucydcbiAgICAgICkgYXMgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzXG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgT25lIG9yIG1vcmUgbWFuZGF0b3J5IHNldHRpbmdzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gKVxuICAgICAgfSBlbHNlIGlmICh3YXJuaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBPbmUgb3IgbW9yZSB1bmV4cGVjdGVkIHNldHRpbmdzIHdlcmUgZW5jb3VudGVyZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7d2FybmluZ3Muam9pbignXFxuJyl9YClcbiAgICAgIH1cblxuICAgICAgYXBwQ29uZmlnTG9hZGVkID0gdHJ1ZVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmZpZ0xvYWRlZCgpIHtcbiAgcmV0dXJuIGFwcENvbmZpZ0xvYWRlZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gX3Jlc2V0KCkge1xuICBnbG9iYWxDb25maWcgPSBudWxsXG4gIHRoZW1lQ29uZmlnID0gbnVsbFxuICBjdXN0b21UcmFuc2xhdGlvbnMgPSBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfV0lUSF9PVkVSUklERVNfQ09ORklHID0ge1xuICBjb21waWxlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUNvbXBpbGVyLFxuICAgIHVzZUNsYXNzOiBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIsXG4gIH0sXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgICByZXR1cm4gbmV3IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG4gICAgfSxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBMT0dPVVRfVVJMPzogc3RyaW5nXG4gIFNFVFRJTkdTX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxuICBDT05UQUNUX0VNQUlMPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBUWVBFOiAneHl6JyB8ICd3bXMnIHwgJ3dmcycgfCAnZ2VvanNvbicgfCAnbWFwbGlicmUtc3R5bGUnXG4gIFVSTD86IHN0cmluZ1xuICBOQU1FPzogc3RyaW5nXG4gIERBVEE/OiBzdHJpbmdcbiAgU1RZTEVfVVJMPzogc3RyaW5nXG4gIEFDQ0VTU19UT0tFTj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcENvbmZpZyB7XG4gIE1BWF9aT09NPzogbnVtYmVyXG4gIERPX05PVF9USUxFX1dNUzogYm9vbGVhblxuICBNQVhfRVhURU5UPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gLy8gRXhwcmVzc2VkIGFzIFttaW54LCBtaW55LCBtYXh4LCBtYXh5XVxuICBNQVhfRkVBVFVSRV9DT1VOVD86IG51bWJlclxuICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFPzogc3RyaW5nXG4gIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI/OiBib29sZWFuXG4gIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOiBib29sZWFuXG4gIE1BUF9MQVlFUlM6IExheWVyQ29uZmlnW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZUNvbmZpZyB7XG4gIFBSSU1BUllfQ09MT1I6IHN0cmluZ1xuICBTRUNPTkRBUllfQ09MT1I6IHN0cmluZ1xuICBNQUlOX0NPTE9SOiBzdHJpbmdcbiAgQkFDS0dST1VORF9DT0xPUjogc3RyaW5nXG4gIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0JBQ0tHUk9VTkQ6IHN0cmluZ1xuICBUSFVNQk5BSUxfUExBQ0VIT0xERVI6IHN0cmluZ1xuICBNQUlOX0ZPTlQ/OiBzdHJpbmdcbiAgVElUTEVfRk9OVD86IHN0cmluZ1xuICBGT05UU19TVFlMRVNIRUVUX1VSTD86IHN0cmluZ1xuICBGQVZJQ09OPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUHJlc2V0IHtcbiAgc29ydDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXSB8IHN0cmluZz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBSRUNPUkRfS0lORF9RVUlDS19GSUxURVI/OiBib29sZWFuXG4gIEZJTFRFUl9HRU9NRVRSWV9VUkw/OiBzdHJpbmdcbiAgRklMVEVSX0dFT01FVFJZX0RBVEE/OiBzdHJpbmdcbiAgU0VBUkNIX1BSRVNFVD86IFNlYXJjaFByZXNldFtdXG4gIEFEVkFOQ0VEX0ZJTFRFUlM/OiBbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIEVOQUJMRUQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tVHJhbnNsYXRpb25zID0geyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZyB9XG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSB7XG4gIFtsYW5nOiBzdHJpbmddOiBDdXN0b21UcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBGSUxURVJfR0VPTUVUUlk/OiBHZW9tZXRyeVxufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBMT0dPVVRfVVJMPzogc3RyaW5nXG4gIFNFVFRJTkdTX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxuICBDT05UQUNUX0VNQUlMPzogc3RyaW5nXG4gIFJFVVNFX0ZPUk1fVVJMPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBUWVBFOiAneHl6JyB8ICd3bXMnIHwgJ3dmcycgfCAnZ2VvanNvbicgfCAnbWFwbGlicmUtc3R5bGUnXG4gIFVSTD86IHN0cmluZ1xuICBOQU1FPzogc3RyaW5nXG4gIERBVEE/OiBzdHJpbmdcbiAgU1RZTEVfVVJMPzogc3RyaW5nXG4gIEFDQ0VTU19UT0tFTj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcENvbmZpZyB7XG4gIE1BWF9aT09NPzogbnVtYmVyXG4gIERPX05PVF9USUxFX1dNUzogYm9vbGVhblxuICBNQVhfRVhURU5UPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gLy8gRXhwcmVzc2VkIGFzIFttaW54LCBtaW55LCBtYXh4LCBtYXh5XVxuICBNQVhfRkVBVFVSRV9DT1VOVD86IG51bWJlclxuICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFPzogc3RyaW5nXG4gIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI/OiBib29sZWFuXG4gIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOiBib29sZWFuXG4gIE1BUF9MQVlFUlM6IExheWVyQ29uZmlnW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZUNvbmZpZyB7XG4gIFBSSU1BUllfQ09MT1I6IHN0cmluZ1xuICBTRUNPTkRBUllfQ09MT1I6IHN0cmluZ1xuICBNQUlOX0NPTE9SOiBzdHJpbmdcbiAgQkFDS0dST1VORF9DT0xPUjogc3RyaW5nXG4gIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0JBQ0tHUk9VTkQ6IHN0cmluZ1xuICBUSFVNQk5BSUxfUExBQ0VIT0xERVI6IHN0cmluZ1xuICBNQUlOX0ZPTlQ/OiBzdHJpbmdcbiAgVElUTEVfRk9OVD86IHN0cmluZ1xuICBGT05UU19TVFlMRVNIRUVUX1VSTD86IHN0cmluZ1xuICBGQVZJQ09OPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUHJlc2V0IHtcbiAgc29ydDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXSB8IHN0cmluZz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBSRUNPUkRfS0lORF9RVUlDS19GSUxURVI/OiBib29sZWFuXG4gIEZJTFRFUl9HRU9NRVRSWV9VUkw/OiBzdHJpbmdcbiAgRklMVEVSX0dFT01FVFJZX0RBVEE/OiBzdHJpbmdcbiAgU0VBUkNIX1BSRVNFVD86IFNlYXJjaFByZXNldFtdXG4gIEFEVkFOQ0VEX0ZJTFRFUlM/OiBbXVxuICBMSU1JVD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIEVOQUJMRUQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tVHJhbnNsYXRpb25zID0geyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZyB9XG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSB7XG4gIFtsYW5nOiBzdHJpbmddOiBDdXN0b21UcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBGSUxURVJfR0VPTUVUUlk/OiBHZW9tZXRyeVxufVxuIl19
@@ -3,5 +3,5 @@ export * from './lib/utils';
3
3
  export * from './lib/links';
4
4
  export * from './lib/image-fallback.directive';
5
5
  export * from './lib/gn-ui-version';
6
- export * from './lib/record.util';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmtzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtZmFsbGJhY2suZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ24tdWktdmVyc2lvbidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC51dGlsJ1xuIl19
6
+ export * from './lib/record';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLGNBQWMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saW5rcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWZhbGxiYWNrLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2duLXVpLXZlcnNpb24nXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQnXG4iXX0=