@alfresco/adf-content-services 8.1.0-15865093855 → 8.1.0-15928551305

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 (76) hide show
  1. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +5 -6
  2. package/esm2022/lib/aspect-list/aspect-list.component.mjs +5 -6
  3. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +6 -7
  4. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -5
  5. package/esm2022/lib/category/categories-management/categories-management.component.mjs +10 -11
  6. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -5
  7. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +6 -7
  8. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -5
  9. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +8 -9
  10. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +6 -7
  11. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
  12. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +11 -12
  13. package/esm2022/lib/content-type/content-type-dialog.component.mjs +7 -8
  14. package/esm2022/lib/content.module.mjs +2 -2
  15. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +5 -6
  16. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +7 -8
  17. package/esm2022/lib/dialogs/library/library.dialog.mjs +8 -9
  18. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +9 -10
  19. package/esm2022/lib/directives/content-directive.module.mjs +2 -2
  20. package/esm2022/lib/directives/node-counter.directive.mjs +4 -5
  21. package/esm2022/lib/document-list/components/document-list.component.mjs +6 -7
  22. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +7 -8
  23. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +5 -7
  24. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +5 -7
  25. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +5 -7
  26. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +5 -7
  27. package/esm2022/lib/document-list/document-list.module.mjs +1 -5
  28. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +5 -6
  29. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +5 -6
  30. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +7 -8
  31. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -5
  32. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +6 -7
  33. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +5 -6
  34. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -5
  35. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +6 -7
  36. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +8 -9
  37. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +5 -6
  38. package/esm2022/lib/search/components/search-control.component.mjs +4 -5
  39. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +8 -9
  40. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -5
  41. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +6 -7
  42. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +5 -6
  43. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -5
  44. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +5 -6
  45. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +6 -7
  46. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +6 -7
  47. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -5
  48. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +6 -7
  49. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +6 -7
  50. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +5 -6
  51. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -5
  52. package/esm2022/lib/search/components/search-form/search-form.component.mjs +6 -7
  53. package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -5
  54. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +5 -6
  55. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +5 -6
  56. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
  57. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +6 -7
  58. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -5
  59. package/esm2022/lib/search/components/search-text/search-text.component.mjs +8 -9
  60. package/esm2022/lib/search/components/search.component.mjs +4 -5
  61. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +6 -7
  62. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +6 -7
  63. package/esm2022/lib/tree/components/tree.component.mjs +10 -11
  64. package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -5
  65. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +6 -7
  66. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +5 -6
  67. package/esm2022/lib/upload/components/upload-button.component.mjs +5 -6
  68. package/esm2022/lib/upload/components/upload-version-button.component.mjs +5 -6
  69. package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -5
  70. package/esm2022/lib/version-manager/version-list.component.mjs +5 -6
  71. package/esm2022/lib/version-manager/version-manager.component.mjs +4 -5
  72. package/esm2022/lib/version-manager/version-upload.component.mjs +7 -8
  73. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +6 -7
  74. package/fesm2022/adf-content-services.mjs +188 -192
  75. package/fesm2022/adf-content-services.mjs.map +1 -1
  76. package/package.json +4 -4
@@ -19,13 +19,12 @@ import { MatSelect, MatSelectModule } from '@angular/material/select';
19
19
  import { BreadcrumbComponent } from './breadcrumb.component';
20
20
  import { CommonModule } from '@angular/common';
21
21
  import { MatIconModule } from '@angular/material/icon';
22
- import { TranslateModule } from '@ngx-translate/core';
22
+ import { TranslatePipe } from '@ngx-translate/core';
23
23
  import * as i0 from "@angular/core";
24
24
  import * as i1 from "@angular/common";
25
25
  import * as i2 from "@angular/material/icon";
26
26
  import * as i3 from "@angular/material/select";
27
27
  import * as i4 from "@angular/material/core";
