@tilde-nlp/ngx-translate 4.0.9 → 4.0.10

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 (22) hide show
  1. package/esm2022/lib/components/shared/extension-dialog/extension-dialog.component.mjs +2 -2
  2. package/esm2022/lib/i18n/en.mjs +2 -1
  3. package/esm2022/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +3 -3
  4. package/esm2022/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.mjs +2 -2
  5. package/esm2022/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +6 -4
  6. package/esm2022/lib/modules/tld-tooltip/services/tld-system.service.mjs +9 -3
  7. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +2 -2
  8. package/esm2022/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +1 -4
  9. package/esm2022/lib/tld-translate.component.mjs +8 -6
  10. package/fesm2022/tilde-nlp-ngx-translate.mjs +28 -20
  11. package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
  12. package/lib/i18n/en.d.ts +1 -0
  13. package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +1 -0
  14. package/lib/modules/tld-tooltip/services/tld-system.service.d.ts +4 -2
  15. package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +0 -1
  16. package/lib/tld-translate.component.d.ts +0 -1
  17. package/package.json +1 -1
  18. package/src/assets/webcomponent/styles.css +1 -1
  19. package/src/assets/webcomponent/tld-translate.js +1 -1
  20. package/src/styles/styles.scss +3 -3
  21. package/tilde-nlp-ngx-translate-4.0.10.tgz +0 -0
  22. package/tilde-nlp-ngx-translate-4.0.9.tgz +0 -0
@@ -123,11 +123,11 @@ export class ExtensionDialogComponent {
123
123
  this.undescribedExtensions = extensions;
124
124
  }
