geonetwork-ui 2.8.0-dev.6ea037ab6 → 2.8.0-dev.7ecc6ee1d

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 (146) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +25 -1
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -7
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -2
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -3
  8. package/esm2022/libs/common/domain/src/index.mjs +3 -0
  9. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  10. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +2 -1
  11. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  12. package/esm2022/libs/feature/dataviz/src/index.mjs +2 -1
  13. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
  14. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +18 -7
  15. package/esm2022/libs/feature/dataviz/src/lib/stac-view/stac-view.component.mjs +51 -0
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +23 -3
  17. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  18. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
  19. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -1
  21. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  22. package/esm2022/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.mjs +37 -0
  23. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -9
  24. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +5 -5
  25. package/esm2022/libs/util/i18n/src/lib/date-locales.mjs +33 -0
  26. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  27. package/esm2022/libs/util/shared/src/lib/humanize-date.directive.mjs +33 -0
  28. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +3 -1
  29. package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +19 -2
  30. package/esm2022/translations/de.json +13 -4
  31. package/esm2022/translations/en.json +13 -4
  32. package/esm2022/translations/es.json +9 -0
  33. package/esm2022/translations/fr.json +13 -4
  34. package/esm2022/translations/it.json +14 -5
  35. package/esm2022/translations/nl.json +9 -0
  36. package/esm2022/translations/pt.json +9 -0
  37. package/esm2022/translations/sk.json +10 -1
  38. package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs +35 -0
  39. package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs.map +1 -0
  40. package/fesm2022/geonetwork-ui.mjs +345 -116
  41. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  42. package/index.d.ts +1 -0
  43. package/index.d.ts.map +1 -1
  44. package/index.ts +1 -0
  45. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  46. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  47. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +5 -1
  49. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  50. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  51. package/libs/common/domain/src/index.d.ts +3 -0
  52. package/libs/common/domain/src/index.d.ts.map +1 -0
  53. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
  54. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  55. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -2
  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 -1
  58. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  59. package/libs/feature/dataviz/src/index.d.ts +1 -0
  60. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  61. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  62. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  63. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts +16 -0
  64. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
  65. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +2 -0
  66. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  67. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +3 -2
  68. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  69. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +3 -2
  70. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  71. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -24
  72. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  73. package/libs/ui/elements/src/index.d.ts +1 -0
  74. package/libs/ui/elements/src/index.d.ts.map +1 -1
  75. package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts +8 -0
  76. package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts.map +1 -0
  77. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -2
  78. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  79. package/libs/util/i18n/src/lib/date-locales.d.ts +5 -0
  80. package/libs/util/i18n/src/lib/date-locales.d.ts.map +1 -0
  81. package/libs/util/shared/src/index.d.ts +1 -0
  82. package/libs/util/shared/src/index.d.ts.map +1 -1
  83. package/libs/util/shared/src/lib/humanize-date.directive.d.ts +15 -0
  84. package/libs/util/shared/src/lib/humanize-date.directive.d.ts.map +1 -0
  85. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  86. package/libs/util/shared/src/lib/services/date.service.d.ts +4 -0
  87. package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  90. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -2
  91. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
  92. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +1 -1
  93. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -2
  94. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  95. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -1
  96. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  97. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +1 -1
  98. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +1 -1
  99. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +27 -0
  100. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -6
  101. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -2
  102. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -2
  103. package/src/libs/common/domain/src/index.ts +2 -0
  104. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
  105. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -1
  106. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
  107. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
  108. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +10 -0
  109. package/src/libs/feature/dataviz/src/index.ts +1 -0
  110. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
  111. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +16 -5
  112. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.css +0 -0
  113. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.html +40 -0
  114. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts +62 -0
  115. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
  116. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +30 -0
  117. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  118. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
  119. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
  120. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +30 -1
  121. package/src/libs/ui/elements/src/index.ts +1 -0
  122. package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.css +0 -0
  123. package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.html +31 -0
  124. package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts +30 -0
  125. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +67 -21
  126. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -9
  127. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
  128. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
  129. package/src/libs/util/i18n/src/lib/date-locales.ts +63 -0
  130. package/src/libs/util/shared/src/index.ts +1 -0
  131. package/src/libs/util/shared/src/lib/humanize-date.directive.ts +35 -0
  132. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
  133. package/src/libs/util/shared/src/lib/services/date.service.ts +27 -1
  134. package/translations/de.json +13 -4
  135. package/translations/en.json +13 -4
  136. package/translations/es.json +9 -0
  137. package/translations/fr.json +13 -4
  138. package/translations/it.json +14 -5
  139. package/translations/nl.json +9 -0
  140. package/translations/pt.json +9 -0
  141. package/translations/sk.json +10 -1
  142. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +0 -59
  143. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +0 -11
  144. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +0 -1
  145. package/src/libs/common/domain/src/lib/index.ts +0 -2
  146. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +0 -54