28
- import * as i5 from "@ngx-translate/core";
29
28
  export class DropdownBreadcrumbComponent extends BreadcrumbComponent {
30
29
  /**
31
30
  * Calculate the current and previous nodes from the route array
@@ -54,13 +53,13 @@ export class DropdownBreadcrumbComponent extends BreadcrumbComponent {
54
53
  return this.previousNodes.length > 0;
55
54
  }
56
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownBreadcrumbComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownBreadcrumbComponent, isStandalone: true, selector: "adf-dropdown-breadcrumb", host: { classAttribute: "adf-dropdown-breadcrumb" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav *ngIf=\"route.length > 0\" class=\"adf-dropdown-breadcrumb-container\"\n role=\"navigation\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.BREADCRUMB' | translate\">\n\n <button\n id=\"dropdown-breadcrumb-button\"\n [tabindex]=\"hasPreviousNodes() ? 0 : -1\"\n class=\"adf-dropdown-breadcrumb-trigger\"\n (click)=\"open()\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.DROPDOWN' | translate\"\n data-automation-id=\"dropdown-breadcrumb-trigger\">\n <mat-icon class=\"adf-dropdown-breadcrumb-icon\" [class.adf-isRoot]=\"!hasPreviousNodes()\">folder</mat-icon>\n </button>\n\n <mat-icon class=\"adf-dropdown-breadcrumb-icon adf-dropdown-breadcrumb-item-chevron\">chevron_right</mat-icon>\n\n <div class=\"adf-dropdown-breadcrumb-path\">\n <mat-select\n #dropdown\n *ngIf=\"hasPreviousNodes()\"\n panelClass=\"adf-breadcrumb-dropdown-panel\"\n class=\"adf-dropdown-breadcrumb-path-select\"\n tabindex=\"-1\"\n role=\"button\"\n data-automation-id=\"dropdown-breadcrumb-path\"\n aria-labelledby=\"dropdown-breadcrumb-button\">\n\n <mat-option\n *ngFor=\"let node of previousNodes;\"\n (click)=\"onRoutePathClick(node, $event)\"\n (onSelectionChange)=\"onRouteClick(node)\"\n class=\"adf-dropdown-breadcrumb-path-option adf-dropdown-breadcrumb-path-option-node\"\n data-automation-class=\"dropdown-breadcrumb-path-option\"\n [disabled]=\"readOnly\">\n {{ node.name | translate }}\n </mat-option>\n </mat-select>\n </div>\n\n <span\n class=\"adf-current-folder\"\n [class.adf-isRoot]=\"!hasPreviousNodes()\"\n data-automation-id=\"current-folder\"\n aria-current=\"location\">{{ currentNode.name }}\n </span>\n</nav>\n", styles: [".adf-dropdown-breadcrumb{display:flex;flex:1;line-height:24px;font-size:var(--theme-body-1-font-size);font-weight:600;letter-spacing:-.2px;color:var(--adf-theme-foreground-text-color-054);overflow:hidden;margin-top:10px}.adf-dropdown-breadcrumb-icon{height:35px}.adf-dropdown-breadcrumb-container{margin:0;padding:0;list-style-type:none;cursor:default;display:flex;overflow:hidden}.adf-dropdown-breadcrumb-trigger{cursor:pointer;padding:0;border:none;background:transparent;width:25px}.adf-dropdown-breadcrumb-trigger:focus{color:var(--theme-primary-color);outline:none}.adf-dropdown-breadcrumb-trigger.adf-isRoot{cursor:not-allowed}.adf-dropdown-breadcrumb-path{width:0;height:0;overflow:hidden}.adf-dropdown-breadcrumb-path-select{width:0}.adf-current-folder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:75%;color:var(--adf-theme-foreground-text-color)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node{padding:0 12px;font-size:var(--theme-caption-font-size)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:first-child{padding-top:4px}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:last-child{padding-bottom:4px}[dir=ltr] .adf-dropdown-breadcrumb-path{margin-left:-30px}[dir=ltr] .adf-current-folder{margin-left:30px}[dir=rtl] .adf-dropdown-breadcrumb-path{margin-right:-30px}[dir=rtl] .adf-current-folder{margin-right:30px}.cdk-overlay-pane:has(>.adf-breadcrumb-dropdown-panel){min-width:fit-content}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownBreadcrumbComponent, isStandalone: true, selector: "adf-dropdown-breadcrumb", host: { classAttribute: "adf-dropdown-breadcrumb" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav *ngIf=\"route.length > 0\" class=\"adf-dropdown-breadcrumb-container\"\n role=\"navigation\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.BREADCRUMB' | translate\">\n\n <button\n id=\"dropdown-breadcrumb-button\"\n [tabindex]=\"hasPreviousNodes() ? 0 : -1\"\n class=\"adf-dropdown-breadcrumb-trigger\"\n (click)=\"open()\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.DROPDOWN' | translate\"\n data-automation-id=\"dropdown-breadcrumb-trigger\">\n <mat-icon class=\"adf-dropdown-breadcrumb-icon\" [class.adf-isRoot]=\"!hasPreviousNodes()\">folder</mat-icon>\n </button>\n\n <mat-icon class=\"adf-dropdown-breadcrumb-icon adf-dropdown-breadcrumb-item-chevron\">chevron_right</mat-icon>\n\n <div class=\"adf-dropdown-breadcrumb-path\">\n <mat-select\n #dropdown\n *ngIf=\"hasPreviousNodes()\"\n panelClass=\"adf-breadcrumb-dropdown-panel\"\n class=\"adf-dropdown-breadcrumb-path-select\"\n tabindex=\"-1\"\n role=\"button\"\n data-automation-id=\"dropdown-breadcrumb-path\"\n aria-labelledby=\"dropdown-breadcrumb-button\">\n\n <mat-option\n *ngFor=\"let node of previousNodes;\"\n (click)=\"onRoutePathClick(node, $event)\"\n (onSelectionChange)=\"onRouteClick(node)\"\n class=\"adf-dropdown-breadcrumb-path-option adf-dropdown-breadcrumb-path-option-node\"\n data-automation-class=\"dropdown-breadcrumb-path-option\"\n [disabled]=\"readOnly\">\n {{ node.name | translate }}\n </mat-option>\n </mat-select>\n </div>\n\n <span\n class=\"adf-current-folder\"\n [class.adf-isRoot]=\"!hasPreviousNodes()\"\n data-automation-id=\"current-folder\"\n aria-current=\"location\">{{ currentNode.name }}\n </span>\n</nav>\n", styles: [".adf-dropdown-breadcrumb{display:flex;flex:1;line-height:24px;font-size:var(--theme-body-1-font-size);font-weight:600;letter-spacing:-.2px;color:var(--adf-theme-foreground-text-color-054);overflow:hidden;margin-top:10px}.adf-dropdown-breadcrumb-icon{height:35px}.adf-dropdown-breadcrumb-container{margin:0;padding:0;list-style-type:none;cursor:default;display:flex;overflow:hidden}.adf-dropdown-breadcrumb-trigger{cursor:pointer;padding:0;border:none;background:transparent;width:25px}.adf-dropdown-breadcrumb-trigger:focus{color:var(--theme-primary-color);outline:none}.adf-dropdown-breadcrumb-trigger.adf-isRoot{cursor:not-allowed}.adf-dropdown-breadcrumb-path{width:0;height:0;overflow:hidden}.adf-dropdown-breadcrumb-path-select{width:0}.adf-current-folder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:75%;color:var(--adf-theme-foreground-text-color)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node{padding:0 12px;font-size:var(--theme-caption-font-size)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:first-child{padding-top:4px}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:last-child{padding-bottom:4px}[dir=ltr] .adf-dropdown-breadcrumb-path{margin-left:-30px}[dir=ltr] .adf-current-folder{margin-left:30px}[dir=rtl] .adf-dropdown-breadcrumb-path{margin-right:-30px}[dir=rtl] .adf-current-folder{margin-right:30px}.cdk-overlay-pane:has(>.adf-breadcrumb-dropdown-panel){min-width:fit-content}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
58
57
  }
59
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownBreadcrumbComponent, decorators: [{
60
59
  type: Component,
61
- args: [{ selector: 'adf-dropdown-breadcrumb', standalone: true, imports: [CommonModule, MatIconModule, MatSelectModule, TranslateModule], encapsulation: ViewEncapsulation.None, host: { class: 'adf-dropdown-breadcrumb' }, template: "<nav *ngIf=\"route.length > 0\" class=\"adf-dropdown-breadcrumb-container\"\n role=\"navigation\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.BREADCRUMB' | translate\">\n\n <button\n id=\"dropdown-breadcrumb-button\"\n [tabindex]=\"hasPreviousNodes() ? 0 : -1\"\n class=\"adf-dropdown-breadcrumb-trigger\"\n (click)=\"open()\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.DROPDOWN' | translate\"\n data-automation-id=\"dropdown-breadcrumb-trigger\">\n <mat-icon class=\"adf-dropdown-breadcrumb-icon\" [class.adf-isRoot]=\"!hasPreviousNodes()\">folder</mat-icon>\n </button>\n\n <mat-icon class=\"adf-dropdown-breadcrumb-icon adf-dropdown-breadcrumb-item-chevron\">chevron_right</mat-icon>\n\n <div class=\"adf-dropdown-breadcrumb-path\">\n <mat-select\n #dropdown\n *ngIf=\"hasPreviousNodes()\"\n panelClass=\"adf-breadcrumb-dropdown-panel\"\n class=\"adf-dropdown-breadcrumb-path-select\"\n tabindex=\"-1\"\n role=\"button\"\n data-automation-id=\"dropdown-breadcrumb-path\"\n aria-labelledby=\"dropdown-breadcrumb-button\">\n\n <mat-option\n *ngFor=\"let node of previousNodes;\"\n (click)=\"onRoutePathClick(node, $event)\"\n (onSelectionChange)=\"onRouteClick(node)\"\n class=\"adf-dropdown-breadcrumb-path-option adf-dropdown-breadcrumb-path-option-node\"\n data-automation-class=\"dropdown-breadcrumb-path-option\"\n [disabled]=\"readOnly\">\n {{ node.name | translate }}\n </mat-option>\n </mat-select>\n </div>\n\n <span\n class=\"adf-current-folder\"\n [class.adf-isRoot]=\"!hasPreviousNodes()\"\n data-automation-id=\"current-folder\"\n aria-current=\"location\">{{ currentNode.name }}\n </span>\n</nav>\n", styles: [".adf-dropdown-breadcrumb{display:flex;flex:1;line-height:24px;font-size:var(--theme-body-1-font-size);font-weight:600;letter-spacing:-.2px;color:var(--adf-theme-foreground-text-color-054);overflow:hidden;margin-top:10px}.adf-dropdown-breadcrumb-icon{height:35px}.adf-dropdown-breadcrumb-container{margin:0;padding:0;list-style-type:none;cursor:default;display:flex;overflow:hidden}.adf-dropdown-breadcrumb-trigger{cursor:pointer;padding:0;border:none;background:transparent;width:25px}.adf-dropdown-breadcrumb-trigger:focus{color:var(--theme-primary-color);outline:none}.adf-dropdown-breadcrumb-trigger.adf-isRoot{cursor:not-allowed}.adf-dropdown-breadcrumb-path{width:0;height:0;overflow:hidden}.adf-dropdown-breadcrumb-path-select{width:0}.adf-current-folder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:75%;color:var(--adf-theme-foreground-text-color)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node{padding:0 12px;font-size:var(--theme-caption-font-size)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:first-child{padding-top:4px}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:last-child{padding-bottom:4px}[dir=ltr] .adf-dropdown-breadcrumb-path{margin-left:-30px}[dir=ltr] .adf-current-folder{margin-left:30px}[dir=rtl] .adf-dropdown-breadcrumb-path{margin-right:-30px}[dir=rtl] .adf-current-folder{margin-right:30px}.cdk-overlay-pane:has(>.adf-breadcrumb-dropdown-panel){min-width:fit-content}\n"] }]
60
+ args: [{ selector: 'adf-dropdown-breadcrumb', standalone: true, imports: [CommonModule, MatIconModule, MatSelectModule, TranslatePipe], encapsulation: ViewEncapsulation.None, host: { class: 'adf-dropdown-breadcrumb' }, template: "<nav *ngIf=\"route.length > 0\" class=\"adf-dropdown-breadcrumb-container\"\n role=\"navigation\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.BREADCRUMB' | translate\">\n\n <button\n id=\"dropdown-breadcrumb-button\"\n [tabindex]=\"hasPreviousNodes() ? 0 : -1\"\n class=\"adf-dropdown-breadcrumb-trigger\"\n (click)=\"open()\"\n [attr.aria-label]=\"'BREADCRUMB.ARIA-LABEL.DROPDOWN' | translate\"\n data-automation-id=\"dropdown-breadcrumb-trigger\">\n <mat-icon class=\"adf-dropdown-breadcrumb-icon\" [class.adf-isRoot]=\"!hasPreviousNodes()\">folder</mat-icon>\n </button>\n\n <mat-icon class=\"adf-dropdown-breadcrumb-icon adf-dropdown-breadcrumb-item-chevron\">chevron_right</mat-icon>\n\n <div class=\"adf-dropdown-breadcrumb-path\">\n <mat-select\n #dropdown\n *ngIf=\"hasPreviousNodes()\"\n panelClass=\"adf-breadcrumb-dropdown-panel\"\n class=\"adf-dropdown-breadcrumb-path-select\"\n tabindex=\"-1\"\n role=\"button\"\n data-automation-id=\"dropdown-breadcrumb-path\"\n aria-labelledby=\"dropdown-breadcrumb-button\">\n\n <mat-option\n *ngFor=\"let node of previousNodes;\"\n (click)=\"onRoutePathClick(node, $event)\"\n (onSelectionChange)=\"onRouteClick(node)\"\n class=\"adf-dropdown-breadcrumb-path-option adf-dropdown-breadcrumb-path-option-node\"\n data-automation-class=\"dropdown-breadcrumb-path-option\"\n [disabled]=\"readOnly\">\n {{ node.name | translate }}\n </mat-option>\n </mat-select>\n </div>\n\n <span\n class=\"adf-current-folder\"\n [class.adf-isRoot]=\"!hasPreviousNodes()\"\n data-automation-id=\"current-folder\"\n aria-current=\"location\">{{ currentNode.name }}\n </span>\n</nav>\n", styles: [".adf-dropdown-breadcrumb{display:flex;flex:1;line-height:24px;font-size:var(--theme-body-1-font-size);font-weight:600;letter-spacing:-.2px;color:var(--adf-theme-foreground-text-color-054);overflow:hidden;margin-top:10px}.adf-dropdown-breadcrumb-icon{height:35px}.adf-dropdown-breadcrumb-container{margin:0;padding:0;list-style-type:none;cursor:default;display:flex;overflow:hidden}.adf-dropdown-breadcrumb-trigger{cursor:pointer;padding:0;border:none;background:transparent;width:25px}.adf-dropdown-breadcrumb-trigger:focus{color:var(--theme-primary-color);outline:none}.adf-dropdown-breadcrumb-trigger.adf-isRoot{cursor:not-allowed}.adf-dropdown-breadcrumb-path{width:0;height:0;overflow:hidden}.adf-dropdown-breadcrumb-path-select{width:0}.adf-current-folder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:75%;color:var(--adf-theme-foreground-text-color)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node{padding:0 12px;font-size:var(--theme-caption-font-size)}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:first-child{padding-top:4px}.adf-dropdown-breadcrumb-path-option.adf-dropdown-breadcrumb-path-option-node:last-child{padding-bottom:4px}[dir=ltr] .adf-dropdown-breadcrumb-path{margin-left:-30px}[dir=ltr] .adf-current-folder{margin-left:30px}[dir=rtl] .adf-dropdown-breadcrumb-path{margin-right:-30px}[dir=rtl] .adf-current-folder{margin-right:30px}.cdk-overlay-pane:has(>.adf-breadcrumb-dropdown-panel){min-width:fit-content}\n"] }]
62
61
  }], propDecorators: { dropdown: [{
63
62
  type: ViewChild,
64
63
  args: ['dropdown']
65
64
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFhLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBV3RELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxtQkFBbUI7SUFPaEU7O09BRUc7SUFDTyxnQkFBZ0I7UUFDdEIsTUFBTSxJQUFJLEdBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFdEYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQjtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBbkNRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHFRQ2xDeEMsaTZEQThDQSx1akREbEJjLFlBQVksK1BBQUUsYUFBYSxtTEFBRSxlQUFlLG1yQkFBRSxlQUFlOzs0RkFNOUQsMkJBQTJCO2tCQVR2QyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsaUJBR3pELGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUU7OEJBSTFDLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0LCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgUGF0aEVsZW1lbnQsIE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZHJvcGRvd24tYnJlYWRjcnVtYicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtZHJvcGRvd24tYnJlYWRjcnVtYicgfVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJyZWFkY3J1bWJDb21wb25lbnQgZXh0ZW5kcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bicpXG4gICAgZHJvcGRvd246IE1hdFNlbGVjdDtcblxuICAgIGN1cnJlbnROb2RlOiBQYXRoRWxlbWVudDtcbiAgICBwcmV2aW91c05vZGVzOiBQYXRoRWxlbWVudFtdO1xuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBub2RlcyBmcm9tIHRoZSByb3V0ZSBhcnJheVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWNhbGN1bGF0ZU5vZGVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBub2RlOiBOb2RlID0gdGhpcy50cmFuc2Zvcm0gPyB0aGlzLnRyYW5zZm9ybSh0aGlzLmZvbGRlck5vZGUpIDogdGhpcy5mb2xkZXJOb2RlO1xuXG4gICAgICAgIHRoaXMucm91dGUgPSB0aGlzLnBhcnNlUm91dGUobm9kZSk7XG4gICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSB0aGlzLnJvdXRlW3RoaXMucm91dGUubGVuZ3RoIC0gMV07XG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlcyA9IHRoaXMucm91dGUuc2xpY2UoMCwgdGhpcy5yb3V0ZS5sZW5ndGggLSAxKS5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIG5vZGUgcGlja2VyIG1lbnVcbiAgICAgKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5vcGVuKCk7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiByb3V0ZSBoYXMgbW9yZSB0aGFuIG9uZSBlbGVtZW50IChtZWFuczogd2UgYXJlIG5vdCBpbiB0aGUgcm9vdCBkaXJlY3RvcnkpXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlcmUgYXJlIHByZXZpb3VzIG5vZGVzLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGhhc1ByZXZpb3VzTm9kZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzTm9kZXMubGVuZ3RoID4gMDtcbiAgICB9XG59XG4iLCI8bmF2ICpuZ0lmPVwicm91dGUubGVuZ3RoID4gMFwiIGNsYXNzPVwiYWRmLWRyb3Bkb3duLWJyZWFkY3J1bWItY29udGFpbmVyXCJcbiAgICAgcm9sZT1cIm5hdmlnYXRpb25cIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidCUkVBRENSVU1CLkFSSUEtTEFCRUwuQlJFQURDUlVNQicgfCB0cmFuc2xhdGVcIj5cblxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJkcm9wZG93bi1icmVhZGNydW1iLWJ1dHRvblwiXG4gICAgICAgIFt0YWJpbmRleF09XCJoYXNQcmV2aW91c05vZGVzKCkgPyAwIDogLTFcIlxuICAgICAgICBjbGFzcz1cImFkZi1kcm9wZG93bi1icmVhZGNydW1iLXRyaWdnZXJcIlxuICAgICAgICAoY2xpY2spPVwib3BlbigpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQlJFQURDUlVNQi5BUklBLUxBQkVMLkRST1BET1dOJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImRyb3Bkb3duLWJyZWFkY3J1bWItdHJpZ2dlclwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1pY29uXCIgW2NsYXNzLmFkZi1pc1Jvb3RdPVwiIWhhc1ByZXZpb3VzTm9kZXMoKVwiPmZvbGRlcjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1pY29uIGFkZi1kcm9wZG93bi1icmVhZGNydW1iLWl0ZW0tY2hldnJvblwiPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1kcm9wZG93bi1icmVhZGNydW1iLXBhdGhcIj5cbiAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICNkcm9wZG93blxuICAgICAgICAgICAgKm5nSWY9XCJoYXNQcmV2aW91c05vZGVzKClcIlxuICAgICAgICAgICAgcGFuZWxDbGFzcz1cImFkZi1icmVhZGNydW1iLWRyb3Bkb3duLXBhbmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWRyb3Bkb3duLWJyZWFkY3J1bWItcGF0aC1zZWxlY3RcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImRyb3Bkb3duLWJyZWFkY3J1bWItcGF0aFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bi1icmVhZGNydW1iLWJ1dHRvblwiPlxuXG4gICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIHByZXZpb3VzTm9kZXM7XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3V0ZVBhdGhDbGljayhub2RlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25Sb3V0ZUNsaWNrKG5vZGUpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1kcm9wZG93bi1icmVhZGNydW1iLXBhdGgtb3B0aW9uIGFkZi1kcm9wZG93bi1icmVhZGNydW1iLXBhdGgtb3B0aW9uLW5vZGVcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1jbGFzcz1cImRyb3Bkb3duLWJyZWFkY3J1bWItcGF0aC1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkT25seVwiPlxuICAgICAgICAgICAgICAgIHt7IG5vZGUubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImFkZi1jdXJyZW50LWZvbGRlclwiXG4gICAgICAgIFtjbGFzcy5hZGYtaXNSb290XT1cIiFoYXNQcmV2aW91c05vZGVzKClcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjdXJyZW50LWZvbGRlclwiXG4gICAgICAgIGFyaWEtY3VycmVudD1cImxvY2F0aW9uXCI+e3sgY3VycmVudE5vZGUubmFtZSB9fVxuICAgIDwvc3Bhbj5cbjwvbmF2PlxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFhLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFXcEQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQU9oRTs7T0FFRztJQUNPLGdCQUFnQjtRQUN0QixNQUFNLElBQUksR0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV0RixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDQSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FuQ1EsMkJBQTJCO21HQUEzQiwyQkFBMkIscVFDbEN4QyxpNkRBOENBLHVqRERsQmMsWUFBWSwrUEFBRSxhQUFhLG1MQUFFLGVBQWUsK3FCQUFFLGFBQWE7OzRGQU01RCwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0kseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHdkQsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTs4QkFJMUMsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3QsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBQYXRoRWxlbWVudCwgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZHJvcGRvd24tYnJlYWRjcnVtYicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLWRyb3Bkb3duLWJyZWFkY3J1bWInIH1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25CcmVhZGNydW1iQ29tcG9uZW50IGV4dGVuZHMgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKVxuICAgIGRyb3Bkb3duOiBNYXRTZWxlY3Q7XG5cbiAgICBjdXJyZW50Tm9kZTogUGF0aEVsZW1lbnQ7XG4gICAgcHJldmlvdXNOb2RlczogUGF0aEVsZW1lbnRbXTtcblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgY3VycmVudCBhbmQgcHJldmlvdXMgbm9kZXMgZnJvbSB0aGUgcm91dGUgYXJyYXlcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVjYWxjdWxhdGVOb2RlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZTogTm9kZSA9IHRoaXMudHJhbnNmb3JtID8gdGhpcy50cmFuc2Zvcm0odGhpcy5mb2xkZXJOb2RlKSA6IHRoaXMuZm9sZGVyTm9kZTtcblxuICAgICAgICB0aGlzLnJvdXRlID0gdGhpcy5wYXJzZVJvdXRlKG5vZGUpO1xuICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gdGhpcy5yb3V0ZVt0aGlzLnJvdXRlLmxlbmd0aCAtIDFdO1xuICAgICAgICB0aGlzLnByZXZpb3VzTm9kZXMgPSB0aGlzLnJvdXRlLnNsaWNlKDAsIHRoaXMucm91dGUubGVuZ3RoIC0gMSkucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBub2RlIHBpY2tlciBtZW51XG4gICAgICovXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24pIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24ub3BlbigpO1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgcm91dGUgaGFzIG1vcmUgdGhhbiBvbmUgZWxlbWVudCAobWVhbnM6IHdlIGFyZSBub3QgaW4gdGhlIHJvb3QgZGlyZWN0b3J5KVxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZXJlIGFyZSBwcmV2aW91cyBub2Rlcywgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBoYXNQcmV2aW91c05vZGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmV2aW91c05vZGVzLmxlbmd0aCA+IDA7XG4gICAgfVxufVxuIiwiPG5hdiAqbmdJZj1cInJvdXRlLmxlbmd0aCA+IDBcIiBjbGFzcz1cImFkZi1kcm9wZG93bi1icmVhZGNydW1iLWNvbnRhaW5lclwiXG4gICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQlJFQURDUlVNQi5BUklBLUxBQkVMLkJSRUFEQ1JVTUInIHwgdHJhbnNsYXRlXCI+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGlkPVwiZHJvcGRvd24tYnJlYWRjcnVtYi1idXR0b25cIlxuICAgICAgICBbdGFiaW5kZXhdPVwiaGFzUHJldmlvdXNOb2RlcygpID8gMCA6IC0xXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi10cmlnZ2VyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0JSRUFEQ1JVTUIuQVJJQS1MQUJFTC5EUk9QRE9XTicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkcm9wZG93bi1icmVhZGNydW1iLXRyaWdnZXJcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWRyb3Bkb3duLWJyZWFkY3J1bWItaWNvblwiIFtjbGFzcy5hZGYtaXNSb290XT1cIiFoYXNQcmV2aW91c05vZGVzKClcIj5mb2xkZXI8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLWRyb3Bkb3duLWJyZWFkY3J1bWItaWNvbiBhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1pdGVtLWNoZXZyb25cIj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1wYXRoXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgICAgICpuZ0lmPVwiaGFzUHJldmlvdXNOb2RlcygpXCJcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M9XCJhZGYtYnJlYWRjcnVtYi1kcm9wZG93bi1wYW5lbFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1kcm9wZG93bi1icmVhZGNydW1iLXBhdGgtc2VsZWN0XCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkcm9wZG93bi1icmVhZGNydW1iLXBhdGhcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd24tYnJlYWRjcnVtYi1idXR0b25cIj5cblxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBwcmV2aW91c05vZGVzO1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm91dGVQYXRoQ2xpY2sobm9kZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uUm91dGVDbGljayhub2RlKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1wYXRoLW9wdGlvbiBhZGYtZHJvcGRvd24tYnJlYWRjcnVtYi1wYXRoLW9wdGlvbi1ub2RlXCJcbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24tY2xhc3M9XCJkcm9wZG93bi1icmVhZGNydW1iLXBhdGgtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZE9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyBub2RlLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJhZGYtY3VycmVudC1mb2xkZXJcIlxuICAgICAgICBbY2xhc3MuYWRmLWlzUm9vdF09XCIhaGFzUHJldmlvdXNOb2RlcygpXCJcbiAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY3VycmVudC1mb2xkZXJcIlxuICAgICAgICBhcmlhLWN1cnJlbnQ9XCJsb2NhdGlvblwiPnt7IGN1cnJlbnROb2RlLm5hbWUgfX1cbiAgICA8L3NwYW4+XG48L25hdj5cbiJdfQ==
@@ -22,7 +22,7 @@ import { debounce, first, map, tap } from 'rxjs/operators';
22
22
  import { CategoriesManagementMode } from './categories-management-mode';
23
23
  import { CategoryService } from '../services/category.service';
24
24
  import { CommonModule } from '@angular/common';
25
- import { TranslateModule } from '@ngx-translate/core';
25
+ import { TranslatePipe } from '@ngx-translate/core';
26
26
  import { AutoFocusDirective } from '../../directives';
27
27
  import { MatFormFieldModule } from '@angular/material/form-field';
28
28
  import { MatButtonModule } from '@angular/material/button';
@@ -33,13 +33,12 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
33
33
  import * as i0 from "@angular/core";
34
34
  import * as i1 from "../services/category.service";
35
35
  import * as i2 from "@angular/common";
36
- import * as i3 from "@ngx-translate/core";
37
- import * as i4 from "@angular/forms";
38
- import * as i5 from "@angular/material/form-field";
39
- import * as i6 from "@angular/material/button";
40
- import * as i7 from "@angular/material/icon";
41
- import * as i8 from "@angular/material/list";
42
- import * as i9 from "@angular/material/progress-spinner";
36
+ import * as i3 from "@angular/forms";
37
+ import * as i4 from "@angular/material/form-field";
38
+ import * as i5 from "@angular/material/button";
39
+ import * as i6 from "@angular/material/icon";
40
+ import * as i7 from "@angular/material/list";
41
+ import * as i8 from "@angular/material/progress-spinner";
43
42
  export class CategoriesManagementComponent {
44
43
  /**
45
44
  * Decides if categoryNameControl should be visible. Sets also existing categories panel visibility
@@ -268,13 +267,13 @@ export class CategoriesManagementComponent {
268
267
  this.categoryNameControl.markAsUntouched();
269
268
  }
270
269
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoriesManagementComponent, deps: [{ token: i1.CategoryService }], target: i0.ɵɵFactoryTarget.Component }); }
271
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CategoriesManagementComponent, isStandalone: true, selector: "adf-categories-management", inputs: { categories: "categories", categoryNameControlVisible: "categoryNameControlVisible", classifiableChanged: "classifiableChanged", disableRemoval: "disableRemoval", managementMode: "managementMode", parentId: "parentId", multiSelect: "multiSelect" }, outputs: { categoriesChange: "categoriesChange", categoryNameControlVisibleChange: "categoryNameControlVisibleChange" }, viewQueries: [{ propertyName: "categoryNameInputElement", first: true, predicate: ["categoryNameInput"], descendants: true }], ngImport: i0, template: "<div class=\"adf-categories-management\">\n <div *ngIf=\"categoryNameControlVisible\" class=\"adf-category-name-field\">\n <input #categoryNameInput\n [formControl]=\"categoryNameControl\"\n (keyup.enter)=\"addCategory()\"\n placeholder=\"{{'CATEGORIES_MANAGEMENT.CATEGORIES_SEARCH_PLACEHOLDER' | translate }}\"\n adf-auto-focus\n />\n <mat-error *ngIf=\"categoryNameControl.invalid\">{{ categoryNameErrorMessageKey | translate }}</mat-error>\n </div>\n <div class=\"adf-categories-list\" *ngIf=\"categories?.length > 0\" [class.adf-categories-list-fixed]=\"!categoryNameControlVisible\">\n <span\n *ngFor=\"let category of categories\"\n [class.adf-categories-padded]=\"!isCRUDMode\"\n class=\"adf-assigned-categories\">\n {{ category.name }}\n <button\n data-automation-id=\"categories-remove-category-button\"\n mat-icon-button\n (click)=\"removeCategory(category)\"\n [attr.title]=\"removeCategoryTitle | translate\"\n [disabled]=\"disableRemoval\">\n <mat-icon>remove</mat-icon>\n </button>\n </span>\n </div>\n <p *ngIf=\"showEmptyCategoryMessage\" class=\"adf-no-categories-message\">\n {{ noCategoriesMsg | translate }}\n </p>\n</div>\n<div class=\"adf-existing-categories-panel\" *ngIf=\"existingCategoriesPanelVisible\">\n <ng-container *ngIf=\"isCRUDMode && (!existingCategoriesLoading || existingCategories)\">\n <span class=\"adf-create-category-label\"\n (click)=\"addCategory()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"addCategory()\"\n [hidden]=\"categoryNameControl.invalid || typing\">\n {{ 'CATEGORIES_MANAGEMENT.GENERIC_CREATE' | translate : { name: categoryNameControl.value } }}\n </span>\n </ng-container>\n <div *ngIf=\"categoryNameControlVisible\" class=\"adf-categories-list\">\n <ng-container *ngIf=\"!existingCategoriesLoading && existingCategories\">\n <p class=\"adf-existing-categories-label\">\n {{ existingCategoriesMsg | translate }}\n </p>\n <mat-list\n [disabled]=\"isCRUDMode || !multiSelect && categories.length > 0\"\n class=\"adf-categories-management-list\">\n <mat-list-item\n *ngFor=\"let category of existingCategories\"\n class=\"adf-category\"\n (click)='addCategoryToAssign(category)'>\n {{ category.name }}\n </mat-list-item>\n <p *ngIf=\"!existingCategories?.length && !existingCategoriesLoading\"\n data-automation-id=\"no-categories-message\">\n {{ 'CATEGORIES_MANAGEMENT.NO_EXISTING_CATEGORIES' | translate }}\n </p>\n </mat-list>\n </ng-container>\n <mat-spinner\n *ngIf=\"existingCategoriesLoading\"\n [diameter]=\"50\"\n class=\"adf-categories-management-spinner\"\n [attr.aria-label]=\"'CATEGORIES_MANAGEMENT.LOADING' | translate\" />\n </div>\n</div>\n", styles: [".adf-categories-management .adf-category-name-field{display:flex;flex-direction:column;margin-right:12px}.adf-categories-management .adf-category-name-field input{background:var(--adf-metadata-buttons-background-color);border-radius:12px;padding:7px 8px;border:none;outline:none;font:inherit;color:currentcolor;margin:0;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.adf-categories-management .adf-category-name-field .mat-mdc-form-field-error{padding-top:5px}.adf-categories-management .adf-assigned-categories{display:flex;justify-content:space-between;align-items:center;word-break:break-word}.adf-categories-management .adf-categories-padded{padding:5px 0}.adf-categories-management [hidden]{visibility:hidden}.adf-categories-management .adf-no-categories-message{margin-bottom:0;height:30px}.adf-categories-list .adf-categories-management-list .adf-category{display:flex;height:100%;overflow-wrap:anywhere;padding:5px 0;font-size:14px;background-color:inherit;color:inherit}.adf-categories-list .adf-categories-management-list .adf-category:not(.mdc-list-item--disabled):hover{cursor:pointer;background:var(--adf-theme-mat-grey-color-a200)}.adf-categories-list .adf-categories-management-list .adf-category span{padding:0}.adf-categories-list .adf-existing-categories-label{font-size:10px;color:var(--theme-secondary-text-color);margin-bottom:2px}.adf-categories-list .adf-categories-management-spinner{margin:auto}.adf-existing-categories-panel{min-height:22vh}.adf-existing-categories-panel .adf-create-category-label{color:var(--theme-primary-color);cursor:pointer;overflow-wrap:anywhere}.adf-existing-categories-panel .mdc-list-item--disabled .mdc-list-item__primary-text{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "directive", type: AutoFocusDirective, selector: "[adf-auto-focus]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None }); }
270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CategoriesManagementComponent, isStandalone: true, selector: "adf-categories-management", inputs: { categories: "categories", categoryNameControlVisible: "categoryNameControlVisible", classifiableChanged: "classifiableChanged", disableRemoval: "disableRemoval", managementMode: "managementMode", parentId: "parentId", multiSelect: "multiSelect" }, outputs: { categoriesChange: "categoriesChange", categoryNameControlVisibleChange: "categoryNameControlVisibleChange" }, viewQueries: [{ propertyName: "categoryNameInputElement", first: true, predicate: ["categoryNameInput"], descendants: true }], ngImport: i0, template: "<div class=\"adf-categories-management\">\n <div *ngIf=\"categoryNameControlVisible\" class=\"adf-category-name-field\">\n <input #categoryNameInput\n [formControl]=\"categoryNameControl\"\n (keyup.enter)=\"addCategory()\"\n placeholder=\"{{'CATEGORIES_MANAGEMENT.CATEGORIES_SEARCH_PLACEHOLDER' | translate }}\"\n adf-auto-focus\n />\n <mat-error *ngIf=\"categoryNameControl.invalid\">{{ categoryNameErrorMessageKey | translate }}</mat-error>\n </div>\n <div class=\"adf-categories-list\" *ngIf=\"categories?.length > 0\" [class.adf-categories-list-fixed]=\"!categoryNameControlVisible\">\n <span\n *ngFor=\"let category of categories\"\n [class.adf-categories-padded]=\"!isCRUDMode\"\n class=\"adf-assigned-categories\">\n {{ category.name }}\n <button\n data-automation-id=\"categories-remove-category-button\"\n mat-icon-button\n (click)=\"removeCategory(category)\"\n [attr.title]=\"removeCategoryTitle | translate\"\n [disabled]=\"disableRemoval\">\n <mat-icon>remove</mat-icon>\n </button>\n </span>\n </div>\n <p *ngIf=\"showEmptyCategoryMessage\" class=\"adf-no-categories-message\">\n {{ noCategoriesMsg | translate }}\n </p>\n</div>\n<div class=\"adf-existing-categories-panel\" *ngIf=\"existingCategoriesPanelVisible\">\n <ng-container *ngIf=\"isCRUDMode && (!existingCategoriesLoading || existingCategories)\">\n <span class=\"adf-create-category-label\"\n (click)=\"addCategory()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"addCategory()\"\n [hidden]=\"categoryNameControl.invalid || typing\">\n {{ 'CATEGORIES_MANAGEMENT.GENERIC_CREATE' | translate : { name: categoryNameControl.value } }}\n </span>\n </ng-container>\n <div *ngIf=\"categoryNameControlVisible\" class=\"adf-categories-list\">\n <ng-container *ngIf=\"!existingCategoriesLoading && existingCategories\">\n <p class=\"adf-existing-categories-label\">\n {{ existingCategoriesMsg | translate }}\n </p>\n <mat-list\n [disabled]=\"isCRUDMode || !multiSelect && categories.length > 0\"\n class=\"adf-categories-management-list\">\n <mat-list-item\n *ngFor=\"let category of existingCategories\"\n class=\"adf-category\"\n (click)='addCategoryToAssign(category)'>\n {{ category.name }}\n </mat-list-item>\n <p *ngIf=\"!existingCategories?.length && !existingCategoriesLoading\"\n data-automation-id=\"no-categories-message\">\n {{ 'CATEGORIES_MANAGEMENT.NO_EXISTING_CATEGORIES' | translate }}\n </p>\n </mat-list>\n </ng-container>\n <mat-spinner\n *ngIf=\"existingCategoriesLoading\"\n [diameter]=\"50\"\n class=\"adf-categories-management-spinner\"\n [attr.aria-label]=\"'CATEGORIES_MANAGEMENT.LOADING' | translate\" />\n </div>\n</div>\n", styles: [".adf-categories-management .adf-category-name-field{display:flex;flex-direction:column;margin-right:12px}.adf-categories-management .adf-category-name-field input{background:var(--adf-metadata-buttons-background-color);border-radius:12px;padding:7px 8px;border:none;outline:none;font:inherit;color:currentcolor;margin:0;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.adf-categories-management .adf-category-name-field .mat-mdc-form-field-error{padding-top:5px}.adf-categories-management .adf-assigned-categories{display:flex;justify-content:space-between;align-items:center;word-break:break-word}.adf-categories-management .adf-categories-padded{padding:5px 0}.adf-categories-management [hidden]{visibility:hidden}.adf-categories-management .adf-no-categories-message{margin-bottom:0;height:30px}.adf-categories-list .adf-categories-management-list .adf-category{display:flex;height:100%;overflow-wrap:anywhere;padding:5px 0;font-size:14px;background-color:inherit;color:inherit}.adf-categories-list .adf-categories-management-list .adf-category:not(.mdc-list-item--disabled):hover{cursor:pointer;background:var(--adf-theme-mat-grey-color-a200)}.adf-categories-list .adf-categories-management-list .adf-category span{padding:0}.adf-categories-list .adf-existing-categories-label{font-size:10px;color:var(--theme-secondary-text-color);margin-bottom:2px}.adf-categories-list .adf-categories-management-spinner{margin:auto}.adf-existing-categories-panel{min-height:22vh}.adf-existing-categories-panel .adf-create-category-label{color:var(--theme-primary-color);cursor:pointer;overflow-wrap:anywhere}.adf-existing-categories-panel .mdc-list-item--disabled .mdc-list-item__primary-text{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: AutoFocusDirective, selector: "[adf-auto-focus]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None }); }
272
271
  }
273
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoriesManagementComponent, decorators: [{
274
273
  type: Component,
275
274
  args: [{ selector: 'adf-categories-management', standalone: true, imports: [
276
275
  CommonModule,
277
- TranslateModule,
276
+ TranslatePipe,
278
277
  AutoFocusDirective,
279
278
  ReactiveFormsModule,
280
279
  MatFormFieldModule,
@@ -306,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
306
305
  type: ViewChild,
307
306
  args: ['categoryNameInput']
308
307
  }] } });
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY2F0ZWdvcnkvY2F0ZWdvcmllcy1tYW5hZ2VtZW50L2NhdGVnb3JpZXMtbWFuYWdlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NhdGVnb3J5L2NhdGVnb3JpZXMtbWFuYWdlbWVudC9jYXRlZ29yaWVzLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFB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Q0FBQzsrR0FqVFEsNkJBQTZCO21HQUE3Qiw2QkFBNkIsK2tCQ3ZFMUMsZ3ZHQW9FQSx3dUREWFEsWUFBWSwrUEFDWixlQUFlLDRGQUNmLGtCQUFrQiw0REFDbEIsbUJBQW1CLHlrQkFDbkIsa0JBQWtCLDJIQUNsQixlQUFlLDJJQUNmLGFBQWEsbUxBQ2IsYUFBYSx1UkFDYix3QkFBd0I7OzRGQU1uQiw2QkFBNkI7a0JBbEJ6QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHdCQUF3QjtxQkFDM0IsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTtvRkErQnJDLFVBQVU7c0JBRFQsS0FBSztnQkFVRiwwQkFBMEI7c0JBRDdCLEtBQUs7Z0JBb0JOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBU04sY0FBYztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsTUFBTTtnQkFLUCxnQ0FBZ0M7c0JBRC9CLE1BQU07Z0JBSUMsd0JBQXdCO3NCQUQvQixTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlyc3QsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2F0ZWdvcmllc01hbmFnZW1lbnRNb2RlIH0gZnJvbSAnLi9jYXRlZ29yaWVzLW1hbmFnZW1lbnQtbW9kZSc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jYXRlZ29yeS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEF1dG9Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmludGVyZmFjZSBDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzIHtcbiAgICBkdXBsaWNhdGVkRXhpc3RpbmdDYXRlZ29yeT86IGJvb2xlYW47XG4gICAgZHVwbGljYXRlZENhdGVnb3J5PzogYm9vbGVhbjtcbiAgICBlbXB0eUNhdGVnb3J5PzogYm9vbGVhbjtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNhdGVnb3JpZXMtbWFuYWdlbWVudCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBBdXRvRm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yaWVzLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhdGVnb3JpZXMtbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc01hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcmVhZG9ubHkgbmFtZUVycm9yTWVzc2FnZXNCeUVycm9ycyA9IG5ldyBNYXA8a2V5b2YgQ2F0ZWdvcnlOYW1lQ29udHJvbEVycm9ycywgc3RyaW5nPihbXG4gICAgICAgIFsnZHVwbGljYXRlZEV4aXN0aW5nQ2F0ZWdvcnknLCAnQUxSRUFEWV9FWElTVFMnXSxcbiAgICAgICAgWydkdXBsaWNhdGVkQ2F0ZWdvcnknLCAnRFVQTElDQVRFRF9DQVRFR09SWSddLFxuICAgICAgICBbJ2VtcHR5Q2F0ZWdvcnknLCAnRU1QVFlfQ0FURUdPUlknXSxcbiAgICAgICAgWydyZXF1aXJlZCcsICdSRVFVSVJFRCddXG4gICAgXSk7XG5cbiAgICBwcml2YXRlIGV4aXN0aW5nQ2F0ZWdvcnlMb2FkZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGNhbmNlbEV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9jYXRlZ29yeU5hbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oXG4gICAgICAgICcnLFxuICAgICAgICBbdGhpcy52YWxpZGF0ZUlmTm90QWxyZWFkeUFkZGVkLmJpbmQodGhpcyksIHRoaXMudmFsaWRhdGVFbXB0eUNhdGVnb3J5LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgdGhpcy52YWxpZGF0ZUlmTm90QWxyZWFkeUNyZWF0ZWQuYmluZCh0aGlzKVxuICAgICk7XG4gICAgcHJpdmF0ZSBfZXhpc3RpbmdDYXRlZ29yaWVzOiBDYXRlZ29yeVtdO1xuICAgIHByaXZhdGUgX2NhdGVnb3J5TmFtZUVycm9yTWVzc2FnZUtleSA9ICcnO1xuICAgIHByaXZhdGUgX2V4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIF90eXBpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9leGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4aXN0aW5nQ2F0ZWdvcmllc0xpc3RMaW1pdCA9IDE1O1xuICAgIGluaXRpYWxDYXRlZ29yaWVzOiBDYXRlZ29yeVtdID0gW107XG4gICAgbm9DYXRlZ29yaWVzTXNnID0gJyc7XG4gICAgcmVtb3ZlQ2F0ZWdvcnlUaXRsZSA9ICcnO1xuICAgIGV4aXN0aW5nQ2F0ZWdvcmllc01zZyA9ICcnO1xuXG4gICAgLyoqIENhdGVnb3JpZXMgdG8gZGlzcGxheSBpbml0aWFsbHkgKi9cbiAgICBASW5wdXQoKVxuICAgIGNhdGVnb3JpZXM6IENhdGVnb3J5W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIERlY2lkZXMgaWYgY2F0ZWdvcnlOYW1lQ29udHJvbCBzaG91bGQgYmUgdmlzaWJsZS4gU2V0cyBhbHNvIGV4aXN0aW5nIGNhdGVnb3JpZXMgcGFuZWwgdmlzaWJpbGl0eVxuICAgICAqIGFuZCBzY3JvbGxzIGNvbnRyb2wgaW50byB2aWV3IHdoZW4gdmlzaWJsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZSBjb250cm9sIHZpc2liaWxpdHkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGUoY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGUgPSBjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZTtcbiAgICAgICAgaWYgKGNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllc1BhbmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJDYXRlZ29yeU5hbWVJbnB1dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIHdoZW4gY2xhc3NpZmlhYmxlIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzc2lmaWFibGVDaGFuZ2VkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICAgLyoqIERpc2FibGVzIHJlbW92ZSBidXR0b24gaW4gdXBwZXIgY2F0ZWdvcmllcyBsaXN0ICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlUmVtb3ZhbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IG1vZGUuXG4gICAgICogSW4gQVNTSUdOIG1vZGUgd2UgY2FuIG9ubHkgYXNzaWduL3VuYXNzaWduIGNhdGVnb3JpZXMgZnJvbSBleGlzdGluZyBsaXN0LlxuICAgICAqIEluIENSVUQgbW9kZSB3ZSBjYW4gY3JlYXRlIGNhdGVnb3JpZXMuXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBtYW5hZ2VtZW50TW9kZTogQ2F0ZWdvcmllc01hbmFnZW1lbnRNb2RlO1xuXG4gICAgLyoqIElEIG9mIGEgcGFyZW50IGNhdGVnb3J5LiBOZXcgY2F0ZWdvcmllcyB3aWxsIGJlIGNyZWF0ZWQgdW5kZXIgdGhpcyBwYXJlbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIHBhcmVudElkOiBzdHJpbmc7XG5cbiAgICAvKiogVG9nZ2xlcyBtdWx0aXNlbGVjdCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBtdWx0aVNlbGVjdCA9IHRydWU7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBzdGF0ZSBvZiB1cHBlciBjYXRlZ29yaWVzIGxpc3QgY2hhbmdlcyAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNhdGVnb3JpZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGVnb3J5W10+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBjYXRlZ29yeU5hbWVDb250cm9sIHZpc2liaWxpdHkgY2hhbmdlcyAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnY2F0ZWdvcnlOYW1lSW5wdXQnKVxuICAgIHByaXZhdGUgY2F0ZWdvcnlOYW1lSW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG5hbWU6IHN0cmluZykgPT4gbmFtZS50cmltKCkpLFxuICAgICAgICAgICAgICAgIHRhcCgobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3R5cGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllc1BhbmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5jZWxFeGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2UoKG5hbWU6IHN0cmluZykgPT4gKG5hbWUgPyB0aW1lcigzMDApIDogRU1QVFkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmFtZTogc3RyaW5nKSA9PiB0aGlzLm9uTmFtZUNvbnRyb2xWYWx1ZUNoYW5nZShuYW1lKSk7XG5cbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldENhdGVnb3J5TmFtZUNvbnRyb2xFcnJvck1lc3NhZ2VLZXkoKSk7XG5cbiAgICAgICAgdGhpcy5zZXRDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JNZXNzYWdlS2V5KCk7XG5cbiAgICAgICAgdGhpcy5ub0NhdGVnb3JpZXNNc2cgPSB0aGlzLmlzQ1JVRE1vZGUgPyAnQ0FURUdPUklFU19NQU5BR0VNRU5ULk5PX0NBVEVHT1JJRVNfQ1JFQVRFRCcgOiAnQ0FURUdPUklFU19NQU5BR0VNRU5ULk5PX0NBVEVHT1JJRVNfQVNTSUdORUQnO1xuICAgICAgICB0aGlzLnJlbW92ZUNhdGVnb3J5VGl0bGUgPSB0aGlzLmlzQ1JVRE1vZGUgPyAnQ0FURUdPUklFU19NQU5BR0VNRU5ULkRFTEVURV9DQVRFR09SWScgOiAnQ0FURUdPUklFU19NQU5BR0VNRU5ULlVOQVNTSUdOX0NBVEVHT1JZJztcbiAgICAgICAgdGhpcy5leGlzdGluZ0NhdGVnb3JpZXNNc2cgPSB0aGlzLmlzQ1JVRE1vZGUgPyAnQ0FURUdPUklFU19NQU5BR0VNRU5ULkVYSVNUSU5HX0NBVEVHT1JJRVMnIDogJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5TRUxFQ1RfRVhJU1RJTkdfQ0FURUdPUlknO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0NSVURNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLl9jYXRlZ29yeU5hbWVDb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0ZWdvcnkpID0+IHRoaXMuaW5pdGlhbENhdGVnb3JpZXMucHVzaChjYXRlZ29yeSkpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xhc3NpZmlhYmxlQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NpZmlhYmxlQ2hhbmdlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsRXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyQubmV4dCgpO1xuICAgICAgICB0aGlzLmNhbmNlbEV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhdGVnb3J5TmFtZUNvbnRyb2woKTogRm9ybUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXRlZ29yeU5hbWVDb250cm9sO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogUmV0dXJucyBgdHJ1ZWAgaWYgY2F0ZWdvcmllcyBlbXB0eSBhbmQgY2F0ZWdvcnkgcGFuZWwgbm9uIGVkaXRhYmxlIHN0YXRlLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGdldCBzaG93RW1wdHlDYXRlZ29yeU1lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXMubGVuZ3RoID09PSAwICYmICF0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlO1xuICAgIH1cblxuICAgIGdldCBleGlzdGluZ0NhdGVnb3JpZXMoKTogQ2F0ZWdvcnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXM7XG4gICAgfVxuXG4gICAgZ2V0IGNhdGVnb3J5TmFtZUVycm9yTWVzc2FnZUtleSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2F0ZWdvcnlOYW1lRXJyb3JNZXNzYWdlS2V5O1xuICAgIH1cblxuICAgIGdldCBleGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZztcbiAgICB9XG5cbiAgICBnZXQgdHlwaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwaW5nO1xuICAgIH1cblxuICAgIGdldCBleGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ1JVRE1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZW1lbnRNb2RlID09PSBDYXRlZ29yaWVzTWFuYWdlbWVudE1vZGUuQ1JVRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGNhdGVnb3J5IHRoYXQgaGFzIGJlZW4gdHlwZWQgdG8gYSBjYXRlZ29yeU5hbWVDb250cm9sIGFuZCBoaWRlcyBpdCBhZnRlcndhcmRzLlxuICAgICAqL1xuICAgIGFkZENhdGVnb3J5KCkge1xuICAgICAgICBpZiAodGhpcy5pc0NSVURNb2RlICYmICF0aGlzLl90eXBpbmcgJiYgIXRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdDYXROYW1lID0gdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLnZhbHVlLnRyaW0oKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NhdCA9IG5ldyBDYXRlZ29yeSh7IGlkOiBuZXdDYXROYW1lLCBuYW1lOiBuZXdDYXROYW1lIH0pO1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLnB1c2gobmV3Q2F0KTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJDYXRlZ29yeU5hbWVJbnB1dCgpO1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0NoYW5nZS5lbWl0KHRoaXMuY2F0ZWdvcmllcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGV4aXN0aW5nIGNhdGVnb3J5IHRvIGNhdGVnb3JpZXMgbGlzdCBhbmQgcmVtb3ZlcyBpdCBmcm9tIGV4aXN0aW5nIGNhdGVnb3JpZXMgbGlzdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeSAtIHNlbGVjdGlvbiBsaXN0IGNoYW5nZSBjb250YWluaW5nIHNlbGVjdGVkIGNhdGVnb3J5XG4gICAgICovXG4gICAgYWRkQ2F0ZWdvcnlUb0Fzc2lnbihjYXRlZ29yeTogQ2F0ZWdvcnkpIHtcbiAgICAgICAgaWYgKCEodGhpcy5pc0NSVURNb2RlIHx8ICghdGhpcy5tdWx0aVNlbGVjdCAmJiB0aGlzLmNhdGVnb3JpZXMubGVuZ3RoID4gMCkpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZENhdGVnb3J5OiBDYXRlZ29yeSA9IGNhdGVnb3J5O1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLnB1c2goc2VsZWN0ZWRDYXRlZ29yeSk7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMuc3BsaWNlKHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcy5pbmRleE9mKHNlbGVjdGVkQ2F0ZWdvcnkpLCAxKTtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNDaGFuZ2UuZW1pdCh0aGlzLmNhdGVnb3JpZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgY2F0ZWdvcnkgZnJvbSBjYXRlZ29yaWVzIGxpc3QgYW5kIGFkZHMgaXQgdG8gZXhpc3RpbmcgY2F0ZWdvcmllcyBsaXN0IGluIEFTU0lHTiBtb2RlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5IC0gY2F0ZWdvcnkgdG8gcmVtb3ZlXG4gICAgICovXG4gICAgcmVtb3ZlQ2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllcy5zcGxpY2UodGhpcy5jYXRlZ29yaWVzLmluZGV4T2YoY2F0ZWdvcnkpLCAxKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ1JVRE1vZGUgJiYgISF0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMgJiYgIXRoaXMuaW5pdGlhbENhdGVnb3JpZXMuc29tZSgoY2F0KSA9PiBjYXQuaWQgPT09IGNhdGVnb3J5LmlkKSkge1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzLnB1c2goY2F0ZWdvcnkpO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2F0ZWdvcmllc0xpc3QodGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7XG4gICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXNDaGFuZ2UuZW1pdCh0aGlzLmNhdGVnb3JpZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYW1lQ29udHJvbFZhbHVlQ2hhbmdlKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNDUlVETW9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2hpbGRyZW5DYXRlZ29yaWVzKG5hbWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEZvckV4aXN0aW5nQ2F0ZWdvcmllcyhuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaEZvckV4aXN0aW5nQ2F0ZWdvcmllcyhzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVNlcnZpY2Uuc2VhcmNoQ2F0ZWdvcmllcyhzZWFyY2hUZXJtLCAwLCB0aGlzLmV4aXN0aW5nQ2F0ZWdvcmllc0xpc3RMaW1pdCkuc3Vic2NyaWJlKChleGlzdGluZ0NhdGVnb3JpZXNSZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IGV4aXN0aW5nQ2F0ZWdvcmllc1Jlc3VsdC5saXN0LmVudHJpZXMubWFwKChyb3dFbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nQ2F0ID0gbmV3IENhdGVnb3J5KCk7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdDYXQuaWQgPSByb3dFbnRyeS5lbnRyeS5pZDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gcm93RW50cnkuZW50cnkucGF0aC5uYW1lLnNwbGl0KCcvJykuc3BsaWNlKDMpLmpvaW4oJy8nKTtcbiAgICAgICAgICAgICAgICBleGlzdGluZ0NhdC5uYW1lID0gcGF0aCA/IGAke3BhdGh9LyR7cm93RW50cnkuZW50cnkubmFtZX1gIDogcm93RW50cnkuZW50cnkubmFtZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdDYXQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKGV4aXN0aW5nQ2F0KSA9PiB0aGlzLmNhdGVnb3JpZXMuZmluZCgoY2F0ZWdvcnkpID0+IGV4aXN0aW5nQ2F0LmlkID09PSBjYXRlZ29yeS5pZCkgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuc29ydENhdGVnb3JpZXNMaXN0KHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyk7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl90eXBpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdDYXRlZ29yeUxvYWRlZCQubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoaWxkcmVuQ2F0ZWdvcmllcyhzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0U3ViY2F0ZWdvcmllcyh0aGlzLnBhcmVudElkKS5zdWJzY3JpYmUoKGNoaWxkcmVuQ2F0ZWdvcmllcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzID0gY2hpbGRyZW5DYXRlZ29yaWVzLmxpc3QuZW50cmllcy5tYXAoKGNhdGVnb3J5RW50cnkpID0+IGNhdGVnb3J5RW50cnkuZW50cnkpO1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzID0gdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzLmZpbHRlcigoZXhpc3RpbmdDYXQpID0+XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdDYXQubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDYXRlZ29yaWVzTGlzdCh0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMpO1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHlwaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmV4aXN0aW5nQ2F0ZWdvcnlMb2FkZWQkLm5leHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUlmTm90QWxyZWFkeUFkZGVkKG5hbWVDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogQ2F0ZWdvcnlOYW1lQ29udHJvbEVycm9ycyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXRlZ29yaWVzPy5zb21lKChjYXRlZ29yeSkgPT4gdGhpcy5jb21wYXJlQ2F0ZWdvcmllcyhjYXRlZ29yeSwgbmFtZUNvbnRyb2wudmFsdWUpKSAmJiB0aGlzLmlzQ1JVRE1vZGVcbiAgICAgICAgICAgID8geyBkdXBsaWNhdGVkQ2F0ZWdvcnk6IHRydWUgfVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVJZk5vdEFscmVhZHlDcmVhdGVkKG5hbWVDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogT2JzZXJ2YWJsZTxDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leGlzdGluZ0NhdGVnb3J5TG9hZGVkJC5waXBlKFxuICAgICAgICAgICAgbWFwPHZvaWQsIENhdGVnb3J5TmFtZUNvbnRyb2xFcnJvcnMgfCBudWxsPigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdDYXRlZ29yaWVzLnNvbWUoKGNhdGVnb3J5KSA9PiB0aGlzLmNvbXBhcmVDYXRlZ29yaWVzKGNhdGVnb3J5LCBuYW1lQ29udHJvbC52YWx1ZSkpICYmIHRoaXMuaXNDUlVETW9kZVxuICAgICAgICAgICAgICAgICAgICA/IHsgZHVwbGljYXRlZEV4aXN0aW5nQ2F0ZWdvcnk6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaXJzdCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wYXJlQ2F0ZWdvcmllcyhjYXRlZ29yeTE/OiBDYXRlZ29yeSwgY2F0Mk5hbWU/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGNhdGVnb3J5MT8ubmFtZS50cmltKCkudG9VcHBlckNhc2UoKSA9PT0gY2F0Mk5hbWU/LnRyaW0oKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVFbXB0eUNhdGVnb3J5KGNhdGVnb3J5TmFtZUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZz4pOiBDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBjYXRlZ29yeU5hbWVDb250cm9sLnZhbHVlLmxlbmd0aCAmJiAhY2F0ZWdvcnlOYW1lQ29udHJvbC52YWx1ZS50cmltKCkgPyB7IGVtcHR5Q2F0ZWdvcnk6IHRydWUgfSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JNZXNzYWdlS2V5KCkge1xuICAgICAgICB0aGlzLl9jYXRlZ29yeU5hbWVFcnJvck1lc3NhZ2VLZXkgPSB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wuaW52YWxpZFxuICAgICAgICAgICAgPyBgQ0FURUdPUklFU19NQU5BR0VNRU5ULkVSUk9SUy4ke3RoaXMubmFtZUVycm9yTWVzc2FnZXNCeUVycm9ycy5nZXQoXG4gICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wuZXJyb3JzKVswXSBhcyBrZXlvZiBDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzXG4gICAgICAgICAgICAgICl9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRDYXRlZ29yaWVzTGlzdChjYXRlZ29yaWVzTGlzdDogQ2F0ZWdvcnlbXSkge1xuICAgICAgICBjYXRlZ29yaWVzTGlzdC5zb3J0KChjYXRlZ29yeTEsIGNhdGVnb3J5MikgPT4gY2F0ZWdvcnkxLm5hbWUubG9jYWxlQ29tcGFyZShjYXRlZ29yeTIubmFtZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJDYXRlZ29yeU5hbWVJbnB1dCgpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtY2F0ZWdvcmllcy1tYW5hZ2VtZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlXCIgY2xhc3M9XCJhZGYtY2F0ZWdvcnktbmFtZS1maWVsZFwiPlxuICAgICAgICA8aW5wdXQgI2NhdGVnb3J5TmFtZUlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY2F0ZWdvcnlOYW1lQ29udHJvbFwiXG4gICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiYWRkQ2F0ZWdvcnkoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5DQVRFR09SSUVTX1NFQVJDSF9QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgYWRmLWF1dG8tZm9jdXNcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjYXRlZ29yeU5hbWVDb250cm9sLmludmFsaWRcIj57eyBjYXRlZ29yeU5hbWVFcnJvck1lc3NhZ2VLZXkgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWNhdGVnb3JpZXMtbGlzdFwiICpuZ0lmPVwiY2F0ZWdvcmllcz8ubGVuZ3RoID4gMFwiIFtjbGFzcy5hZGYtY2F0ZWdvcmllcy1saXN0LWZpeGVkXT1cIiFjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXNcIlxuICAgICAgICAgICAgW2NsYXNzLmFkZi1jYXRlZ29yaWVzLXBhZGRlZF09XCIhaXNDUlVETW9kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1hc3NpZ25lZC1jYXRlZ29yaWVzXCI+XG4gICAgICAgICAgICB7eyBjYXRlZ29yeS5uYW1lIH19XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY2F0ZWdvcmllcy1yZW1vdmUtY2F0ZWdvcnktYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoY2F0ZWdvcnkpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJyZW1vdmVDYXRlZ29yeVRpdGxlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVJlbW92YWxcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cmVtb3ZlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHAgKm5nSWY9XCJzaG93RW1wdHlDYXRlZ29yeU1lc3NhZ2VcIiBjbGFzcz1cImFkZi1uby1jYXRlZ29yaWVzLW1lc3NhZ2VcIj5cbiAgICAgICAge3sgbm9DYXRlZ29yaWVzTXNnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYWRmLWV4aXN0aW5nLWNhdGVnb3JpZXMtcGFuZWxcIiAqbmdJZj1cImV4aXN0aW5nQ2F0ZWdvcmllc1BhbmVsVmlzaWJsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NSVURNb2RlICYmICghZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyB8fCBleGlzdGluZ0NhdGVnb3JpZXMpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLWNyZWF0ZS1jYXRlZ29yeS1sYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWRkQ2F0ZWdvcnkoKVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiYWRkQ2F0ZWdvcnkoKVwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cImNhdGVnb3J5TmFtZUNvbnRyb2wuaW52YWxpZCB8fCB0eXBpbmdcIj5cbiAgICAgICAgICAgIHt7ICdDQVRFR09SSUVTX01BTkFHRU1FTlQuR0VORVJJQ19DUkVBVEUnIHwgdHJhbnNsYXRlIDogeyBuYW1lOiBjYXRlZ29yeU5hbWVDb250cm9sLnZhbHVlIH0gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZVwiIGNsYXNzPVwiYWRmLWNhdGVnb3JpZXMtbGlzdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmcgJiYgZXhpc3RpbmdDYXRlZ29yaWVzXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1leGlzdGluZy1jYXRlZ29yaWVzLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgZXhpc3RpbmdDYXRlZ29yaWVzTXNnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8bWF0LWxpc3RcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDUlVETW9kZSB8fCAhbXVsdGlTZWxlY3QgJiYgY2F0ZWdvcmllcy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1jYXRlZ29yaWVzLW1hbmFnZW1lbnQtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBleGlzdGluZ0NhdGVnb3JpZXNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1jYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9J2FkZENhdGVnb3J5VG9Bc3NpZ24oY2F0ZWdvcnkpJz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNhdGVnb3J5Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhZXhpc3RpbmdDYXRlZ29yaWVzPy5sZW5ndGggJiYgIWV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cIm5vLWNhdGVnb3JpZXMtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQ0FURUdPUklFU19NQU5BR0VNRU5ULk5PX0VYSVNUSU5HX0NBVEVHT1JJRVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9tYXQtbGlzdD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtc3Bpbm5lclxuICAgICAgICAgICAgKm5nSWY9XCJleGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nXCJcbiAgICAgICAgICAgIFtkaWFtZXRlcl09XCI1MFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1jYXRlZ29yaWVzLW1hbmFnZW1lbnQtc3Bpbm5lclwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDQVRFR09SSUVTX01BTkFHRU1FTlQuTE9BRElORycgfCB0cmFuc2xhdGVcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY2F0ZWdvcnkvY2F0ZWdvcmllcy1tYW5hZ2VtZW50L2NhdGVnb3JpZXMtbWFuYWdlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NhdGVnb3J5L2NhdGVnb3JpZXMtbWFuYWdlbWVudC9jYXRlZ29yaWVzLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFB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QUFDOytHQWpUUSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiwra0JDdkUxQyxndkdBb0VBLHd1RERYUSxZQUFZLDJQQUNaLGFBQWEsa0RBQ2Isa0JBQWtCLDREQUNsQixtQkFBbUIseWtCQUNuQixrQkFBa0IsMkhBQ2xCLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixhQUFhLHVSQUNiLHdCQUF3Qjs7NEZBTW5CLDZCQUE2QjtrQkFsQnpDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isd0JBQXdCO3FCQUMzQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO29GQStCckMsVUFBVTtzQkFEVCxLQUFLO2dCQVVGLDBCQUEwQjtzQkFEN0IsS0FBSztnQkFvQk4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFTTixjQUFjO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUt6QixRQUFRO3NCQURQLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixNQUFNO2dCQUtQLGdDQUFnQztzQkFEL0IsTUFBTTtnQkFJQyx3QkFBd0I7c0JBRC9CLFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBmaXJzdCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzTWFuYWdlbWVudE1vZGUgfSBmcm9tICcuL2NhdGVnb3JpZXMtbWFuYWdlbWVudC1tb2RlJztcbmltcG9ydCB7IENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NhdGVnb3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEF1dG9Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmludGVyZmFjZSBDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzIHtcbiAgICBkdXBsaWNhdGVkRXhpc3RpbmdDYXRlZ29yeT86IGJvb2xlYW47XG4gICAgZHVwbGljYXRlZENhdGVnb3J5PzogYm9vbGVhbjtcbiAgICBlbXB0eUNhdGVnb3J5PzogYm9vbGVhbjtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNhdGVnb3JpZXMtbWFuYWdlbWVudCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQXV0b0ZvY3VzRGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcmllcy1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yaWVzLW1hbmFnZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3JpZXNNYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHJlYWRvbmx5IG5hbWVFcnJvck1lc3NhZ2VzQnlFcnJvcnMgPSBuZXcgTWFwPGtleW9mIENhdGVnb3J5TmFtZUNvbnRyb2xFcnJvcnMsIHN0cmluZz4oW1xuICAgICAgICBbJ2R1cGxpY2F0ZWRFeGlzdGluZ0NhdGVnb3J5JywgJ0FMUkVBRFlfRVhJU1RTJ10sXG4gICAgICAgIFsnZHVwbGljYXRlZENhdGVnb3J5JywgJ0RVUExJQ0FURURfQ0FURUdPUlknXSxcbiAgICAgICAgWydlbXB0eUNhdGVnb3J5JywgJ0VNUFRZX0NBVEVHT1JZJ10sXG4gICAgICAgIFsncmVxdWlyZWQnLCAnUkVRVUlSRUQnXVxuICAgIF0pO1xuXG4gICAgcHJpdmF0ZSBleGlzdGluZ0NhdGVnb3J5TG9hZGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBjYW5jZWxFeGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfY2F0ZWdvcnlOYW1lQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KFxuICAgICAgICAnJyxcbiAgICAgICAgW3RoaXMudmFsaWRhdGVJZk5vdEFscmVhZHlBZGRlZC5iaW5kKHRoaXMpLCB0aGlzLnZhbGlkYXRlRW1wdHlDYXRlZ29yeSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHRoaXMudmFsaWRhdGVJZk5vdEFscmVhZHlDcmVhdGVkLmJpbmQodGhpcylcbiAgICApO1xuICAgIHByaXZhdGUgX2V4aXN0aW5nQ2F0ZWdvcmllczogQ2F0ZWdvcnlbXTtcbiAgICBwcml2YXRlIF9jYXRlZ29yeU5hbWVFcnJvck1lc3NhZ2VLZXkgPSAnJztcbiAgICBwcml2YXRlIF9leGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfdHlwaW5nID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZXhpc3RpbmdDYXRlZ29yaWVzUGFuZWxWaXNpYmxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2NhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBleGlzdGluZ0NhdGVnb3JpZXNMaXN0TGltaXQgPSAxNTtcbiAgICBpbml0aWFsQ2F0ZWdvcmllczogQ2F0ZWdvcnlbXSA9IFtdO1xuICAgIG5vQ2F0ZWdvcmllc01zZyA9ICcnO1xuICAgIHJlbW92ZUNhdGVnb3J5VGl0bGUgPSAnJztcbiAgICBleGlzdGluZ0NhdGVnb3JpZXNNc2cgPSAnJztcblxuICAgIC8qKiBDYXRlZ29yaWVzIHRvIGRpc3BsYXkgaW5pdGlhbGx5ICovXG4gICAgQElucHV0KClcbiAgICBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBEZWNpZGVzIGlmIGNhdGVnb3J5TmFtZUNvbnRyb2wgc2hvdWxkIGJlIHZpc2libGUuIFNldHMgYWxzbyBleGlzdGluZyBjYXRlZ29yaWVzIHBhbmVsIHZpc2liaWxpdHlcbiAgICAgKiBhbmQgc2Nyb2xscyBjb250cm9sIGludG8gdmlldyB3aGVuIHZpc2libGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGUgY29udHJvbCB2aXNpYmlsaXR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlKGNhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlID0gY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGU7XG4gICAgICAgIGlmIChjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzUGFuZWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQ2F0ZWdvcnlOYW1lSW5wdXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3J5TmFtZUNvbnRyb2xWaXNpYmxlO1xuICAgIH1cblxuICAgIC8qKiBFbWl0cyB3aGVuIGNsYXNzaWZpYWJsZSBhc3BlY3QgY2hhbmdlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3NpZmlhYmxlQ2hhbmdlZDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKiBEaXNhYmxlcyByZW1vdmUgYnV0dG9uIGluIHVwcGVyIGNhdGVnb3JpZXMgbGlzdCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVJlbW92YWwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBtb2RlLlxuICAgICAqIEluIEFTU0lHTiBtb2RlIHdlIGNhbiBvbmx5IGFzc2lnbi91bmFzc2lnbiBjYXRlZ29yaWVzIGZyb20gZXhpc3RpbmcgbGlzdC5cbiAgICAgKiBJbiBDUlVEIG1vZGUgd2UgY2FuIGNyZWF0ZSBjYXRlZ29yaWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbWFuYWdlbWVudE1vZGU6IENhdGVnb3JpZXNNYW5hZ2VtZW50TW9kZTtcblxuICAgIC8qKiBJRCBvZiBhIHBhcmVudCBjYXRlZ29yeS4gTmV3IGNhdGVnb3JpZXMgd2lsbCBiZSBjcmVhdGVkIHVuZGVyIHRoaXMgcGFyZW50ICovXG4gICAgQElucHV0KClcbiAgICBwYXJlbnRJZDogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZXMgbXVsdGlzZWxlY3QgbW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlTZWxlY3QgPSB0cnVlO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gc3RhdGUgb2YgdXBwZXIgY2F0ZWdvcmllcyBsaXN0IGNoYW5nZXMgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYXRlZ29yaWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRlZ29yeVtdPigpO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gY2F0ZWdvcnlOYW1lQ29udHJvbCB2aXNpYmlsaXR5IGNoYW5nZXMgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhdGVnb3J5TmFtZUlucHV0JylcbiAgICBwcml2YXRlIGNhdGVnb3J5TmFtZUlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2F0ZWdvcnlTZXJ2aWNlOiBDYXRlZ29yeVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChuYW1lOiBzdHJpbmcpID0+IG5hbWUudHJpbSgpKSxcbiAgICAgICAgICAgICAgICB0YXAoKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90eXBpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsRXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlKChuYW1lOiBzdHJpbmcpID0+IChuYW1lID8gdGltZXIoMzAwKSA6IEVNUFRZKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5hbWU6IHN0cmluZykgPT4gdGhpcy5vbk5hbWVDb250cm9sVmFsdWVDaGFuZ2UobmFtZSkpO1xuXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JNZXNzYWdlS2V5KCkpO1xuXG4gICAgICAgIHRoaXMuc2V0Q2F0ZWdvcnlOYW1lQ29udHJvbEVycm9yTWVzc2FnZUtleSgpO1xuXG4gICAgICAgIHRoaXMubm9DYXRlZ29yaWVzTXNnID0gdGhpcy5pc0NSVURNb2RlID8gJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5OT19DQVRFR09SSUVTX0NSRUFURUQnIDogJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5OT19DQVRFR09SSUVTX0FTU0lHTkVEJztcbiAgICAgICAgdGhpcy5yZW1vdmVDYXRlZ29yeVRpdGxlID0gdGhpcy5pc0NSVURNb2RlID8gJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5ERUxFVEVfQ0FURUdPUlknIDogJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5VTkFTU0lHTl9DQVRFR09SWSc7XG4gICAgICAgIHRoaXMuZXhpc3RpbmdDYXRlZ29yaWVzTXNnID0gdGhpcy5pc0NSVURNb2RlID8gJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5FWElTVElOR19DQVRFR09SSUVTJyA6ICdDQVRFR09SSUVTX01BTkFHRU1FTlQuU0VMRUNUX0VYSVNUSU5HX0NBVEVHT1JZJztcblxuICAgICAgICBpZiAoIXRoaXMuaXNDUlVETW9kZSkge1xuICAgICAgICAgICAgdGhpcy5fY2F0ZWdvcnlOYW1lQ29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLmZvckVhY2goKGNhdGVnb3J5KSA9PiB0aGlzLmluaXRpYWxDYXRlZ29yaWVzLnB1c2goY2F0ZWdvcnkpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsYXNzaWZpYWJsZUNoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzaWZpYWJsZUNoYW5nZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNhbmNlbEV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmckLm5leHQoKTtcbiAgICAgICAgdGhpcy5jYW5jZWxFeGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBjYXRlZ29yeU5hbWVDb250cm9sKCk6IEZvcm1Db250cm9sPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2F0ZWdvcnlOYW1lQ29udHJvbDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIGNhdGVnb3JpZXMgZW1wdHkgYW5kIGNhdGVnb3J5IHBhbmVsIG5vbiBlZGl0YWJsZSBzdGF0ZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBnZXQgc2hvd0VtcHR5Q2F0ZWdvcnlNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXRlZ29yaWVzLmxlbmd0aCA9PT0gMCAmJiAhdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXQgZXhpc3RpbmdDYXRlZ29yaWVzKCk6IENhdGVnb3J5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzO1xuICAgIH1cblxuICAgIGdldCBjYXRlZ29yeU5hbWVFcnJvck1lc3NhZ2VLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3J5TmFtZUVycm9yTWVzc2FnZUtleTtcbiAgICB9XG5cbiAgICBnZXQgZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmc7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGluZztcbiAgICB9XG5cbiAgICBnZXQgZXhpc3RpbmdDYXRlZ29yaWVzUGFuZWxWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzUGFuZWxWaXNpYmxlO1xuICAgIH1cblxuICAgIGdldCBpc0NSVURNb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VtZW50TW9kZSA9PT0gQ2F0ZWdvcmllc01hbmFnZW1lbnRNb2RlLkNSVUQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBjYXRlZ29yeSB0aGF0IGhhcyBiZWVuIHR5cGVkIHRvIGEgY2F0ZWdvcnlOYW1lQ29udHJvbCBhbmQgaGlkZXMgaXQgYWZ0ZXJ3YXJkcy5cbiAgICAgKi9cbiAgICBhZGRDYXRlZ29yeSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDUlVETW9kZSAmJiAhdGhpcy5fdHlwaW5nICYmICF0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2F0TmFtZSA9IHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICBjb25zdCBuZXdDYXQgPSBuZXcgQ2F0ZWdvcnkoeyBpZDogbmV3Q2F0TmFtZSwgbmFtZTogbmV3Q2F0TmFtZSB9KTtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5wdXNoKG5ld0NhdCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQ2F0ZWdvcnlOYW1lSW5wdXQoKTtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNDaGFuZ2UuZW1pdCh0aGlzLmNhdGVnb3JpZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBleGlzdGluZyBjYXRlZ29yeSB0byBjYXRlZ29yaWVzIGxpc3QgYW5kIHJlbW92ZXMgaXQgZnJvbSBleGlzdGluZyBjYXRlZ29yaWVzIGxpc3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnkgLSBzZWxlY3Rpb24gbGlzdCBjaGFuZ2UgY29udGFpbmluZyBzZWxlY3RlZCBjYXRlZ29yeVxuICAgICAqL1xuICAgIGFkZENhdGVnb3J5VG9Bc3NpZ24oY2F0ZWdvcnk6IENhdGVnb3J5KSB7XG4gICAgICAgIGlmICghKHRoaXMuaXNDUlVETW9kZSB8fCAoIXRoaXMubXVsdGlTZWxlY3QgJiYgdGhpcy5jYXRlZ29yaWVzLmxlbmd0aCA+IDApKSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDYXRlZ29yeTogQ2F0ZWdvcnkgPSBjYXRlZ29yeTtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5wdXNoKHNlbGVjdGVkQ2F0ZWdvcnkpO1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzLnNwbGljZSh0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMuaW5kZXhPZihzZWxlY3RlZENhdGVnb3J5KSwgMSk7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5TmFtZUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzQ2hhbmdlLmVtaXQodGhpcy5jYXRlZ29yaWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIGNhdGVnb3J5IGZyb20gY2F0ZWdvcmllcyBsaXN0IGFuZCBhZGRzIGl0IHRvIGV4aXN0aW5nIGNhdGVnb3JpZXMgbGlzdCBpbiBBU1NJR04gbW9kZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeSAtIGNhdGVnb3J5IHRvIHJlbW92ZVxuICAgICAqL1xuICAgIHJlbW92ZUNhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSkge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMuc3BsaWNlKHRoaXMuY2F0ZWdvcmllcy5pbmRleE9mKGNhdGVnb3J5KSwgMSk7XG4gICAgICAgIGlmICghdGhpcy5pc0NSVURNb2RlICYmICEhdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzICYmICF0aGlzLmluaXRpYWxDYXRlZ29yaWVzLnNvbWUoKGNhdCkgPT4gY2F0LmlkID09PSBjYXRlZ29yeS5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcy5wdXNoKGNhdGVnb3J5KTtcbiAgICAgICAgICAgIHRoaXMuc29ydENhdGVnb3JpZXNMaXN0KHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzQ2hhbmdlLmVtaXQodGhpcy5jYXRlZ29yaWVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTmFtZUNvbnRyb2xWYWx1ZUNoYW5nZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQ1JVRE1vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldENoaWxkcmVuQ2F0ZWdvcmllcyhuYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hGb3JFeGlzdGluZ0NhdGVnb3JpZXMobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hGb3JFeGlzdGluZ0NhdGVnb3JpZXMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLnNlYXJjaENhdGVnb3JpZXMoc2VhcmNoVGVybSwgMCwgdGhpcy5leGlzdGluZ0NhdGVnb3JpZXNMaXN0TGltaXQpLnN1YnNjcmliZSgoZXhpc3RpbmdDYXRlZ29yaWVzUmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMgPSBleGlzdGluZ0NhdGVnb3JpZXNSZXN1bHQubGlzdC5lbnRyaWVzLm1hcCgocm93RW50cnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ0NhdCA9IG5ldyBDYXRlZ29yeSgpO1xuICAgICAgICAgICAgICAgIGV4aXN0aW5nQ2F0LmlkID0gcm93RW50cnkuZW50cnkuaWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHJvd0VudHJ5LmVudHJ5LnBhdGgubmFtZS5zcGxpdCgnLycpLnNwbGljZSgzKS5qb2luKCcvJyk7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdDYXQubmFtZSA9IHBhdGggPyBgJHtwYXRofS8ke3Jvd0VudHJ5LmVudHJ5Lm5hbWV9YCA6IHJvd0VudHJ5LmVudHJ5Lm5hbWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nQ2F0O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMgPSB0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChleGlzdGluZ0NhdCkgPT4gdGhpcy5jYXRlZ29yaWVzLmZpbmQoKGNhdGVnb3J5KSA9PiBleGlzdGluZ0NhdC5pZCA9PT0gY2F0ZWdvcnkuaWQpID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDYXRlZ29yaWVzTGlzdCh0aGlzLl9leGlzdGluZ0NhdGVnb3JpZXMpO1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHlwaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmV4aXN0aW5nQ2F0ZWdvcnlMb2FkZWQkLm5leHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDaGlsZHJlbkNhdGVnb3JpZXMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmdldFN1YmNhdGVnb3JpZXModGhpcy5wYXJlbnRJZCkuc3Vic2NyaWJlKChjaGlsZHJlbkNhdGVnb3JpZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IGNoaWxkcmVuQ2F0ZWdvcmllcy5saXN0LmVudHJpZXMubWFwKChjYXRlZ29yeUVudHJ5KSA9PiBjYXRlZ29yeUVudHJ5LmVudHJ5KTtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcyA9IHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllcy5maWx0ZXIoKGV4aXN0aW5nQ2F0KSA9PlxuICAgICAgICAgICAgICAgIGV4aXN0aW5nQ2F0Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2F0ZWdvcmllc0xpc3QodGhpcy5fZXhpc3RpbmdDYXRlZ29yaWVzKTtcbiAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX3R5cGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5leGlzdGluZ0NhdGVnb3J5TG9hZGVkJC5uZXh0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVJZk5vdEFscmVhZHlBZGRlZChuYW1lQ29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nPik6IENhdGVnb3J5TmFtZUNvbnRyb2xFcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllcz8uc29tZSgoY2F0ZWdvcnkpID0+IHRoaXMuY29tcGFyZUNhdGVnb3JpZXMoY2F0ZWdvcnksIG5hbWVDb250cm9sLnZhbHVlKSkgJiYgdGhpcy5pc0NSVURNb2RlXG4gICAgICAgICAgICA/IHsgZHVwbGljYXRlZENhdGVnb3J5OiB0cnVlIH1cbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlSWZOb3RBbHJlYWR5Q3JlYXRlZChuYW1lQ29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nPik6IE9ic2VydmFibGU8Q2F0ZWdvcnlOYW1lQ29udHJvbEVycm9ycyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhpc3RpbmdDYXRlZ29yeUxvYWRlZCQucGlwZShcbiAgICAgICAgICAgIG1hcDx2b2lkLCBDYXRlZ29yeU5hbWVDb250cm9sRXJyb3JzIHwgbnVsbD4oKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmV4aXN0aW5nQ2F0ZWdvcmllcy5zb21lKChjYXRlZ29yeSkgPT4gdGhpcy5jb21wYXJlQ2F0ZWdvcmllcyhjYXRlZ29yeSwgbmFtZUNvbnRyb2wudmFsdWUpKSAmJiB0aGlzLmlzQ1JVRE1vZGVcbiAgICAgICAgICAgICAgICAgICAgPyB7IGR1cGxpY2F0ZWRFeGlzdGluZ0NhdGVnb3J5OiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmlyc3QoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcGFyZUNhdGVnb3JpZXMoY2F0ZWdvcnkxPzogQ2F0ZWdvcnksIGNhdDJOYW1lPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBjYXRlZ29yeTE/Lm5hbWUudHJpbSgpLnRvVXBwZXJDYXNlKCkgPT09IGNhdDJOYW1lPy50cmltKCkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlRW1wdHlDYXRlZ29yeShjYXRlZ29yeU5hbWVDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogQ2F0ZWdvcnlOYW1lQ29udHJvbEVycm9ycyB8IG51bGwge1xuICAgICAgICByZXR1cm4gY2F0ZWdvcnlOYW1lQ29udHJvbC52YWx1ZS5sZW5ndGggJiYgIWNhdGVnb3J5TmFtZUNvbnRyb2wudmFsdWUudHJpbSgpID8geyBlbXB0eUNhdGVnb3J5OiB0cnVlIH0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2F0ZWdvcnlOYW1lQ29udHJvbEVycm9yTWVzc2FnZUtleSgpIHtcbiAgICAgICAgdGhpcy5fY2F0ZWdvcnlOYW1lRXJyb3JNZXNzYWdlS2V5ID0gdGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLmludmFsaWRcbiAgICAgICAgICAgID8gYENBVEVHT1JJRVNfTUFOQUdFTUVOVC5FUlJPUlMuJHt0aGlzLm5hbWVFcnJvck1lc3NhZ2VzQnlFcnJvcnMuZ2V0KFxuICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5jYXRlZ29yeU5hbWVDb250cm9sLmVycm9ycylbMF0gYXMga2V5b2YgQ2F0ZWdvcnlOYW1lQ29udHJvbEVycm9yc1xuICAgICAgICAgICAgICApfWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0Q2F0ZWdvcmllc0xpc3QoY2F0ZWdvcmllc0xpc3Q6IENhdGVnb3J5W10pIHtcbiAgICAgICAgY2F0ZWdvcmllc0xpc3Quc29ydCgoY2F0ZWdvcnkxLCBjYXRlZ29yeTIpID0+IGNhdGVnb3J5MS5uYW1lLmxvY2FsZUNvbXBhcmUoY2F0ZWdvcnkyLm5hbWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQ2F0ZWdvcnlOYW1lSW5wdXQoKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLWNhdGVnb3JpZXMtbWFuYWdlbWVudFwiPlxuICAgIDxkaXYgKm5nSWY9XCJjYXRlZ29yeU5hbWVDb250cm9sVmlzaWJsZVwiIGNsYXNzPVwiYWRmLWNhdGVnb3J5LW5hbWUtZmllbGRcIj5cbiAgICAgICAgPGlucHV0ICNjYXRlZ29yeU5hbWVJbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNhdGVnb3J5TmFtZUNvbnRyb2xcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImFkZENhdGVnb3J5KClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eydDQVRFR09SSUVTX01BTkFHRU1FTlQuQ0FURUdPUklFU19TRUFSQ0hfUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGFkZi1hdXRvLWZvY3VzXG4gICAgICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY2F0ZWdvcnlOYW1lQ29udHJvbC5pbnZhbGlkXCI+e3sgY2F0ZWdvcnlOYW1lRXJyb3JNZXNzYWdlS2V5IHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1jYXRlZ29yaWVzLWxpc3RcIiAqbmdJZj1cImNhdGVnb3JpZXM/Lmxlbmd0aCA+IDBcIiBbY2xhc3MuYWRmLWNhdGVnb3JpZXMtbGlzdC1maXhlZF09XCIhY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGVcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzXCJcbiAgICAgICAgICAgIFtjbGFzcy5hZGYtY2F0ZWdvcmllcy1wYWRkZWRdPVwiIWlzQ1JVRE1vZGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtYXNzaWduZWQtY2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAge3sgY2F0ZWdvcnkubmFtZSB9fVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNhdGVnb3JpZXMtcmVtb3ZlLWNhdGVnb3J5LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNhdGVnb3J5KGNhdGVnb3J5KVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwicmVtb3ZlQ2F0ZWdvcnlUaXRsZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVSZW1vdmFsXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnJlbW92ZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxwICpuZ0lmPVwic2hvd0VtcHR5Q2F0ZWdvcnlNZXNzYWdlXCIgY2xhc3M9XCJhZGYtbm8tY2F0ZWdvcmllcy1tZXNzYWdlXCI+XG4gICAgICAgIHt7IG5vQ2F0ZWdvcmllc01zZyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImFkZi1leGlzdGluZy1jYXRlZ29yaWVzLXBhbmVsXCIgKm5nSWY9XCJleGlzdGluZ0NhdGVnb3JpZXNQYW5lbFZpc2libGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDUlVETW9kZSAmJiAoIWV4aXN0aW5nQ2F0ZWdvcmllc0xvYWRpbmcgfHwgZXhpc3RpbmdDYXRlZ29yaWVzKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1jcmVhdGUtY2F0ZWdvcnktbGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZENhdGVnb3J5KClcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImFkZENhdGVnb3J5KClcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJjYXRlZ29yeU5hbWVDb250cm9sLmludmFsaWQgfHwgdHlwaW5nXCI+XG4gICAgICAgICAgICB7eyAnQ0FURUdPUklFU19NQU5BR0VNRU5ULkdFTkVSSUNfQ1JFQVRFJyB8IHRyYW5zbGF0ZSA6IHsgbmFtZTogY2F0ZWdvcnlOYW1lQ29udHJvbC52YWx1ZSB9IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2F0ZWdvcnlOYW1lQ29udHJvbFZpc2libGVcIiBjbGFzcz1cImFkZi1jYXRlZ29yaWVzLWxpc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nICYmIGV4aXN0aW5nQ2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhZGYtZXhpc3RpbmctY2F0ZWdvcmllcy1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGV4aXN0aW5nQ2F0ZWdvcmllc01zZyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPG1hdC1saXN0XG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ1JVRE1vZGUgfHwgIW11bHRpU2VsZWN0ICYmIGNhdGVnb3JpZXMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2F0ZWdvcmllcy1tYW5hZ2VtZW50LWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgZXhpc3RpbmdDYXRlZ29yaWVzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSdhZGRDYXRlZ29yeVRvQXNzaWduKGNhdGVnb3J5KSc+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjYXRlZ29yeS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIWV4aXN0aW5nQ2F0ZWdvcmllcz8ubGVuZ3RoICYmICFleGlzdGluZ0NhdGVnb3JpZXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJuby1jYXRlZ29yaWVzLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0NBVEVHT1JJRVNfTUFOQUdFTUVOVC5OT19FWElTVElOR19DQVRFR09SSUVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LXNwaW5uZXJcbiAgICAgICAgICAgICpuZ0lmPVwiZXhpc3RpbmdDYXRlZ29yaWVzTG9hZGluZ1wiXG4gICAgICAgICAgICBbZGlhbWV0ZXJdPVwiNTBcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2F0ZWdvcmllcy1tYW5hZ2VtZW50LXNwaW5uZXJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQ0FURUdPUklFU19NQU5BR0VNRU5ULkxPQURJTkcnIHwgdHJhbnNsYXRlXCIgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -18,12 +18,11 @@ import { CommonModule } from '@angular/common';
18
18
  import { Component, Input, ViewEncapsulation } from '@angular/core';
19
19
  import { MatExpansionModule } from '@angular/material/expansion';
20
20
  import { MatIconModule } from '@angular/material/icon';
21
- import { TranslateModule } from '@ngx-translate/core';
21
+ import { TranslatePipe } from '@ngx-translate/core';
22
22
  import * as i0 from "@angular/core";
23
23
  import * as i1 from "@angular/common";
24
24
  import * as i2 from "@angular/material/icon";
25
25
  import * as i3 from "@angular/material/expansion";
26
- import * as i4 from "@ngx-translate/core";
27
26
  export class ContentMetadataHeaderComponent {
28
27
  constructor() {
29
28
  this.title = null;
@@ -36,11 +35,11 @@ export class ContentMetadataHeaderComponent {
36
35
  <mat-panel-title *ngIf="title" class="adf-metadata-properties-title" [title]="title | translate">{{ title | translate }}</mat-panel-title>
37
36
  <ng-content />
38
37
  </ng-container>
39
- `, isInline: true, styles: ["adf-content-metadata-header{display:flex;align-items:center;width:100%}.adf-metadata-properties-title{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:15px;padding-left:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
38
+ `, isInline: true, styles: ["adf-content-metadata-header{display:flex;align-items:center;width:100%}.adf-metadata-properties-title{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:15px;padding-left:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
40
39
  }
41
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentMetadataHeaderComponent, decorators: [{
42
41
  type: Component,
43
- args: [{ standalone: true, imports: [CommonModule, MatIconModule, MatExpansionModule, TranslateModule], selector: 'adf-content-metadata-header', encapsulation: ViewEncapsulation.None, template: `
42
+ args: [{ standalone: true, imports: [CommonModule, MatIconModule, MatExpansionModule, TranslatePipe], selector: 'adf-content-metadata-header', encapsulation: ViewEncapsulation.None, template: `
44
43
  <ng-container>
45
44
  <mat-icon>{{ expanded ? 'expand_more' : 'chevron_right' }}</mat-icon>
46
45
  <mat-panel-title *ngIf="title" class="adf-metadata-properties-title" [title]="title | translate">{{ title | translate }}</mat-panel-title>
@@ -52,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
52
51
  }], expanded: [{
53
52
  type: Input
54
53
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tZXRhZGF0YS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW1ldGFkYXRhL2NvbXBvbmVudHMvY29udGVudC1tZXRhZGF0YS9jb250ZW50LW1ldGFkYXRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWlDdEQsTUFBTSxPQUFPLDhCQUE4QjtJQS9CM0M7UUFnQ2EsVUFBSyxHQUFXLElBQUksQ0FBQztRQUNyQixhQUFRLEdBQUcsSUFBSSxDQUFDO0tBQzVCOytHQUhZLDhCQUE4QjttR0FBOUIsOEJBQThCLHlJQVI3Qjs7Ozs7O0tBTVQsdVJBM0JTLFlBQVksa0lBQUUsYUFBYSxtTEFBRSxrQkFBa0IsbUhBQUUsZUFBZTs7NEZBNkJqRSw4QkFBOEI7a0JBL0IxQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLFlBQ2pFLDZCQUE2QixpQkFDeEIsaUJBQWlCLENBQUMsSUFBSSxZQW1CM0I7Ozs7OztLQU1UOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhZGYtY29udGVudC1tZXRhZGF0YS1oZWFkZXInLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgYWRmLWNvbnRlbnQtbWV0YWRhdGEtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWRmLW1ldGFkYXRhLXByb3BlcnRpZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYFxuICAgIF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBleHBhbmRlZCA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZSAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJhZGYtbWV0YWRhdGEtcHJvcGVydGllcy10aXRsZVwiIFt0aXRsZV09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNZXRhZGF0YUhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tZXRhZGF0YS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW1ldGFkYXRhL2NvbXBvbmVudHMvY29udGVudC1tZXRhZGF0YS9jb250ZW50LW1ldGFkYXRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBaUNwRCxNQUFNLE9BQU8sOEJBQThCO0lBL0IzQztRQWdDYSxVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxJQUFJLENBQUM7S0FDNUI7K0dBSFksOEJBQThCO21HQUE5Qiw4QkFBOEIseUlBUjdCOzs7Ozs7S0FNVCx1UkEzQlMsWUFBWSxrSUFBRSxhQUFhLG1MQUFFLGtCQUFrQiwrR0FBRSxhQUFhOzs0RkE2Qi9ELDhCQUE4QjtrQkEvQjFDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLENBQUMsWUFDL0QsNkJBQTZCLGlCQUN4QixpQkFBaUIsQ0FBQyxJQUFJLFlBbUIzQjs7Ozs7O0tBTVQ7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICAgIHNlbGVjdG9yOiAnYWRmLWNvbnRlbnQtbWV0YWRhdGEtaGVhZGVyJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBhZGYtY29udGVudC1tZXRhZGF0YS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZi1tZXRhZGF0YS1wcm9wZXJ0aWVzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBleHBhbmRlZCA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZSAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJhZGYtbWV0YWRhdGEtcHJvcGVydGllcy10aXRsZVwiIFt0aXRsZV09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNZXRhZGF0YUhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xufVxuIl19