125
125
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ExtensionDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ExtensionDialogComponent, selector: "app-extension-dialog", ngImport: i0, template: "<div mat-dialog-content>\r\n <header>\r\n <div class=\"headline\">\r\n <h1 mat-dialog-title class=\"text-l-semi-bold\">{{'EXTENSION_POPUP.TITLE' | translate}}</h1>\r\n <tld-close-button mat-dialog-close></tld-close-button>\r\n </div>\r\n\r\n <p class=\"description\">{{'EXTENSION_POPUP.DESCRIPTION' | translate}}</p>\r\n </header>\r\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" [ngClass.lt-md]=\"'small-screen'\">\r\n <ng-container *ngFor=\"let category of config.elements\">\r\n <div *ngIf=\"category.anyVisible\" class=\"category\">\r\n <h2 class=\"category-title\">\r\n {{ 'EXTENSION_POPUP.' + category.category | translate }}\r\n </h2>\r\n <div fxLayout=\"row\">\r\n <div *ngFor=\"let column of category.columns\" class=\"extension-column\">\r\n <ul *ngIf=\"column.anyVisible\">\r\n <ng-container *ngFor=\"let extension of column.extensions\">\r\n <li *ngIf=\"extension.visible\" fxLayoutAlign=\"start center\">\r\n <mat-icon svgIcon=\"{{ extension.icon }}\" aria-hidden=\"false\"[attr.aria-label]=\"extension.extension\"></mat-icon>\r\n <span>{{ extension.extension }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["[mat-dialog-content]{position:relative}[mat-dialog-content] header{margin-bottom:1.5em}[mat-dialog-content] header h1{display:flex;align-items:center;font-size:20px;font-weight:500;margin:0 0 .5em}[mat-dialog-content] header p{margin:0}[mat-dialog-content] ul{list-style-type:none;margin:0;padding:0}[mat-dialog-content] ul li+li{margin-top:.5em}[mat-dialog-content] .mdc-dialog__title{padding:0}[mat-dialog-content] .headline{display:flex;justify-content:space-between}[mat-dialog-content] .category-title{border-bottom:1px solid var(--base-70);font-size:.875em;font-weight:500;text-align:center;padding-bottom:.5em;line-height:1.25em;white-space:nowrap}[mat-dialog-content] .extension-column{font-size:.875em;line-height:1.25em}[mat-dialog-content] .extension-column+.extension-column{margin-left:1em}[mat-dialog-content] :not(.small-screen) .category+.category{margin-left:3em}[mat-dialog-content] mat-icon{width:20px;height:20px}[mat-dialog-content] .description{font-size:.875em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ExtensionDialogComponent, selector: "app-extension-dialog", ngImport: i0, template: "<div mat-dialog-content>\r\n <header>\r\n <div class=\"headline\">\r\n <h1 mat-dialog-title class=\"text-l-semi-bold\">{{'EXTENSION_POPUP.TITLE' | translate}}</h1>\r\n <tld-close-button mat-dialog-close></tld-close-button>\r\n </div>\r\n\r\n <p class=\"description\">{{'EXTENSION_POPUP.DESCRIPTION' | translate}}</p>\r\n </header>\r\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" [ngClass.lt-md]=\"'small-screen'\">\r\n <ng-container *ngFor=\"let category of config.elements\">\r\n <div *ngIf=\"category.anyVisible\" class=\"category\">\r\n <h2 class=\"category-title\">\r\n {{ 'EXTENSION_POPUP.' + category.category | translate }}\r\n </h2>\r\n <div fxLayout=\"row\">\r\n <div *ngFor=\"let column of category.columns\" class=\"extension-column\">\r\n <ul *ngIf=\"column.anyVisible\">\r\n <ng-container *ngFor=\"let extension of column.extensions\">\r\n <li *ngIf=\"extension.visible\" fxLayoutAlign=\"start center\">\r\n <mat-icon svgIcon=\"{{ extension.icon }}\" aria-hidden=\"false\"[attr.aria-label]=\"extension.extension\"></mat-icon>\r\n <span>{{ extension.extension }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["[mat-dialog-content]{position:relative;padding:20px 28px 28px!important}[mat-dialog-content] header{margin-bottom:1.5em}[mat-dialog-content] header h1{display:flex;align-items:center;font-size:20px;font-weight:500;margin:0 0 .5em}[mat-dialog-content] header p{margin:0}[mat-dialog-content] ul{list-style-type:none;margin:0;padding:0}[mat-dialog-content] ul li+li{margin-top:.5em}[mat-dialog-content] .mdc-dialog__title{padding:0}[mat-dialog-content] .headline{display:flex;justify-content:space-between}[mat-dialog-content] .category-title{border-bottom:1px solid var(--base-70);font-size:.875em;font-weight:500;text-align:center;padding-bottom:.5em;line-height:1.25em;white-space:nowrap}[mat-dialog-content] .extension-column{font-size:.875em;line-height:1.25em}[mat-dialog-content] .extension-column+.extension-column{margin-left:1em}[mat-dialog-content] :not(.small-screen) .category+.category{margin-left:3em}[mat-dialog-content] mat-icon{width:20px;height:20px}[mat-dialog-content] .description{font-size:.875em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
127
127
  }
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ExtensionDialogComponent, decorators: [{
129
129
  type: Component,
130
- args: [{ selector: 'app-extension-dialog', template: "<div mat-dialog-content>\r\n <header>\r\n <div class=\"headline\">\r\n <h1 mat-dialog-title class=\"text-l-semi-bold\">{{'EXTENSION_POPUP.TITLE' | translate}}</h1>\r\n <tld-close-button mat-dialog-close></tld-close-button>\r\n </div>\r\n\r\n <p class=\"description\">{{'EXTENSION_POPUP.DESCRIPTION' | translate}}</p>\r\n </header>\r\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" [ngClass.lt-md]=\"'small-screen'\">\r\n <ng-container *ngFor=\"let category of config.elements\">\r\n <div *ngIf=\"category.anyVisible\" class=\"category\">\r\n <h2 class=\"category-title\">\r\n {{ 'EXTENSION_POPUP.' + category.category | translate }}\r\n </h2>\r\n <div fxLayout=\"row\">\r\n <div *ngFor=\"let column of category.columns\" class=\"extension-column\">\r\n <ul *ngIf=\"column.anyVisible\">\r\n <ng-container *ngFor=\"let extension of column.extensions\">\r\n <li *ngIf=\"extension.visible\" fxLayoutAlign=\"start center\">\r\n <mat-icon svgIcon=\"{{ extension.icon }}\" aria-hidden=\"false\"[attr.aria-label]=\"extension.extension\"></mat-icon>\r\n <span>{{ extension.extension }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["[mat-dialog-content]{position:relative}[mat-dialog-content] header{margin-bottom:1.5em}[mat-dialog-content] header h1{display:flex;align-items:center;font-size:20px;font-weight:500;margin:0 0 .5em}[mat-dialog-content] header p{margin:0}[mat-dialog-content] ul{list-style-type:none;margin:0;padding:0}[mat-dialog-content] ul li+li{margin-top:.5em}[mat-dialog-content] .mdc-dialog__title{padding:0}[mat-dialog-content] .headline{display:flex;justify-content:space-between}[mat-dialog-content] .category-title{border-bottom:1px solid var(--base-70);font-size:.875em;font-weight:500;text-align:center;padding-bottom:.5em;line-height:1.25em;white-space:nowrap}[mat-dialog-content] .extension-column{font-size:.875em;line-height:1.25em}[mat-dialog-content] .extension-column+.extension-column{margin-left:1em}[mat-dialog-content] :not(.small-screen) .category+.category{margin-left:3em}[mat-dialog-content] mat-icon{width:20px;height:20px}[mat-dialog-content] .description{font-size:.875em}\n"] }]
130
+ args: [{ selector: 'app-extension-dialog', template: "<div mat-dialog-content>\r\n <header>\r\n <div class=\"headline\">\r\n <h1 mat-dialog-title class=\"text-l-semi-bold\">{{'EXTENSION_POPUP.TITLE' | translate}}</h1>\r\n <tld-close-button mat-dialog-close></tld-close-button>\r\n </div>\r\n\r\n <p class=\"description\">{{'EXTENSION_POPUP.DESCRIPTION' | translate}}</p>\r\n </header>\r\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" [ngClass.lt-md]=\"'small-screen'\">\r\n <ng-container *ngFor=\"let category of config.elements\">\r\n <div *ngIf=\"category.anyVisible\" class=\"category\">\r\n <h2 class=\"category-title\">\r\n {{ 'EXTENSION_POPUP.' + category.category | translate }}\r\n </h2>\r\n <div fxLayout=\"row\">\r\n <div *ngFor=\"let column of category.columns\" class=\"extension-column\">\r\n <ul *ngIf=\"column.anyVisible\">\r\n <ng-container *ngFor=\"let extension of column.extensions\">\r\n <li *ngIf=\"extension.visible\" fxLayoutAlign=\"start center\">\r\n <mat-icon svgIcon=\"{{ extension.icon }}\" aria-hidden=\"false\"[attr.aria-label]=\"extension.extension\"></mat-icon>\r\n <span>{{ extension.extension }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["[mat-dialog-content]{position:relative;padding:20px 28px 28px!important}[mat-dialog-content] header{margin-bottom:1.5em}[mat-dialog-content] header h1{display:flex;align-items:center;font-size:20px;font-weight:500;margin:0 0 .5em}[mat-dialog-content] header p{margin:0}[mat-dialog-content] ul{list-style-type:none;margin:0;padding:0}[mat-dialog-content] ul li+li{margin-top:.5em}[mat-dialog-content] .mdc-dialog__title{padding:0}[mat-dialog-content] .headline{display:flex;justify-content:space-between}[mat-dialog-content] .category-title{border-bottom:1px solid var(--base-70);font-size:.875em;font-weight:500;text-align:center;padding-bottom:.5em;line-height:1.25em;white-space:nowrap}[mat-dialog-content] .extension-column{font-size:.875em;line-height:1.25em}[mat-dialog-content] .extension-column+.extension-column{margin-left:1em}[mat-dialog-content] :not(.small-screen) .category+.category{margin-left:3em}[mat-dialog-content] mat-icon{width:20px;height:20px}[mat-dialog-content] .description{font-size:.875em}\n"] }]
131
131
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
132
132
  type: Inject,
133
133
  args: [MAT_DIALOG_DATA]
@@ -324,6 +324,7 @@ export const i18n_en = {
324
324
  "EDIT": "Edit",
325
325
  "CREATE": "New glossary",
326
326
  "DESCRIPTION_EMPTY": "Create your first glossary for {{srcLang}}-{{trgLang}}",
327
+ "DESCRIPTION_EMPTY_ADVICE": "For best results include techinal terms, brand names, acronyms and surnames.",
327
328
  "LAST_UPDATED": "Last updated: {{date}}",
328
329
  "DEFAULT_COLLECTION_NAME": "My term collection",
329
330
  "SYNC": "Sync",
@@ -443,4 +444,4 @@ export const i18n_en = {
443
444
  "PAUSE": "Pause"
444
445
  }
445
446
  };
446
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7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Q2xCLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsTUFBTSxFQUFFLFFBQVE7UUFDaEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsUUFBUSxFQUFFLG9EQUFvRDtRQUM5RCxPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsb0JBQW9CLEVBQUUsa0JBQWtCO1FBQ3hDLHFCQUFxQixFQUFFLCtCQUErQjtRQUN0RCxlQUFlLEVBQUUsZUFBZTtRQUNoQyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLGVBQWUsRUFBRSxlQUFlO1FBQ2hDLGNBQWMsRUFBRSxtQkFBbUI7UUFDbkMsd0JBQXdCLEVBQUUsd0JBQXdCO1FBQ2xELHdCQUF3QixFQUFFLG1DQUFtQztLQUM5RDtJQUNELHFDQUFxQyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxzQ0FBc0M7UUFDL0MsYUFBYSxFQUFFLGdCQUFnQjtRQUMvQixzQkFBc0IsRUFBRSxxQkFBcUI7UUFDN0MseUJBQXlCLEVBQUUscUJBQXFCO0tBQ2pEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsTUFBTSxFQUFFLG9DQUFvQztRQUM1QyxjQUFjLEVBQUUsd0hBQXdIO0tBQ3pJO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsY0FBYyxFQUFFLGNBQWM7S0FDL0I7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsT0FBTztLQUNqQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaTE4bl9lbiA9IHtcclxuICBcIlRFUk1fUE9SVEFMX05BTUVcIjogXCJUaWxkZSB0ZXJtXCIsXHJcbiAgXCJBUFBfTkFNRVwiOiBcIlRpbGRlIE1UXCIsXHJcbiAgXCJUTERfVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkVTVF9OTVRcIjogXCJQcm91ZCB3aW5uZXIgb2YgdGhlIGJlc3QgbWFjaGluZSB0cmFuc2xhdGlvbiB0ZWNobm9sb2d5IGF0IFdNVCBDb21wZXRpdGlvbiBmb3IgdGhyZWUgeWVhcnMgaW4gYSByb3cuXCIsXHJcbiAgICBcIkJFU1RfTk1UX01PUkVcIjogXCJMZWFybiBtb3JlXCIsXHJcbiAgICBcIkNBTkNFTF9UUkFOU0xBVElPTlwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJESUNUSU9OQVJZX0VYQU1QTEVTXCI6IFwiZXhhbXBsZXNcIixcclxuICAgIFwiRE9XTkxPQURfVFJBTlNMQVRFRFwiOiBcIkRvd25sb2FkXCIsXHJcbiAgICBcIkRPTUFJTlNfQVJJQV9MQUJFTFwiOiBcIkRvbWFpbnNcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VcIjogXCJEb3dubG9hZCBjb252ZXJ0ZWQgc291cmNlIFBERlwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9IRUxQXCI6IFwiUERGIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VcIjogXCJEb3dubG9hZCBjb252ZXJ0ZWQgc291cmNlIGltYWdlXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0lNQUdFX0hFTFBcIjogXCJJbWFnZSBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uIFBsZWFzZSBjaGVjayB0aGUgY29udmVydGVkIGZpbGUgYW5kIGZpeCB0aGUgZXJyb3JzIGJlZm9yZSByZS11cGxvYWRpbmcgdGhlIGZpbGUgZm9yIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0lOSVRJQUxJWklOR1wiOiBcIkluaXRpYWxpemluZyB0cmFuc2xhdGlvbiBwcm9jZXNzLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VYVFJBQ1RJTkdcIjogXCJFeHRyYWN0aW5nIHRyYW5zbGF0YWJsZSBjb250ZW50Li4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1RSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfU0FWSU5HXCI6IFwiU2F2aW5nIHRyYW5zbGF0aW9uLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0NPTVBMRVRFRFwiOiBcIlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19FUlJPUlwiOiBcIlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19RVUVVSU5HXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiRklMRV9UQVJHRVRfUFJFVklFV19NRVNTQUdFXCI6IFwiVGhpcyBpcyBhIHByZXZpZXcgb2YgdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQsIHBsZWFzZSBkb3dubG9hZCB0byByZWNlaXZlIGEgY29tcGxldGUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIkZST01cIjogXCJGcm9tOlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiU2VlIGhvdyB0byBmaXggaXRcIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJQUkVQQVJJTkdfVFJBTlNMQVRJT05cIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZ1wiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNfTE9HR0VEX0lOXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LlwiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNcIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uIFJlcXVlc3QgeW91ciBhY2Nlc3MgPGEgY2xhc3M9XFxcImFjY2VudC1jb2xvclxcXCIgdGFyZ2V0PVxcXCJibGFua1xcXCIgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fVxcXCI+aGVyZTwvYT4uXCIsXHJcbiAgICBcIlNPVVJDRV9GT1JNQVRTXCI6IFwiU2VjdXJlIHB1YmxpYyB0cmFuc2xhdGlvbiBzZXJ2aWNlIHN1cHBvcnRzIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzOiB7e2Zvcm1hdHN9fTtcIixcclxuICAgIFwiU09VUkNFX1dPUkRfTElNSVRcIjogXCIgdHJhbnNsYXRpb24gYW1vdW50IGlzIGxpbWl0ZWQgdXAgdG8ge3tsaW1pdH19IHdvcmRzLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUFwiOiBcIlR5cGUgdGV4dCBvciBpbnNlcnQgbGluayB0byB0cmFuc2xhdGUuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQX09OTFlfVEVYVFwiOiBcIlR5cGUgdGV4dCB0byB0cmFuc2xhdGUuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQX1NFTlNJVElWRV9JTkZPXCI6IFwiRG8gbm90IHVzZSB7e2FwcE5hbWV9fSB0byB0cmFuc2xhdGUgY29uZmlkZW50aWFsIG9yIGNsYXNzaWZpZWQgaW5mb3JtYXRpb24gb3IgdGV4dHMgdGhhdCBjb250YWluIHNwZWNpYWwgY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBkYXRhLCBzdWNoIGFzIG1lZGljYWwgZGF0YVwiLFxyXG4gICAgXCJUQVJHRVRfREVTQ1JJUFRJT05cIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGFsbG93cyB0byB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIGEgc291cmNlIHRleHQsIGJ1dCBjYW5ub3Qgc3Vic3RpdHV0ZSBhIGh1bWFuIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJUT1wiOiBcIlRvOlwiLFxyXG4gICAgXCJURVhUX0NPUElFRFwiOiBcIlRyYW5zbGF0aW9uIGNvcGllZFwiLFxyXG4gICAgXCJTVUdHRVNUX0JVVFRPTlwiOiBcIlN1Z2dlc3QgdHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9PUklHSU5BTF9MQUJFTFwiOiBcIk9yaWdpbmFsIHNlbnRlbmNlXCIsXHJcbiAgICBcIlNVR0dFU1RfU1VCTUlUX0JVVFRPTlwiOiBcIkNvbnRyaWJ1dGVcIixcclxuICAgIFwiU1VHR0VTVF9UUkFOU0xBVElPTl9MQUJFTFwiOiBcIlRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNVR0dFU1RfVVNBR0VfSU5GT1wiOiBcIllvdXIgYW5vbnltaXplZCB0cmFuc2xhdGlvbiBzdWdnZXN0aW9uIHdpbGwgYmUgdXNlZCB0byBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIG1hY2hpbmUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPT0xUSVBfQUNUSU9OXCI6IFwiVHJhbnNsYXRlXCIsXHJcbiAgICBcIlZFTkRPUlNfQVJJQV9MQUJFTFwiOiBcIlByb3ZpZGVyc1wiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURKRUNUSVZFXCI6IFwiYWRqZWN0aXZlXCIsXHJcbiAgICBcIldPUkRfVFlQRV9OT1VOXCI6IFwibm91blwiLFxyXG4gICAgXCJXT1JEX1RZUEVfVkVSQlwiOiBcInZlcmJcIixcclxuICAgIFwiV09SRF9UWVBFX0FEVkVSQlwiOiBcImFkdmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQ09OSlVOQ1RJT05cIjogXCJjb25qdW5jdGlvblwiLFxyXG4gICAgXCJXT1JEX1RZUEVfSU5URVJKRUNUSU9OXCI6IFwiaW50ZXJqZWN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9QUk9OT1VOXCI6IFwicHJvbm91blwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR1wiOiBcIk9ubHkgdGhlIGZpcnN0IHt7d29yZENvdW50fX0gd29yZHMgd2lsbCBiZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBmaWxlcy4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRF9USVRMRVwiOiBcIk5vIHRyYW5zbGF0aW9uIGVuZ2luZXMgd2VyZSBsb2FkZWRcIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURcIjogXCJGYWlsZWQgdG8gbG9hZCB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVzLlwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRF9TVVBQT1JUXCI6IFwiIFBsZWFzZSByZWxvYWQgdGhlIHBhZ2Ugb3IgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3QgcGFnZSB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR19TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgUERGIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRV9UT09MVElQXCI6IFwiQ2xlYXIgdGV4dFwiXHJcbiAgfSxcclxuICBcIk1VTFRJUExFX0ZJTEVTXCI6IHtcclxuICAgIFwiQVBQRU5EXCI6IFwiQWRkIGZpbGVzXCIsXHJcbiAgICBcIkNMRUFSX0FMTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJET1dOTE9BRFwiOiBcIkRvd25sb2FkXCIsXHJcbiAgICBcIlNUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmdcIixcclxuICAgIFwiU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvclwiLFxyXG4gICAgXCJTVEFUVVNTX1RSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcge3twZXJjZW50fX0lXCIsXHJcbiAgICBcIlNUQVRVU1NfU0FWSU5HXCI6IFwiU2F2aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfQ09NUExFVEVEXCI6IFwiQ29tcGxldGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfRVJST1JcIjogXCJFcnJvclwiLFxyXG4gICAgXCJTVEFUVVNTX1FVRVVJTkdcIjogXCJRdWV1aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfTk9UX1NUQVJURURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiVElUTEVfRklMRV9OQU1FXCI6IFwiRmlsZVwiLFxyXG4gICAgXCJUSVRMRV9TVEFUVVNTXCI6IFwiU3RhdHVzXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX1NUQVRVU1NfTEFCRUxcIjogXCJTdGF0dXNcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJcIjogXCJQREYgZG9jdW1lbnRzIG1heSBoYXZlIGZvcm1hdHRpbmcgb3IgdHJhbnNsYXRpb24gZXJyb3JzLlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBwZGYgY29udmVyc2lvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUlwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJTQ1JFRU5fUkVBREVSX0FOTk9VTkNFTUVOVFwiOiBcInt7dHJhbnNsYXRlZH19IG91dCBvZiB7e3RvdGFsfX0gZmlsZXMgYXJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIlJFTU9WRV9GSUxFX1RPT0xUSVBcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiRVJST1JTXCI6IHtcclxuICAgIFwiRVJST1JfREVGQVVMVF9USVRMRVwiOiBcIlVuZXhwZWN0ZWQgZXJyb3JcIixcclxuICAgIFwiRVJST1JfREVGQVVMVFwiOiBcIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVSUk9SX0RFRkFVTFRfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIXCI6IFwiT25seSB7e21heENoYXJMZW5ndGh9fS97e3RvdGFsU3ltYm9sc319IGNoYXJhY3RlcnMgd2lsbCBiZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIGZvciB1bmxpbWl0ZWQgdGV4dCB0cmFuc2xhdGlvbi4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IHt7bGltaXR9fSBmaWxlcyBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLlwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IDEgZmlsZSBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byBpbmNyZWFzZSBsaW1pdC4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURfVElUTEVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWRcIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEXCI6IFwiRmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFcIjogXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHVzZSBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1NVUFBPUlRcIjogXCIgUGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9GSUxFX1RZUEVcIjogXCJVbmtub3duIGZpbGUgdHlwZS5cIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFX1RJVExFXCI6IFwiVW5hYmxlIHRvIHJlYWQgZmlsZVwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVcIjogXCJUaGUgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyBjb3JydXB0ZWQgYW5kIGNvdWxkbid0IGJlIHRyYW5zbGF0ZWQuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OXCI6IFwiRXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJhbnNsYXRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkLCBiZWNhdXNlIOKAmHRyYWNrIGNoYW5nZXPigJkgaXMgdHVybmVkIG9uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUl9USVRMRVwiOiBcIlVua25vd24gZXJyb3JcIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SXCI6IFwiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZC5cIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURcIjogXCJEb2N1bWVudCB0cmFuc2xhdGlvbiB3YXMgZGVuaWVkLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9USVRMRVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZ2xvc3NhcnkuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUX1RJVExFXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSB0ZXJtIGNvbGxlY3Rpb24gd2l0aCBJRDoge3t0ZXJtSWR9fSB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfMTFcIjogXCJEYWlseSB0cmFuc2xhdGlvbiBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLlwiLFxyXG4gICAgXCJFXzExX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIGRhaWx5IGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzEyX1RJVExFXCI6IFwiVGV4dCBzaXplIGxpbWl0XCIsXHJcbiAgICBcIkVfMTJcIjogXCJUZXh0IHNpemUgbGltaXQgcmVhY2hlZC4gU2VuZCBsZXNzIHRleHQgaW4gdGhlIHJlcXVlc3QuXCIsXHJcbiAgICBcIkVfMTJfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgdGV4dCBzaXplIGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIxX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgc3RhcnRpbmdcIixcclxuICAgIFwiRV8yMVwiOiBcIllvdSB3aWxsIGJlIGFibGUgdG8gdHJhbnNsYXRlIGluIGEgZmV3IG1vbWVudHMuXCIsXHJcbiAgICBcIkVfMjJfVElUTEVcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmRcIixcclxuICAgIFwiRV8yMlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIG5vdCBmb3VuZC5cIixcclxuICAgIFwiRV8yMl9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjNcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBpcyBub3Qgc3RhcnRlZC5cIixcclxuICAgIFwiRV8yM19TVVBQT1JUXCI6IFwiIENvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV80MVwiOiBcIlVua25vd24gdGVybSBjb3JwdXMgSUQgcHJvdmlkZWQuIFRlcm0gY29ycHVzIG11c3QgYmUgbGlua2VkIHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZVwiLFxyXG4gICAgXCJFXzUwNFwiOiBcIlRyYW5zbGF0aW9uIGhhcyB0aW1lZCBvdXQuIFRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiRV81MDRfVElUTEVcIjogXCJUcmFuc2xhdGlvbiB0aW1lb3V0XCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVJcIjogXCJBcmFiaWNcIixcclxuICAgIFwiTFZcIjogXCJMYXR2aWFuXCIsXHJcbiAgICBcIkVUXCI6IFwiRXN0b25pYW5cIixcclxuICAgIFwiREFcIjogXCJEYW5pc2hcIixcclxuICAgIFwiRklcIjogXCJGaW5uaXNoXCIsXHJcbiAgICBcIklTXCI6IFwiSWNlbGFuZGljXCIsXHJcbiAgICBcIkxUXCI6IFwiTGl0aHVhbmlhblwiLFxyXG4gICAgXCJOQlwiOiBcIk5vcndlZ2lhblwiLFxyXG4gICAgXCJTVlwiOiBcIlN3ZWRpc2hcIixcclxuICAgIFwiQkVcIjogXCJCZWxvcnVzc2lhblwiLFxyXG4gICAgXCJCR1wiOiBcIkJ1bGdhcmlhblwiLFxyXG4gICAgXCJDU1wiOiBcIkN6ZWNoXCIsXHJcbiAgICBcIkhVXCI6IFwiSHVuZ2FyaWFuXCIsXHJcbiAgICBcIlJVXCI6IFwiUnVzc2lhblwiLFxyXG4gICAgXCJNT1wiOiBcIk1vbGRhdmlhblwiLFxyXG4gICAgXCJQTFwiOiBcIlBvbGlzaFwiLFxyXG4gICAgXCJTS1wiOiBcIlNsb3Zha1wiLFxyXG4gICAgXCJVS1wiOiBcIlVrcmFpbmlhblwiLFxyXG4gICAgXCJOTFwiOiBcIkR1dGNoXCIsXHJcbiAgICBcIkVOXCI6IFwiRW5nbGlzaFwiLFxyXG4gICAgXCJGUlwiOiBcIkZyZW5jaFwiLFxyXG4gICAgXCJERVwiOiBcIkdlcm1hblwiLFxyXG4gICAgXCJHQVwiOiBcIklyaXNoXCIsXHJcbiAgICBcIkVMXCI6IFwiR3JlZWtcIixcclxuICAgIFwiSVRcIjogXCJJdGFsaWFuXCIsXHJcbiAgICBcIk1UXCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgXCJQVFwiOiBcIlBvcnR1Z3Vlc2VcIixcclxuICAgIFwiU1JcIjogXCJTZXJiaWFuXCIsXHJcbiAgICBcIlNMXCI6IFwiU2xvdmVuaWFuXCIsXHJcbiAgICBcIkVTXCI6IFwiU3BhbmlzaFwiLFxyXG4gICAgXCJaSFwiOiBcIkNoaW5lc2VcIixcclxuICAgIFwiSkFcIjogXCJKYXBhbmVzZVwiLFxyXG4gICAgXCJLT1wiOiBcIktvcmVhblwiLFxyXG4gICAgXCJUUlwiOiBcIlR1cmtpc2hcIixcclxuICAgIFwiSFJcIjogXCJDcm9hdGlhblwiLFxyXG4gICAgXCJST1wiOiBcIlJvbWFuaWFuXCIsXHJcbiAgICBcIlVaXCI6IFwiVXpiZWtcIixcclxuICAgIFwiSURcIjogXCJJbmRvbmVzaWFuXCJcclxuICB9LFxyXG4gIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgXCJDTE9TRV9CVVRUT05cIjogXCJDbGVhclwiLFxyXG4gICAgXCJDTEVBUl9OT1RJRklDQVRJT05cIjogXCJDbG9zZSBhbGVydFwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VcIjogXCJDbGVhciBlbnRlcmVkIHRleHRcIixcclxuICAgIFwiQ0xPU0VfRElBTE9HXCI6IFwiQ2xvc2UgZGlhbG9nXCIsXHJcbiAgICBcIkNMRUFSX0ZJTEVTXCI6IFwiQ2xlYXIgdXBsb2FkZWQgZmlsZXNcIixcclxuICAgIFwiU0hPV19FWFRFTlNJT05TXCI6IFwiU2hvdyBvdGhlciBkb3dubG9hZCBvcHRpb25zXCIsXHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJPUEVOX0lOX05FV1wiOiBcIk9wZW4gaW4gbmV3IHRhYlwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIk9USEVSX0xBTkdVQUdFU19UUklHR0VSXCI6IFwiU2hvdyBvdGhlciBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJUT09MVElQU1wiOiB7XHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiUERGX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiUERGIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGEgLnBkZiBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIEJvdGggc2Nhbm5lZCBhbmQgbmF0aXZlIC5wZGZzIGFyZSBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCwgLnRteCBvciAucGRmIGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLiBGb3JtYXR0aW5nIGluIHRoZSB0cmFuc2xhdGVkIC5kb2N4IGFuZCAucGRmIGZpbGVzIG1heSBzbGlnaHRseSBkaWZmZXIuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiQXMgY29udmVyc2lvbiB0YWtlcyB0aW1lLCB0byBzcGVlZCB0aGluZ3MgdXAgc3BsaXQgeW91ciAucGRmcyBhbmQgZGVsZXRlIHRoZSBwYWdlcyB3aXRoIG5vIHRyYW5zbGF0YWJsZSBpbmZvcm1hdGlvbi4gRmFjdG9ycyBsaWtlIHRoZSBudW1iZXIgb2YgcGFnZXMsIHF1YWxpdHkgYW5kIHRleHQgZGVuc2l0eSBhZmZlY3QgdGhlIHByb2Nlc3NpbmcgdGltZS5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBQREYgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIlBERiBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgZG9jdW1lbnQgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBkb2N1bWVudCAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIC5wZGZzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJMSV8yXzlcIjogXCJGb3JtYXR0aW5nIG9mIHRoZSB0YWJsZSBvZiBjb250ZW50cyBvciBzaW1pbGFyIGxpc3RzIGNvbGxhcHNlZCBvciByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuIFNwZWNpZmljIFdvcmQgZm9ybWF0dGluZyBsaWtlIGhlYWRpbmdzLCB0YWJsZXMgb2YgY29udGVudCwgaGVhZGVycyBhbmQgZm9vdGVycywgbGFiZWxzLCBmb3JtcyBldGMuIHdpbGwgYmUgc3R5bGVkIHRvIGxvb2sgbGlrZSB0aGUgb3JpZ2luYWwsIGJ1dCB3aWxsIG5vdCBtYXRjaCB0aGUgb3JpZ2luYWwgY29tcGxldGVseSAoZS5nLiB0aXRsZXMgd2lsbCBiZSBib2xkIGFuZCBpbiBsYXJnZXIgZm9udCwgYnV0IHdpbGwgbm90IGJlIHNldCB0byB0aGUgaGVhZGluZyBzdHlsZSkuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIklNQUdFX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiSW1hZ2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYW4gaW1hZ2UgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggb3IgLnRteCBmb3JtYXRzIGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIjxiPlN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzOjwvYj4gLmpwZywgLmpwZWcsIC5wbmcgYW5kIC5ibXAuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgaW1hZ2UgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIkltYWdlIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBpbWFnZSBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGltYWdlIChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgaW1hZ2VzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIldFQlRSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJBQ0tcIjogXCJCYWNrIHRvIFRyYW5zbGF0b3JcIixcclxuICAgIFwiQUREUkVTU1wiOiBcIkFkZHJlc3NcIixcclxuICAgIFwiTE9BRF9QQUdFXCI6IFwiTG9hZCBwYWdlXCIsXHJcbiAgICBcIlJFU1RPUkVcIjogXCJSZXN0b3JlXCIsXHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiXHJcbiAgfSxcclxuICBcIkRBVEVfQUdPXCI6IHtcclxuICAgIFwiWUVBUlwiOiBcInt7dmFsdWV9fSB5ZWFyIGFnb1wiLFxyXG4gICAgXCJZRUFSU1wiOiBcInt7dmFsdWV9fSB5ZWFycyBhZ29cIixcclxuICAgIFwiTU9OVEhcIjogXCJ7e3ZhbHVlfX0gbW9udGggYWdvXCIsXHJcbiAgICBcIk1PTlRIU1wiOiBcInt7dmFsdWV9fSBtb250aHMgYWdvXCIsXHJcbiAgICBcIldFRUtcIjogXCJ7e3ZhbHVlfX0gd2VlayBhZ29cIixcclxuICAgIFwiV0VFS1NcIjogXCJ7e3ZhbHVlfX0gd2Vla3MgYWdvXCIsXHJcbiAgICBcIkRBWVwiOiBcInt7dmFsdWV9fSBkYXkgYWdvXCIsXHJcbiAgICBcIkRBWVNcIjogXCJ7e3ZhbHVlfX0gZGF5cyBhZ29cIixcclxuICAgIFwiSE9VUlwiOiBcInt7dmFsdWV9fSBob3VyIGFnb1wiLFxyXG4gICAgXCJIT1VSU1wiOiBcInt7dmFsdWV9fSBob3VycyBhZ29cIixcclxuICAgIFwiTUlOVVRFXCI6IFwie3t2YWx1ZX19IG1pbnV0ZSBhZ29cIixcclxuICAgIFwiTUlOVVRFU1wiOiBcInt7dmFsdWV9fSBtaW51dGVzIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRTXCI6IFwie3t2YWx1ZX19IHNlY29uZHMgYWdvXCIsXHJcbiAgICBcIkpVU1RfTk9XXCI6IFwiSnVzdCBub3dcIlxyXG4gIH0sXHJcbiAgXCJURVJNX0NPTExFQ1RJT05TXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICBcIkRFRkFVTFRcIjogXCJEZWZhdWx0XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQWNoaWV2ZSBwcmVjaXNlIGFuZCByZWxpYWJsZSB0cmFuc2xhdGlvbnMgYnkgY2hvb3NpbmcgdGhlIG1vc3Qgc3VpdGFibGUgZ2xvc3NhcnkgZnJvbSB0aGUgbGlzdC5cIixcclxuICAgIFwiR0xPU1NBUllcIjogXCJHbG9zc2FyeTogXCIsXHJcbiAgICBcIlNFTEVDVEVEX05PTkVcIjogXCJOb25lXCIsXHJcbiAgICBcIkVESVRcIjogXCJFZGl0XCIsXHJcbiAgICBcIkNSRUFURVwiOiBcIk5ldyBnbG9zc2FyeVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWVwiOiBcIkNyZWF0ZSB5b3VyIGZpcnN0IGdsb3NzYXJ5IGZvciB7e3NyY0xhbmd9fS17e3RyZ0xhbmd9fVwiLFxyXG4gICAgXCJMQVNUX1VQREFURURcIjogXCJMYXN0IHVwZGF0ZWQ6IHt7ZGF0ZX19XCIsXHJcbiAgICBcIkRFRkFVTFRfQ09MTEVDVElPTl9OQU1FXCI6IFwiTXkgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICBcIlNZTkNcIjogXCJTeW5jXCIsXHJcbiAgICBcIlNZTkNfRVJST1JcIjogXCJSZXRyeVwiLFxyXG4gICAgXCJURVJNU19JTl9VU0VcIjogXCJUZXJtcyBpbiB1c2U6IHt7dGVybUNvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9HTE9TU0FSWV9NQU5BR0VNRU5UXCI6IFwiRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIlRlcm0gY29sbGVjdGlvbiBuYW1lXCIsXHJcbiAgICAgIFwiQ1JFQVRFXCI6IFwiQ3JlYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMVwiOiBcIkFmdGVyIG5hbWluZyB5b3VyIHRlcm0gY29sbGVjdGlvbiwgeW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB7e3Rlcm1Qb3J0YWxOYW1lfX0gdG8gYWRkIG5ldyB0ZXJtcy4gQWZ0ZXIgY29tcGxldGlvbiwgcmV0dXJuIHRvIHt7YXBwTmFtZX19IHRvIHVzZSB0aGUgbmV3IHRlcm1zIGluIHlvdXIgdHJhbnNsYXRpb24gcHJvamVjdHMuXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMlwiOiBcIjxpPipBSSBpcyBub3QgcGVyZmVjdCBhbmQgY2FuIG1ha2Ugb2NjYXNpb25hbCBtaXN0YWtlcy4gWW91ciB1bmlxdWUgdGVybXMgd2lsbCBiZSB1c2VkIGNvcnJlY3RseSB3aXRoIDk1JSBhY2N1cmFjeS48L2k+XCIsXHJcbiAgICAgIFwiVElUTEVcIjogXCJDcmVhdGUgYSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiTm8gZ2xvc3NhcmllcyBjcmVhdGVkXCIsXHJcbiAgICAgIFwiSElOVFwiOiBcIllvdSBtdXN0IGJlIGEgVGVybWlub2xvZ3kgTWFuYWdlciB0byBjcmVhdGUgZ2xvc3Nhcmllc1wiXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIkVSUk9SSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGVycm9yXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIlNjYW5uZWQgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTXCI6IFwiICgge3t2aXNpYmxlRXh0ZW5zaW9uc319LiBNYXgge3ttYXhTaXplTUJ9fSZuYnNwOylcIixcclxuICAgIFwiQ0xFQVJcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiU1lTVEVNX1BJQ0tFUlwiOiB7XHJcbiAgICBcIlNPVVJDRVwiOiBcIlRyYW5zbGF0ZSBmcm9tXCIsXHJcbiAgICBcIlRBUkdFVFwiOiBcIlRyYW5zbGF0ZSB0b1wiLFxyXG4gICAgXCJTRUFSQ0hfUExBQ0VIT0xERVJcIjogXCJTZWFyY2ggbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIlJFQ0VOVF9TWVNURU1fVElUTEVcIjogXCJSZWNlbnQgdHJhbnNsYXRpb24gZGlyZWN0aW9uc1wiLFxyXG4gICAgXCJTRUxFQ1RfRE9NQUlOXCI6IFwiU2VsZWN0IGRvbWFpblwiLFxyXG4gICAgXCJGSUxURVJfTk9fUkVTVUxUU1wiOiBcIk5vIHJlc3VsdHNcIixcclxuICAgIFwiQUxMX0xBTkdVQUdFU1wiOiBcIkFsbCBsYW5ndWFnZXNcIixcclxuICAgIFwiQ0xFQVJfU0VBUkNIXCI6IFwiQ2xlYXIgc2VhcmNoIHRleHRcIixcclxuICAgIFwiT1BFTl9TT1VSQ0VfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgIFwiT1BFTl9UQVJHRVRfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCB0YXJnZXQgbGFuZ3VhZ2UgYW5kIGRvbWFpblwiXHJcbiAgfSxcclxuICBcIlRFWFRfVFJBTlNMQVRJT05fUFJPR1JFU1NfSU5ESUNBVE9SXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3Byb3ZpZGVyfX1cIixcclxuICAgIFwiVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fVE9PTFRJUFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUxcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCJcclxuICB9LFxyXG4gIFwiVkVORE9SX01FU1NBR0VcIjoge1xyXG4gICAgXCJURVhUXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3t2ZW5kb3J9fVwiLFxyXG4gICAgXCJJQ09OX1RPT0xUSVBcIjogXCJTeXN0ZW1zIG9mZmVyZWQgYnkge3t2ZW5kb3J9fSBhcmUgdXNlZCBieSBhIGh1Z2UgbnVtYmVyIG9mIHVzZXJzLiBUaGV5IG1heSBiZSBzbG93IGF0IHRpbWUgZHVlIHRvIHRoZSBoZWF2eSB3b3JrIGxvYWQuXCJcclxuICB9LFxyXG4gIFwiVkVORE9SU1wiOiB7XHJcbiAgICBcIkVUUkFOU0xBVElPTlwiOiBcImVUcmFuc2xhdGlvblwiXHJcbiAgfSxcclxuICBcIlRFWFRfVE9fU1BFRUNIXCI6IHtcclxuICAgIFwiUExBWVwiOiBcIkxpc3RlblwiLFxyXG4gICAgXCJQQVVTRVwiOiBcIlBhdXNlXCJcclxuICB9XHJcbn1cclxuIl19
447
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7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QUU7UUFDYixRQUFRLEVBQUUsUUFBUTtRQUNsQixlQUFlLEVBQUUsbUJBQW1CO1FBQ3BDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxvREFBb0Q7UUFDOUQsT0FBTyxFQUFFLFlBQVk7S0FDdEI7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLG9CQUFvQixFQUFFLGtCQUFrQjtRQUN4QyxxQkFBcUIsRUFBRSwrQkFBK0I7UUFDdEQsZUFBZSxFQUFFLGVBQWU7UUFDaEMsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxlQUFlLEVBQUUsZUFBZTtRQUNoQyxjQUFjLEVBQUUsbUJBQW1CO1FBQ25DLHdCQUF3QixFQUFFLHdCQUF3QjtRQUNsRCx3QkFBd0IsRUFBRSxtQ0FBbUM7S0FDOUQ7SUFDRCxxQ0FBcUMsRUFBRTtRQUNyQyxPQUFPLEVBQUUsc0NBQXNDO1FBQy9DLGFBQWEsRUFBRSxnQkFBZ0I7UUFDL0Isc0JBQXNCLEVBQUUscUJBQXFCO1FBQzdDLHlCQUF5QixFQUFFLHFCQUFxQjtLQUNqRDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxvQ0FBb0M7UUFDNUMsY0FBYyxFQUFFLHdIQUF3SDtLQUN6STtJQUNELFNBQVMsRUFBRTtRQUNULGNBQWMsRUFBRSxjQUFjO0tBQy9CO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsT0FBTyxFQUFFLE9BQU87S0FDakI7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGkxOG5fZW4gPSB7XHJcbiAgXCJURVJNX1BPUlRBTF9OQU1FXCI6IFwiVGlsZGUgdGVybVwiLFxyXG4gIFwiQVBQX05BTUVcIjogXCJUaWxkZSBNVFwiLFxyXG4gIFwiVExEX1RSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJFU1RfTk1UXCI6IFwiUHJvdWQgd2lubmVyIG9mIHRoZSBiZXN0IG1hY2hpbmUgdHJhbnNsYXRpb24gdGVjaG5vbG9neSBhdCBXTVQgQ29tcGV0aXRpb24gZm9yIHRocmVlIHllYXJzIGluIGEgcm93LlwiLFxyXG4gICAgXCJCRVNUX05NVF9NT1JFXCI6IFwiTGVhcm4gbW9yZVwiLFxyXG4gICAgXCJDQU5DRUxfVFJBTlNMQVRJT05cIjogXCJDYW5jZWxcIixcclxuICAgIFwiRElDVElPTkFSWV9FWEFNUExFU1wiOiBcImV4YW1wbGVzXCIsXHJcbiAgICBcIkRPV05MT0FEX1RSQU5TTEFURURcIjogXCJEb3dubG9hZFwiLFxyXG4gICAgXCJET01BSU5TX0FSSUFfTEFCRUxcIjogXCJEb21haW5zXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBQREZcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSEVMUFwiOiBcIlBERiBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uIFBsZWFzZSBjaGVjayB0aGUgY29udmVydGVkIGZpbGUgYW5kIGZpeCB0aGUgZXJyb3JzIGJlZm9yZSByZS11cGxvYWRpbmcgdGhlIGZpbGUgZm9yIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0lNQUdFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBpbWFnZVwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRV9IRUxQXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmcgdHJhbnNsYXRpb24gcHJvY2Vzcy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZyB0cmFuc2xhdGFibGUgY29udGVudC4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvci4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19UUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1NBVklOR1wiOiBcIlNhdmluZyB0cmFuc2xhdGlvbi4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19DT01QTEVURURcIjogXCJcIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVJST1JcIjogXCJcIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfUVVFVUlOR1wiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIkZJTEVfVEFSR0VUX1BSRVZJRVdfTUVTU0FHRVwiOiBcIlRoaXMgaXMgYSBwcmV2aWV3IG9mIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50LCBwbGVhc2UgZG93bmxvYWQgdG8gcmVjZWl2ZSBhIGNvbXBsZXRlIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJGUk9NXCI6IFwiRnJvbTpcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJfTElOS1wiOiBcIlNlZSBob3cgdG8gZml4IGl0XCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgaW1hZ2UgY29udmVyc2lvbi5cIixcclxuICAgIFwiUFJFUEFSSU5HX1RSQU5TTEFUSU9OXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmdcIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTX0xPR0dFRF9JTlwiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS5cIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LiBSZXF1ZXN0IHlvdXIgYWNjZXNzIDxhIGNsYXNzPVxcXCJhY2NlbnQtY29sb3JcXFwiIHRhcmdldD1cXFwiYmxhbmtcXFwiIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX1cXFwiPmhlcmU8L2E+LlwiLFxyXG4gICAgXCJTT1VSQ0VfRk9STUFUU1wiOiBcIlNlY3VyZSBwdWJsaWMgdHJhbnNsYXRpb24gc2VydmljZSBzdXBwb3J0cyBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX07XCIsXHJcbiAgICBcIlNPVVJDRV9XT1JEX0xJTUlUXCI6IFwiIHRyYW5zbGF0aW9uIGFtb3VudCBpcyBsaW1pdGVkIHVwIHRvIHt7bGltaXR9fSB3b3Jkcy5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBcIjogXCJUeXBlIHRleHQgb3IgaW5zZXJ0IGxpbmsgdG8gdHJhbnNsYXRlLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUF9PTkxZX1RFWFRcIjogXCJUeXBlIHRleHQgdG8gdHJhbnNsYXRlLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUF9TRU5TSVRJVkVfSU5GT1wiOiBcIkRvIG5vdCB1c2Uge3thcHBOYW1lfX0gdG8gdHJhbnNsYXRlIGNvbmZpZGVudGlhbCBvciBjbGFzc2lmaWVkIGluZm9ybWF0aW9uIG9yIHRleHRzIHRoYXQgY29udGFpbiBzcGVjaWFsIGNhdGVnb3JpZXMgb2YgcGVyc29uYWwgZGF0YSwgc3VjaCBhcyBtZWRpY2FsIGRhdGFcIixcclxuICAgIFwiVEFSR0VUX0RFU0NSSVBUSU9OXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBhbGxvd3MgdG8gdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiBhIHNvdXJjZSB0ZXh0LCBidXQgY2Fubm90IHN1YnN0aXR1dGUgYSBodW1hbiB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9cIjogXCJUbzpcIixcclxuICAgIFwiVEVYVF9DT1BJRURcIjogXCJUcmFuc2xhdGlvbiBjb3BpZWRcIixcclxuICAgIFwiU1VHR0VTVF9CVVRUT05cIjogXCJTdWdnZXN0IHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNVR0dFU1RfT1JJR0lOQUxfTEFCRUxcIjogXCJPcmlnaW5hbCBzZW50ZW5jZVwiLFxyXG4gICAgXCJTVUdHRVNUX1NVQk1JVF9CVVRUT05cIjogXCJDb250cmlidXRlXCIsXHJcbiAgICBcIlNVR0dFU1RfVFJBTlNMQVRJT05fTEFCRUxcIjogXCJUcmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX1VTQUdFX0lORk9cIjogXCJZb3VyIGFub255bWl6ZWQgdHJhbnNsYXRpb24gc3VnZ2VzdGlvbiB3aWxsIGJlIHVzZWQgdG8gaW1wcm92ZSB0aGUgcXVhbGl0eSBvZiBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJUT09MVElQX0FDVElPTlwiOiBcIlRyYW5zbGF0ZVwiLFxyXG4gICAgXCJWRU5ET1JTX0FSSUFfTEFCRUxcIjogXCJQcm92aWRlcnNcIixcclxuICAgIFwiV09SRF9UWVBFX0FESkVDVElWRVwiOiBcImFkamVjdGl2ZVwiLFxyXG4gICAgXCJXT1JEX1RZUEVfTk9VTlwiOiBcIm5vdW5cIixcclxuICAgIFwiV09SRF9UWVBFX1ZFUkJcIjogXCJ2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BRFZFUkJcIjogXCJhZHZlcmJcIixcclxuICAgIFwiV09SRF9UWVBFX0NPTkpVTkNUSU9OXCI6IFwiY29uanVuY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX0lOVEVSSkVDVElPTlwiOiBcImludGVyamVjdGlvblwiLFxyXG4gICAgXCJXT1JEX1RZUEVfUFJPTk9VTlwiOiBcInByb25vdW5cIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCB7e3dvcmRDb3VudH19IHdvcmRzIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR19TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURfVElUTEVcIjogXCJObyB0cmFuc2xhdGlvbiBlbmdpbmVzIHdlcmUgbG9hZGVkXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEXCI6IFwiRmFpbGVkIHRvIGxvYWQgdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lcy5cIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURfU1VQUE9SVFwiOiBcIiBQbGVhc2UgcmVsb2FkIHRoZSBwYWdlIG9yIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR1wiOiBcIk9ubHkgdGhlIGZpcnN0IHBhZ2Ugd2lsbCBiZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIFBERiBmaWxlcy4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VfVE9PTFRJUFwiOiBcIkNsZWFyIHRleHRcIlxyXG4gIH0sXHJcbiAgXCJNVUxUSVBMRV9GSUxFU1wiOiB7XHJcbiAgICBcIkFQUEVORFwiOiBcIkFkZCBmaWxlc1wiLFxyXG4gICAgXCJDTEVBUl9BTExcIjogXCJDYW5jZWxcIixcclxuICAgIFwiRE9XTkxPQURcIjogXCJEb3dubG9hZFwiLFxyXG4gICAgXCJTVEFUVVNTX0lOSVRJQUxJWklOR1wiOiBcIkluaXRpYWxpemluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX0VYVFJBQ1RJTkdcIjogXCJFeHRyYWN0aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3JcIixcclxuICAgIFwiU1RBVFVTU19UUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nIHt7cGVyY2VudH19JVwiLFxyXG4gICAgXCJTVEFUVVNTX1NBVklOR1wiOiBcIlNhdmluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX0NPTVBMRVRFRFwiOiBcIkNvbXBsZXRlZFwiLFxyXG4gICAgXCJTVEFUVVNTX0VSUk9SXCI6IFwiRXJyb3JcIixcclxuICAgIFwiU1RBVFVTU19RVUVVSU5HXCI6IFwiUXVldWluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX05PVF9TVEFSVEVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiU1RBVFVTU19VUExPQURFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlRJVExFX0ZJTEVfTkFNRVwiOiBcIkZpbGVcIixcclxuICAgIFwiVElUTEVfU1RBVFVTU1wiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9TVEFUVVNTX0xBQkVMXCI6IFwiU3RhdHVzXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSXCI6IFwiUERGIGRvY3VtZW50cyBtYXkgaGF2ZSBmb3JtYXR0aW5nIG9yIHRyYW5zbGF0aW9uIGVycm9ycy5cIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgcGRmIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJcIjogXCJJbWFnZSBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uXCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgaW1hZ2UgY29udmVyc2lvbi5cIixcclxuICAgIFwiU0NSRUVOX1JFQURFUl9BTk5PVU5DRU1FTlRcIjogXCJ7e3RyYW5zbGF0ZWR9fSBvdXQgb2Yge3t0b3RhbH19IGZpbGVzIGFyZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJSRU1PVkVfRklMRV9UT09MVElQXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIkVSUk9SU1wiOiB7XHJcbiAgICBcIkVSUk9SX0RFRkFVTFRfVElUTEVcIjogXCJVbmV4cGVjdGVkIGVycm9yXCIsXHJcbiAgICBcIkVSUk9SX0RFRkFVTFRcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSFwiOiBcIk9ubHkge3ttYXhDaGFyTGVuZ3RofX0ve3t0b3RhbFN5bWJvbHN9fSBjaGFyYWN0ZXJzIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiBmb3IgdW5saW1pdGVkIHRleHQgdHJhbnNsYXRpb24uIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSB7e2xpbWl0fX0gZmlsZXMgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS5cIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSAxIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS4gWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gaW5jcmVhc2UgbGltaXQuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEX1RJVExFXCI6IFwiRmlsZSBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkXCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRFwiOiBcIkZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaGFzIGFscmVhZHkgYmVlbiBhZGRlZC5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxXCI6IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB1c2UgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX1VOS05PV05fRklMRV9UWVBFXCI6IFwiVW5rbm93biBmaWxlIHR5cGUuXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRV9USVRMRVwiOiBcIlVuYWJsZSB0byByZWFkIGZpbGVcIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFXCI6IFwiVGhlIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTlwiOiBcIkVycm9yIG9jY3VycmVkIHdoaWxlIHRyYW5zbGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZCwgYmVjYXVzZSDigJh0cmFjayBjaGFuZ2Vz4oCZIGlzIHR1cm5lZCBvblwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTXCI6IFwiQ2hhbmdlcyBtdXN0IGZpcnN0IGJlIGFjY2VwdGVkIG9yIOKAmHRyYWNrIGNoYW5nZXPigJkgdHVybmVkIG9mZiBiZWZvcmUgdHJhbnNsYXRpbmcgT2ZmaWNlIGZpbGVzLlwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JfVElUTEVcIjogXCJVbmtub3duIGVycm9yXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUlwiOiBcIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQuXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEXCI6IFwiRG9jdW1lbnQgdHJhbnNsYXRpb24gd2FzIGRlbmllZC5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfVElUTEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGdsb3NzYXJ5LiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVF9USVRMRVwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgdGVybSBjb2xsZWN0aW9uIHdpdGggSUQ6IHt7dGVybUlkfX0gdG8gdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFXzExXCI6IFwiRGFpbHkgdHJhbnNsYXRpb24gbGltaXQgaGFzIGJlZW4gcmVhY2hlZC5cIixcclxuICAgIFwiRV8xMV9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSBkYWlseSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8xMl9USVRMRVwiOiBcIlRleHQgc2l6ZSBsaW1pdFwiLFxyXG4gICAgXCJFXzEyXCI6IFwiVGV4dCBzaXplIGxpbWl0IHJlYWNoZWQuIFNlbmQgbGVzcyB0ZXh0IGluIHRoZSByZXF1ZXN0LlwiLFxyXG4gICAgXCJFXzEyX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIHRleHQgc2l6ZSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8yMV9USVRMRVwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIGlzIHN0YXJ0aW5nXCIsXHJcbiAgICBcIkVfMjFcIjogXCJZb3Ugd2lsbCBiZSBhYmxlIHRvIHRyYW5zbGF0ZSBpbiBhIGZldyBtb21lbnRzLlwiLFxyXG4gICAgXCJFXzIyX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIkVfMjJcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmQuXCIsXHJcbiAgICBcIkVfMjJfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIzXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgbm90IHN0YXJ0ZWQuXCIsXHJcbiAgICBcIkVfMjNfU1VQUE9SVFwiOiBcIiBDb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfNDFcIjogXCJVbmtub3duIHRlcm0gY29ycHVzIElEIHByb3ZpZGVkLiBUZXJtIGNvcnB1cyBtdXN0IGJlIGxpbmtlZCB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVcIixcclxuICAgIFwiRV81MDRcIjogXCJUcmFuc2xhdGlvbiBoYXMgdGltZWQgb3V0LiBUcnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcIkVfNTA0X1RJVExFXCI6IFwiVHJhbnNsYXRpb24gdGltZW91dFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWRcIixcclxuICAgIFwiVFJBTlNMQVRJT05fRkFJTEVEXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC5cIixcclxuICAgIFwiVFJBTlNMQVRJT05fRkFJTEVEX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkZJTEVfVFJBTlNMQVRJT05fU1VCU1RBVFVTXCI6IHtcclxuICAgICAgXCJCQURfRklMRV9FUlJPUl9USVRMRVwiOiBcIkZhaWxlZCB0byB0cmFuc2xhdGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJCQURfRklMRV9FUlJPUlwiOiBcIlRoZSBmaWxlIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUl9USVRMRVwiOiBcIkZhaWxlZCB0byBleHRyYWN0IGFueSB0ZXh0XCIsXHJcbiAgICAgIFwiTk9fVEVYVF9FWFRSQUNURURfRVJST1JcIjogXCJUaGUgZmlsZSBtYXkgYmUgZW1wdHkuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiVFJBQ0tfQ0hBTkdFU19FTkFCTEVEX0VSUk9SX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkLCBiZWNhdXNlIOKAmHRyYWNrIGNoYW5nZXPigJkgaXMgdHVybmVkIG9uXCIsXHJcbiAgICAgIFwiVFJBQ0tfQ0hBTkdFU19FTkFCTEVEX0VSUk9SXCI6IFwiQ2hhbmdlcyBtdXN0IGZpcnN0IGJlIGFjY2VwdGVkIG9yIOKAmHRyYWNrIGNoYW5nZXPigJkgdHVybmVkIG9mZiBiZWZvcmUgdHJhbnNsYXRpbmcgT2ZmaWNlIGZpbGVzLlwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBmaWxlIHR5cGVcIixcclxuICAgICAgXCJVTktOT1dOX0ZJTEVfVFlQRV9FUlJPUlwiOiBcIkZpbGUgdHlwZSBub3QgcmVjb2duaXplZC4gVGhlIGZpbGUgZXh0ZW5zaW9uIG1heSBiZSBpbmNvcnJlY3QsIG9yIHRoZSBmaWxlIG1heSBiZSBjb3JydXB0ZWQuXCJcclxuICAgIH0sXHJcbiAgICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWV9USVRMRVwiOiBcIlRoZSBmaWxlIGlzIGVtcHR5XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfRU1QVFlcIjogXCJUaGUgdXBsb2FkZWQgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyBlbXB0eS4gU2VsZWN0IGEgZmlsZSB3aXRoIGNvbnRlbnQuXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfTUFYX1NJWkVfVElUTEVcIjogXCJGaWxlIHNpemUgbGltaXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIHRvbyBiaWcuIE1heGltdW0gc2l6ZSB7e21heFNpemVNQn19TUJcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfVElUTEVcIjogXCJVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVFwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLiBUcmFuc2xhdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIHRoZXNlIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319LlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9SRUdJU1RFUl9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSXCI6IFwiWW91IG5lZWQgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBcXFwie3tmaWxlTmFtZX19XFxcIiBmaWxlLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICAgIFwiRV80MDRfVElUTEVcIjogXCJGaWxlIG5vdCBmb3VuZFwiLFxyXG4gICAgICBcIkVfNDA0XCI6IFwiVGhlIHJlcXVlc3RlZCBmaWxlIGRvZXNuJ3QgZXhpc3RcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVfVElUTEVcIjogXCJGYWlsZWQgdG8gZGVsZXRlIHRoZSBmaWxlXCIsXHJcbiAgICAgIFwiRV80MDRfUkVNT1ZFXCI6IFwiRmlsZSBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWRcIlxyXG4gICAgfSxcclxuICAgIFwiQVVESU9cIjoge1xyXG4gICAgICBcIk5PX1NQRUVDSF9USVRMRVwiOiBcIk5vIHNwZWVjaFwiLFxyXG4gICAgICBcIk5PX1NQRUVDSFwiOiBcIllvdXIgcmVjb3JkaW5nIHdhcyBzdG9wcGVkLiBXZSBjb3VsZG4ndCBoZWFyIHlvdS5cIixcclxuICAgICAgXCJNQVhfVElNRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFNwZWVjaCBpbnB1dCBpcyBsaW1pdGVkIHRvIHt7dGltZVN0cmluZ319LlwiLFxyXG4gICAgICBcIk1JQ19OT1RfQUxMT1dFRF9USVRMRVwiOiBcIk1pY3JvcGhvbmUgYWNjZXNzIGRlbmllZFwiLFxyXG4gICAgICBcIk1JQ19OT1RfQUxMT1dFRFwiOiBcIllvdSBoYXZlIGRlbmllZCBhY2Nlc3MgdG8gdGhlIG1pY3JvcGhvbmUuIENoYW5nZSBwZXJtaXNzaW9ucyBpbiBicm93c2VyJ3Mgc2V0dGluZ3MuXCIsXHJcbiAgICAgIFwiTUFYX1NJWkVfRVhDRUVERURfVElUTEVcIjogXCJTcGVlY2ggbGltaXRcIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRFwiOiBcIllvdXIgcmVjb3JkaW5nIHdhcyBzdG9wcGVkIGFuZCBzZW50IHRvIHByb2Nlc3NpbmcuIFNwZWVjaCBpbnB1dCBpcyBsaW1pdGVkIHRvICh7e21heFNpemVNYn19TUIpIHNpemUuXCIsXHJcbiAgICAgIFwiQ0FOVF9TVEFSVF9SRUNPUkRJTkdfVElUTEVcIjogXCJGYWlsZWQgdG8gc3RhcnQgcmVjb3JkaW5nXCIsXHJcbiAgICAgIFwiQ0FOVF9TVEFSVF9SRUNPUkRJTkdcIjogXCJVbmFibGUgdG8gc3RhcnQgcmVjb3JkaW5nLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfUkVDT0dOSVpFRF9UaXRsZVwiOiBcIk5vIHNwZWVjaCByZWNvZ25pemVkXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEXCI6IFwiTm8gc3BlZWNoIGNvdWxkIGJlIHJlY29nbml6ZWQuIENoZWNrIHlvdXIgbWljcm9waG9uZSBhbmQgdHJ5IGFnYWluLlwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcIlJBVElOR1wiOiB7fSxcclxuICBcIkxBTkdVQUdFU1wiOiB7XHJcbiAgICBcIkFSXCI6IFwiQXJhYmljXCIsXHJcbiAgICBcIkxWXCI6IFwiTGF0dmlhblwiLFxyXG4gICAgXCJFVFwiOiBcIkVzdG9uaWFuXCIsXHJcbiAgICBcIkRBXCI6IFwiRGFuaXNoXCIsXHJcbiAgICBcIkZJXCI6IFwiRmlubmlzaFwiLFxyXG4gICAgXCJJU1wiOiBcIkljZWxhbmRpY1wiLFxyXG4gICAgXCJMVFwiOiBcIkxpdGh1YW5pYW5cIixcclxuICAgIFwiTkJcIjogXCJOb3J3ZWdpYW5cIixcclxuICAgIFwiU1ZcIjogXCJTd2VkaXNoXCIsXHJcbiAgICBcIkJFXCI6IFwiQmVsb3J1c3NpYW5cIixcclxuICAgIFwiQkdcIjogXCJCdWxnYXJpYW5cIixcclxuICAgIFwiQ1NcIjogXCJDemVjaFwiLFxyXG4gICAgXCJIVVwiOiBcIkh1bmdhcmlhblwiLFxyXG4gICAgXCJSVVwiOiBcIlJ1c3NpYW5cIixcclxuICAgIFwiTU9cIjogXCJNb2xkYXZpYW5cIixcclxuICAgIFwiUExcIjogXCJQb2xpc2hcIixcclxuICAgIFwiU0tcIjogXCJTbG92YWtcIixcclxuICAgIFwiVUtcIjogXCJVa3JhaW5pYW5cIixcclxuICAgIFwiTkxcIjogXCJEdXRjaFwiLFxyXG4gICAgXCJFTlwiOiBcIkVuZ2xpc2hcIixcclxuICAgIFwiRlJcIjogXCJGcmVuY2hcIixcclxuICAgIFwiREVcIjogXCJHZXJtYW5cIixcclxuICAgIFwiR0FcIjogXCJJcmlzaFwiLFxyXG4gICAgXCJFTFwiOiBcIkdyZWVrXCIsXHJcbiAgICBcIklUXCI6IFwiSXRhbGlhblwiLFxyXG4gICAgXCJNVFwiOiBcIk1hbHRlc2VcIixcclxuICAgIFwiUFRcIjogXCJQb3J0dWd1ZXNlXCIsXHJcbiAgICBcIlNSXCI6IFwiU2VyYmlhblwiLFxyXG4gICAgXCJTTFwiOiBcIlNsb3ZlbmlhblwiLFxyXG4gICAgXCJFU1wiOiBcIlNwYW5pc2hcIixcclxuICAgIFwiWkhcIjogXCJDaGluZXNlXCIsXHJcbiAgICBcIkpBXCI6IFwiSmFwYW5lc2VcIixcclxuICAgIFwiS09cIjogXCJLb3JlYW5cIixcclxuICAgIFwiVFJcIjogXCJUdXJraXNoXCIsXHJcbiAgICBcIkhSXCI6IFwiQ3JvYXRpYW5cIixcclxuICAgIFwiUk9cIjogXCJSb21hbmlhblwiLFxyXG4gICAgXCJVWlwiOiBcIlV6YmVrXCIsXHJcbiAgICBcIklEXCI6IFwiSW5kb25lc2lhblwiXHJcbiAgfSxcclxuICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgIFwiQ0xPU0VfQlVUVE9OXCI6IFwiQ2xlYXJcIixcclxuICAgIFwiQ0xFQVJfTk9USUZJQ0FUSU9OXCI6IFwiQ2xvc2UgYWxlcnRcIixcclxuICAgIFwiQ0xFQVJfU09VUkNFXCI6IFwiQ2xlYXIgZW50ZXJlZCB0ZXh0XCIsXHJcbiAgICBcIkNMT1NFX0RJQUxPR1wiOiBcIkNsb3NlIGRpYWxvZ1wiLFxyXG4gICAgXCJDTEVBUl9GSUxFU1wiOiBcIkNsZWFyIHVwbG9hZGVkIGZpbGVzXCIsXHJcbiAgICBcIlNIT1dfRVhURU5TSU9OU1wiOiBcIlNob3cgb3RoZXIgZG93bmxvYWQgb3B0aW9uc1wiLFxyXG4gICAgXCJDT1BZXCI6IFwiQ29weSB0byBjbGlwYm9hcmRcIixcclxuICAgIFwiT1BFTl9JTl9ORVdcIjogXCJPcGVuIGluIG5ldyB0YWJcIixcclxuICAgIFwiU1dBUF9MQU5HVUFHRVNcIjogXCJTd2FwIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJPVEhFUl9MQU5HVUFHRVNfVFJJR0dFUlwiOiBcIlNob3cgb3RoZXIgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgXCJDT1BZXCI6IFwiQ29weSB0byBjbGlwYm9hcmRcIixcclxuICAgIFwiU1dBUF9MQU5HVUFHRVNcIjogXCJTd2FwIGxhbmd1YWdlc1wiXHJcbiAgfSxcclxuICBcIlBERl9DT05WRVJTSU9OXCI6IHtcclxuICAgIFwiVElUTEVfMVwiOiBcIlBERiB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8xXCI6IFwiV2hlbiBhIC5wZGYgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBCb3RoIHNjYW5uZWQgYW5kIG5hdGl2ZSAucGRmcyBhcmUgc3VwcG9ydGVkLiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3gsIC50bXggb3IgLnBkZiBmb3JtYXRzIGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy4gRm9ybWF0dGluZyBpbiB0aGUgdHJhbnNsYXRlZCAuZG9jeCBhbmQgLnBkZiBmaWxlcyBtYXkgc2xpZ2h0bHkgZGlmZmVyLiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIkFzIGNvbnZlcnNpb24gdGFrZXMgdGltZSwgdG8gc3BlZWQgdGhpbmdzIHVwIHNwbGl0IHlvdXIgLnBkZnMgYW5kIGRlbGV0ZSB0aGUgcGFnZXMgd2l0aCBubyB0cmFuc2xhdGFibGUgaW5mb3JtYXRpb24uIEZhY3RvcnMgbGlrZSB0aGUgbnVtYmVyIG9mIHBhZ2VzLCBxdWFsaXR5IGFuZCB0ZXh0IGRlbnNpdHkgYWZmZWN0IHRoZSBwcm9jZXNzaW5nIHRpbWUuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgUERGIGRvd25sb2FkIGV4YW1wbGVcIixcclxuXHJcbiAgICBcIlRJVExFXzJcIjogXCJQREYgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGRvY3VtZW50IGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgZG9jdW1lbnQgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCAucGRmcyBzaG91bGQgYmUgYXQgbGVhc3QgMzAwIGRwaSwgdW5za2V3ZWQgYW5kIG5vaXNlIGZyZWUuXCIsXHJcbiAgICBcIkxJXzFfMlwiOiBcIkZvbnQgc2l6ZS4gU2l6ZXMgc21hbGxlciB0aGFuIDkgcG9pbnRzIG1pZ2h0IGJlIHBvb3JseSByZWNvZ25pemVkLiBcIixcclxuICAgIFwiTElfMV8zXCI6IFwiUmFyZSBhbmQgb3JpZ2luYWwgZm9udHMuIExlc3MgY29tbW9uIGZvbnRzIG1heSBiZSB1bnJlY29nbml6YWJsZSBvciBwZXJmb3JtIHdvcnNlLlwiLFxyXG4gICAgXCJMSV8xXzRcIjogXCJDb21wbGV4aXR5IG9mIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUgYW5kIGZvcm1hdHRpbmcuXCIsXHJcblxyXG4gICAgXCJUSVRMRV8zXCI6IFwiSW1wcm92aW5nIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzFcIjogXCJUaGUgY29udmVyc2lvbiBwcm9jZXNzIGlzIHZlcnkgY29tcGxleCBhbmQgbWF5IGJlIGFmZmVjdGVkIGJ5IHZhcmlvdXMgZXJyb3JzIHJlc3VsdGluZyBmcm9tIHRoZSBpbnB1dCBkb2N1bWVudC4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzJcIjogXCJJc3N1ZXMgdG8gbG9vayBmb3I6XCIsXHJcbiAgICBcIkxJXzJfMVwiOiBcIkluY29ycmVjdGx5IHJlY29nbml6ZWQgd29yZHMuXCIsXHJcbiAgICBcIkxJXzJfMlwiOiBcIkluY29ycmVjdCB3b3JkIGJvdW5kYXJpZXMuXCIsXHJcbiAgICBcIkxJXzJfM1wiOiBcIlNlbnRlbmNlcyBzcGFubmluZyBtdWx0aXBsZSBjb2x1bW5zLCBsaW5lcyBvciBwYWdlcyBzcGxpdCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfNFwiOiBcIk1pc3BsYWNlZCBwYWdlIGZvb3RlcnMgYW5kIGhlYWRlcnMuXCIsXHJcbiAgICBcIkxJXzJfNVwiOiBcIkluY29ycmVjdCBudW1iZXJpbmcuXCIsXHJcbiAgICBcIkxJXzJfNlwiOiBcIlRhYmxlcyByZWNvZ25pemVkIGFzIGJhY2tncm91bmQgaW1hZ2VzIHdpdGggdGV4dHVhbCBjb250ZW50IHBsYWNlZCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfN1wiOiBcIlNvbWUgZGlhZ3JhbXMgcmVjb2duaXplZCBhcyBpbWFnZXMgd2l0aG91dCBhbnkgdGV4dHVhbCBjb250ZW50LlwiLFxyXG4gICAgXCJMSV8yXzhcIjogXCJTZXBhcmF0b3JzLCBib3JkZXJzIG9yIG90aGVyIGhvcml6b250YWwgbGluZXMgcmVjb2duaXplZCBhcyBzdHJpa2V0aHJvdWdoIG9yIHVuZGVybGluZWQgdGV4dC5cIixcclxuICAgIFwiTElfMl85XCI6IFwiRm9ybWF0dGluZyBvZiB0aGUgdGFibGUgb2YgY29udGVudHMgb3Igc2ltaWxhciBsaXN0cyBjb2xsYXBzZWQgb3IgcmVjb2duaXplZCBhcyBzdHJpa2V0aHJvdWdoIG9yIHVuZGVybGluZWQgdGV4dC5cIixcclxuXHJcbiAgICBcIlBBUkFHUkFQSF80XzFcIjogXCI8Yj5Ob3RlIHRoYXQgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB3aWxsIG5vdCByZXRhaW4gYWxsIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIGZvcm1hdHRpbmcuPC9iPiBTb21lIGltYWdlcywgdGFibGVzIG9yIGRpYWdyYW1zIG1heSBiZWNvbWUgZGlzdG9ydGVkIG9yIHNpbXBsaWZpZWQuIEZvbnRzIGluIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50IHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIGluIHRoZSBvcmlnaW5hbCwgYnV0IG1heSBiZSBzaW1pbGFyLiBJbmNvcnJlY3QgZm9udCBzaXplIG1heSBiZSByZWNvZ25pemVkLiBTcGVjaWZpYyBXb3JkIGZvcm1hdHRpbmcgbGlrZSBoZWFkaW5ncywgdGFibGVzIG9mIGNvbnRlbnQsIGhlYWRlcnMgYW5kIGZvb3RlcnMsIGxhYmVscywgZm9ybXMgZXRjLiB3aWxsIGJlIHN0eWxlZCB0byBsb29rIGxpa2UgdGhlIG9yaWdpbmFsLCBidXQgd2lsbCBub3QgbWF0Y2ggdGhlIG9yaWdpbmFsIGNvbXBsZXRlbHkgKGUuZy4gdGl0bGVzIHdpbGwgYmUgYm9sZCBhbmQgaW4gbGFyZ2VyIGZvbnQsIGJ1dCB3aWxsIG5vdCBiZSBzZXQgdG8gdGhlIGhlYWRpbmcgc3R5bGUpLlwiLFxyXG5cclxuICAgIFwiQ0xPU0VcIjogXCJDbG9zZSBkaWFsb2dcIlxyXG4gIH0sXHJcbiAgXCJJTUFHRV9DT05WRVJTSU9OXCI6IHtcclxuICAgIFwiVElUTEVfMVwiOiBcIkltYWdlIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGFuIGltYWdlIGZpbGUgaXMgdXBsb2FkZWQgZm9yIHRyYW5zbGF0aW9uIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGEgdHJhbnNsYXRhYmxlIGZvcm1hdC4gVHJhbnNsYXRpb25zIGNhbiBiZSBkb3dubG9hZGVkIGluIC5kb2N4IG9yIC50bXggZm9ybWF0cyBhbmQgd2lsbCByZXRhaW4gdGhlIGJhc2ljIGZvcm1hdHRpbmcuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCI8Yj5TdXBwb3J0ZWQgaW1hZ2UgZm9ybWF0czo8L2I+IC5qcGcsIC5qcGVnLCAucG5nIGFuZCAuYm1wLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIGltYWdlIGRvd25sb2FkIGV4YW1wbGVcIixcclxuXHJcbiAgICBcIlRJVExFXzJcIjogXCJJbWFnZSBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgaW1hZ2UgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBpbWFnZSAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIGltYWdlcyBzaG91bGQgYmUgYXQgbGVhc3QgMzAwIGRwaSwgdW5za2V3ZWQgYW5kIG5vaXNlIGZyZWUuXCIsXHJcbiAgICBcIkxJXzFfMlwiOiBcIkZvbnQgc2l6ZS4gU2l6ZXMgc21hbGxlciB0aGFuIDkgcG9pbnRzIG1pZ2h0IGJlIHBvb3JseSByZWNvZ25pemVkLiBcIixcclxuICAgIFwiTElfMV8zXCI6IFwiUmFyZSBhbmQgb3JpZ2luYWwgZm9udHMuIExlc3MgY29tbW9uIGZvbnRzIG1heSBiZSB1bnJlY29nbml6YWJsZSBvciBwZXJmb3JtIHdvcnNlLlwiLFxyXG4gICAgXCJMSV8xXzRcIjogXCJDb21wbGV4aXR5IG9mIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUgYW5kIGZvcm1hdHRpbmcuXCIsXHJcblxyXG4gICAgXCJUSVRMRV8zXCI6IFwiSW1wcm92aW5nIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzFcIjogXCJUaGUgY29udmVyc2lvbiBwcm9jZXNzIGlzIHZlcnkgY29tcGxleCBhbmQgbWF5IGJlIGFmZmVjdGVkIGJ5IHZhcmlvdXMgZXJyb3JzIHJlc3VsdGluZyBmcm9tIHRoZSBpbnB1dCBkb2N1bWVudC4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzJcIjogXCJJc3N1ZXMgdG8gbG9vayBmb3I6XCIsXHJcbiAgICBcIkxJXzJfMVwiOiBcIkluY29ycmVjdGx5IHJlY29nbml6ZWQgd29yZHMuXCIsXHJcbiAgICBcIkxJXzJfMlwiOiBcIkluY29ycmVjdCB3b3JkIGJvdW5kYXJpZXMuXCIsXHJcbiAgICBcIkxJXzJfM1wiOiBcIlNlbnRlbmNlcyBzcGFubmluZyBtdWx0aXBsZSBjb2x1bW5zLCBsaW5lcyBvciBwYWdlcyBzcGxpdCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfNFwiOiBcIk1pc3BsYWNlZCBwYWdlIGZvb3RlcnMgYW5kIGhlYWRlcnMuXCIsXHJcbiAgICBcIkxJXzJfNVwiOiBcIkluY29ycmVjdCBudW1iZXJpbmcuXCIsXHJcbiAgICBcIkxJXzJfNlwiOiBcIlRhYmxlcyByZWNvZ25pemVkIGFzIGJhY2tncm91bmQgaW1hZ2VzIHdpdGggdGV4dHVhbCBjb250ZW50IHBsYWNlZCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfN1wiOiBcIlNvbWUgZGlhZ3JhbXMgcmVjb2duaXplZCBhcyBpbWFnZXMgd2l0aG91dCBhbnkgdGV4dHVhbCBjb250ZW50LlwiLFxyXG4gICAgXCJMSV8yXzhcIjogXCJTZXBhcmF0b3JzLCBib3JkZXJzIG9yIG90aGVyIGhvcml6b250YWwgbGluZXMgcmVjb2duaXplZCBhcyBzdHJpa2V0aHJvdWdoIG9yIHVuZGVybGluZWQgdGV4dC5cIixcclxuXHJcbiAgICBcIlBBUkFHUkFQSF80XzFcIjogXCI8Yj5Ob3RlIHRoYXQgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB3aWxsIG5vdCByZXRhaW4gYWxsIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIGZvcm1hdHRpbmcuPC9iPiBTb21lIGltYWdlcywgdGFibGVzIG9yIGRpYWdyYW1zIG1heSBiZWNvbWUgZGlzdG9ydGVkIG9yIHNpbXBsaWZpZWQuIEZvbnRzIGluIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50IHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIGluIHRoZSBvcmlnaW5hbCwgYnV0IG1heSBiZSBzaW1pbGFyLiBJbmNvcnJlY3QgZm9udCBzaXplIG1heSBiZSByZWNvZ25pemVkLlwiLFxyXG5cclxuICAgIFwiQ0xPU0VcIjogXCJDbG9zZSBkaWFsb2dcIlxyXG4gIH0sXHJcbiAgXCJXRUJUUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCQUNLXCI6IFwiQmFjayB0byBUcmFuc2xhdG9yXCIsXHJcbiAgICBcIkFERFJFU1NcIjogXCJBZGRyZXNzXCIsXHJcbiAgICBcIkxPQURfUEFHRVwiOiBcIkxvYWQgcGFnZVwiLFxyXG4gICAgXCJSRVNUT1JFXCI6IFwiUmVzdG9yZVwiLFxyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIlxyXG4gIH0sXHJcbiAgXCJEQVRFX0FHT1wiOiB7XHJcbiAgICBcIllFQVJcIjogXCJ7e3ZhbHVlfX0geWVhciBhZ29cIixcclxuICAgIFwiWUVBUlNcIjogXCJ7e3ZhbHVlfX0geWVhcnMgYWdvXCIsXHJcbiAgICBcIk1PTlRIXCI6IFwie3t2YWx1ZX19IG1vbnRoIGFnb1wiLFxyXG4gICAgXCJNT05USFNcIjogXCJ7e3ZhbHVlfX0gbW9udGhzIGFnb1wiLFxyXG4gICAgXCJXRUVLXCI6IFwie3t2YWx1ZX19IHdlZWsgYWdvXCIsXHJcbiAgICBcIldFRUtTXCI6IFwie3t2YWx1ZX19IHdlZWtzIGFnb1wiLFxyXG4gICAgXCJEQVlcIjogXCJ7e3ZhbHVlfX0gZGF5IGFnb1wiLFxyXG4gICAgXCJEQVlTXCI6IFwie3t2YWx1ZX19IGRheXMgYWdvXCIsXHJcbiAgICBcIkhPVVJcIjogXCJ7e3ZhbHVlfX0gaG91ciBhZ29cIixcclxuICAgIFwiSE9VUlNcIjogXCJ7e3ZhbHVlfX0gaG91cnMgYWdvXCIsXHJcbiAgICBcIk1JTlVURVwiOiBcInt7dmFsdWV9fSBtaW51dGUgYWdvXCIsXHJcbiAgICBcIk1JTlVURVNcIjogXCJ7e3ZhbHVlfX0gbWludXRlcyBhZ29cIixcclxuICAgIFwiU0VDT05EXCI6IFwie3t2YWx1ZX19IHNlY29uZCBhZ29cIixcclxuICAgIFwiU0VDT05EU1wiOiBcInt7dmFsdWV9fSBzZWNvbmRzIGFnb1wiLFxyXG4gICAgXCJKVVNUX05PV1wiOiBcIkp1c3Qgbm93XCJcclxuICB9LFxyXG4gIFwiVEVSTV9DT0xMRUNUSU9OU1wiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgXCJERUZBVUxUXCI6IFwiRGVmYXVsdFwiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIkFjaGlldmUgcHJlY2lzZSBhbmQgcmVsaWFibGUgdHJhbnNsYXRpb25zIGJ5IGNob29zaW5nIHRoZSBtb3N0IHN1aXRhYmxlIGdsb3NzYXJ5IGZyb20gdGhlIGxpc3QuXCIsXHJcbiAgICBcIkdMT1NTQVJZXCI6IFwiR2xvc3Nhcnk6IFwiLFxyXG4gICAgXCJTRUxFQ1RFRF9OT05FXCI6IFwiTm9uZVwiLFxyXG4gICAgXCJFRElUXCI6IFwiRWRpdFwiLFxyXG4gICAgXCJDUkVBVEVcIjogXCJOZXcgZ2xvc3NhcnlcIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlcIjogXCJDcmVhdGUgeW91ciBmaXJzdCBnbG9zc2FyeSBmb3Ige3tzcmNMYW5nfX0te3t0cmdMYW5nfX1cIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlfQURWSUNFXCI6IFwiRm9yIGJlc3QgcmVzdWx0cyBpbmNsdWRlIHRlY2hpbmFsIHRlcm1zLCBicmFuZCBuYW1lcywgYWNyb255bXMgYW5kIHN1cm5hbWVzLlwiLFxyXG4gICAgXCJMQVNUX1VQREFURURcIjogXCJMYXN0IHVwZGF0ZWQ6IHt7ZGF0ZX19XCIsXHJcbiAgICBcIkRFRkFVTFRfQ09MTEVDVElPTl9OQU1FXCI6IFwiTXkgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICBcIlNZTkNcIjogXCJTeW5jXCIsXHJcbiAgICBcIlNZTkNfRVJST1JcIjogXCJSZXRyeVwiLFxyXG4gICAgXCJURVJNU19JTl9VU0VcIjogXCJUZXJtcyBpbiB1c2U6IHt7dGVybUNvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9HTE9TU0FSWV9NQU5BR0VNRU5UXCI6IFwiRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIlRlcm0gY29sbGVjdGlvbiBuYW1lXCIsXHJcbiAgICAgIFwiQ1JFQVRFXCI6IFwiQ3JlYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMVwiOiBcIkFmdGVyIG5hbWluZyB5b3VyIHRlcm0gY29sbGVjdGlvbiwgeW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB7e3Rlcm1Qb3J0YWxOYW1lfX0gdG8gYWRkIG5ldyB0ZXJtcy4gQWZ0ZXIgY29tcGxldGlvbiwgcmV0dXJuIHRvIHt7YXBwTmFtZX19IHRvIHVzZSB0aGUgbmV3IHRlcm1zIGluIHlvdXIgdHJhbnNsYXRpb24gcHJvamVjdHMuXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMlwiOiBcIjxpPipBSSBpcyBub3QgcGVyZmVjdCBhbmQgY2FuIG1ha2Ugb2NjYXNpb25hbCBtaXN0YWtlcy4gWW91ciB1bmlxdWUgdGVybXMgd2lsbCBiZSB1c2VkIGNvcnJlY3RseSB3aXRoIDk1JSBhY2N1cmFjeS48L2k+XCIsXHJcbiAgICAgIFwiVElUTEVcIjogXCJDcmVhdGUgYSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiTm8gZ2xvc3NhcmllcyBjcmVhdGVkXCIsXHJcbiAgICAgIFwiSElOVFwiOiBcIllvdSBtdXN0IGJlIGEgVGVybWlub2xvZ3kgTWFuYWdlciB0byBjcmVhdGUgZ2xvc3Nhcmllc1wiXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIkVSUk9SSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGVycm9yXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIlNjYW5uZWQgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTXCI6IFwiICgge3t2aXNpYmxlRXh0ZW5zaW9uc319LiBNYXgge3ttYXhTaXplTUJ9fSZuYnNwOylcIixcclxuICAgIFwiQ0xFQVJcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiU1lTVEVNX1BJQ0tFUlwiOiB7XHJcbiAgICBcIlNPVVJDRVwiOiBcIlRyYW5zbGF0ZSBmcm9tXCIsXHJcbiAgICBcIlRBUkdFVFwiOiBcIlRyYW5zbGF0ZSB0b1wiLFxyXG4gICAgXCJTRUFSQ0hfUExBQ0VIT0xERVJcIjogXCJTZWFyY2ggbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIlJFQ0VOVF9TWVNURU1fVElUTEVcIjogXCJSZWNlbnQgdHJhbnNsYXRpb24gZGlyZWN0aW9uc1wiLFxyXG4gICAgXCJTRUxFQ1RfRE9NQUlOXCI6IFwiU2VsZWN0IGRvbWFpblwiLFxyXG4gICAgXCJGSUxURVJfTk9fUkVTVUxUU1wiOiBcIk5vIHJlc3VsdHNcIixcclxuICAgIFwiQUxMX0xBTkdVQUdFU1wiOiBcIkFsbCBsYW5ndWFnZXNcIixcclxuICAgIFwiQ0xFQVJfU0VBUkNIXCI6IFwiQ2xlYXIgc2VhcmNoIHRleHRcIixcclxuICAgIFwiT1BFTl9TT1VSQ0VfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgIFwiT1BFTl9UQVJHRVRfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCB0YXJnZXQgbGFuZ3VhZ2UgYW5kIGRvbWFpblwiXHJcbiAgfSxcclxuICBcIlRFWFRfVFJBTlNMQVRJT05fUFJPR1JFU1NfSU5ESUNBVE9SXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3Byb3ZpZGVyfX1cIixcclxuICAgIFwiVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fVE9PTFRJUFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUxcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCJcclxuICB9LFxyXG4gIFwiVkVORE9SX01FU1NBR0VcIjoge1xyXG4gICAgXCJURVhUXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3t2ZW5kb3J9fVwiLFxyXG4gICAgXCJJQ09OX1RPT0xUSVBcIjogXCJTeXN0ZW1zIG9mZmVyZWQgYnkge3t2ZW5kb3J9fSBhcmUgdXNlZCBieSBhIGh1Z2UgbnVtYmVyIG9mIHVzZXJzLiBUaGV5IG1heSBiZSBzbG93IGF0IHRpbWUgZHVlIHRvIHRoZSBoZWF2eSB3b3JrIGxvYWQuXCJcclxuICB9LFxyXG4gIFwiVkVORE9SU1wiOiB7XHJcbiAgICBcIkVUUkFOU0xBVElPTlwiOiBcImVUcmFuc2xhdGlvblwiXHJcbiAgfSxcclxuICBcIlRFWFRfVE9fU1BFRUNIXCI6IHtcclxuICAgIFwiUExBWVwiOiBcIkxpc3RlblwiLFxyXG4gICAgXCJQQVVTRVwiOiBcIlBhdXNlXCJcclxuICB9XHJcbn1cclxuIl19
@@ -98,12 +98,12 @@ export class TldTermCollectionListComponent {
98
98
  return Number(a.default) - Number(b.default) || a.name.localeCompare(b.name);
99
99
  };
100
100
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TldTermCollectionListComponent, deps: [{ token: i1.TerminologyService }, { token: i2.TldTranslateConfigService }, { token: i3.TldSystemService }, { token: i4.TermApiService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
101
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TldTermCollectionListComponent, selector: "tld-term-collection-list", inputs: { system: "system" }, ngImport: i0, template: "<header class=\"tld-collection-list-header\">\r\n <h1 class=\"text-l-semi-bold\">\r\n <span>{{localizationKey + 'TITLE' | translate}}</span>\r\n </h1>\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n <span>{{localizationKey + 'DESCRIPTION' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY' | translate: {srcLang: sourceLangTranslated, trgLang: targetLangTranslated} }}\r\n </p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"none-option\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections | async\"\r\n >\r\n <div class=\"w-100\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\"\r\n >\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [class.mat-radio-checked]=\"collection.default || collection===selected\"\r\n [disabled]=\"collection.termId !== null && collection.termEntries<=0 || collection.default\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <div class=\"collection-label\">\r\n <span class=\"text-m-semi-bold\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n </div>\r\n\r\n <span class=\"default-badge\" *ngIf=\"collection.default\">{{localizationKey + 'DEFAULT' | translate}}</span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.termCount\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('TERMS_IN_USE') | translate: { termCount: collection.termCount } }}\r\n </span>\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | dateAgo } }}\r\n </span>\r\n\r\n <div class=\"collection-label-block collection-status-labels text-s\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\"\r\n >\r\n <div *ngIf=\"collection.mtStatus === collectionErrorStatus\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.25rem\">\r\n <span color=\"accent\" class=\"material-icons collection-list-error\">\r\n error\r\n </span>\r\n\r\n <span *ngIf=\"collection.mtCollection?.subStatus === collectionImportingErrorSubStatus\">\r\n {{ localizationKey + 'ERRORS.' + ( collection.mtCollection.subStatus | uppercase ) | translate }}\r\n </span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.isImporting\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\">\r\n <mat-spinner color=\"accent\" diameter=\"20\"> </mat-spinner>\r\n <span>\r\n {{ tooltipLocalizationKey + \"IMPORTING\" | translate }}\r\n </span>\r\n </span>\r\n\r\n <button *ngIf=\"collection.syncButtonVisible\" mat-button color=\"primary\" (click)=\"attach(collection)\" [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"text-s\">\r\n <mat-icon class=\"pt-1\">sync</mat-icon>\r\n {{ localizationKey + \"SYNC\" | translate }}\r\n </span>\r\n </button>\r\n </div>\r\n </mat-radio-button>\r\n </div>\r\n \r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <a class=\"collection-list-edit\" mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\">\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:.5em .75em}.collection-label{max-width:280px;overflow:hidden;text-overflow:ellipsis}.collection-label-block{display:block}.collection-status-labels .mat-icon,.collection-status-labels .material-icons{font-size:18px}.default-badge{background-color:#9aa5b1;color:var(--base-100);font-size:10px;border-radius:12px;padding:4px 8px;line-height:16px;display:inline-block;margin-left:5px}:host ::ng-deep .mat-mdc-radio-button{overflow:hidden;padding:5px 0;place-content:start!important}:host ::ng-deep .mat-mdc-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-mdc-button{padding:0!important}.collection{min-height:70px}.collection,.none-option{border-bottom:1px solid #cbd2d9}mat-spinner{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconAnchor, selector: "a[mat-icon-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i11.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i11.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i13.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.DateAgoPipe, name: "dateAgo" }] });
101
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TldTermCollectionListComponent, selector: "tld-term-collection-list", inputs: { system: "system" }, ngImport: i0, template: "<header class=\"tld-collection-list-header\">\r\n <h1 class=\"text-l-semi-bold\">\r\n <span>{{localizationKey + 'TITLE' | translate}}</span>\r\n </h1>\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n <span>{{localizationKey + 'DESCRIPTION' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY' | translate: {srcLang: sourceLangTranslated, trgLang: targetLangTranslated} }}\r\n </p>\r\n\r\n <div class=\"advice\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY_ADVICE' | translate }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"none-option\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections | async\"\r\n >\r\n <div class=\"w-100\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\"\r\n >\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [class.mat-radio-checked]=\"collection.default || collection===selected\"\r\n [disabled]=\"collection.termId !== null && collection.termEntries<=0 || collection.default\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <div class=\"collection-label\">\r\n <span class=\"text-m-semi-bold\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n </div>\r\n\r\n <span class=\"default-badge\" *ngIf=\"collection.default\">{{localizationKey + 'DEFAULT' | translate}}</span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.termCount\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('TERMS_IN_USE') | translate: { termCount: collection.termCount } }}\r\n </span>\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | dateAgo } }}\r\n </span>\r\n\r\n <div class=\"collection-label-block collection-status-labels text-s\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\"\r\n >\r\n <div *ngIf=\"collection.mtStatus === collectionErrorStatus\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.25rem\">\r\n <span color=\"accent\" class=\"material-icons collection-list-error\">\r\n error\r\n </span>\r\n\r\n <span *ngIf=\"collection.mtCollection?.subStatus === collectionImportingErrorSubStatus\">\r\n {{ localizationKey + 'ERRORS.' + ( collection.mtCollection.subStatus | uppercase ) | translate }}\r\n </span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.isImporting\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\">\r\n <mat-spinner color=\"accent\" diameter=\"20\"> </mat-spinner>\r\n <span>\r\n {{ tooltipLocalizationKey + \"IMPORTING\" | translate }}\r\n </span>\r\n </span>\r\n\r\n <button *ngIf=\"collection.syncButtonVisible\" mat-button color=\"primary\" (click)=\"attach(collection)\" [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"text-s\">\r\n <mat-icon class=\"pt-1\">sync</mat-icon>\r\n {{ localizationKey + \"SYNC\" | translate }}\r\n </span>\r\n </button>\r\n </div>\r\n </mat-radio-button>\r\n </div>\r\n \r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <a class=\"collection-list-edit\" mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\">\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:.5em .75em}.collection-label{max-width:280px;overflow:hidden;text-overflow:ellipsis}.collection-label-block{display:block}.collection-status-labels .mat-icon,.collection-status-labels .material-icons{font-size:18px}.default-badge{background-color:#9aa5b1;color:var(--base-100);font-size:10px;border-radius:12px;padding:4px 8px;line-height:16px;display:inline-block;margin-left:5px}:host ::ng-deep .mat-mdc-radio-button{overflow:hidden;padding:5px 0;place-content:start!important}:host ::ng-deep .mat-mdc-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-mdc-button{padding:0!important}.collection{min-height:70px}.collection,.none-option{border-bottom:1px solid #cbd2d9}mat-spinner{display:inline-block}.advice{padding:.75rem 0;border-bottom:1px solid #cbd2d9}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconAnchor, selector: "a[mat-icon-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i11.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i11.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i13.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.DateAgoPipe, name: "dateAgo" }] });
102
102
  }
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TldTermCollectionListComponent, decorators: [{
104
104
  type: Component,
105
- args: [{ selector: 'tld-term-collection-list', template: "<header class=\"tld-collection-list-header\">\r\n <h1 class=\"text-l-semi-bold\">\r\n <span>{{localizationKey + 'TITLE' | translate}}</span>\r\n </h1>\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n <span>{{localizationKey + 'DESCRIPTION' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY' | translate: {srcLang: sourceLangTranslated, trgLang: targetLangTranslated} }}\r\n </p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"none-option\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections | async\"\r\n >\r\n <div class=\"w-100\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\"\r\n >\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [class.mat-radio-checked]=\"collection.default || collection===selected\"\r\n [disabled]=\"collection.termId !== null && collection.termEntries<=0 || collection.default\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <div class=\"collection-label\">\r\n <span class=\"text-m-semi-bold\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n </div>\r\n\r\n <span class=\"default-badge\" *ngIf=\"collection.default\">{{localizationKey + 'DEFAULT' | translate}}</span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.termCount\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('TERMS_IN_USE') | translate: { termCount: collection.termCount } }}\r\n </span>\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | dateAgo } }}\r\n </span>\r\n\r\n <div class=\"collection-label-block collection-status-labels text-s\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\"\r\n >\r\n <div *ngIf=\"collection.mtStatus === collectionErrorStatus\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.25rem\">\r\n <span color=\"accent\" class=\"material-icons collection-list-error\">\r\n error\r\n </span>\r\n\r\n <span *ngIf=\"collection.mtCollection?.subStatus === collectionImportingErrorSubStatus\">\r\n {{ localizationKey + 'ERRORS.' + ( collection.mtCollection.subStatus | uppercase ) | translate }}\r\n </span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.isImporting\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\">\r\n <mat-spinner color=\"accent\" diameter=\"20\"> </mat-spinner>\r\n <span>\r\n {{ tooltipLocalizationKey + \"IMPORTING\" | translate }}\r\n </span>\r\n </span>\r\n\r\n <button *ngIf=\"collection.syncButtonVisible\" mat-button color=\"primary\" (click)=\"attach(collection)\" [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"text-s\">\r\n <mat-icon class=\"pt-1\">sync</mat-icon>\r\n {{ localizationKey + \"SYNC\" | translate }}\r\n </span>\r\n </button>\r\n </div>\r\n </mat-radio-button>\r\n </div>\r\n \r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <a class=\"collection-list-edit\" mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\">\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:.5em .75em}.collection-label{max-width:280px;overflow:hidden;text-overflow:ellipsis}.collection-label-block{display:block}.collection-status-labels .mat-icon,.collection-status-labels .material-icons{font-size:18px}.default-badge{background-color:#9aa5b1;color:var(--base-100);font-size:10px;border-radius:12px;padding:4px 8px;line-height:16px;display:inline-block;margin-left:5px}:host ::ng-deep .mat-mdc-radio-button{overflow:hidden;padding:5px 0;place-content:start!important}:host ::ng-deep .mat-mdc-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-mdc-button{padding:0!important}.collection{min-height:70px}.collection,.none-option{border-bottom:1px solid #cbd2d9}mat-spinner{display:inline-block}\n"] }]
105
+ args: [{ selector: 'tld-term-collection-list', template: "<header class=\"tld-collection-list-header\">\r\n <h1 class=\"text-l-semi-bold\">\r\n <span>{{localizationKey + 'TITLE' | translate}}</span>\r\n </h1>\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n <span>{{localizationKey + 'DESCRIPTION' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY' | translate: {srcLang: sourceLangTranslated, trgLang: targetLangTranslated} }}\r\n </p>\r\n\r\n <div class=\"advice\">\r\n <p class=\"term-window-description text-s\">\r\n {{ localizationKey + 'DESCRIPTION_EMPTY_ADVICE' | translate }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"none-option\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections | async\"\r\n >\r\n <div class=\"w-100\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\"\r\n >\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [class.mat-radio-checked]=\"collection.default || collection===selected\"\r\n [disabled]=\"collection.termId !== null && collection.termEntries<=0 || collection.default\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <div class=\"collection-label\">\r\n <span class=\"text-m-semi-bold\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n </div>\r\n\r\n <span class=\"default-badge\" *ngIf=\"collection.default\">{{localizationKey + 'DEFAULT' | translate}}</span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.termCount\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('TERMS_IN_USE') | translate: { termCount: collection.termCount } }}\r\n </span>\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label-block text-s\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | dateAgo } }}\r\n </span>\r\n\r\n <div class=\"collection-label-block collection-status-labels text-s\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\"\r\n >\r\n <div *ngIf=\"collection.mtStatus === collectionErrorStatus\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.25rem\">\r\n <span color=\"accent\" class=\"material-icons collection-list-error\">\r\n error\r\n </span>\r\n\r\n <span *ngIf=\"collection.mtCollection?.subStatus === collectionImportingErrorSubStatus\">\r\n {{ localizationKey + 'ERRORS.' + ( collection.mtCollection.subStatus | uppercase ) | translate }}\r\n </span>\r\n </div>\r\n \r\n <span *ngIf=\"collection.isImporting\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"0.5rem\">\r\n <mat-spinner color=\"accent\" diameter=\"20\"> </mat-spinner>\r\n <span>\r\n {{ tooltipLocalizationKey + \"IMPORTING\" | translate }}\r\n </span>\r\n </span>\r\n\r\n <button *ngIf=\"collection.syncButtonVisible\" mat-button color=\"primary\" (click)=\"attach(collection)\" [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"text-s\">\r\n <mat-icon class=\"pt-1\">sync</mat-icon>\r\n {{ localizationKey + \"SYNC\" | translate }}\r\n </span>\r\n </button>\r\n </div>\r\n </mat-radio-button>\r\n </div>\r\n \r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <a class=\"collection-list-edit\" mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\">\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:.5em .75em}.collection-label{max-width:280px;overflow:hidden;text-overflow:ellipsis}.collection-label-block{display:block}.collection-status-labels .mat-icon,.collection-status-labels .material-icons{font-size:18px}.default-badge{background-color:#9aa5b1;color:var(--base-100);font-size:10px;border-radius:12px;padding:4px 8px;line-height:16px;display:inline-block;margin-left:5px}:host ::ng-deep .mat-mdc-radio-button{overflow:hidden;padding:5px 0;place-content:start!important}:host ::ng-deep .mat-mdc-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-mdc-button{padding:0!important}.collection{min-height:70px}.collection,.none-option{border-bottom:1px solid #cbd2d9}mat-spinner{display:inline-block}.advice{padding:.75rem 0;border-bottom:1px solid #cbd2d9}\n"] }]
106
106
  }], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.TldTranslateConfigService }, { type: i3.TldSystemService }, { type: i4.TermApiService }, { type: i5.TranslateService }]; }, propDecorators: { system: [{
107
107
  type: Input
108
108
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFnQixHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLDhCQUE4QjtJQTRDWjtJQUNWO0lBQ0E7SUFDQTtJQUNBO0lBL0NWLE1BQU0sQ0FBK0U7SUFFOUYsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUF1QjtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFtQztJQUU5QyxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSx1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QUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3RGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3hILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzFILENBQUM7SUFFTyx1QkFBdUIsR0FBRyxDQUFDLENBQXFCLEVBQUUsQ0FBcUIsRUFBRSxFQUFFO1FBQ2pGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDLENBQUE7dUdBaEdVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDhGQ2hCM0Msb3JKQTJGQTs7MkZEM0VhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSwwQkFBMEI7NE9BSzNCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbHMvY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvblN0YXR1cyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVscy9tdC1jb2xsZWN0aW9uLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHsgVGVybUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZXJtLWFwaS90ZXJtLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVybWlub2xvZ3kuc2VydmljZSc7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uU3ViU3RhdHVzIH0gZnJvbSAnLi4vc2VydmljZXMvZW5naW5lLXRlcm0vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRlcm0tY29sbGVjdGlvbi1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVGVybUNvbGxlY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHN5c3RlbTogeyBzeXN0ZW1JZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcgfTtcclxuXHJcbiAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkKHZhbDogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zZWxlY3RlZCA9IHZhbDtcclxuICB9XHJcblxyXG4gIGNvbGxlY3Rpb25zOiBPYnNlcnZhYmxlPENvbWJpbmVkQ29sbGVjdGlvbltdPjtcclxuXHJcbiAgZ2V0IGhhc0FueUNvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmhhc0FueUNvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUmVmcmVzaGluZ0NvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlPy5pc1JlZnJlc2hpbmdDb2xsZWN0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBoYXNFZGl0UGVybWlzc2lvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFzRWRpdFBlcm1pc3Npb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFwcE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBOYW1lO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgbG9jYWxpemF0aW9uS2V5ID0gXCJURVJNX0NPTExFQ1RJT05TLlwiO1xyXG4gIHJlYWRvbmx5IHRvb2x0aXBMb2NhbGl6YXRpb25LZXkgPSBcIlRFUk1fQ09MTEVDVElPTlMuVE9PTFRJUFMuXCI7XHJcbiAgcmVhZG9ubHkgcmVhZHlTdGF0dXMgPSBcIlJlYWR5XCI7XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuICBwcml2YXRlIHRhcmdldExhbmd1YWdlQ29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZVRyYW5zbGF0aW9uczogYW55O1xyXG4gIHByaXZhdGUgbGFuZ3VhZ2VzVHJhbnNsYXRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHNvdXJjZUxhbmdUcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgdGFyZ2V0TGFuZ1RyYW5zbGF0ZWQ6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkVycm9yU3RhdHVzID0gTXRDb2xsZWN0aW9uU3RhdHVzLkVSUk9SO1xyXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25JbXBvcnRpbmdFcnJvclN1YlN0YXR1cyA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU3ViU3RhdHVzLkVSUk9SX0lNUE9SVElORztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0bGRTeXN0ZW06IFRsZFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlcm1BcGlTZXJ2aWNlOiBUZXJtQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb25zID0gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuZGF0YVVwZGF0ZSgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5kYXRhXS5zb3J0KHRoaXMuY29sbGVjdGlvbnNTb3J0RnVuY3Rpb24pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmxhbmd1YWdlc1RyYW5zbGF0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oXCJMQU5HVUFHRVNcIikuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zID0gcmVzcG9uc2U7XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZUxhbmd1YWdlVHJhbnNsYXRpb25zKCk7XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnN1YnNjcmliZSgoYWN0aXZlKSA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlID0gdGhpcy5zeXN0ZW0/LnNvdXJjZUxhbmd1YWdlQ29kZSA/PyBhY3RpdmUuc291cmNlTGFuZy5sYW5nO1xyXG4gICAgICB0aGlzLnRhcmdldExhbmd1YWdlQ29kZSA9IHRoaXMuc3lzdGVtPy50YXJnZXRMYW5ndWFnZUNvZGUgPz8gYWN0aXZlLnRhcmdldExhbmcubGFuZztcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlTGFuZ3VhZ2VUcmFuc2xhdGlvbnMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxhbmd1YWdlc1RyYW5zbGF0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdExpbmsoY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQXBpU2VydmljZS5nZXRFZGl0TGluayhjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uPy5pZCwgdGhpcy5zb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICB9XHJcblxyXG4gIGF0dGFjaChjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnN5bmMoY29sbGVjdGlvbikuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxhbmd1YWdlVHJhbnNsYXRpb25zKCkge1xyXG4gICAgaWYgKCF0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zIHx8ICF0aGlzLnNvdXJjZUxhbmd1YWdlQ29kZSB8fCAhdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc291cmNlTGFuZ1RyYW5zbGF0ZWQgPSB0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zW3RoaXMuc291cmNlTGFuZ3VhZ2VDb2RlLnRvVXBwZXJDYXNlKCldID8/IHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlO1xyXG4gICAgdGhpcy50YXJnZXRMYW5nVHJhbnNsYXRlZCA9IHRoaXMubGFuZ3VhZ2VUcmFuc2xhdGlvbnNbdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUudG9VcHBlckNhc2UoKV0gPz8gdGhpcy50YXJnZXRMYW5ndWFnZUNvZGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbGxlY3Rpb25zU29ydEZ1bmN0aW9uID0gKGE6IENvbWJpbmVkQ29sbGVjdGlvbiwgYjogQ29tYmluZWRDb2xsZWN0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gTnVtYmVyKGEuZGVmYXVsdCkgLSBOdW1iZXIoYi5kZWZhdWx0KSB8fCBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpO1xyXG4gIH1cclxufVxyXG4iLCI8aGVhZGVyIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC1oZWFkZXJcIj5cclxuICA8aDEgY2xhc3M9XCJ0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICA8c3Bhbj57e2xvY2FsaXphdGlvbktleSArICdUSVRMRScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2gxPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvbiB0ZXh0LXNcIj5cclxuICAgICAgPHNwYW4+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvbiB0ZXh0LXNcIj5cclxuICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgJ0RFU0NSSVBUSU9OX0VNUFRZJyB8IHRyYW5zbGF0ZToge3NyY0xhbmc6IHNvdXJjZUxhbmdUcmFuc2xhdGVkLCB0cmdMYW5nOiB0YXJnZXRMYW5nVHJhbnNsYXRlZH0gfX1cclxuICAgIDwvcD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9oZWFkZXI+XHJcbjxkaXYgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9uc1wiIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC1ib2R5XCI+XHJcbiAgPG1hdC1yYWRpby1ncm91cCBbYXR0ci5hcmlhLWxhYmVsXT1cImxvY2FsaXphdGlvbktleSArICdBUklBX0xBQkVMUy5SQURJT19HUk9VUCcgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwibm9uZS1vcHRpb25cIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cIm51bGxcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbS1zZW1pLWJvbGRcIj5cclxuICAgICAgICAgIHt7bG9jYWxpemF0aW9uS2V5ICsgJ1NFTEVDVEVEX05PTkUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb25cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdGb3I9XCJsZXQgY29sbGVjdGlvbiBvZiBjb2xsZWN0aW9ucyB8IGFzeW5jXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udGVybVRvb2x0aXBLZXk/ICh0b29sdGlwTG9jYWxpemF0aW9uS2V5ICsgY29sbGVjdGlvbi50ZXJtVG9vbHRpcEtleSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiY29sbGVjdGlvblwiIGZ4RmxleFxyXG4gICAgICAgICAgW2NsYXNzLm1hdC1yYWRpby1jaGVja2VkXT1cImNvbGxlY3Rpb24uZGVmYXVsdCB8fCBjb2xsZWN0aW9uPT09c2VsZWN0ZWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImNvbGxlY3Rpb24udGVybUlkICE9PSBudWxsICYmIGNvbGxlY3Rpb24udGVybUVudHJpZXM8PTAgfHwgY29sbGVjdGlvbi5kZWZhdWx0XCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tLXNlbWktYm9sZFwiXHJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiY29sbGVjdGlvbi50ZXJtVG9vbHRpcEtleT8gJycgOiBjb2xsZWN0aW9uLm5hbWVcIj5cclxuICAgICAgICAgICAgICB7e2NvbGxlY3Rpb24ubmFtZX19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVmYXVsdC1iYWRnZVwiICpuZ0lmPVwiY29sbGVjdGlvbi5kZWZhdWx0XCI+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVGQVVMVCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb2xsZWN0aW9uLnRlcm1Db3VudFwiIGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbC1ibG9jayB0ZXh0LXNcIj5cclxuICAgICAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgKCdURVJNU19JTl9VU0UnKSB8IHRyYW5zbGF0ZTogeyB0ZXJtQ291bnQ6IGNvbGxlY3Rpb24udGVybUNvdW50IH0gfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29sbGVjdGlvbi5sYXN0VXBkYXRlZFwiIGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbC1ibG9jayB0ZXh0LXNcIj5cclxuICAgICAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgKCdMQVNUX1VQREFURUQnKSB8IHRyYW5zbGF0ZTogeyBkYXRlOiBjb2xsZWN0aW9uLmxhc3RVcGRhdGVkIHwgZGF0ZUFnbyB9IH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb24tbGFiZWwtYmxvY2sgY29sbGVjdGlvbi1zdGF0dXMtbGFiZWxzIHRleHQtc1wiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbGxlY3Rpb24ubXRTdGF0dXMgPT09IGNvbGxlY3Rpb25FcnJvclN0YXR1c1wiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMC4yNXJlbVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY29sbGVjdGlvbi1saXN0LWVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICBlcnJvclxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb2xsZWN0aW9uLm10Q29sbGVjdGlvbj8uc3ViU3RhdHVzID09PSBjb2xsZWN0aW9uSW1wb3J0aW5nRXJyb3JTdWJTdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIHt7IGxvY2FsaXphdGlvbktleSArICdFUlJPUlMuJyArICggY29sbGVjdGlvbi5tdENvbGxlY3Rpb24uc3ViU3RhdHVzIHwgdXBwZXJjYXNlICkgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29sbGVjdGlvbi5pc0ltcG9ydGluZ1wiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIyMFwiPiA8L21hdC1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgdG9vbHRpcExvY2FsaXphdGlvbktleSArIFwiSU1QT1JUSU5HXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjb2xsZWN0aW9uLnN5bmNCdXR0b25WaXNpYmxlXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYXR0YWNoKGNvbGxlY3Rpb24pXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcExvY2FsaXphdGlvbktleSArICdTWU5DJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwidGV4dC1zXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwdC0xXCI+c3luYzwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIlNZTkNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0VkaXRQZXJtaXNzaW9uc1wiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiY29sbGVjdGlvbi1saXN0LWVkaXRcIiBtYXQtaWNvbi1idXR0b24gdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udGVybVRvb2x0aXBLZXk/ICcnIDogKHRvb2x0aXBMb2NhbGl6YXRpb25LZXkgKyAnRURJVCcgfCB0cmFuc2xhdGUpXCJcclxuICAgICAgICAgIFthdHRyLmhyZWZdPVwiZ2V0RWRpdExpbmsoY29sbGVjdGlvbilcIiAqbmdJZj1cImNvbGxlY3Rpb24udGVybUNvbGxlY3Rpb25cIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG48L2Rpdj5cclxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFnQixHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLDhCQUE4QjtJQTRDWjtJQUNWO0lBQ0E7SUFDQTtJQUNBO0lBL0NWLE1BQU0sQ0FBK0U7SUFFOUYsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUF1QjtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFtQztJQUU5QyxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSx1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QUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3RGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3hILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzFILENBQUM7SUFFTyx1QkFBdUIsR0FBRyxDQUFDLENBQXFCLEVBQUUsQ0FBcUIsRUFBRSxFQUFFO1FBQ2pGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDLENBQUE7dUdBaEdVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDhGQ2hCM0MsazNKQWlHQTs7MkZEakZhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSwwQkFBMEI7NE9BSzNCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbHMvY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvblN0YXR1cyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVscy9tdC1jb2xsZWN0aW9uLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHsgVGVybUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZXJtLWFwaS90ZXJtLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVybWlub2xvZ3kuc2VydmljZSc7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uU3ViU3RhdHVzIH0gZnJvbSAnLi4vc2VydmljZXMvZW5naW5lLXRlcm0vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRlcm0tY29sbGVjdGlvbi1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVGVybUNvbGxlY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHN5c3RlbTogeyBzeXN0ZW1JZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcgfTtcclxuXHJcbiAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkKHZhbDogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zZWxlY3RlZCA9IHZhbDtcclxuICB9XHJcblxyXG4gIGNvbGxlY3Rpb25zOiBPYnNlcnZhYmxlPENvbWJpbmVkQ29sbGVjdGlvbltdPjtcclxuXHJcbiAgZ2V0IGhhc0FueUNvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmhhc0FueUNvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUmVmcmVzaGluZ0NvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlPy5pc1JlZnJlc2hpbmdDb2xsZWN0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBoYXNFZGl0UGVybWlzc2lvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFzRWRpdFBlcm1pc3Npb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFwcE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBOYW1lO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgbG9jYWxpemF0aW9uS2V5ID0gXCJURVJNX0NPTExFQ1RJT05TLlwiO1xyXG4gIHJlYWRvbmx5IHRvb2x0aXBMb2NhbGl6YXRpb25LZXkgPSBcIlRFUk1fQ09MTEVDVElPTlMuVE9PTFRJUFMuXCI7XHJcbiAgcmVhZG9ubHkgcmVhZHlTdGF0dXMgPSBcIlJlYWR5XCI7XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuICBwcml2YXRlIHRhcmdldExhbmd1YWdlQ29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZVRyYW5zbGF0aW9uczogYW55O1xyXG4gIHByaXZhdGUgbGFuZ3VhZ2VzVHJhbnNsYXRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHNvdXJjZUxhbmdUcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgdGFyZ2V0TGFuZ1RyYW5zbGF0ZWQ6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkVycm9yU3RhdHVzID0gTXRDb2xsZWN0aW9uU3RhdHVzLkVSUk9SO1xyXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25JbXBvcnRpbmdFcnJvclN1YlN0YXR1cyA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU3ViU3RhdHVzLkVSUk9SX0lNUE9SVElORztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0bGRTeXN0ZW06IFRsZFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlcm1BcGlTZXJ2aWNlOiBUZXJtQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb25zID0gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuZGF0YVVwZGF0ZSgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5kYXRhXS5zb3J0KHRoaXMuY29sbGVjdGlvbnNTb3J0RnVuY3Rpb24pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmxhbmd1YWdlc1RyYW5zbGF0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oXCJMQU5HVUFHRVNcIikuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zID0gcmVzcG9uc2U7XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZUxhbmd1YWdlVHJhbnNsYXRpb25zKCk7XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnN1YnNjcmliZSgoYWN0aXZlKSA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlID0gdGhpcy5zeXN0ZW0/LnNvdXJjZUxhbmd1YWdlQ29kZSA/PyBhY3RpdmUuc291cmNlTGFuZy5sYW5nO1xyXG4gICAgICB0aGlzLnRhcmdldExhbmd1YWdlQ29kZSA9IHRoaXMuc3lzdGVtPy50YXJnZXRMYW5ndWFnZUNvZGUgPz8gYWN0aXZlLnRhcmdldExhbmcubGFuZztcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlTGFuZ3VhZ2VUcmFuc2xhdGlvbnMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxhbmd1YWdlc1RyYW5zbGF0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdExpbmsoY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQXBpU2VydmljZS5nZXRFZGl0TGluayhjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uPy5pZCwgdGhpcy5zb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICB9XHJcblxyXG4gIGF0dGFjaChjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnN5bmMoY29sbGVjdGlvbikuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxhbmd1YWdlVHJhbnNsYXRpb25zKCkge1xyXG4gICAgaWYgKCF0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zIHx8ICF0aGlzLnNvdXJjZUxhbmd1YWdlQ29kZSB8fCAhdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc291cmNlTGFuZ1RyYW5zbGF0ZWQgPSB0aGlzLmxhbmd1YWdlVHJhbnNsYXRpb25zW3RoaXMuc291cmNlTGFuZ3VhZ2VDb2RlLnRvVXBwZXJDYXNlKCldID8/IHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlO1xyXG4gICAgdGhpcy50YXJnZXRMYW5nVHJhbnNsYXRlZCA9IHRoaXMubGFuZ3VhZ2VUcmFuc2xhdGlvbnNbdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUudG9VcHBlckNhc2UoKV0gPz8gdGhpcy50YXJnZXRMYW5ndWFnZUNvZGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbGxlY3Rpb25zU29ydEZ1bmN0aW9uID0gKGE6IENvbWJpbmVkQ29sbGVjdGlvbiwgYjogQ29tYmluZWRDb2xsZWN0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gTnVtYmVyKGEuZGVmYXVsdCkgLSBOdW1iZXIoYi5kZWZhdWx0KSB8fCBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpO1xyXG4gIH1cclxufVxyXG4iLCI8aGVhZGVyIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC1oZWFkZXJcIj5cclxuICA8aDEgY2xhc3M9XCJ0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICA8c3Bhbj57e2xvY2FsaXphdGlvbktleSArICdUSVRMRScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2gxPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvbiB0ZXh0LXNcIj5cclxuICAgICAgPHNwYW4+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvbiB0ZXh0LXNcIj5cclxuICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgJ0RFU0NSSVBUSU9OX0VNUFRZJyB8IHRyYW5zbGF0ZToge3NyY0xhbmc6IHNvdXJjZUxhbmdUcmFuc2xhdGVkLCB0cmdMYW5nOiB0YXJnZXRMYW5nVHJhbnNsYXRlZH0gfX1cclxuICAgIDwvcD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWR2aWNlXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwidGVybS13aW5kb3ctZGVzY3JpcHRpb24gdGV4dC1zXCI+XHJcbiAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgJ0RFU0NSSVBUSU9OX0VNUFRZX0FEVklDRScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvaGVhZGVyPlxyXG48ZGl2ICpuZ0lmPVwiaGFzQW55Q29sbGVjdGlvbnNcIiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3QtYm9keVwiPlxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgW2F0dHIuYXJpYS1sYWJlbF09XCJsb2NhbGl6YXRpb25LZXkgKyAnQVJJQV9MQUJFTFMuUkFESU9fR1JPVVAnIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiPlxyXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cIm5vbmUtb3B0aW9uXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJudWxsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW0tc2VtaS1ib2xkXCI+XHJcbiAgICAgICAgICB7e2xvY2FsaXphdGlvbktleSArICdTRUxFQ1RFRF9OT05FJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgKm5nRm9yPVwibGV0IGNvbGxlY3Rpb24gb2YgY29sbGVjdGlvbnMgfCBhc3luY1wiXHJcbiAgICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjb2xsZWN0aW9uLnRlcm1Ub29sdGlwS2V5PyAodG9vbHRpcExvY2FsaXphdGlvbktleSArIGNvbGxlY3Rpb24udGVybVRvb2x0aXBLZXkgfCB0cmFuc2xhdGUpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cImNvbGxlY3Rpb25cIiBmeEZsZXhcclxuICAgICAgICAgIFtjbGFzcy5tYXQtcmFkaW8tY2hlY2tlZF09XCJjb2xsZWN0aW9uLmRlZmF1bHQgfHwgY29sbGVjdGlvbj09PXNlbGVjdGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb2xsZWN0aW9uLnRlcm1JZCAhPT0gbnVsbCAmJiBjb2xsZWN0aW9uLnRlcm1FbnRyaWVzPD0wIHx8IGNvbGxlY3Rpb24uZGVmYXVsdFwiXHJcbiAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbS1zZW1pLWJvbGRcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udGVybVRvb2x0aXBLZXk/ICcnIDogY29sbGVjdGlvbi5uYW1lXCI+XHJcbiAgICAgICAgICAgICAge3tjb2xsZWN0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlZmF1bHQtYmFkZ2VcIiAqbmdJZj1cImNvbGxlY3Rpb24uZGVmYXVsdFwiPnt7bG9jYWxpemF0aW9uS2V5ICsgJ0RFRkFVTFQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29sbGVjdGlvbi50ZXJtQ291bnRcIiBjbGFzcz1cImNvbGxlY3Rpb24tbGFiZWwtYmxvY2sgdGV4dC1zXCI+XHJcbiAgICAgICAgICAgIHt7IGxvY2FsaXphdGlvbktleSArICgnVEVSTVNfSU5fVVNFJykgfCB0cmFuc2xhdGU6IHsgdGVybUNvdW50OiBjb2xsZWN0aW9uLnRlcm1Db3VudCB9IH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbGxlY3Rpb24ubGFzdFVwZGF0ZWRcIiBjbGFzcz1cImNvbGxlY3Rpb24tbGFiZWwtYmxvY2sgdGV4dC1zXCI+XHJcbiAgICAgICAgICAgIHt7IGxvY2FsaXphdGlvbktleSArICgnTEFTVF9VUERBVEVEJykgfCB0cmFuc2xhdGU6IHsgZGF0ZTogY29sbGVjdGlvbi5sYXN0VXBkYXRlZCB8IGRhdGVBZ28gfSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWxhYmVsLWJsb2NrIGNvbGxlY3Rpb24tc3RhdHVzLWxhYmVscyB0ZXh0LXNcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjAuNXJlbVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xsZWN0aW9uLm10U3RhdHVzID09PSBjb2xsZWN0aW9uRXJyb3JTdGF0dXNcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjAuMjVyZW1cIj5cclxuICAgICAgICAgICAgICA8c3BhbiAgY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGNvbGxlY3Rpb24tbGlzdC1lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgZXJyb3JcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29sbGVjdGlvbi5tdENvbGxlY3Rpb24/LnN1YlN0YXR1cyA9PT0gY29sbGVjdGlvbkltcG9ydGluZ0Vycm9yU3ViU3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyAnRVJST1JTLicgKyAoIGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uLnN1YlN0YXR1cyB8IHVwcGVyY2FzZSApIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbGxlY3Rpb24uaXNJbXBvcnRpbmdcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMjBcIj4gPC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIHt7IHRvb2x0aXBMb2NhbGl6YXRpb25LZXkgKyBcIklNUE9SVElOR1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29sbGVjdGlvbi5zeW5jQnV0dG9uVmlzaWJsZVwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImF0dGFjaChjb2xsZWN0aW9uKVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBMb2NhbGl6YXRpb25LZXkgKyAnU1lOQycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cInRleHQtc1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicHQtMVwiPnN5bmM8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgXCJTWU5DXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNFZGl0UGVybWlzc2lvbnNcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImNvbGxlY3Rpb24tbGlzdC1lZGl0XCIgbWF0LWljb24tYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb2xsZWN0aW9uLnRlcm1Ub29sdGlwS2V5PyAnJyA6ICh0b29sdGlwTG9jYWxpemF0aW9uS2V5ICsgJ0VESVQnIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICBbYXR0ci5ocmVmXT1cImdldEVkaXRMaW5rKGNvbGxlY3Rpb24pXCIgKm5nSWY9XCJjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1yYWRpby1ncm91cD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -64,11 +64,11 @@ export class TldTranslateSourceComponent {
64
64
  this.extendedFileTypesString = this.extendedFileTypes.join(", ").replace(/\./g, '');
65
65
  }
66
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TldTranslateSourceComponent, deps: [{ token: i1.TldTranslateConfigService }, { token: i2.TldTranslateTextService }], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: { textareaDisabled: "textareaDisabled", sourceParagraphs: "sourceParagraphs" }, ngImport: i0, template: "<div class=\"tld-translate-source-wrapper\" fxFlex fxLayout=\"column\">\r\n <div class=\"source-input-wrapper\" fxFlex>\r\n <tld-textarea-with-background *ngIf=\"!isDictating\" [textareaDisabled]=\"textareaDisabled\" [highlight]=\"highlight\"\r\n [autoFocuss]=\"autoFocuss\" [highlightTree]=\"sourceParagraphs\" [gramCheck]=\"gramCheck\" fxFlex\r\n [maxCharLength]=\"maxCharLength\"></tld-textarea-with-background>\r\n <div *ngIf=\"isDictating\" class=\"asr-result-wrapper\">\r\n <span class=\"asr-result\">\r\n {{sourceText}}\r\n </span>\r\n <span class=\"asr-hypothesis\">\r\n {{sourceTextHypothesis}}\r\n </span>\r\n </div>\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"showPlaceHolder\" class=\"description-text tld-trg-placeholder\">\r\n <div fxFlex>\r\n <p\r\n [innerHtml]=\"(webTranslation?'TLD_TRANSLATE.SOURCE_TOOLTIP':'TLD_TRANSLATE.SOURCE_TOOLTIP_ONLY_TEXT') | translate: {appName: appName}\">\r\n </p>\r\n <ng-container *ngIf=\"showSensitiveInfoTooltip\">\r\n <br fxHide.xs />\r\n <p>{{'TLD_TRANSLATE.SOURCE_TOOLTIP_SENSITIVE_INFO' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showExtensions\" class=\"extension-container\">\r\n <ng-container *ngIf=\"!isAuth\">\r\n <p class=\"description-smaller\">\r\n <span>{{'TLD_TRANSLATE.SOURCE_FORMATS' | translate: { formats:acceptedTypesString, limit:wordLimit, appName:\r\n appName} }}</span>\r\n <span *ngIf=\"!showExtensionsUnauthOnly\">{{'TLD_TRANSLATE.SOURCE_WORD_LIMIT' | translate: {\r\n formats:acceptedTypesString, limit:wordLimit, appName: appName} }}</span>\r\n </p>\r\n\r\n <ng-container *ngIf=\"!showExtensionsUnauthOnly\">\r\n <br fxHide.xs />\r\n <p class=\"description-smaller\" *ngIf=\" !isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <p class=\"description-smaller\" *ngIf=\"isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS_LOGGED_IN' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </p>\r\n </div>\r\n </div>\r\n</div>", styles: ["textarea{resize:none!important;outline:none;border:none;font-size:1em;z-index:1;background-color:transparent;font-family:Inter,sans-serif;padding:0;line-height:1.5;word-break:break-word;padding:1em!important;caret-color:#000!important}.tld-translate-source-wrapper{position:relative;cursor:text}.source-input-wrapper{position:relative}.tld-trg-placeholder{padding:1em 1em 0 2em;position:absolute;height:100%;width:100%;font-size:1em}.tld-trg-placeholder p{margin:0}.extension-container{z-index:2}.asr-result-wrapper{margin:1em}.asr-result-wrapper .asr-hypothesis{color:gray}@media (max-width: 768px){.tld-trg-placeholder{padding:1em 1em 0}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "component", type: i6.TextareaWithBackgroundComponent, selector: "tld-textarea-with-background", inputs: ["maxCharLength", "autoFocuss", "highlightTree", "highlight", "gramCheck", "textareaDisabled"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: { textareaDisabled: "textareaDisabled", sourceParagraphs: "sourceParagraphs" }, ngImport: i0, template: "<div class=\"tld-translate-source-wrapper\" fxFlex fxLayout=\"column\">\r\n <div class=\"source-input-wrapper\" fxFlex>\r\n <tld-textarea-with-background *ngIf=\"!isDictating\" [textareaDisabled]=\"textareaDisabled\" [highlight]=\"highlight\"\r\n [autoFocuss]=\"autoFocuss\" [highlightTree]=\"sourceParagraphs\" [gramCheck]=\"gramCheck\" fxFlex\r\n [maxCharLength]=\"maxCharLength\"></tld-textarea-with-background>\r\n <div *ngIf=\"isDictating\" class=\"asr-result-wrapper\">\r\n <span class=\"asr-result\">\r\n {{sourceText}}\r\n </span>\r\n <span class=\"asr-hypothesis\">\r\n {{sourceTextHypothesis}}\r\n </span>\r\n </div>\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"showPlaceHolder\" class=\"description-text tld-trg-placeholder\">\r\n <div fxFlex>\r\n <p\r\n [innerHtml]=\"(webTranslation?'TLD_TRANSLATE.SOURCE_TOOLTIP':'TLD_TRANSLATE.SOURCE_TOOLTIP_ONLY_TEXT') | translate: {appName: appName}\">\r\n </p>\r\n <ng-container *ngIf=\"showSensitiveInfoTooltip\">\r\n <br fxHide.xs />\r\n <p>{{'TLD_TRANSLATE.SOURCE_TOOLTIP_SENSITIVE_INFO' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showExtensions\" class=\"extension-container\">\r\n <ng-container *ngIf=\"!isAuth\">\r\n <p class=\"description-smaller\">\r\n <span>{{'TLD_TRANSLATE.SOURCE_FORMATS' | translate: { formats:acceptedTypesString, limit:wordLimit, appName:\r\n appName} }}</span>\r\n <span *ngIf=\"!showExtensionsUnauthOnly\">{{'TLD_TRANSLATE.SOURCE_WORD_LIMIT' | translate: {\r\n formats:acceptedTypesString, limit:wordLimit, appName: appName} }}</span>\r\n </p>\r\n\r\n <ng-container *ngIf=\"!showExtensionsUnauthOnly\">\r\n <br fxHide.xs />\r\n <p class=\"description-smaller\" *ngIf=\" !isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <p class=\"description-smaller\" *ngIf=\"isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS_LOGGED_IN' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </p>\r\n </div>\r\n </div>\r\n</div>", styles: ["textarea{resize:none!important;outline:none;border:none;font-size:1em;z-index:1;background-color:transparent;font-family:Inter,sans-serif;padding:0;line-height:1.5;word-break:break-word;padding:1em!important;caret-color:#000!important}.tld-translate-source-wrapper{position:relative;cursor:text}.source-input-wrapper{position:relative}.tld-trg-placeholder{padding:1em 1em 0;position:absolute;height:100%;width:100%;font-size:1em}.tld-trg-placeholder p{margin:0}.extension-container{z-index:2}.asr-result-wrapper{margin:1em}.asr-result-wrapper .asr-hypothesis{color:gray}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "component", type: i6.TextareaWithBackgroundComponent, selector: "tld-textarea-with-background", inputs: ["maxCharLength", "autoFocuss", "highlightTree", "highlight", "gramCheck", "textareaDisabled"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TldTranslateSourceComponent, decorators: [{
70
70
  type: Component,
71
- args: [{ selector: 'tld-translate-source', template: "<div class=\"tld-translate-source-wrapper\" fxFlex fxLayout=\"column\">\r\n <div class=\"source-input-wrapper\" fxFlex>\r\n <tld-textarea-with-background *ngIf=\"!isDictating\" [textareaDisabled]=\"textareaDisabled\" [highlight]=\"highlight\"\r\n [autoFocuss]=\"autoFocuss\" [highlightTree]=\"sourceParagraphs\" [gramCheck]=\"gramCheck\" fxFlex\r\n [maxCharLength]=\"maxCharLength\"></tld-textarea-with-background>\r\n <div *ngIf=\"isDictating\" class=\"asr-result-wrapper\">\r\n <span class=\"asr-result\">\r\n {{sourceText}}\r\n </span>\r\n <span class=\"asr-hypothesis\">\r\n {{sourceTextHypothesis}}\r\n </span>\r\n </div>\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"showPlaceHolder\" class=\"description-text tld-trg-placeholder\">\r\n <div fxFlex>\r\n <p\r\n [innerHtml]=\"(webTranslation?'TLD_TRANSLATE.SOURCE_TOOLTIP':'TLD_TRANSLATE.SOURCE_TOOLTIP_ONLY_TEXT') | translate: {appName: appName}\">\r\n </p>\r\n <ng-container *ngIf=\"showSensitiveInfoTooltip\">\r\n <br fxHide.xs />\r\n <p>{{'TLD_TRANSLATE.SOURCE_TOOLTIP_SENSITIVE_INFO' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showExtensions\" class=\"extension-container\">\r\n <ng-container *ngIf=\"!isAuth\">\r\n <p class=\"description-smaller\">\r\n <span>{{'TLD_TRANSLATE.SOURCE_FORMATS' | translate: { formats:acceptedTypesString, limit:wordLimit, appName:\r\n appName} }}</span>\r\n <span *ngIf=\"!showExtensionsUnauthOnly\">{{'TLD_TRANSLATE.SOURCE_WORD_LIMIT' | translate: {\r\n formats:acceptedTypesString, limit:wordLimit, appName: appName} }}</span>\r\n </p>\r\n\r\n <ng-container *ngIf=\"!showExtensionsUnauthOnly\">\r\n <br fxHide.xs />\r\n <p class=\"description-smaller\" *ngIf=\" !isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <p class=\"description-smaller\" *ngIf=\"isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS_LOGGED_IN' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </p>\r\n </div>\r\n </div>\r\n</div>", styles: ["textarea{resize:none!important;outline:none;border:none;font-size:1em;z-index:1;background-color:transparent;font-family:Inter,sans-serif;padding:0;line-height:1.5;word-break:break-word;padding:1em!important;caret-color:#000!important}.tld-translate-source-wrapper{position:relative;cursor:text}.source-input-wrapper{position:relative}.tld-trg-placeholder{padding:1em 1em 0 2em;position:absolute;height:100%;width:100%;font-size:1em}.tld-trg-placeholder p{margin:0}.extension-container{z-index:2}.asr-result-wrapper{margin:1em}.asr-result-wrapper .asr-hypothesis{color:gray}@media (max-width: 768px){.tld-trg-placeholder{padding:1em 1em 0}}\n"] }]
71
+ args: [{ selector: 'tld-translate-source', template: "<div class=\"tld-translate-source-wrapper\" fxFlex fxLayout=\"column\">\r\n <div class=\"source-input-wrapper\" fxFlex>\r\n <tld-textarea-with-background *ngIf=\"!isDictating\" [textareaDisabled]=\"textareaDisabled\" [highlight]=\"highlight\"\r\n [autoFocuss]=\"autoFocuss\" [highlightTree]=\"sourceParagraphs\" [gramCheck]=\"gramCheck\" fxFlex\r\n [maxCharLength]=\"maxCharLength\"></tld-textarea-with-background>\r\n <div *ngIf=\"isDictating\" class=\"asr-result-wrapper\">\r\n <span class=\"asr-result\">\r\n {{sourceText}}\r\n </span>\r\n <span class=\"asr-hypothesis\">\r\n {{sourceTextHypothesis}}\r\n </span>\r\n </div>\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"showPlaceHolder\" class=\"description-text tld-trg-placeholder\">\r\n <div fxFlex>\r\n <p\r\n [innerHtml]=\"(webTranslation?'TLD_TRANSLATE.SOURCE_TOOLTIP':'TLD_TRANSLATE.SOURCE_TOOLTIP_ONLY_TEXT') | translate: {appName: appName}\">\r\n </p>\r\n <ng-container *ngIf=\"showSensitiveInfoTooltip\">\r\n <br fxHide.xs />\r\n <p>{{'TLD_TRANSLATE.SOURCE_TOOLTIP_SENSITIVE_INFO' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showExtensions\" class=\"extension-container\">\r\n <ng-container *ngIf=\"!isAuth\">\r\n <p class=\"description-smaller\">\r\n <span>{{'TLD_TRANSLATE.SOURCE_FORMATS' | translate: { formats:acceptedTypesString, limit:wordLimit, appName:\r\n appName} }}</span>\r\n <span *ngIf=\"!showExtensionsUnauthOnly\">{{'TLD_TRANSLATE.SOURCE_WORD_LIMIT' | translate: {\r\n formats:acceptedTypesString, limit:wordLimit, appName: appName} }}</span>\r\n </p>\r\n\r\n <ng-container *ngIf=\"!showExtensionsUnauthOnly\">\r\n <br fxHide.xs />\r\n <p class=\"description-smaller\" *ngIf=\" !isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <p class=\"description-smaller\" *ngIf=\"isAuth\"\r\n [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS_LOGGED_IN' | translate: { formats:extendedFileTypesString, limit:wordLimit, registerLink:registerLink, appName: appName }\">\r\n </p>\r\n </div>\r\n </div>\r\n</div>", styles: ["textarea{resize:none!important;outline:none;border:none;font-size:1em;z-index:1;background-color:transparent;font-family:Inter,sans-serif;padding:0;line-height:1.5;word-break:break-word;padding:1em!important;caret-color:#000!important}.tld-translate-source-wrapper{position:relative;cursor:text}.source-input-wrapper{position:relative}.tld-trg-placeholder{padding:1em 1em 0;position:absolute;height:100%;width:100%;font-size:1em}.tld-trg-placeholder p{margin:0}.extension-container{z-index:2}.asr-result-wrapper{margin:1em}.asr-result-wrapper .asr-hypothesis{color:gray}\n"] }]
72
72
  }], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }, { type: i2.TldTranslateTextService }]; }, propDecorators: { textareaDisabled: [{
73
73
  type: Input
74
74
  }], sourceParagraphs: [{