@@ -72,8 +72,28 @@ export class FormFieldComponent {
72
72
  get valueAsOnlineResources() {
73
73
  return this.value;
74
74
  }
75
+ get valueAsResourceIdentifierCode() {
76
+ const identifiers = this.value;
77
+ return identifiers?.[0]?.code || '';
78
+ }
79
+ handleResourceIdentifierChange(code) {
80
+ const identifiers = this.value;
81
+ if (!code) {
82
+ this.valueChange.emit(identifiers?.slice(1) || []);
83
+ return;
84
+ }
85
+ if (identifiers?.[0]) {
86
+ this.valueChange.emit([
87
+ { ...identifiers[0], code },
88
+ ...identifiers.slice(1),
89
+ ]);
90
+ }
91
+ else {
92
+ this.valueChange.emit([{ code }]);
93
+ }
94
+ }
75
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "component", type: FormFieldTopicsComponent, selector: "gn-ui-form-field-topics", inputs: ["value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifiers'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsResourceIdentifierCode\"\n (valueChange)=\"handleResourceIdentifierChange($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "component", type: FormFieldTopicsComponent, selector: "gn-ui-form-field-topics", inputs: ["value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
97
  }
78
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
79
99
  type: Component,
@@ -100,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
120
  FormFieldSpatialToggleComponent,
101
121
  FormFieldTopicsComponent,
102
122
  TextFieldModule,
103
- ], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
123
+ ], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifiers'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsResourceIdentifierCode\"\n (valueChange)=\"handleResourceIdentifierChange($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
104
124
  }], propDecorators: { uniqueIdentifier: [{
105
125
  type: Input
106
126
  }], model: [{
@@ -119,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
119
139
  type: ViewChild,
120
140
  args: ['titleInput']
121
141
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBVzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSxHQUFHLENBQUE7QUFNVixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQTtBQUNySSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQTtBQUNySSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFB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QkFBMEIsbUhBQzFCLDZCQUE2QixpSkFDN0Isc0NBQXNDLG1GQUN0QywrQkFBK0IsNEVBQy9CLHdCQUF3QixnSEFDeEIsZUFBZTs7NEZBR04sa0JBQWtCO2tCQS9COUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QiwrQkFBK0I7d0JBQy9CLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQixxQ0FBcUM7d0JBQ3JDLGlDQUFpQzt3QkFDakMscUNBQXFDO3dCQUNyQywwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0Isc0NBQXNDO3dCQUN0QywrQkFBK0I7d0JBQy9CLHdCQUF3Qjt3QkFDeEIsZUFBZTtxQkFDaEI7OEJBR1EsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVrQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZEtleXMsXG4gIENvbnN0cmFpbnQsXG4gIERhdGFzZXRUZW1wb3JhbEV4dGVudCxcbiAgR3JhcGhpY092ZXJ2aWV3LFxuICBJbmRpdmlkdWFsLFxuICBLZXl3b3JkLFxuICBPbmxpbmVSZXNvdXJjZSxcbiAgVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBGb3JtRmllbGREYXRlQ29tcG9uZW50LFxuICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICBGb3JtRmllbGRUZW1wb3JhbEV4dGVudHNDb21wb25lbnQsXG59IGZyb20gJy4nXG5pbXBvcnQge1xuICBGaWVsZE1vZGVsU3BlY2lmaWVyLFxuICBGb3JtRmllbGRDb21wb25lbnROYW1lLFxuICBGb3JtRmllbGRDb25maWcsXG59IGZyb20gJy4uLy4uLy4uL21vZGVscydcbmltcG9ydCB7IEZvcm1GaWVsZENvbnRhY3RzRm9yUmVzb3VyY2VDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29udGFjdHMtZm9yLXJlc291cmNlL2Zvcm0tZmllbGQtY29udGFjdHMtZm9yLXJlc291cmNlLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZENvbnRhY3RzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnRhY3RzL2Zvcm0tZmllbGQtY29udGFjdHMuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQta2V5d29yZHMvZm9ybS1maWVsZC1rZXl3b3Jkcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPbmxpbmVMaW5rUmVzb3VyY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPbmxpbmVSZXNvdXJjZXNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1yZXNvdXJjZXMuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkT3ZlcnZpZXdzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLW92ZXJ2aWV3cy9mb3JtLWZpZWxkLW92ZXJ2aWV3cy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRSaWNoQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJpY2gvZm9ybS1maWVsZC1yaWNoLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1zaW1wbGUvZm9ybS1maWVsZC1zaW1wbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5L2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRDb25zdHJhaW50c1Nob3J0Y3V0c0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMvZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29uc3RyYWludHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29uc3RyYWludHMvZm9ybS1maWVsZC1jb25zdHJhaW50cy5jb21wb25lbnQnXG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCdcbmltcG9ydCB7IEZvcm1GaWVsZFNwYXRpYWxUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtc3BhdGlhbC10b2dnbGUvZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRUb3BpY3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtdG9waWNzL2Zvcm0tZmllbGQtdG9waWNzLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZExpY2Vuc2VDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRGF0ZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRVcGRhdGVGcmVxdWVuY3lDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRzQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSaWNoQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNwYXRpYWxFeHRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkS2V5d29yZHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT3ZlcnZpZXdzQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZENvbnRhY3RzRm9yUmVzb3VyY2VDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT25saW5lUmVzb3VyY2VzQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZE9ubGluZUxpbmtSZXNvdXJjZXNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29udGFjdHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29uc3RyYWludHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29uc3RyYWludHNTaG9ydGN1dHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU3BhdGlhbFRvZ2dsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRUb3BpY3NDb21wb25lbnQsXG4gICAgVGV4dEZpZWxkTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKSB1bmlxdWVJZGVudGlmaWVyOiBzdHJpbmdcbiAgQElucHV0KCkgbW9kZWw6IENhdGFsb2dSZWNvcmRLZXlzXG4gIEBJbnB1dCgpIG1vZGVsU3BlY2lmaWVyOiBGaWVsZE1vZGVsU3BlY2lmaWVyXG4gIEBJbnB1dCgpIGNvbXBvbmVudE5hbWU6IEZvcm1GaWVsZENvbXBvbmVudE5hbWVcblxuICBASW5wdXQoKSBjb25maWc6IEZvcm1GaWVsZENvbmZpZ1xuICBASW5wdXQoKSB2YWx1ZTogdW5rbm93blxuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcpIHRpdGxlSW5wdXQ6IEVsZW1lbnRSZWZcbiAgaXNPcGVuRGF0YSA9IGZhbHNlXG5cbiAgdG9nZ2xlSXNPcGVuRGF0YShldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNPcGVuRGF0YSA9IGV2ZW50XG4gIH1cblxuICBmb2N1c1RpdGxlSW5wdXQoKSB7XG4gICAgdGhpcy50aXRsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgZ2V0IHdpdGhvdXRXcmFwcGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1vZGVsID09PSAndGl0bGUnIHx8XG4gICAgICB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnIHx8XG4gICAgICB0aGlzLm1vZGVsID09PSAnbGVnYWxDb25zdHJhaW50cycgfHxcbiAgICAgIHRoaXMubW9kZWwgPT09ICdzZWN1cml0eUNvbnN0cmFpbnRzJyB8fFxuICAgICAgdGhpcy5tb2RlbCA9PT0gJ290aGVyQ29uc3RyYWludHMnIHx8XG4gICAgICB0aGlzLmNvbXBvbmVudE5hbWUgPT09ICdmb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cydcbiAgICApXG4gIH1cblxuICBnZXQgdmFsdWVBc1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBzdHJpbmdcbiAgfVxuICBnZXQgdmFsdWVBc0RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgRGF0ZVxuICB9XG5cbiAgZ2V0IHZhbHVlQXNPdmVydmlld3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICB9XG4gIGdldCB2YWx1ZUFzVXBkYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIFVwZGF0ZUZyZXF1ZW5jeVxuICB9XG4gIGdldCB2YWx1ZUFzVGVtcG9yYWxFeHRlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgfVxuICBnZXQgdmFsdWVBc0tleXdvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIEFycmF5PEtleXdvcmQ+XG4gIH1cbiAgZ2V0IHZhbHVlQXNUb3BpY3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8c3RyaW5nPlxuICB9XG4gIGdldCB2YWx1ZUFzQ29uc3RyYWludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8Q29uc3RyYWludD5cbiAgfVxuICBnZXQgdmFsdWVBc0luZGl2aWR1YWxzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIEFycmF5PEluZGl2aWR1YWw+XG4gIH1cbiAgZ2V0IHZhbHVlQXNPbmxpbmVSZXNvdXJjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8T25saW5lUmVzb3VyY2U+XG4gIH1cbn1cbiIsIjwhLS0gVEVNUE9SQVJZIC0gZGlzYWJsaW5nIHRoZSBvcGVuIGRhdGEgc3dpdGNoIC0tPlxuPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwgPT09ICdsaWNlbnNlcydcIj5cbiAgPGduLXVpLWZvcm0tZmllbGQtb3Blbi1kYXRhXG4gICAgW3ZhbHVlXT1cInZhbHVlQXNDb25zdHJhaW50c1wiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9wZW5EYXRhQ2hhbmdlKT1cInRvZ2dsZUlzT3BlbkRhdGEoJGV2ZW50KVwiXG4gID48L2duLXVpLWZvcm0tZmllbGQtb3Blbi1kYXRhPlxuPC9uZy1jb250YWluZXI+IC0tPlxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aXRob3V0V3JhcHBlcjsgZWxzZSB3aXRoR2VuZXJpY1dyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3dpdGhHZW5lcmljV3JhcHBlcj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC13cmFwcGVyXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaGludF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2duLXVpLWZvcm0tZmllbGQtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2ZpZWxkQ29udGVudD5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMyBtYi1bMTJweF1cIj5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgI3RpdGxlSW5wdXRcbiAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgZGF0YS10ZXN0PVwicmVjb3JkVGl0bGVJbnB1dFwiXG4gICAgICAgICAgY2xhc3M9XCJncm93IGZvbnQtdGl0bGUgdGV4dC0zeGwgZm9udC1ub3JtYWwgb3ZlcmZsb3ctaGlkZGVuIHRleHQtYmxhY2svODBcIlxuICAgICAgICAgIChjaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC50aXRsZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcbiAgICAgICAgICBcIlxuICAgICAgICAgID57eyB2YWx1ZUFzU3RyaW5nIH19PC90ZXh0YXJlYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBzZWxmLXN0YXJ0IG10LTAuNVwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZvY3VzVGl0bGVJbnB1dCgpXCJcbiAgICAgICAgICAgID5lZGl0PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5oaW50S2V5XCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMlwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIGhlbHBcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Fic3RyYWN0J1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtcmljaFxuICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzU3RyaW5nXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXJpY2g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ292ZXJ2aWV3cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLW92ZXJ2aWV3c1xuICAgICAgICBbbWV0YWRhdGFVdWlkXT1cInVuaXF1ZUlkZW50aWZpZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc092ZXJ2aWV3c1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1vdmVydmlld3M+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Jlc291cmNlSWRlbnRpZmllcidcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc1N0cmluZ1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Jlc291cmNlQ3JlYXRlZCdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWRhdGVcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNEYXRlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWRhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Jlc291cmNlVXBkYXRlZCdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWRhdGVcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNEYXRlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWRhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3VwZGF0ZUZyZXF1ZW5jeSdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3lcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNVcGRhdGVGcmVxdWVuY3lcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGVtcG9yYWxFeHRlbnRzJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50c1xuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc1RlbXBvcmFsRXh0ZW50c1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnRzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzcGF0aWFsRXh0ZW50cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50PjwvZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIna2V5d29yZHMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1rZXl3b3Jkc1xuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0tleXdvcmRzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWtleXdvcmRzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0b3BpY3MnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC10b3BpY3NcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNUb3BpY3NcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtdG9waWNzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaWNlbnNlcydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2VcbiAgICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbcmVjb3JkTGljZW5jZXNdPVwidmFsdWVBc0NvbnN0cmFpbnRzXCJcbiAgICAgICAgKHJlY29yZExpY2VuY2VzQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2U+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbGVnYWxDb25zdHJhaW50cydcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtRmllbGRDb25zdHJhaW50c1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWN1cml0eUNvbnN0cmFpbnRzJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvcm1GaWVsZENvbnN0cmFpbnRzXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ290aGVyQ29uc3RyYWludHMnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9ybUZpZWxkQ29uc3RyYWludHNcIj48L25nLWNvbnRhaW5lclxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2Zvcm1GaWVsZENvbnN0cmFpbnRzPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtY29uc3RyYWludHNcbiAgICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzQ29uc3RyYWludHNcIlxuICAgICAgICBbY29uc3RyYWludFR5cGVdPVwibW9kZWxcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtY29uc3RyYWludHNcbiAgICA+PC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb250YWN0c0ZvclJlc291cmNlJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtY29udGFjdHMtZm9yLXJlc291cmNlXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzSW5kaXZpZHVhbHNcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtY29udGFjdHMtZm9yLXJlc291cmNlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb250YWN0cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzSW5kaXZpZHVhbHNcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtY29udGFjdHM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ29ubGluZVJlc291cmNlcydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLW9ubGluZS1yZXNvdXJjZXNcbiAgICAgICAgKm5nSWY9XCJtb2RlbFNwZWNpZmllciA9PT0gJ29ubGluZVJlc291cmNlVHlwZTohbGluaydcIlxuICAgICAgICBbbWV0YWRhdGFVdWlkXT1cInVuaXF1ZUlkZW50aWZpZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc09ubGluZVJlc291cmNlc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvbmxpbmVSZXNvdXJjZXMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXNcbiAgICAgICAgKm5nSWY9XCJtb2RlbFNwZWNpZmllciA9PT0gJ29ubGluZVJlc291cmNlVHlwZTpsaW5rJ1wiXG4gICAgICAgIFttZXRhZGF0YVV1aWRdPVwidW5pcXVlSWRlbnRpZmllclwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzT25saW5lUmVzb3VyY2VzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbXBvbmVudE5hbWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cydcIj5cbiAgICAgICAgPGduLXVpLWZvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzPjwvZ24tdWktZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHM+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmb3JtLWZpZWxkLXNwYXRpYWwtdG9nZ2xlJ1wiPlxuICAgICAgICA8Z24tdWktZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZT48L2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC10b2dnbGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBVzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSxHQUFHLENBQUE7QUFNVixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQTtBQUNySSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQTtBQUNySSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFB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QXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHFDQUFxQzt3QkFDckMsaUNBQWlDO3dCQUNqQyxxQ0FBcUM7d0JBQ3JDLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixzQ0FBc0M7d0JBQ3RDLCtCQUErQjt3QkFDL0Isd0JBQXdCO3dCQUN4QixlQUFlO3FCQUNoQjs4QkFHUSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRWtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkS2V5cyxcbiAgQ29uc3RyYWludCxcbiAgRGF0YXNldFRlbXBvcmFsRXh0ZW50LFxuICBHcmFwaGljT3ZlcnZpZXcsXG4gIEluZGl2aWR1YWwsXG4gIEtleXdvcmQsXG4gIE9ubGluZVJlc291cmNlLFxuICBVcGRhdGVGcmVxdWVuY3ksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIEZvcm1GaWVsZERhdGVDb21wb25lbnQsXG4gIEZvcm1GaWVsZExpY2Vuc2VDb21wb25lbnQsXG4gIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbn0gZnJvbSAnLidcbmltcG9ydCB7XG4gIEZpZWxkTW9kZWxTcGVjaWZpZXIsXG4gIEZvcm1GaWVsZENvbXBvbmVudE5hbWUsXG4gIEZvcm1GaWVsZENvbmZpZyxcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29udGFjdHNGb3JSZXNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1jb250YWN0cy1mb3ItcmVzb3VyY2UvZm9ybS1maWVsZC1jb250YWN0cy1mb3ItcmVzb3VyY2UuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29udGFjdHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29udGFjdHMvZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRLZXl3b3Jkc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1rZXl3b3Jkcy9mb3JtLWZpZWxkLWtleXdvcmRzLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZE9ubGluZUxpbmtSZXNvdXJjZXNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZE9ubGluZVJlc291cmNlc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZENvbnN0cmFpbnRzU2hvcnRjdXRzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cy9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRDb25zdHJhaW50c0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1jb25zdHJhaW50cy9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJ1xuaW1wb3J0IHsgRm9ybUZpZWxkU3BhdGlhbFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZS9mb3JtLWZpZWxkLXNwYXRpYWwtdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFRvcGljc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC10b3BpY3MvZm9ybS1maWVsZC10b3BpY3MuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTGljZW5zZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGREYXRlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRUZW1wb3JhbEV4dGVudHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29udGFjdHNGb3JSZXNvdXJjZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPbmxpbmVSZXNvdXJjZXNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT25saW5lTGlua1Jlc291cmNlc0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb250YWN0c0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb25zdHJhaW50c0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb25zdHJhaW50c1Nob3J0Y3V0c0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTcGF0aWFsVG9nZ2xlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRvcGljc0NvbXBvbmVudCxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHVuaXF1ZUlkZW50aWZpZXI6IHN0cmluZ1xuICBASW5wdXQoKSBtb2RlbDogQ2F0YWxvZ1JlY29yZEtleXNcbiAgQElucHV0KCkgbW9kZWxTcGVjaWZpZXI6IEZpZWxkTW9kZWxTcGVjaWZpZXJcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZTogRm9ybUZpZWxkQ29tcG9uZW50TmFtZVxuXG4gIEBJbnB1dCgpIGNvbmZpZzogRm9ybUZpZWxkQ29uZmlnXG4gIEBJbnB1dCgpIHZhbHVlOiB1bmtub3duXG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAVmlld0NoaWxkKCd0aXRsZUlucHV0JykgdGl0bGVJbnB1dDogRWxlbWVudFJlZlxuICBpc09wZW5EYXRhID0gZmFsc2VcblxuICB0b2dnbGVJc09wZW5EYXRhKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5pc09wZW5EYXRhID0gZXZlbnRcbiAgfVxuXG4gIGZvY3VzVGl0bGVJbnB1dCgpIHtcbiAgICB0aGlzLnRpdGxlSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBnZXQgd2l0aG91dFdyYXBwZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubW9kZWwgPT09ICd0aXRsZScgfHxcbiAgICAgIHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCcgfHxcbiAgICAgIHRoaXMubW9kZWwgPT09ICdsZWdhbENvbnN0cmFpbnRzJyB8fFxuICAgICAgdGhpcy5tb2RlbCA9PT0gJ3NlY3VyaXR5Q29uc3RyYWludHMnIHx8XG4gICAgICB0aGlzLm1vZGVsID09PSAnb3RoZXJDb25zdHJhaW50cycgfHxcbiAgICAgIHRoaXMuY29tcG9uZW50TmFtZSA9PT0gJ2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzJ1xuICAgIClcbiAgfVxuXG4gIGdldCB2YWx1ZUFzU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIHN0cmluZ1xuICB9XG4gIGdldCB2YWx1ZUFzRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBEYXRlXG4gIH1cblxuICBnZXQgdmFsdWVBc092ZXJ2aWV3cygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxHcmFwaGljT3ZlcnZpZXc+XG4gIH1cbiAgZ2V0IHZhbHVlQXNVcGRhdGVGcmVxdWVuY3koKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgVXBkYXRlRnJlcXVlbmN5XG4gIH1cbiAgZ2V0IHZhbHVlQXNUZW1wb3JhbEV4dGVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxuICB9XG4gIGdldCB2YWx1ZUFzS2V5d29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8S2V5d29yZD5cbiAgfVxuICBnZXQgdmFsdWVBc1RvcGljcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxzdHJpbmc+XG4gIH1cbiAgZ2V0IHZhbHVlQXNDb25zdHJhaW50cygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxDb25zdHJhaW50PlxuICB9XG4gIGdldCB2YWx1ZUFzSW5kaXZpZHVhbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8SW5kaXZpZHVhbD5cbiAgfVxuICBnZXQgdmFsdWVBc09ubGluZVJlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxPbmxpbmVSZXNvdXJjZT5cbiAgfVxuICBnZXQgdmFsdWVBc1Jlc291cmNlSWRlbnRpZmllckNvZGUoKSB7XG4gICAgY29uc3QgaWRlbnRpZmllcnMgPSB0aGlzLnZhbHVlIGFzIEFycmF5PHtcbiAgICAgIGNvZGU6IHN0cmluZ1xuICAgICAgY29kZVNwYWNlPzogc3RyaW5nXG4gICAgICB1cmw/OiBzdHJpbmdcbiAgICB9PlxuICAgIHJldHVybiBpZGVudGlmaWVycz8uWzBdPy5jb2RlIHx8ICcnXG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZUlkZW50aWZpZXJDaGFuZ2UoY29kZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaWRlbnRpZmllcnMgPSB0aGlzLnZhbHVlIGFzIEFycmF5PHtcbiAgICAgIGNvZGU6IHN0cmluZ1xuICAgICAgY29kZVNwYWNlPzogc3RyaW5nXG4gICAgICB1cmw/OiBzdHJpbmdcbiAgICB9PlxuXG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoaWRlbnRpZmllcnM/LnNsaWNlKDEpIHx8IFtdKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGlkZW50aWZpZXJzPy5bMF0pIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbXG4gICAgICAgIHsgLi4uaWRlbnRpZmllcnNbMF0sIGNvZGUgfSxcbiAgICAgICAgLi4uaWRlbnRpZmllcnMuc2xpY2UoMSksXG4gICAgICBdKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoW3sgY29kZSB9XSlcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gVEVNUE9SQVJZIC0gZGlzYWJsaW5nIHRoZSBvcGVuIGRhdGEgc3dpdGNoIC0tPlxuPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwgPT09ICdsaWNlbnNlcydcIj5cbiAgPGduLXVpLWZvcm0tZmllbGQtb3Blbi1kYXRhXG4gICAgW3ZhbHVlXT1cInZhbHVlQXNDb25zdHJhaW50c1wiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9wZW5EYXRhQ2hhbmdlKT1cInRvZ2dsZUlzT3BlbkRhdGEoJGV2ZW50KVwiXG4gID48L2duLXVpLWZvcm0tZmllbGQtb3Blbi1kYXRhPlxuPC9uZy1jb250YWluZXI+IC0tPlxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aXRob3V0V3JhcHBlcjsgZWxzZSB3aXRoR2VuZXJpY1dyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3dpdGhHZW5lcmljV3JhcHBlcj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC13cmFwcGVyXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaGludF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2duLXVpLWZvcm0tZmllbGQtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2ZpZWxkQ29udGVudD5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMyBtYi1bMTJweF1cIj5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgI3RpdGxlSW5wdXRcbiAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgZGF0YS10ZXN0PVwicmVjb3JkVGl0bGVJbnB1dFwiXG4gICAgICAgICAgY2xhc3M9XCJncm93IGZvbnQtdGl0bGUgdGV4dC0zeGwgZm9udC1ub3JtYWwgb3ZlcmZsb3ctaGlkZGVuIHRleHQtYmxhY2svODBcIlxuICAgICAgICAgIChjaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC50aXRsZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcbiAgICAgICAgICBcIlxuICAgICAgICAgID57eyB2YWx1ZUFzU3RyaW5nIH19PC90ZXh0YXJlYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBzZWxmLXN0YXJ0IG10LTAuNVwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZvY3VzVGl0bGVJbnB1dCgpXCJcbiAgICAgICAgICAgID5lZGl0PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5oaW50S2V5XCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMlwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIGhlbHBcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Fic3RyYWN0J1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtcmljaFxuICAgICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzU3RyaW5nXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXJpY2g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ292ZXJ2aWV3cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLW92ZXJ2aWV3c1xuICAgICAgICBbbWV0YWRhdGFVdWlkXT1cInVuaXF1ZUlkZW50aWZpZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc092ZXJ2aWV3c1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1vdmVydmlld3M+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Jlc291cmNlSWRlbnRpZmllcnMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1zaW1wbGVcbiAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNSZXNvdXJjZUlkZW50aWZpZXJDb2RlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZVJlc291cmNlSWRlbnRpZmllckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtc2ltcGxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyZXNvdXJjZUNyZWF0ZWQnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1kYXRlXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzRGF0ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1kYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyZXNvdXJjZVVwZGF0ZWQnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1kYXRlXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzRGF0ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1kYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid1cGRhdGVGcmVxdWVuY3knXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5XG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzVXBkYXRlRnJlcXVlbmN5XCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3k+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RlbXBvcmFsRXh0ZW50cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHNcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNUZW1wb3JhbEV4dGVudHNcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50cz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3BhdGlhbEV4dGVudHMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD48L2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2tleXdvcmRzJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQta2V5d29yZHNcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNLZXl3b3Jkc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1rZXl3b3Jkcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndG9waWNzJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtdG9waWNzXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzVG9waWNzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXRvcGljcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbGljZW5zZXMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1saWNlbnNlXG4gICAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3JlY29yZExpY2VuY2VzXT1cInZhbHVlQXNDb25zdHJhaW50c1wiXG4gICAgICAgIChyZWNvcmRMaWNlbmNlc0NoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1saWNlbnNlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xlZ2FsQ29uc3RyYWludHMnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9ybUZpZWxkQ29uc3RyYWludHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VjdXJpdHlDb25zdHJhaW50cydcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtRmllbGRDb25zdHJhaW50c1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvdGhlckNvbnN0cmFpbnRzJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvcm1GaWVsZENvbnN0cmFpbnRzXCI+PC9uZy1jb250YWluZXJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNmb3JtRmllbGRDb25zdHJhaW50cz5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWNvbnN0cmFpbnRzXG4gICAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXlcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0NvbnN0cmFpbnRzXCJcbiAgICAgICAgW2NvbnN0cmFpbnRUeXBlXT1cIm1vZGVsXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWNvbnN0cmFpbnRzXG4gICAgPjwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udGFjdHNGb3JSZXNvdXJjZSdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZVxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0luZGl2aWR1YWxzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udGFjdHMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1jb250YWN0c1xuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0luZGl2aWR1YWxzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvbmxpbmVSZXNvdXJjZXMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzXG4gICAgICAgICpuZ0lmPVwibW9kZWxTcGVjaWZpZXIgPT09ICdvbmxpbmVSZXNvdXJjZVR5cGU6IWxpbmsnXCJcbiAgICAgICAgW21ldGFkYXRhVXVpZF09XCJ1bmlxdWVJZGVudGlmaWVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNPbmxpbmVSZXNvdXJjZXNcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtb25saW5lLXJlc291cmNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb25saW5lUmVzb3VyY2VzJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzXG4gICAgICAgICpuZ0lmPVwibW9kZWxTcGVjaWZpZXIgPT09ICdvbmxpbmVSZXNvdXJjZVR5cGU6bGluaydcIlxuICAgICAgICBbbWV0YWRhdGFVdWlkXT1cInVuaXF1ZUlkZW50aWZpZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc09ubGluZVJlc291cmNlc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWxcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb21wb25lbnROYW1lXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMnXCI+XG4gICAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cz48L2duLXVpLWZvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZSdcIj5cbiAgICAgICAgPGduLXVpLWZvcm0tZmllbGQtc3BhdGlhbC10b2dnbGU+PC9nbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtdG9nZ2xlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -62,7 +62,7 @@ export const RECORD_RESOURCE_CREATED_FIELD = {
62
62
  gridColumnSpan: 1,
63
63
  };
64
64
  export const RESOURCE_IDENTIFIER_FIELD = {
65
- model: 'resourceIdentifier',
65
+ model: 'resourceIdentifiers',
66
66
  formFieldConfig: {
67
67
  labelKey: marker('editor.record.form.field.resourceIdentifier'),
68
68
  },
@@ -373,4 +373,4 @@ marker('editor.record.form.topics.inspire.structure');
373
373
  marker('editor.record.form.topics.inspire.transportation');
374
374
  marker('editor.record.form.topics.inspire.utilities');
375
375
  marker('editor.record.form.topics.inspire.waters');
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVdoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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QUE7QUFDakQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBFZGl0b3JDb25maWcsXG4gIEVkaXRvckZpZWxkLFxuICBFZGl0b3JTZWN0aW9uLFxufSBmcm9tICcuL21vZGVscy9lZGl0b3ItY29uZmlnLm1vZGVsJ1xuaW1wb3J0IHtcbiAgSU5TUElSRV90b3BpYyxcbiAgS2V5d29yZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG4vKipcbiAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmllbGRzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGVkaXRvci5cbiAqIFRvIGFkZCBhIG5ldyBmaWVsZCwgeW91IG5lZWQgdG8gY3JlYXRlIGEgbmV3IEVkaXRvckZpZWxkIG9iamVjdCBpbiB0aGUgZmllbGRzIHBhcnQgb2YgdGhpcyBmaWxlLlxuICogVGhlbiBhZGQgaXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc2VjdGlvbiBpbiB0aGUgc2VjdGlvbnMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKiBGaW5hbGx5LCBhZGQgdGhlIHNlY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGFnZSBpbiB0aGUgcGFnZXMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgRklFTERTICAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVU5JUVVFX0lERU5USUZJRVJfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3VuaXF1ZUlkZW50aWZpZXInLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudW5pcXVlSWRlbnRpZmllcicpLFxuICB9LFxuICBoaWRkZW46IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCBDT05TVFJBSU5UU19TSE9SVENVVFM6IEVkaXRvckZpZWxkID0ge1xuICBjb21wb25lbnROYW1lOiAnZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuY29uc3RyYWludHNTaG9ydGN1dHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IExFR0FMX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdsZWdhbENvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmxlZ2FsQ29uc3RyYWludHMnKSxcbiAgfSxcbn1cbmV4cG9ydCBjb25zdCBTRUNVUklUWV9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnc2VjdXJpdHlDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5zZWN1cml0eUNvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5leHBvcnQgY29uc3QgT1RIRVJfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ290aGVyQ29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub3RoZXJDb25zdHJhaW50cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0xJQ0VOU0VfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2xpY2Vuc2VzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmxpY2Vuc2UnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9LRVlXT1JEU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAna2V5d29yZHMnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1RPUElDU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndG9waWNzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUNyZWF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VDcmVhdGVkJyksXG4gIH0sXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxufVxuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VJZGVudGlmaWVyJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlc291cmNlSWRlbnRpZmllcicpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1JFU09VUkNFX1VQREFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3Jlc291cmNlVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZVVwZGF0ZWQnKSxcbiAgfSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVVBEQVRFRF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVjb3JkVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZWNvcmRVcGRhdGVkJyksXG4gIH0sXG4gIG9uU2F2ZVByb2Nlc3M6ICcke2RhdGVOb3coKX0nLFxuICBncmlkQ29sdW1uU3BhbjogMSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VQREFURV9GUkVRVUVOQ1lfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3VwZGF0ZUZyZXF1ZW5jeScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudXBkYXRlRnJlcXVlbmN5JylcblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9URU1QT1JBTF9FWFRFTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd0ZW1wb3JhbEV4dGVudHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudGVtcG9yYWxFeHRlbnRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVElUTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3RpdGxlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnRpdGxlJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfQUJTVFJBQ1RfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2Fic3RyYWN0JyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmFic3RyYWN0JyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2NvbnRhY3RzRm9yUmVzb3VyY2UnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnY29udGFjdHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfR1JBUEhJQ0FMX09WRVJWSUVXX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvdmVydmlld3MnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub3ZlcnZpZXdzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBjb21wb25lbnROYW1lOiAnZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3NwYXRpYWxFeHRlbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5zcGF0aWFsRXh0ZW50cycpXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfT05MSU5FX1JFU09VUkNFUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb25saW5lUmVzb3VyY2VzJyxcbiAgbW9kZWxTcGVjaWZpZXI6ICdvbmxpbmVSZXNvdXJjZVR5cGU6IWxpbmsnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuLy8ga2VlcGluZyB0cmFjayBvZiB0aGUgbGFiZWwgdG8gbm90IGxvc2UgZXhpc3RpbmcgdHJhbnNsYXRpb25cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlcycpXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTpsaW5rJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVMaW5rUmVzb3VyY2VzJylcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICBTRUNUSU9OUyAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBUSVRMRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVElUTEVfRklFTEQsXG4gICAgUkVDT1JEX0FCU1RSQUNUX0ZJRUxELFxuICAgIFJFQ09SRF9HUkFQSElDQUxfT1ZFUlZJRVdfRklFTEQsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBBQk9VVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVU5JUVVFX0lERU5USUZJRVJfRklFTEQsXG4gICAgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfQ1JFQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFX0ZSRVFVRU5DWV9GSUVMRCxcbiAgICBSRUNPUkRfVEVNUE9SQUxfRVhURU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5nZW9ncmFwaGljYWxDb3ZlcmFnZS5sYWJlbCcpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQsIFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgQVNTT0NJQVRFRF9SRVNPVVJDRVNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYXNzb2NpYXRlZFJlc291cmNlcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKFxuICAgICdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hc3NvY2lhdGVkUmVzb3VyY2VzLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX1JFU09VUkNFU10sXG59XG5cbmV4cG9ydCBjb25zdCBBTk5FWEVTX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFubmV4ZXMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYW5uZXhlcy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTXSxcbn1cblxuZXhwb3J0IGNvbnN0IENMQVNTSUZJQ0FUSU9OX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfS0VZV09SRFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgVE9QSUNTX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLnRvcGljcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi50b3BpY3MuZGVzY3JpcHRpb24nKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbUkVDT1JEX1RPUElDU19GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBVU0VfQU5EX0FDQ0VTU19DT05ESVRJT05TX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLnVzZUFuZEFjY2Vzc0NvbmRpdGlvbnMubGFiZWwnKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbXG4gICAgUkVDT1JEX0xJQ0VOU0VfRklFTEQsXG4gICAgQ09OU1RSQUlOVFNfU0hPUlRDVVRTLFxuICAgIExFR0FMX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIFNFQ1VSSVRZX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIE9USEVSX0NPTlNUUkFJTlRTX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgREFUQV9NQU5BR0VSU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5kYXRhTWFuYWdlcnMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTX0ZPUl9SRVNPVVJDRV9GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBNRVRBREFUQV9QT0lOVF9PRl9DT05UQUNUX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24ubWV0YWRhdGFQb2ludE9mQ29udGFjdC5kZXNjcmlwdGlvbidcbiAgKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbQ09OVEFDVFNdLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBQQUdFUyAgICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJR1VSQVRJT046IEVkaXRvckNvbmZpZyA9IHtcbiAgcGFnZXM6IFtcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5kZXNjcmlwdGlvbicpLFxuICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgVElUTEVfU0VDVElPTixcbiAgICAgICAgQ0xBU1NJRklDQVRJT05fU0VDVElPTixcbiAgICAgICAgVE9QSUNTX1NFQ1RJT04sXG4gICAgICAgIEFCT1VUX1NFQ1RJT04sXG4gICAgICAgIEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5wYWdlLnJlc291cmNlcycpLFxuICAgICAgc2VjdGlvbnM6IFtBU1NPQ0lBVEVEX1JFU09VUkNFU19TRUNUSU9OLCBBTk5FWEVTX1NFQ1RJT05dLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UuYWNjZXNzQW5kQ29udGFjdCcpLFxuICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgVVNFX0FORF9BQ0NFU1NfQ09ORElUSU9OU19TRUNUSU9OLFxuICAgICAgICBEQVRBX01BTkFHRVJTX1NFQ1RJT04sXG4gICAgICAgIE1FVEFEQVRBX1BPSU5UX09GX0NPTlRBQ1RfU0VDVElPTixcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgTElDRU5TRVMgICAgICAgICAgICAqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5leHBvcnQgY29uc3QgQVZBSUxBQkxFX0xJQ0VOU0VTOiBzdHJpbmdbXSA9IFtcbiAgJ2NjLWJ5JyxcbiAgJ2NjLWJ5LXNhJyxcbiAgJ2NjLXplcm8nLFxuICAnZXRhbGFiJyxcbiAgJ2V0YWxhYi12MicsXG4gICdvZGJsJyxcbiAgJ29kYy1ieScsXG4gICdwZGRsJyxcbiAgJ3Vua25vd24nLFxuXVxuXG5leHBvcnQgY29uc3QgT1BFTl9EQVRBX0xJQ0VOU0UgPSAnZXRhbGFiJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLWJ5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtYnktc2EnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy16ZXJvJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuZXRhbGFiJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuZXRhbGFiLXYyJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2Uub2RibCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLm9kYy1ieScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLnBkZGwnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS51bmtub3duJylcblxuZXhwb3J0IGNvbnN0IE1BWF9VUExPQURfU0laRV9NQiA9IDEwXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICBTUEFUSUFMIFNDT1BFICAgICAgICAgICAgKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNQQVRJQUxfU0NPUEVTOiBLZXl3b3JkW10gPSBbXG4gIHtcbiAgICBrZXk6ICdodHRwOi8vaW5zcGlyZS5lYy5ldXJvcGEuZXUvbWV0YWRhdGEtY29kZWxpc3QvU3BhdGlhbFNjb3BlL25hdGlvbmFsJyxcbiAgICBsYWJlbDogJ05hdGlvbmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgdHlwZTogJ3RoZW1lJyxcbiAgfSxcbiAge1xuICAgIGtleTogJ2h0dHA6Ly9pbnNwaXJlLmVjLmV1cm9wYS5ldS9tZXRhZGF0YS1jb2RlbGlzdC9TcGF0aWFsU2NvcGUvcmVnaW9uYWwnLFxuICAgIGxhYmVsOiAnUmVnaW9uYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB0eXBlOiAndGhlbWUnLFxuICB9LFxuXVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBJTlNQSVJFIFRPUElDUyAgICAgICAgICAgICoqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IElOU1BJUkVfVE9QSUNTOiBJTlNQSVJFX3RvcGljW10gPSBbXG4gIHsgdmFsdWU6ICdiaW90YScsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmJpb3RhJyB9LFxuICB7XG4gICAgdmFsdWU6ICdib3VuZGFyaWVzJyxcbiAgICBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5ib3VuZGFyaWVzJyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnY2xpbWF0b2xvZ3lNZXRlb3JvbG9neUF0bW9zcGhlcmUnLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmNsaW1hdG9sb2d5JyxcbiAgfSxcbiAgeyB2YWx1ZTogJ2Vjb25vbXknLCBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5lY29ub215JyB9LFxuICB7IHZhbHVlOiAnZWxldmF0aW9uJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZWxldmF0aW9uJyB9LFxuICB7XG4gICAgdmFsdWU6ICdlbnZpcm9ubWVudCcsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZW52aXJvbm5lbWVudCcsXG4gIH0sXG4gIHsgdmFsdWU6ICdmYXJtaW5nJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZmFybWluZycgfSxcbiAge1xuICAgIHZhbHVlOiAnZ2Vvc2NpZW50aWZpYyBpbmZvcm1hdGlvbicsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZ2Vvc2NpZW50aWZpYycsXG4gIH0sXG4gIHsgdmFsdWU6ICdoZWFsdGgnLCBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5oZWFsdGgnIH0sXG4gIHtcbiAgICB2YWx1ZTogJ2ltYWdlcnlCYXNlTWFwc0VhcnRoQ292ZXInLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmltYWdlcnknLFxuICB9LFxuICB7IHZhbHVlOiAnaW5sYW5kV2F0ZXJzJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUud2F0ZXJzJyB9LFxuICB7XG4gICAgdmFsdWU6ICdpbnRlbGxpZ2VuY2VNaWxpdGFyeScsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuaW50ZWxsaWdlbmNlJyxcbiAgfSxcbiAgeyB2YWx1ZTogJ0xvY2F0aW9uJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUubG9jYXRpb24nIH0sXG4gIHsgdmFsdWU6ICdPY2VhbnMnLCBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5vY2VhbnMnIH0sXG4gIHtcbiAgICB2YWx1ZTogJ3BsYW5uaW5nQ2FkYXN0cmUnLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnBsYW5uaW5nJyxcbiAgfSxcbiAgeyB2YWx1ZTogJ1NvY2lldHknLCBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5zb2NpZXR5JyB9LFxuICB7IHZhbHVlOiAnU3RydWN0dXJlJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuc3RydWN0dXJlJyB9LFxuICB7XG4gICAgdmFsdWU6ICdUcmFuc3BvcnRhdGlvbicsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUudHJhbnNwb3J0YXRpb24nLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICd1dGlsaXRpZXNDb21tdW5pY2F0aW9uJyxcbiAgICBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS51dGlsaXRpZXMnLFxuICB9LFxuXVxuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5iaW90YScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5ib3VuZGFyaWVzJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmNsaW1hdG9sb2d5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmVjb25vbXknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZWxldmF0aW9uJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmVudmlyb25uZW1lbnQnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZmFybWluZycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5nZW9zY2llbnRpZmljJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmhlYWx0aCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5pbWFnZXJ5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmludGVsbGlnZW5jZScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5sb2NhdGlvbicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5vY2VhbnMnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUucGxhbm5pbmcnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuc29jaWV0eScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5zdHJ1Y3R1cmUnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUudHJhbnNwb3J0YXRpb24nKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUudXRpbGl0aWVzJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLndhdGVycycpXG4iXX0=
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVdoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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QUE7QUFDakQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBFZGl0b3JDb25maWcsXG4gIEVkaXRvckZpZWxkLFxuICBFZGl0b3JTZWN0aW9uLFxufSBmcm9tICcuL21vZGVscy9lZGl0b3ItY29uZmlnLm1vZGVsJ1xuaW1wb3J0IHtcbiAgSU5TUElSRV90b3BpYyxcbiAgS2V5d29yZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG4vKipcbiAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmllbGRzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGVkaXRvci5cbiAqIFRvIGFkZCBhIG5ldyBmaWVsZCwgeW91IG5lZWQgdG8gY3JlYXRlIGEgbmV3IEVkaXRvckZpZWxkIG9iamVjdCBpbiB0aGUgZmllbGRzIHBhcnQgb2YgdGhpcyBmaWxlLlxuICogVGhlbiBhZGQgaXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc2VjdGlvbiBpbiB0aGUgc2VjdGlvbnMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKiBGaW5hbGx5LCBhZGQgdGhlIHNlY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGFnZSBpbiB0aGUgcGFnZXMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgRklFTERTICAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVU5JUVVFX0lERU5USUZJRVJfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3VuaXF1ZUlkZW50aWZpZXInLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudW5pcXVlSWRlbnRpZmllcicpLFxuICB9LFxuICBoaWRkZW46IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCBDT05TVFJBSU5UU19TSE9SVENVVFM6IEVkaXRvckZpZWxkID0ge1xuICBjb21wb25lbnROYW1lOiAnZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuY29uc3RyYWludHNTaG9ydGN1dHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IExFR0FMX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdsZWdhbENvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmxlZ2FsQ29uc3RyYWludHMnKSxcbiAgfSxcbn1cbmV4cG9ydCBjb25zdCBTRUNVUklUWV9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnc2VjdXJpdHlDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5zZWN1cml0eUNvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5leHBvcnQgY29uc3QgT1RIRVJfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ290aGVyQ29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub3RoZXJDb25zdHJhaW50cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0xJQ0VOU0VfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2xpY2Vuc2VzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmxpY2Vuc2UnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9LRVlXT1JEU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAna2V5d29yZHMnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1RPUElDU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndG9waWNzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUNyZWF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VDcmVhdGVkJyksXG4gIH0sXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxufVxuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VJZGVudGlmaWVycycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZUlkZW50aWZpZXInKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9SRVNPVVJDRV9VUERBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZVVwZGF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VVcGRhdGVkJyksXG4gIH0sXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VQREFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3JlY29yZFVwZGF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVjb3JkVXBkYXRlZCcpLFxuICB9LFxuICBvblNhdmVQcm9jZXNzOiAnJHtkYXRlTm93KCl9JyxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9VUERBVEVfRlJFUVVFTkNZX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd1cGRhdGVGcmVxdWVuY3knLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuLy8ga2VlcGluZyB0cmFjayBvZiB0aGUgbGFiZWwgdG8gbm90IGxvc2UgZXhpc3RpbmcgdHJhbnNsYXRpb25cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnVwZGF0ZUZyZXF1ZW5jeScpXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVEVNUE9SQUxfRVhURU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndGVtcG9yYWxFeHRlbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnRlbXBvcmFsRXh0ZW50cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1RJVExFX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd0aXRsZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC50aXRsZScpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0FCU1RSQUNUX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdhYnN0cmFjdCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5hYnN0cmFjdCcpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgQ09OVEFDVFNfRk9SX1JFU09VUkNFX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdjb250YWN0c0ZvclJlc291cmNlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6ICcnLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgQ09OVEFDVFM6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2NvbnRhY3RzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6ICcnLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0dSQVBISUNBTF9PVkVSVklFV19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb3ZlcnZpZXdzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm92ZXJ2aWV3cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1NQQVRJQUxfVE9HR0xFX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgY29tcG9uZW50TmFtZTogJ2Zvcm0tZmllbGQtc3BhdGlhbC10b2dnbGUnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxuICBoaWRkZW46IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfU1BBVElBTF9FWFRFTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdzcGF0aWFsRXh0ZW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuc3BhdGlhbEV4dGVudHMnKVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX09OTElORV9SRVNPVVJDRVM6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ29ubGluZVJlc291cmNlcycsXG4gIG1vZGVsU3BlY2lmaWVyOiAnb25saW5lUmVzb3VyY2VUeXBlOiFsaW5rJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZXMnKVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX09OTElORV9MSU5LX1JFU09VUkNFUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb25saW5lUmVzb3VyY2VzJyxcbiAgbW9kZWxTcGVjaWZpZXI6ICdvbmxpbmVSZXNvdXJjZVR5cGU6bGluaycsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lTGlua1Jlc291cmNlcycpXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgICAgU0VDVElPTlMgICAgICAgICAgKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuXG5leHBvcnQgY29uc3QgVElUTEVfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbXG4gICAgUkVDT1JEX1RJVExFX0ZJRUxELFxuICAgIFJFQ09SRF9BQlNUUkFDVF9GSUVMRCxcbiAgICBSRUNPUkRfR1JBUEhJQ0FMX09WRVJWSUVXX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgQUJPVVRfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYWJvdXQubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYWJvdXQuZGVzY3JpcHRpb24nKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbXG4gICAgUkVDT1JEX1VOSVFVRV9JREVOVElGSUVSX0ZJRUxELFxuICAgIFJFU09VUkNFX0lERU5USUZJRVJfRklFTEQsXG4gICAgUkVDT1JEX1JFU09VUkNFX0NSRUFURURfRklFTEQsXG4gICAgUkVDT1JEX1JFU09VUkNFX1VQREFURURfRklFTEQsXG4gICAgUkVDT1JEX1VQREFURURfRklFTEQsXG4gICAgUkVDT1JEX1VQREFURV9GUkVRVUVOQ1lfRklFTEQsXG4gICAgUkVDT1JEX1RFTVBPUkFMX0VYVEVOVFNfRklFTEQsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBHRU9HUkFQSElDQUxfQ09WRVJBR0VfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZ2VvZ3JhcGhpY2FsQ292ZXJhZ2UubGFiZWwnKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbUkVDT1JEX1NQQVRJQUxfVE9HR0xFX0ZJRUxELCBSRUNPUkRfU1BBVElBTF9FWFRFTlRTX0ZJRUxEXSxcbn1cblxuZXhwb3J0IGNvbnN0IEFTU09DSUFURURfUkVTT1VSQ0VTX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFzc29jaWF0ZWRSZXNvdXJjZXMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYXNzb2NpYXRlZFJlc291cmNlcy5kZXNjcmlwdGlvbidcbiAgKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbUkVDT1JEX09OTElORV9SRVNPVVJDRVNdLFxufVxuXG5leHBvcnQgY29uc3QgQU5ORVhFU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hbm5leGVzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFubmV4ZXMuZGVzY3JpcHRpb24nKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbUkVDT1JEX09OTElORV9MSU5LX1JFU09VUkNFU10sXG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU0lGSUNBVElPTl9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5jbGFzc2lmaWNhdGlvbi5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKFxuICAgICdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5jbGFzc2lmaWNhdGlvbi5kZXNjcmlwdGlvbidcbiAgKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbUkVDT1JEX0tFWVdPUkRTX0ZJRUxEXSxcbn1cblxuZXhwb3J0IGNvbnN0IFRPUElDU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi50b3BpY3MubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24udG9waWNzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9UT1BJQ1NfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgVVNFX0FORF9BQ0NFU1NfQ09ORElUSU9OU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi51c2VBbmRBY2Nlc3NDb25kaXRpb25zLmxhYmVsJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9MSUNFTlNFX0ZJRUxELFxuICAgIENPTlNUUkFJTlRTX1NIT1JUQ1VUUyxcbiAgICBMRUdBTF9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBTRUNVUklUWV9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBPVEhFUl9DT05TVFJBSU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IERBVEFfTUFOQUdFUlNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmRhdGFNYW5hZ2Vycy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgTUVUQURBVEFfUE9JTlRfT0ZfQ09OVEFDVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5tZXRhZGF0YVBvaW50T2ZDb250YWN0LmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QuZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTXSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgUEFHRVMgICAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUdVUkFUSU9OOiBFZGl0b3JDb25maWcgPSB7XG4gIHBhZ2VzOiBbXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UuZGVzY3JpcHRpb24nKSxcbiAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgIFRJVExFX1NFQ1RJT04sXG4gICAgICAgIENMQVNTSUZJQ0FUSU9OX1NFQ1RJT04sXG4gICAgICAgIFRPUElDU19TRUNUSU9OLFxuICAgICAgICBBQk9VVF9TRUNUSU9OLFxuICAgICAgICBHRU9HUkFQSElDQUxfQ09WRVJBR0VfU0VDVElPTixcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5yZXNvdXJjZXMnKSxcbiAgICAgIHNlY3Rpb25zOiBbQVNTT0NJQVRFRF9SRVNPVVJDRVNfU0VDVElPTiwgQU5ORVhFU19TRUNUSU9OXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5wYWdlLmFjY2Vzc0FuZENvbnRhY3QnKSxcbiAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgIFVTRV9BTkRfQUNDRVNTX0NPTkRJVElPTlNfU0VDVElPTixcbiAgICAgICAgREFUQV9NQU5BR0VSU19TRUNUSU9OLFxuICAgICAgICBNRVRBREFUQV9QT0lOVF9PRl9DT05UQUNUX1NFQ1RJT04sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgICAgIExJQ0VOU0VTICAgICAgICAgICAgKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuZXhwb3J0IGNvbnN0IEFWQUlMQUJMRV9MSUNFTlNFUzogc3RyaW5nW10gPSBbXG4gICdjYy1ieScsXG4gICdjYy1ieS1zYScsXG4gICdjYy16ZXJvJyxcbiAgJ2V0YWxhYicsXG4gICdldGFsYWItdjInLFxuICAnb2RibCcsXG4gICdvZGMtYnknLFxuICAncGRkbCcsXG4gICd1bmtub3duJyxcbl1cblxuZXhwb3J0IGNvbnN0IE9QRU5fREFUQV9MSUNFTlNFID0gJ2V0YWxhYidcblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy1ieScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLWJ5LXNhJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtemVybycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmV0YWxhYicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmV0YWxhYi12MicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLm9kYmwnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5vZGMtYnknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5wZGRsJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UudW5rbm93bicpXG5cbmV4cG9ydCBjb25zdCBNQVhfVVBMT0FEX1NJWkVfTUIgPSAxMFxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgU1BBVElBTCBTQ09QRSAgICAgICAgICAgICoqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBTUEFUSUFMX1NDT1BFUzogS2V5d29yZFtdID0gW1xuICB7XG4gICAga2V5OiAnaHR0cDovL2luc3BpcmUuZWMuZXVyb3BhLmV1L21ldGFkYXRhLWNvZGVsaXN0L1NwYXRpYWxTY29wZS9uYXRpb25hbCcsXG4gICAgbGFiZWw6ICdOYXRpb25hbCcsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIHR5cGU6ICd0aGVtZScsXG4gIH0sXG4gIHtcbiAgICBrZXk6ICdodHRwOi8vaW5zcGlyZS5lYy5ldXJvcGEuZXUvbWV0YWRhdGEtY29kZWxpc3QvU3BhdGlhbFNjb3BlL3JlZ2lvbmFsJyxcbiAgICBsYWJlbDogJ1JlZ2lvbmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgdHlwZTogJ3RoZW1lJyxcbiAgfSxcbl1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgSU5TUElSRSBUT1BJQ1MgICAgICAgICAgICAqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBJTlNQSVJFX1RPUElDUzogSU5TUElSRV90b3BpY1tdID0gW1xuICB7IHZhbHVlOiAnYmlvdGEnLCBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5iaW90YScgfSxcbiAge1xuICAgIHZhbHVlOiAnYm91bmRhcmllcycsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuYm91bmRhcmllcycsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJ2NsaW1hdG9sb2d5TWV0ZW9yb2xvZ3lBdG1vc3BoZXJlJyxcbiAgICBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5jbGltYXRvbG9neScsXG4gIH0sXG4gIHsgdmFsdWU6ICdlY29ub215JywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZWNvbm9teScgfSxcbiAgeyB2YWx1ZTogJ2VsZXZhdGlvbicsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmVsZXZhdGlvbicgfSxcbiAge1xuICAgIHZhbHVlOiAnZW52aXJvbm1lbnQnLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmVudmlyb25uZW1lbnQnLFxuICB9LFxuICB7IHZhbHVlOiAnZmFybWluZycsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmZhcm1pbmcnIH0sXG4gIHtcbiAgICB2YWx1ZTogJ2dlb3NjaWVudGlmaWMgaW5mb3JtYXRpb24nLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmdlb3NjaWVudGlmaWMnLFxuICB9LFxuICB7IHZhbHVlOiAnaGVhbHRoJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuaGVhbHRoJyB9LFxuICB7XG4gICAgdmFsdWU6ICdpbWFnZXJ5QmFzZU1hcHNFYXJ0aENvdmVyJyxcbiAgICBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5pbWFnZXJ5JyxcbiAgfSxcbiAgeyB2YWx1ZTogJ2lubGFuZFdhdGVycycsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLndhdGVycycgfSxcbiAge1xuICAgIHZhbHVlOiAnaW50ZWxsaWdlbmNlTWlsaXRhcnknLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmludGVsbGlnZW5jZScsXG4gIH0sXG4gIHsgdmFsdWU6ICdMb2NhdGlvbicsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmxvY2F0aW9uJyB9LFxuICB7IHZhbHVlOiAnT2NlYW5zJywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUub2NlYW5zJyB9LFxuICB7XG4gICAgdmFsdWU6ICdwbGFubmluZ0NhZGFzdHJlJyxcbiAgICBsYWJlbDogJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5wbGFubmluZycsXG4gIH0sXG4gIHsgdmFsdWU6ICdTb2NpZXR5JywgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuc29jaWV0eScgfSxcbiAgeyB2YWx1ZTogJ1N0cnVjdHVyZScsIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnN0cnVjdHVyZScgfSxcbiAge1xuICAgIHZhbHVlOiAnVHJhbnNwb3J0YXRpb24nLFxuICAgIGxhYmVsOiAnZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnRyYW5zcG9ydGF0aW9uJyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAndXRpbGl0aWVzQ29tbXVuaWNhdGlvbicsXG4gICAgbGFiZWw6ICdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUudXRpbGl0aWVzJyxcbiAgfSxcbl1cblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuYmlvdGEnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuYm91bmRhcmllcycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5jbGltYXRvbG9neScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5lY29ub215Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmVsZXZhdGlvbicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5lbnZpcm9ubmVtZW50Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLmZhcm1pbmcnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuZ2Vvc2NpZW50aWZpYycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5oZWFsdGgnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuaW1hZ2VyeScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS5pbnRlbGxpZ2VuY2UnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUubG9jYXRpb24nKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUub2NlYW5zJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnBsYW5uaW5nJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnNvY2lldHknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLmluc3BpcmUuc3RydWN0dXJlJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnRyYW5zcG9ydGF0aW9uJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnRvcGljcy5pbnNwaXJlLnV0aWxpdGllcycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS50b3BpY3MuaW5zcGlyZS53YXRlcnMnKVxuIl19
@@ -5,7 +5,7 @@ import { MdViewFacade } from '../state';
5
5
  import { CopyTextButtonComponent } from '../../../../../../libs/ui/inputs/src';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { TranslatePipe } from '@ngx-translate/core';
8
- import { GEONETWORK_UI_TAG_NAME } from '../../../../../../libs/util/shared/src';
8
+ import { GEONETWORK_UI_TAG_NAME, PROXY_PATH } from '../../../../../../libs/util/shared/src';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../state";
11
11
  import * as i2 from "@angular/common";
@@ -15,8 +15,9 @@ export class DataViewPermalinkComponent {
15
15
  set viewType(value) {
16
16
  this.viewType$.next(value);
17
17
  }
18
- constructor(config, wcEmbedderBaseUrl, facade) {
18
+ constructor(config, proxyPath, wcEmbedderBaseUrl, facade) {
19
19
  this.config = config;
20
+ this.proxyPath = proxyPath;
20
21
  this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
21
22
  this.facade = facade;
22
23
  this.viewType$ = new BehaviorSubject('map');
@@ -49,6 +50,9 @@ export class DataViewPermalinkComponent {
49
50
  url.searchParams.append('e', `gn-dataset-view-map`);
50
51
  }
51
52
  url.searchParams.append('a', `api-url=${this.config.basePath}`);
53
+ if (this.proxyPath) {
54
+ url.searchParams.append('a', `proxy-path=${this.proxyPath}`);
55
+ }
52
56
  url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
53
57
  url.searchParams.append('a', `primary-color=#0f4395`);
54
58
  url.searchParams.append('a', `secondary-color=#8bc832`);
@@ -57,7 +61,7 @@ export class DataViewPermalinkComponent {
57
61
  return url.toString();
58
62
  }));
59
63
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
61
65
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewPermalinkComponent, isStandalone: true, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
66
  }
63
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
@@ -68,10 +72,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
68
72
  args: [Configuration]
69
73
  }] }, { type: undefined, decorators: [{
70
74
  type: Optional
75
+ }, {
76
+ type: Inject,
77
+ args: [PROXY_PATH]
78
+ }] }, { type: undefined, decorators: [{
79
+ type: Optional
71
80
  }, {
72
81
  type: Inject,
73
82
  args: [WEB_COMPONENT_EMBEDDER_URL]
74
83
  }] }, { type: i1.MdViewFacade }], propDecorators: { viewType: [{
75
84
  type: Input
76
85
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7OztBQUUvRSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDMUQseUJBQXlCLENBQzFCLENBQUE7QUFVRCxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLElBQ0ksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFD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LENBQUMsQ0FDSCxDQUFBO0lBUUUsQ0FBQzsrR0FqRE8sMEJBQTBCLGtCQTRDM0IsYUFBYSxhQUViLDBCQUEwQjttR0E5Q3pCLDBCQUEwQix1SEM1QnZDLDhLQUtBLHlERHFCWSxZQUFZLHdMQUFFLHVCQUF1QixzSEFBRSxhQUFhOzs0RkFFbkQsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDOzswQkE4QzVELE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCO29FQTNDaEMsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlJ1xuaW1wb3J0IHsgQ29weVRleHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEdFT05FVFdPUktfVUlfVEFHX05BTUUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuZXhwb3J0IGNvbnN0IFdFQl9DT01QT05FTlRfRU1CRURERVJfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICd3ZWJDb21wb25lbnRFbWJlZGRlclVybCdcbilcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZGF0YS12aWV3LXBlcm1hbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50IHtcbiAgdmlld1R5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdtYXAnKVxuICBASW5wdXQoKVxuICBzZXQgdmlld1R5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmlld1R5cGUkLm5leHQodmFsdWUpXG4gIH1cblxuICBwZXJtYWxpbmtVcmwkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy52aWV3VHlwZSQsXG4gICAgdGhpcy5mYWNhZGUuY2hhcnRDb25maWckLFxuICAgIHRoaXMuZmFjYWRlLm1ldGFkYXRhJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt2aWV3VHlwZSwgY29uZmlnLCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoYCR7dGhpcy53Y0VtYmVkZGVyQmFzZVVybH1gLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ3YnLCBgJHtHRU9ORVRXT1JLX1VJX1RBR19OQU1FfWApXG4gICAgICBpZiAodmlld1R5cGUgPT09ICdjaGFydCcpIHtcbiAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgIGNvbnN0IHsgYWdncmVnYXRpb24sIHhQcm9wZXJ0eSwgeVByb3BlcnR5LCBjaGFydFR5cGUgfSA9IGNvbmZpZ1xuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdlJywgYGduLWRhdGFzZXQtdmlldy1jaGFydGApXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgYWdncmVnYXRpb249JHthZ2dyZWdhdGlvbn1gKVxuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHgtcHJvcGVydHk9JHt4UHJvcGVydHl9YClcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGB5LXByb3BlcnR5PSR7eVByb3BlcnR5fWApXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgY2hhcnQtdHlwZT0ke2NoYXJ0VHlwZX1gKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAnJ1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHZpZXdUeXBlID09PSAndGFibGUnKSB7XG4gICAgICAgIC8vIHRhYmxlXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdlJywgYGduLWRhdGFzZXQtdmlldy10YWJsZWApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBtYXBcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2UnLCBgZ24tZGF0YXNldC12aWV3LW1hcGApXG4gICAgICB9XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBhcGktdXJsPSR7dGhpcy5jb25maWcuYmFzZVBhdGh9YClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGRhdGFzZXQtaWQ9JHttZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyfWApXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBwcmltYXJ5LWNvbG9yPSMwZjQzOTVgKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgc2Vjb25kYXJ5LWNvbG9yPSM4YmM4MzJgKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgbWFpbi1jb2xvcj0jNTU1YClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGJhY2tncm91bmQtY29sb3I9I2ZkZmJmZmApXG4gICAgICByZXR1cm4gdXJsLnRvU3RyaW5nKClcbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDb25maWd1cmF0aW9uKSBwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvbixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkwpXG4gICAgcHJvdGVjdGVkIHdjRW1iZWRkZXJCYXNlVXJsOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBmYWNhZGU6IE1kVmlld0ZhY2FkZVxuICApIHt9XG59XG4iLCI8Z24tdWktY29weS10ZXh0LWJ1dHRvblxuICAqbmdJZj1cIndjRW1iZWRkZXJCYXNlVXJsXCJcbiAgW3RleHRdPVwicGVybWFsaW5rVXJsJCB8IGFzeW5jXCJcbiAgW3Rvb2x0aXBUZXh0XT1cIid0b29sdGlwLnVybC5jb3B5JyB8IHRyYW5zbGF0ZVwiXG4+PC9nbi11aS1jb3B5LXRleHQtYnV0dG9uPlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7QUFFM0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELHlCQUF5QixDQUMxQixDQUFBO0FBVUQsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxJQUNJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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QTtZQUN2RCxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtZQUMvQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtZQUN4RCxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBV0UsQ0FBQzsrR0F2RE8sMEJBQTBCLGtCQStDM0IsYUFBYSxhQUViLFVBQVUsNkJBR1YsMEJBQTBCO21HQXBEekIsMEJBQTBCLHVIQzVCdkMsOEtBS0EseUREcUJZLFlBQVksd0xBQUUsdUJBQXVCLHNIQUFFLGFBQWE7OzRGQUVuRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUM7OzBCQWlENUQsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxVQUFVOzswQkFFakIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQywwQkFBMEI7b0VBakRoQyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgR0VPTkVUV09SS19VSV9UQUdfTkFNRSwgUFJPWFlfUEFUSCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5leHBvcnQgY29uc3QgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ3dlYkNvbXBvbmVudEVtYmVkZGVyVXJsJ1xuKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1kYXRhLXZpZXctcGVybWFsaW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQge1xuICB2aWV3VHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ21hcCcpXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3VHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3VHlwZSQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHBlcm1hbGlua1VybCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnZpZXdUeXBlJCxcbiAgICB0aGlzLmZhY2FkZS5jaGFydENvbmZpZyQsXG4gICAgdGhpcy5mYWNhZGUubWV0YWRhdGEkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3ZpZXdUeXBlLCBjb25maWcsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLndjRW1iZWRkZXJCYXNlVXJsfWAsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCgndicsIGAke0dFT05FVFdPUktfVUlfVEFHX05BTUV9YClcbiAgICAgIGlmICh2aWV3VHlwZSA9PT0gJ2NoYXJ0Jykge1xuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgY29uc3QgeyBhZ2dyZWdhdGlvbiwgeFByb3BlcnR5LCB5UHJvcGVydHksIGNoYXJ0VHlwZSB9ID0gY29uZmlnXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2UnLCBgZ24tZGF0YXNldC12aWV3LWNoYXJ0YClcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBhZ2dyZWdhdGlvbj0ke2FnZ3JlZ2F0aW9ufWApXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgeC1wcm9wZXJ0eT0ke3hQcm9wZXJ0eX1gKVxuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHktcHJvcGVydHk9JHt5UHJvcGVydHl9YClcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBjaGFydC10eXBlPSR7Y2hhcnRUeXBlfWApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICcnXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodmlld1R5cGUgPT09ICd0YWJsZScpIHtcbiAgICAgICAgLy8gdGFibGVcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2UnLCBgZ24tZGF0YXNldC12aWV3LXRhYmxlYClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG1hcFxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZScsIGBnbi1kYXRhc2V0LXZpZXctbWFwYClcbiAgICAgIH1cbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGFwaS11cmw9JHt0aGlzLmNvbmZpZy5iYXNlUGF0aH1gKVxuICAgICAgaWYgKHRoaXMucHJveHlQYXRoKSB7XG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHByb3h5LXBhdGg9JHt0aGlzLnByb3h5UGF0aH1gKVxuICAgICAgfVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgZGF0YXNldC1pZD0ke21ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXJ9YClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHByaW1hcnktY29sb3I9IzBmNDM5NWApXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBzZWNvbmRhcnktY29sb3I9IzhiYzgzMmApXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBtYWluLWNvbG9yPSM1NTVgKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgYmFja2dyb3VuZC1jb2xvcj0jZmRmYmZmYClcbiAgICAgIHJldHVybiB1cmwudG9TdHJpbmcoKVxuICAgIH0pXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENvbmZpZ3VyYXRpb24pIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChQUk9YWV9QQVRIKVxuICAgIHByaXZhdGUgcHJveHlQYXRoOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFdFQl9DT01QT05FTlRfRU1CRURERVJfVVJMKVxuICAgIHByb3RlY3RlZCB3Y0VtYmVkZGVyQmFzZVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgZmFjYWRlOiBNZFZpZXdGYWNhZGVcbiAgKSB7fVxufVxuIiwiPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgKm5nSWY9XCJ3Y0VtYmVkZGVyQmFzZVVybFwiXG4gIFt0ZXh0XT1cInBlcm1hbGlua1VybCQgfCBhc3luY1wiXG4gIFt0b29sdGlwVGV4dF09XCIndG9vbHRpcC51cmwuY29weScgfCB0cmFuc2xhdGVcIlxuPjwvZ24tdWktY29weS10ZXh0LWJ1dHRvbj5cbiJdfQ==