@dsivd/prestations-ng 15.2.0 → 15.2.3-beta1

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.
@@ -1,3 +1,3 @@
1
1
  export class FoehnTableColumnConfiguration {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdGFibGUvZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDZCQUE2QjtDQU96QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjxUPiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb2x1bW5MYWJlbEtleTogc3RyaW5nO1xuICAgIGlzSW1wb3J0YW50PzogKGl0ZW06IFQpID0+IGJvb2xlYW47XG4gICAgdmFsdWVHZXR0ZXI6IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gICAgcm91dGVyTGlua0dldHRlcj86IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gICAgc29ydEF0dHJpYnV0ZT86IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdGFibGUvZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDZCQUE2QjtDQWF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW5yZXNvbHZlZFxuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtY29tbW9uLXR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPFQ+IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbHVtbkxhYmVsS2V5OiBzdHJpbmc7XG4gICAgaXNJbXBvcnRhbnQ/OiAoaXRlbTogVCkgPT4gYm9vbGVhbjtcbiAgICBpY29uR2V0dGVyPzogKFxuICAgICAgICBpdGVtOiBUXG4gICAgKSA9PiB7XG4gICAgICAgIGljb246IEljb25EZWZpbml0aW9uO1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH07XG4gICAgdmFsdWVHZXR0ZXI6IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gICAgcm91dGVyTGlua0dldHRlcj86IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gICAgc29ydEF0dHJpYnV0ZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -3,11 +3,12 @@ import { ObjectHelper } from '../helpers/object.helper';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../foehn-icons/foehn-icon-chevron-up.component";
5
5
  import * as i2 from "../foehn-icons/foehn-icon-chevron-down.component";
6
- import * as i3 from "../foehn-icons/foehn-icon-chevron-left.component";
7
- import * as i4 from "../foehn-icons/foehn-icon-chevron-right.component";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/router";
10
- import * as i7 from "../sdk-dictionary/sdk-dictionary.pipe";
6
+ import * as i3 from "@fortawesome/angular-fontawesome";
7
+ import * as i4 from "../foehn-icons/foehn-icon-chevron-left.component";
8
+ import * as i5 from "../foehn-icons/foehn-icon-chevron-right.component";
9
+ import * as i6 from "@angular/common";
10
+ import * as i7 from "@angular/router";
11
+ import * as i8 from "../sdk-dictionary/sdk-dictionary.pipe";
11
12
  const hasInputChanged = (change) => change && !ObjectHelper.isEqual(change.previousValue, change.currentValue);
12
13
  export class FoehnTableComponent {
13
14
  constructor() {
@@ -113,11 +114,13 @@ export class FoehnTableComponent {
113
114
  }
114
115
  }
115
116
  FoehnTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
- FoehnTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: i1.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: i3.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i4.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "fromDictionary": i7.SdkDictionaryPipe } });
117
+ FoehnTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnTableComponent, selector: "foehn-table", inputs: { actionButtonsTemplate: "actionButtonsTemplate", itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n <th *ngIf=\"!!actionButtonsTemplate\">\n <span\n [innerHTML]=\"\n 'foehn-table.header.actions' | fromDictionary\n \"\n ></span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n <td *ngIf=\"!!actionButtonsTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"actionButtonsTemplate\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: i1.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "fromDictionary": i8.SdkDictionaryPipe } });
117
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnTableComponent, decorators: [{
118
119
  type: Component,
119
- args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
120
- }], propDecorators: { itemsPerPage: [{
120
+ args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n <th *ngIf=\"!!actionButtonsTemplate\">\n <span\n [innerHTML]=\"\n 'foehn-table.header.actions' | fromDictionary\n \"\n ></span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n <td *ngIf=\"!!actionButtonsTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"actionButtonsTemplate\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
121
+ }], propDecorators: { actionButtonsTemplate: [{
122
+ type: Input
123
+ }], itemsPerPage: [{
121
124
  type: Input
122
125
  }], id: [{
123
126
  type: Input
@@ -144,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
144
147
  trackByFn: [{
145
148
  type: Input
146
149
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXhELE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBb0IsRUFBVyxFQUFFLENBQ3RELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFPL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9JLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBR2xCLE9BQUUsR0FBRyxhQUFhLENBQUM7UUFHbkIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFHNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQVl0QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFNM0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFFM0MsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsaUJBQVksR0FBYyxFQUFFLENBQUM7UUFVN0IsNkRBQTZEO1FBQzdELGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztLQTRHL0Q7SUFuSEcsSUFDSSxJQUFJLENBQUMsSUFBZTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFH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QUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFJTixVQUFVO3NCQURULE1BQU07Z0JBSVAsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFVSCxJQUFJO3NCQURQLEtBQUs7O1FBTU4sNkRBQTZEO1FBQzdELFNBQVM7c0JBRlIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5UYWJsZVBhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vZm9laG4tdGFibGUtcGFnZS1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2ZvZWhuLXRhYmxlLWNvbHVtbi1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFRhYmxlU29ydCB9IGZyb20gJy4vdGFibGVTb3J0JztcbmltcG9ydCB7IE9iamVjdEhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0LmhlbHBlcic7XG5cbmNvbnN0IGhhc0lucHV0Q2hhbmdlZCA9IChjaGFuZ2U6IFNpbXBsZUNoYW5nZSk6IGJvb2xlYW4gPT5cbiAgICBjaGFuZ2UgJiYgIU9iamVjdEhlbHBlci5pc0VxdWFsKGNoYW5nZS5wcmV2aW91c1ZhbHVlLCBjaGFuZ2UuY3VycmVudFZhbHVlKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi10YWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi10YWJsZS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBpdGVtc1BlclBhZ2UgPSAxMDtcblxuICAgIEBJbnB1dCgpXG4gICAgaWQgPSAnZm9laG4tdGFibGUnO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2aW91c0xhYmVsID0gJ1Byw6ljw6lkZW50JztcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ1N1aXZhbnQnO1xuXG4gICAgQElucHV0KClcbiAgICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkUGFnZUNvdW50OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbHVtbnNDb25maWd1cmF0aW9uOiBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjx1bmtub3duPltdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9laG5UYWJsZVBhZ2VDaGFuZ2VFdmVudD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc29ydDogVGFibGVTb3J0O1xuXG4gICAgQE91dHB1dCgpXG4gICAgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVTb3J0PigpO1xuXG4gICAgY3VycmVudFBhZ2UgPSAxO1xuXG4gICAgZmlsdGVyZWRMaXN0OiB1bmtub3duW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2xpc3Q6IHVua25vd25bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpc3QobGlzdDogdW5rbm93bltdKSB7XG4gICAgICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHRyYWNrQnlGbiA9IChpbmRleDogbnVtYmVyLCBpdGVtOiB1bmtub3duKTogbnVtYmVyID0+IGluZGV4O1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtc1BlclBhZ2VDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBsaXN0Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmxpc3Q7XG4gICAgICAgIGNvbnN0IGZpeGVkUGFnZUNvdW50Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmZpeGVkUGFnZUNvdW50O1xuICAgICAgICBjb25zdCBzb3J0SW5wdXRDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuc29ydDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKGl0ZW1zUGVyUGFnZUNoYW5nZSkgJiZcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQobGlzdENoYW5nZSkgJiZcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoZml4ZWRQYWdlQ291bnRDaGFuZ2UpICYmXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKHNvcnRJbnB1dENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlICsgMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID4gMTtcbiAgICB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgKyAxO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLnBhZ2VzQ291bnQoKTtcbiAgICB9XG5cbiAgICBzaG93UGFnZShwYWdlOiBudW1iZXIsIGVtaXRQYWdlQ2hhbmdlRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gcGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNQYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICBpZiAoZW1pdFBhZ2VDaGFuZ2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgICAgIHByZXZpb3VzUGFnZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhZ2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCEhdGhpcy5maXhlZFBhZ2VDb3VudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fbGlzdFxuICAgICAgICAgICAgPyBNYXRoLmNlaWwodGhpcy5fbGlzdC5sZW5ndGggLyB0aGlzLml0ZW1zUGVyUGFnZSlcbiAgICAgICAgICAgIDogMDtcbiAgICB9XG5cbiAgICB0cmlnZ2VyU29ydChzb3J0QXR0cmlidXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNvcnREaXJlY3Rpb246ICdERVNDJyB8ICdBU0MnID0gJ0RFU0MnO1xuICAgICAgICBpZiAodGhpcy5zb3J0LnNvcnRBdHRyaWJ1dGUgPT09IHNvcnRBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0RFU0MnID8gJ0FTQycgOiAnREVTQyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNvcnRDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgc29ydEF0dHJpYnV0ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkRmlsdGVyZWRMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Q7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50UGFnZUV4aXN0cyA9XG4gICAgICAgICAgICAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2UgPD0gdGhpcy5fbGlzdC5sZW5ndGg7XG4gICAgICAgIGlmICghY3VycmVudFBhZ2VFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Quc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIiBbaWRdPVwiaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgIDxoNCAqbmdJZj1cIiEhdG90YWxFbGVtZW50cyAmJiB0b3RhbEVsZW1lbnRzID09PSAxXCI+XG4gICAgICAgICAgICB7eyAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4xJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxoNCAqbmdJZj1cIiEhdG90YWxFbGVtZW50cyAmJiB0b3RhbEVsZW1lbnRzICE9PSAxXCI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5OiB7IHRvdGFsOiB0b3RhbEVsZW1lbnRzLnRvU3RyaW5nKCkgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9oND5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgdGFibGUtcmVzcG9uc2l2ZVwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ob3ZlclwiPlxuICAgICAgICAgICAgPHRoZWFkIGNsYXNzPVwidmQtYmctcGF0dGVybi1iYXJzLWdyYXlcIj5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGU9XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZpbHRlcmVkTGlzdC5sZW5ndGggfHwgIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEhZmlsdGVyZWRMaXN0Lmxlbmd0aCAmJiAhIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtdGV4dC10aGluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU29ydChjb2wuc29ydEF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RyaWVyIHBhciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gY29sLnNvcnRBdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0FTQydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzb3J0LnNvcnREaXJlY3Rpb24gPT09ICdERVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1kb3duPjwvZm9laG4taWNvbi1jaGV2cm9uLWRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGZpbHRlcmVkTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc0NvbmZpZ3VyYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbC5pZCArICctJyArIGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhY29sLmlzSW1wb3J0YW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuaXNJbXBvcnRhbnQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIzMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImNvbG9yOiB2YXIoLS1yZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1leGNsYW1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1My41NTMgMCAwIDEtMS4xIDBMNy4xIDQuOTk1elwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2wucm91dGVyTGlua0dldHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY29sLnZhbHVlR2V0dGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsLXZlcnRpY2FsLWFsaWduLW1pZGRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wucm91dGVyTGlua0dldHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNvbC5yb3V0ZXJMaW5rR2V0dGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZz1cIm1lcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsLXZlcnRpY2FsLWFsaWduLW1pZGRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjb2wudmFsdWVHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiISFjb2x1bW5zQ29uZmlndXJhdGlvbiAmJiAhZmlsdGVyZWRMaXN0Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1uc0NvbmZpZ3VyYXRpb24ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4wJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1ByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgYnRuLW5vLWV4dHJhIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0PjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVudFBhZ2UgLSAxIH19IHN1ciB7eyBwYWdlc0NvdW50KCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgY29sLW1kLTMgY29sLXNtLTYgY29sLXhzLTZcIj5cbiAgICAgICAgICAgICAgICA8bmF2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNOZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodD48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSArIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUV4RCxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQW9CLEVBQVcsRUFBRSxDQUN0RCxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBTy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFVSSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUdsQixPQUFFLEdBQUcsYUFBYSxDQUFDO1FBR25CLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBRzVCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFZdEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBTTNELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTNDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLGlCQUFZLEdBQWMsRUFBRSxDQUFDO1FBVTdCLDZEQUE2RDtRQUM3RCxjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBYSxFQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7S0E0Ry9EO0lBbkhHLElBQ0ksSUFBSSxDQUFDLElBQWU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FB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REQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxNQUFNO2dCQVVILElBQUk7c0JBRFAsS0FBSzs7UUFNTiw2REFBNkQ7UUFDN0QsU0FBUztzQkFGUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mb2Vobi10YWJsZS1wYWdlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVGFibGVTb3J0IH0gZnJvbSAnLi90YWJsZVNvcnQnO1xuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9vYmplY3QuaGVscGVyJztcblxuY29uc3QgaGFzSW5wdXRDaGFuZ2VkID0gKGNoYW5nZTogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiA9PlxuICAgIGNoYW5nZSAmJiAhT2JqZWN0SGVscGVyLmlzRXF1YWwoY2hhbmdlLnByZXZpb3VzVmFsdWUsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIGFjdGlvbkJ1dHRvbnNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi10YWJsZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZpb3VzTGFiZWwgPSAnUHLDqWPDqWRlbnQnO1xuXG4gICAgQElucHV0KClcbiAgICBuZXh0TGFiZWwgPSAnU3VpdmFudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uc0NvbmZpZ3VyYXRpb246IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPHVua25vd24+W107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgQElucHV0KClcbiAgICBzb3J0OiBUYWJsZVNvcnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJsZVNvcnQ+KCk7XG5cbiAgICBjdXJyZW50UGFnZSA9IDE7XG5cbiAgICBmaWx0ZXJlZExpc3Q6IHVua25vd25bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfbGlzdDogdW5rbm93bltdO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlzdChsaXN0OiB1bmtub3duW10pIHtcbiAgICAgICAgdGhpcy5fbGlzdCA9IGxpc3Q7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IHVua25vd24pOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zUGVyUGFnZUNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIGNvbnN0IGxpc3RDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMubGlzdDtcbiAgICAgICAgY29uc3QgZml4ZWRQYWdlQ291bnRDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIGNvbnN0IHNvcnRJbnB1dENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5zb3J0O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoaXRlbXNQZXJQYWdlQ2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChsaXN0Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChmaXhlZFBhZ2VDb3VudENoYW5nZSkgJiZcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoc29ydElucHV0Q2hhbmdlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlIC0gMTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgKyAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPiAxO1xuICAgIH1cblxuICAgIG5leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSArIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc05leHRQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMucGFnZXNDb3VudCgpO1xuICAgIH1cblxuICAgIHNob3dQYWdlKHBhZ2U6IG51bWJlciwgZW1pdFBhZ2VDaGFuZ2VFdmVudDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID09PSBwYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91c1BhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuXG4gICAgICAgIGlmIChlbWl0UGFnZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYWdlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnZXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maXhlZFBhZ2VDb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9saXN0XG4gICAgICAgICAgICA/IE1hdGguY2VpbCh0aGlzLl9saXN0Lmxlbmd0aCAvIHRoaXMuaXRlbXNQZXJQYWdlKVxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIHRyaWdnZXJTb3J0KHNvcnRBdHRyaWJ1dGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBsZXQgc29ydERpcmVjdGlvbjogJ0RFU0MnIHwgJ0FTQycgPSAnREVTQyc7XG4gICAgICAgIGlmICh0aGlzLnNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gc29ydEF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydC5zb3J0RGlyZWN0aW9uID09PSAnREVTQycgPyAnQVNDJyA6ICdERVNDJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICBzb3J0QXR0cmlidXRlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWx0ZXJlZExpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGlzdCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3RzID1cbiAgICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSA8PSB0aGlzLl9saXN0Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdC5zbGljZShzdGFydCwgc3RhcnQgKyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtpZF09XCJpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgPT09IDFcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgIT09IDFcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgdG90YWw6IHRvdGFsRWxlbWVudHMudG9TdHJpbmcoKSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWJhcnMtZ3JheVwiPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wuaWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmlsdGVyZWRMaXN0Lmxlbmd0aCB8fCAhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiISFmaWx0ZXJlZExpc3QubGVuZ3RoICYmICEhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC10ZXh0LXRoaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJTb3J0KGNvbC5zb3J0QXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJpZXIgcGFyICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydC5zb3J0QXR0cmlidXRlID09PSBjb2wuc29ydEF0dHJpYnV0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic29ydC5zb3J0RGlyZWN0aW9uID09PSAnQVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cD48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0RFU0MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd24+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cIiEhYWN0aW9uQnV0dG9uc1RlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucycgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGZpbHRlcmVkTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc0NvbmZpZ3VyYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbC5pZCArICctJyArIGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhY29sLmlzSW1wb3J0YW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuaXNJbXBvcnRhbnQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIzMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImNvbG9yOiB2YXIoLS1yZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1leGNsYW1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1My41NTMgMCAwIDEtMS4xIDBMNy4xIDQuOTk1elwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhY29sLmljb25HZXR0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pY29uR2V0dGVyKGl0ZW0pIGFzIGljb25EZWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlIG1yLTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRGVmLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImljb25EZWYubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBpY29uRGVmLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjb2wudmFsdWVHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29sLnJvdXRlckxpbmtHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPVwibWVyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbC52YWx1ZUdldHRlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiEhYWN0aW9uQnV0dG9uc1RlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25CdXR0b25zVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIhIWNvbHVtbnNDb25maWd1cmF0aW9uICYmICFmaWx0ZXJlZExpc3QubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zQ29uZmlndXJhdGlvbi5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGNvbC1tZC0zIGNvbC1zbS02IGNvbC14cy02XCI+XG4gICAgICAgICAgICAgICAgPG5hdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSAtIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc05leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIGJ0bi1uby1leHRyYSB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlICsgMSB9fSBzdXIge3sgcGFnZXNDb3VudCgpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -100,6 +100,7 @@ export class GesdemHandlerService {
100
100
  url = `${url}/validated/${reference}`;
101
101
  return this.http.get(url).pipe(tap(this.emitResponse.bind(this)), map(() => true), catchError((response) => this.handleGesdemError(reference, response)));
102
102
  }
103
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
104
  retrieveActionStatut(reference) {
104
105
  let url = 'api';
105
106
  if (this.prefix) {
@@ -156,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
156
157
  providedIn: 'root'
157
158
  }]
158
159
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.ValidationHandlerService }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: i5.GesdemErrorHandlerService }, { type: i6.SessionInfo }]; } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFHSCxVQUFVLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQU12RCxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ1ksSUFBZ0IsRUFDaEIsWUFBZ0MsRUFDaEMsd0JBQWtELEVBQ2xELE1BQWMsRUFDZCxLQUFxQixFQUNyQixtQkFBOEMsRUFDOUMsV0FBd0I7UUFOeEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEyQjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWJwQyw4REFBOEQ7UUFDdEQsMkJBQXNCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFhL0QsQ0FBQztJQUVKLDhEQUE4RDtJQUM5RCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFh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QUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBGb3JtUG9zdFJlc3BvbnNlIH0gZnJvbSAnLi4vZm9ybS1wb3N0LXJlc3BvbnNlJztcbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLWJyb2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VzZGVtRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3Jvd2xUeXBlIH0gZnJvbSAnLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtdHlwZXMnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0IH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdlc2RlbUhhbmRsZXJTZXJ2aWNlIHtcbiAgICBfcHJlZml4OiBzdHJpbmc7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgX3VwZGF0ZUZvcm1EYXRhU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBfbGFzdFJlc3BvbnNlOiBGb3JtUG9zdFJlc3BvbnNlPGFueT47XG4gICAgcHJpdmF0ZSBfY2FwdGNoYVRva2VuOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGdyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBHZXNkZW1FcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mb1xuICAgICkge31cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IGxhc3RSZXNwb25zZSgpOiBGb3JtUG9zdFJlc3BvbnNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IHVwZGF0ZUZvcm1EYXRhU3ViamVjdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBkYXRlRm9ybURhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZWZpeDtcbiAgICB9XG5cbiAgICBzZXQgcHJlZml4KHByZWZpeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ByZWZpeCA9IHByZWZpeDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNhdmUoZm9ybTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGkvdmFsaWRhdGVkJztcbiAgICAgICAgaWYgKHRoaXMucHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5wcmVmaXh9L3ZhbGlkYXRlZGA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0VG9VcmwoZm9ybSwgdXJsKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHBkZihmb3JtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS9wZGYnO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vcGRmYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3RUb1VybChmb3JtLCB1cmwpO1xuICAgIH1cblxuICAgIHNldENhcHRjaGFUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NhcHRjaGFUb2tlbiA9IHRva2VuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZSBkZSBsYSBkZW1hbmRlXG4gICAgICogQHBhcmFtIGZvcmNlUmVmcmVzaElmTmV3IGFsbG93cyB0byBmb3JjZSB0aGUgY2xlYW5pbmcgaWYgcmVmZXJlbmNlIGlzIG51bGxcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZXF1aXJlKHJlZmVyZW5jZT86IHN0cmluZywgZm9yY2VSZWZyZXNoSWZOZXc/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgaXNOZXdSZWZlcmVuY2UgPVxuICAgICAgICAgICAgISFyZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICEhdGhpcy5fbGFzdFJlc3BvbnNlICYmXG4gICAgICAgICAgICAhIXRoaXMuX2xhc3RSZXNwb25zZS5tZXRhICYmXG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2UgIT09IHJlZmVyZW5jZTtcblxuICAgICAgICBjb25zdCByZWZyZXNoT25Ob1JlZmVyZW5jZSA9ICEhZm9yY2VSZWZyZXNoSWZOZXcgJiYgIXJlZmVyZW5jZTtcbiAgICAgICAgaWYgKGlzTmV3UmVmZXJlbmNlIHx8IHJlZnJlc2hPbk5vUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWZlcmVuY2UgJiYgIXRoaXMuX2xhc3RSZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0cmlldmUocmVmZXJlbmNlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRSZXNwb25zZSh0aGlzLl9sYXN0UmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRyYW5zbWl0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCB1cmwgPSAnYXBpL3RyYW5zbWlzc2lvbic7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fS90cmFuc21pc3Npb25gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sYXN0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHVybCArPSBgP3JlZmVyZW5jZT0ke3RoaXMuX2xhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIG51bGwpLnBpcGUoXG4gICAgICAgICAgICB0YXAodGhpcy5lbWl0UmVzcG9uc2UuYmluZCh0aGlzKSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogdW5rbm93bikgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUdlc2RlbUVycm9yKG51bGwsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmV0cmlldmUocmVmZXJlbmNlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaSc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gYCR7dXJsfS92YWxpZGF0ZWQvJHtyZWZlcmVuY2V9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgICAgICAgdGFwKHRoaXMuZW1pdFJlc3BvbnNlLmJpbmQodGhpcykpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihyZWZlcmVuY2UsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHJpZXZlQWN0aW9uU3RhdHV0KHJlZmVyZW5jZTogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25TdGF0dXQ+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH1gO1xuICAgICAgICB9XG4gICAgICAgIHVybCA9IGAke3VybH0vJHtyZWZlcmVuY2V9L2FjdGlvbi1zdGF0dXRgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoc3RhdHVzID0+IHN0YXR1cyBhcyBBY3Rpb25TdGF0dXQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihyZWZlcmVuY2UsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBwb3N0VG9VcmwoZm9ybTogYW55LCB1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0UmVzcG9uc2UgJiYgdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB1cmwgKz0gYD9yZWZlcmVuY2U9JHt0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2V9YDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jYXB0Y2hhVG9rZW4pIHtcbiAgICAgICAgICAgIHVybCArPSBgP3JlQ2FwdGNoYVRva2VuPSR7dGhpcy5fY2FwdGNoYVRva2VufWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhbXMgPSAhIXRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRFxuICAgICAgICAgICAgPyBuZXcgSHR0cFBhcmFtcygpLnNldChcbiAgICAgICAgICAgICAgICAgICdyZUNhcHRjaGFCeVBhc3NVVUlEJyxcbiAgICAgICAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybSwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIHRhcCh0aGlzLmVtaXRSZXNwb25zZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IobnVsbCwgcmVzcG9uc2UpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKG1hcChkYXRhID0+ICEhZGF0YSkpKSxcbiAgICAgICAgICAgIHRhcChpc0Nvbm5lY3RlZCA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY29ubmVjdGVkLCBkaXNwbGF5IGEgbWVzc2FnZSB0byBtYWtlIGNsZWFyIHRoYXRcbiAgICAgICAgICAgICAgICAvLyBub3RoaW5nIGlzIGxvc3QhXG4gICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgR3Jvd2xUeXBlLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICAnVm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGVtaXRSZXNwb25zZShyZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGlmICghcmVzcG9uc2UubWV0YS5jcml0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVGb3JtRGF0YVN1YmplY3QubmV4dChyZXNwb25zZS5mb3JtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZSA9IG5ldyBGb3JtUG9zdFJlc3BvbnNlKCk7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UudXBkYXRlRXJyb3JzKHJlc3BvbnNlLmVycm9ycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVHZXNkZW1FcnJvcihcbiAgICAgICAgcmVxdWVzdGVkUmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueVxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5fbGFzdFJlc3BvbnNlXG4gICAgICAgICAgICA/IHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgOiByZXF1ZXN0ZWRSZWZlcmVuY2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVHZXNkZW1FcnJvcihcbiAgICAgICAgICAgIHRoaXMucHJlZml4LFxuICAgICAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFHSCxVQUFVLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQU12RCxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ1ksSUFBZ0IsRUFDaEIsWUFBZ0MsRUFDaEMsd0JBQWtELEVBQ2xELE1BQWMsRUFDZCxLQUFxQixFQUNyQixtQkFBOEMsRUFDOUMsV0FBd0I7UUFOeEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEyQjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWJwQyw4REFBOEQ7UUFDdEQsMkJBQXNCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFhL0QsQ0FBQztJQUVKLDhEQUE4RDtJQUM5RCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFh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VUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRm9ybVBvc3RSZXNwb25zZSB9IGZyb20gJy4uL2Zvcm0tcG9zdC1yZXNwb25zZSc7XG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdlc2RlbUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL2dlc2RlbS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb3dsVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLXR5cGVzJztcbmltcG9ydCB7IEFjdGlvblN0YXR1dCB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tc3RhdHV0LXV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1IYW5kbGVyU2VydmljZSB7XG4gICAgX3ByZWZpeDogc3RyaW5nO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIF91cGRhdGVGb3JtRGF0YVN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgX2xhc3RSZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+O1xuICAgIHByaXZhdGUgX2NhcHRjaGFUb2tlbjogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogR2VzZGVtRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm9cbiAgICApIHt9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldCBsYXN0UmVzcG9uc2UoKTogRm9ybVBvc3RSZXNwb25zZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhc3RSZXNwb25zZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldCB1cGRhdGVGb3JtRGF0YVN1YmplY3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwZGF0ZUZvcm1EYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXQgcHJlZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVmaXg7XG4gICAgfVxuXG4gICAgc2V0IHByZWZpeChwcmVmaXg6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wcmVmaXggPSBwcmVmaXg7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzYXZlKGZvcm06IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCB1cmwgPSAnYXBpL3ZhbGlkYXRlZCc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fS92YWxpZGF0ZWRgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFRvVXJsKGZvcm0sIHVybCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwZGYoZm9ybTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGkvcGRmJztcbiAgICAgICAgaWYgKHRoaXMucHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5wcmVmaXh9L3BkZmA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0VG9VcmwoZm9ybSwgdXJsKTtcbiAgICB9XG5cbiAgICBzZXRDYXB0Y2hhVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jYXB0Y2hhVG9rZW4gPSB0b2tlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2UgZGUgbGEgZGVtYW5kZVxuICAgICAqIEBwYXJhbSBmb3JjZVJlZnJlc2hJZk5ldyBhbGxvd3MgdG8gZm9yY2UgdGhlIGNsZWFuaW5nIGlmIHJlZmVyZW5jZSBpcyBudWxsXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVxdWlyZShyZWZlcmVuY2U/OiBzdHJpbmcsIGZvcmNlUmVmcmVzaElmTmV3PzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGlzTmV3UmVmZXJlbmNlID1cbiAgICAgICAgICAgICEhcmVmZXJlbmNlICYmXG4gICAgICAgICAgICAhIXRoaXMuX2xhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgISF0aGlzLl9sYXN0UmVzcG9uc2UubWV0YSAmJlxuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlICE9PSByZWZlcmVuY2U7XG5cbiAgICAgICAgY29uc3QgcmVmcmVzaE9uTm9SZWZlcmVuY2UgPSAhIWZvcmNlUmVmcmVzaElmTmV3ICYmICFyZWZlcmVuY2U7XG4gICAgICAgIGlmIChpc05ld1JlZmVyZW5jZSB8fCByZWZyZXNoT25Ob1JlZmVyZW5jZSkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVmZXJlbmNlICYmICF0aGlzLl9sYXN0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHJpZXZlKHJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RSZXNwb25zZSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0UmVzcG9uc2UodGhpcy5fbGFzdFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0cmFuc21pdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS90cmFuc21pc3Npb24nO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vdHJhbnNtaXNzaW9uYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICB1cmwgKz0gYD9yZWZlcmVuY2U9JHt0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2V9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBudWxsKS5waXBlKFxuICAgICAgICAgICAgdGFwKHRoaXMuZW1pdFJlc3BvbnNlLmJpbmQodGhpcykpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihudWxsLCByZXNwb25zZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJldHJpZXZlKHJlZmVyZW5jZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH1gO1xuICAgICAgICB9XG4gICAgICAgIHVybCA9IGAke3VybH0vdmFsaWRhdGVkLyR7cmVmZXJlbmNlfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgICAgICAgIHRhcCh0aGlzLmVtaXRSZXNwb25zZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IocmVmZXJlbmNlLCByZXNwb25zZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJldHJpZXZlQWN0aW9uU3RhdHV0KHJlZmVyZW5jZTogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25TdGF0dXQ+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH1gO1xuICAgICAgICB9XG4gICAgICAgIHVybCA9IGAke3VybH0vJHtyZWZlcmVuY2V9L2FjdGlvbi1zdGF0dXRgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoc3RhdHVzID0+IHN0YXR1cyBhcyBBY3Rpb25TdGF0dXQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihyZWZlcmVuY2UsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBwb3N0VG9VcmwoZm9ybTogYW55LCB1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0UmVzcG9uc2UgJiYgdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB1cmwgKz0gYD9yZWZlcmVuY2U9JHt0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2V9YDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jYXB0Y2hhVG9rZW4pIHtcbiAgICAgICAgICAgIHVybCArPSBgP3JlQ2FwdGNoYVRva2VuPSR7dGhpcy5fY2FwdGNoYVRva2VufWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhbXMgPSAhIXRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRFxuICAgICAgICAgICAgPyBuZXcgSHR0cFBhcmFtcygpLnNldChcbiAgICAgICAgICAgICAgICAgICdyZUNhcHRjaGFCeVBhc3NVVUlEJyxcbiAgICAgICAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybSwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIHRhcCh0aGlzLmVtaXRSZXNwb25zZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IobnVsbCwgcmVzcG9uc2UpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKG1hcChkYXRhID0+ICEhZGF0YSkpKSxcbiAgICAgICAgICAgIHRhcChpc0Nvbm5lY3RlZCA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY29ubmVjdGVkLCBkaXNwbGF5IGEgbWVzc2FnZSB0byBtYWtlIGNsZWFyIHRoYXRcbiAgICAgICAgICAgICAgICAvLyBub3RoaW5nIGlzIGxvc3QhXG4gICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgR3Jvd2xUeXBlLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICAnVm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGVtaXRSZXNwb25zZShyZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGlmICghcmVzcG9uc2UubWV0YS5jcml0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVGb3JtRGF0YVN1YmplY3QubmV4dChyZXNwb25zZS5mb3JtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZSA9IG5ldyBGb3JtUG9zdFJlc3BvbnNlKCk7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UudXBkYXRlRXJyb3JzKHJlc3BvbnNlLmVycm9ycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVHZXNkZW1FcnJvcihcbiAgICAgICAgcmVxdWVzdGVkUmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueVxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5fbGFzdFJlc3BvbnNlXG4gICAgICAgICAgICA/IHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgOiByZXF1ZXN0ZWRSZWZlcmVuY2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVHZXNkZW1FcnJvcihcbiAgICAgICAgICAgIHRoaXMucHJlZml4LFxuICAgICAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -27,7 +27,7 @@ export const DEFAULT_DICTIONARY = {
27
27
  'gesdem-confirmation.success-label': 'Demande transmise',
28
28
  'gesdem-confirmation.next-step.success-label': 'Réponse transmise',
29
29
  'gesdem-confirmation.abort-label': 'Demande abandonnée',
30
- 'gesdem-confirmation.reference-title.label': 'Votre numéro de référence',
30
+ 'gesdem-confirmation.reference-title.label': 'Le numéro de référence de votre demande est',
31
31
  'gesdem-confirmation.mail-sent.label': 'Vous recevrez un email de confirmation dans quelques instants.',
32
32
  'gesdem-confirmation.download-pdf-recap-button': 'Télécharger la demande (pdf)',
33
33
  'gesdem-confirmation.exit-button': 'Terminer',
@@ -67,9 +67,11 @@ export const DEFAULT_DICTIONARY = {
67
67
  'foehn-uploader.delete-icon-title': 'Supprimer {docName}',
68
68
  'use-login.text.decision-electronique-available': 'Pour obtenir la notification de la décision sous forme électronique ' +
69
69
  '(fichier au format pdf), vous devez demander la prestation en étant connecté au portail sécurisé.',
70
- 'use-login.text': "Cette prestation est aussi utilisable au travers de l'espace sécurisé qui vous " +
71
- "permet de pré-remplir le formulaire et de suivre l'avancement de traitement de la demande.",
72
- 'use-login.button.text': 'Connectez-vous',
70
+ 'use-login.text': 'Cette prestation est aussi utilisable <strong>en se connectant</strong> au portail sécurisé.</strong><br/> ' +
71
+ '<i>Toutes les informations sur le portail sécurisé sont disponibles à cette adresse : ' +
72
+ '<a target="_blank" href="https://www.vd.ch/cyberadministration/">https://www.vd.ch/cyberadministration/</a>.</i>',
73
+ 'use-login.button.text': 'Se connecter et continuer',
74
+ 'use-login.continue-without-login.button.text': 'Continuer sans se connecter',
73
75
  'foehn-picture-upload.choose-button-label': 'Choisissez une photo',
74
76
  'foehn-picture-upload.loading-label': 'Chargement...',
75
77
  'foehn-picture-upload.loading-failure-label': 'Impossible de charger la photo sélectionnée',
@@ -80,6 +82,7 @@ export const DEFAULT_DICTIONARY = {
80
82
  'foehn-table.totalElements': '{total} éléments trouvés',
81
83
  'foehn-table.totalElements.1': '1 élément trouvé',
82
84
  'foehn-table.totalElements.0': 'Aucun résultat',
85
+ 'foehn-table.header.actions': 'Actions',
83
86
  'foehn-status-progress-bar.step1': 'Saisie',
84
87
  'foehn-status-progress-bar.step1.srOnly': 'Etape 1 sur 3, Saisie',
85
88
  'foehn-status-progress-bar.step2': 'Vérification',
@@ -120,4 +123,4 @@ export const DEFAULT_DICTIONARY = {
120
123
  "<p>Sans confirmation de la transmission de votre demande dans un délai d'un jour, " +
121
124
  'nous vous prions de <a href="{supportLink}" target="_blank">contacter le support</a>.'
122
125
  };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0Qyw4QkFBOEIsRUFBRSxPQUFPO0lBQ3ZDLGdDQUFnQyxFQUFFLFNBQVM7SUFDM0MsbUNBQW1DLEVBQUUsTUFBTTtJQUMzQyxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELHNDQUFzQyxFQUFFLCtCQUErQjtJQUN2RSxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLHVDQUF1QyxFQUFFLGVBQWU7SUFDeEQsMkNBQTJDLEVBQ3ZDLDBEQUEwRDtJQUM5RCw2Q0FBNkMsRUFBRSxjQUFjO0lBQzdELGlEQUFpRCxFQUM3QywrQ0FBK0M7SUFDbkQsd0NBQXdDLEVBQUUsS0FBSztJQUMvQyx3Q0FBd0MsRUFBRSxzQkFBc0I7SUFDaEUsNENBQTRDLEVBQUUsYUFBYTtJQUMzRCw2Q0FBNkMsRUFBRSxVQUFVO0lBQ3pELDZCQUE2QixFQUFFLFNBQVM7SUFDeEMsaUNBQWlDLEVBQUUsV0FBVztJQUM5QyxpQ0FBaUMsRUFBRSxhQUFhO0lBQ2hELHVDQUF1QyxFQUFFLDRCQUE0QjtJQUNyRSx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLDBCQUEwQixFQUFFLG1DQUFtQztJQUMvRCwyQkFBMkIsRUFBRSxjQUFjO0lBQzNDLG1DQUFtQyxFQUFFLG1CQUFtQjtJQUN4RCw2Q0FBNkMsRUFBRSxtQkFBbUI7SUFDbEUsaUNBQWlDLEVBQUUsb0JBQW9CO0lBQ3ZELDJDQUEyQyxFQUFFLDJCQUEyQjtJQUN4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aUM7SUFDckMsK0NBQStDLEVBQzNDLDBEQUEwRDtJQUM5RCx1Q0FBdUMsRUFDbkMscUNBQXFDO0lBQ3pDLHVDQUF1QyxFQUFFLGdCQUFnQjtJQUN6RCx1Q0FBdUMsRUFBRSxvQkFBb0I7SUFDN0QsK0NBQStDLEVBQzNDLHFDQUFxQztJQUN6QyxtQ0FBbUMsRUFBRSxrQkFBa0I7SUFDdkQsMkNBQTJDLEVBQ3ZDLCtCQUErQjtJQUNuQyx3Q0FBd0MsRUFBRSxvQkFBb0I7SUFDOUQsd0VBQXdFLEVBQ3BFLHdDQUF3QztJQUM1QyxpQ0FBaUMsRUFDN0IsbUZBQW1GO0lBQ3ZGLGlDQUFpQyxFQUFFLHNCQUFzQjtJQUN6RCxvQ0FBb0MsRUFDaEMsd0VBQXdFO0lBQzVFLG9DQUFvQyxFQUFFLGFBQWE7SUFDbkQsbUNBQW1DLEVBQy9CLDBFQUEwRTtRQUMxRSxxRkFBcUY7UUFDckYsb0ZBQW9GO1FBQ3BGLHVGQUF1RjtDQUM5RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRGljdGlvbmFyeVR5cGUgfSBmcm9tICcuL3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUNUSU9OQVJZOiBEaWN0aW9uYXJ5VHlwZSA9IHtcbiAgICAnZm9laG4taW5wdXQub3B0aW9uYWwnOiAnKGZhY3VsdGF0aWYpJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5kYXkubGFiZWwnOiAnSm91cicsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUubW9udGgubGFiZWwnOiAnTW9pcycsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUueWVhci5sYWJlbCc6ICdBbm7DqWUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLmhvdXJzLmxhYmVsJzogJ0hldXJlJyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5taW51dGVzLmxhYmVsJzogJ01pbnV0ZXMnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6ICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gZGUge3BhZ2VDb3VudH0nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOiAnVm90cmUgbnVtw6lybyBkZSByw6lmw6lyZW5jZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nOiAnU2UgZMOpY29ubmVjdGVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JzogJyAnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDoge3NlbGVjdGVkRGF0ZX0nLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuIG5vbSBkdSBmaWNoaWVyIHF1aSBleGPDqGRlIGxlIG1heGltdW0gYXV0b3Jpc8OpIDogJTIkcyBjYXJhY3TDqHJlcycsXG4gICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIGluZsOpcmlldXJlIGF1IG1pbmltdW0gZXhpZ8OpIDogJTIkcyBieXRlcycsXG4gICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmVycm91aWxsw6llIHBhciB1biBtb3QgZGUgcGFzc2UnLFxuICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gc2NyaXB0JyxcbiAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIGZpY2hpZXIgYXR0YWNow6knLFxuICAgICdlcnJvcnMuRU1QVFlfUERGJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmlkZScsXG4gICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgaWxsaXNpYmxlJyxcbiAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgcHJvdMOpZ8OpZS4gVmV1aWxsZXogZW5sZXZlciB0b3V0ZXMgbGVzIHByb3RlY3Rpb25zIGF2YW50IGRlIGpvaW5kcmUgY2UgZmljaGllci4nLFxuICAgICdlcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJzpcbiAgICAgICAgJ0xlIG5vbSBkZSB2b3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgZGVzIGNhcmFjdMOocmVzIGludGVyZGl0cy4nLFxuICAgICdlcnJvcnMuNDA2JzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBjb3JyZXNwb25kIHBhcyBhdSB0eXBlIGRlIGNvbnRlbnUgYXV0b3Jpc8OpJyxcbiAgICAnZXJyb3JzLjQxMyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIHN1cMOpcmlldXJlIG91IMOpZ2FsZSDDoCBsYSBsaW1pdGUgYXV0b3Jpc8OpZSA6ICUyJHMgTW8nLFxuICAgICdlcnJvcnMuNDE1JzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCIlMiRzXCInLFxuICAgICdlcnJvcnMuNDIyJzogJ0VjaGVjIGRlIGxhIHNhdXZlZ2FyZGUgZGUgbGEgcGnDqGNlIGpvaW50ZSAlMSRzJyxcbiAgICAnZXJyb3JzLjUwMCc6XG4gICAgICAgICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcy4gVmV1aWxsZXogcsOpZXNzYXllciBhdmVjIHVuIGF1dHJlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLnN1bW1hcnkudGl0bGUnOiAnSWwgeSBhIHVuIHByb2Jsw6htZScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1biBkb2N1bWVudCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwtbXVsdGlwbGUnOlxuICAgICAgICAnQ2hvaXNpc3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsJzogJ0TDqXBvc2V6IHVuIGRvY3VtZW50IG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0TDqXBvc2V6IHVuIG91IHBsdXNpZXVycyBkb2N1bWVudHMgb3UgY2xpcXVleiBpY2knLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtY29uZmlybWF0aW9uLW1lc3NhZ2UnOlxuICAgICAgICAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGZpY2hpZXIgPycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0JzogJ01vJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuYWJici1tZWdhb2N0ZXQtdGl0bGUnOiAnTWVnYW9jdGV0JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWljb24tdGl0bGUnOiAnU3VwcHJpbWVyIHtkb2NOYW1lfScsXG4gICAgJ3VzZS1sb2dpbi50ZXh0LmRlY2lzaW9uLWVsZWN0cm9uaXF1ZS1hdmFpbGFibGUnOlxuICAgICAgICAnUG91ciBvYnRlbmlyIGxhIG5vdGlmaWNhdGlvbiBkZSBsYSBkw6ljaXNpb24gc291cyBmb3JtZSDDqWxlY3Ryb25pcXVlICcgK1xuICAgICAgICAnKGZpY2hpZXIgYXUgZm9ybWF0IHBkZiksIHZvdXMgZGV2ZXogZGVtYW5kZXIgbGEgcHJlc3RhdGlvbiBlbiDDqXRhbnQgY29ubmVjdMOpIGF1IHBvcnRhaWwgc8OpY3VyaXPDqS4nLFxuICAgICd1c2UtbG9naW4udGV4dCc6XG4gICAgICAgIFwiQ2V0dGUgcHJlc3RhdGlvbiBlc3QgYXVzc2kgdXRpbGlzYWJsZSBhdSB0cmF2ZXJzIGRlIGwnZXNwYWNlIHPDqWN1cmlzw6kgcXVpIHZvdXMgXCIgK1xuICAgICAgICBcInBlcm1ldCBkZSBwcsOpLXJlbXBsaXIgbGUgZm9ybXVsYWlyZSBldCBkZSBzdWl2cmUgbCdhdmFuY2VtZW50IGRlIHRyYWl0ZW1lbnQgZGUgbGEgZGVtYW5kZS5cIixcbiAgICAndXNlLWxvZ2luLmJ1dHRvbi50ZXh0JzogJ0Nvbm5lY3Rlei12b3VzJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxJzogJ1NhaXNpZScsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDEuc3JPbmx5JzogJ0V0YXBlIDEgc3VyIDMsIFNhaXNpZScsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDInOiAnVsOpcmlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDIuc3JPbmx5JzogJ0V0YXBlIDIgc3VyIDMsIFbDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzJzogJ1RyYW5zbWlzc2lvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDMuc3JPbmx5JzpcbiAgICAgICAgJ0V0YXBlIDMgc3VyIDMsIERlbWFuZGUgdHJhbnNtaXNlJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLmRlbGV0ZSc6XG4gICAgICAgICdTdXBwcmltZXIge2VsZW1lbnRMYWJlbH0nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItYW5ub3VuY2VtZW50LmRlbGV0ZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBzdXBwcmltw6ksJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5hZGRlZCc6XG4gICAgICAgICd7ZWxlbWVudExhYmVsfSBhIMOpdMOpIGFqb3V0w6ksJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWRlZmF1bHQtZm9jdXMubm8tZWxlbWVudC10by1kZWxldGUnOlxuICAgICAgICAnQXVjdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWRlZmF1bHQtc2VsZWN0ZWQtZWxlbWVudCc6XG4gICAgICAgICcoc8OpbGVjdGlvbiBwYXIgZMOpZmF1dCknLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLmVtcHR5LW1lc3NhZ2UnOlxuICAgICAgICAnVG91cyBsZXMgw6lsw6ltZW50cyBkZSBsYSBsaXN0ZSBkZSBwcm9wb3NpdGlvbiBvbnQgZMOpasOgIMOpdMOpIGFqb3V0w6lzLicsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuc2NyZWVuLXJlYWRlci5sYWJlbCc6XG4gICAgICAgICdTw6lsZWN0aW9ubmVyIHVuIMOpbMOpbWVudCBkYW5zIGxhIGxpc3RlIGRlIHJlY2hlcmNoZScgK1xuICAgICAgICBcIiBjaS1kZXNzb3VzIHBvdXIgbCdham91dGVyIMOgIHZvdHJlIHPDqWxlY3Rpb24uXCIsXG4gICAgJ2ZvZWhuLWFnZW5kYS5jYWxlbmRhci1pbmRpc3BvbmlibGUnOlxuICAgICAgICAnTGUgY2FsZW5kcmllciBkZXMgcmVuZGV6LXZvdXMgZXN0IGFjdHVlbGxlbWVudCBpbmRpc3BvbmlibGUuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmZpcnN0LXBhcnQnOlxuICAgICAgICAnVm91cyBwb3V2ZXogY2hhbmdlciBkZSBzZW1haW5lIGF1IG1veWVuIGRlJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLnRvcC1uZXh0LXBhcnQnOiAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzb3VzLicsXG4gICAgJ2ZvZWhuLWFnZW5kYS5wYWdpbmF0aW9uLWFuY2hvci5ib3R0b20tbmV4dC1wYXJ0JzpcbiAgICAgICAgJ2xhIHBhZ2luYXRpb24gY2ktZGVzc3VzLicsXG4gICAgJ2ZvZWhuLWFnZW5kYS50aW1lc2xvdC5zZWxlY3RlZCc6ICcgc8OpbGVjdGlvbm7DqScsXG4gICAgJ2ZvZWhuLWFnZW5kYS10aW1lc2xvdC1wYW5lbC5uby1kaXNwbyc6ICcoYXVjdW5lIGRpc3BvbmliaWxpdMOpKScsXG4gICAgJ2ZvZWhuLWFnZW5kYS10aW1lc2xvdC1wYW5lbC5uYnItZGlzcG8nOiAne25iRWxlbWVudHN9IGRpc3BvbmliaWxpdMOpcycsXG4gICAgJ2ZvZWhuLWFnZW5kYS10aW1lc2xvdC1wYW5lbC5zZWxlY3RlZC10aW1lJzpcbiAgICAgICAgJ3t0aW1lU2VsZWN0ZWRWYWx1ZX0gc8OpbGVjdGlvbm7DqScsXG4gICAgJ2ZvZWhuLWFnZW5kYS10aW1lc2xvdC1wYW5lbC5zaG93LW1vcmUtc3Itb25seSc6XG4gICAgICAgICdBZmZpY2hlciBsZXMge25ickVsZW1lbnRzSGlkZGVufSBkaXNwb25pYmlsaXTDqXMgbWFzcXXDqWVzJyxcbiAgICAnZm9laG4uYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZSc6XG4gICAgICAgICdBZmZpY2hlciBwbHVzICh7bmJyRWxlbWVudHNIaWRkZW59KScsXG4gICAgJ2ZvZWhuLWFnZW5kYS10aW1lc2xvdC1wYW5lbC5zaG93LWxlc3MnOiAnQWZmaWNoZXIgbW9pbnMnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrJzogJ1NlbWFpbmUgcHLDqWPDqWRlbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ucHJldmlvdXMtd2Vlay1zci1vbmx5JzpcbiAgICAgICAgJ1NlbWFpbmUgcHLDqWPDqWRlbnRlIDoge3ByZXZpb3VzV2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uZXh0LXdlZWsnOiAnU2VtYWluZSBzdWl2YW50ZScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlay1zci1vbmx5JzpcbiAgICAgICAgJ1NlbWFpbmUgc3VpdmFudGUgOiB7bmV4dFdlZWt9JyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmF2LmFyaWEtbGFiZWwnOiAnQ2hhbmdlciBkZSBzZW1haW5lJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24uZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdTZW1haW5lIGR1IHtzZWxlY3RlZERhdGV9IHPDqWxlY3Rpb25uw6llJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQuaGFzLXJlZmVyZW5jZSc6XG4gICAgICAgICdWb3VzIHBvdXZleiBlc3NheWVyIGRlIHJlcHJlbmRyZSB2b3RyZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tZXJyb3IubGluay5oYXMtcmVmZXJlbmNlJzogJ1JlcHJlbmRyZSBtYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQuaGFzLW5vLXJlZmVyZW5jZSc6XG4gICAgICAgICdWb3VzIHBvdXZleiByZWNvbW1lbmNlciB1bmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgbGUgbGllbiBjaS1kZXNzb3VzJyxcbiAgICAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLW5vLXJlZmVyZW5jZSc6ICdSZWNvbW1lbmNlcicsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0LnBlbmRpbmctcGF5bWVudCc6XG4gICAgICAgICc8cD5VbiBwcm9ibMOobWUgZXN0IHN1cnZlbnUgbG9ycyBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm90cmUgZGVtYW5kZS48L3A+JyArXG4gICAgICAgICc8cD48c3Ryb25nPk1lcmNpIGRlIG5lIHBhcyByZWZhaXJlIHVuZSBub3V2ZWxsZSBkZW1hbmRlIHRvdXQgZGUgc3VpdGUuPC9zdHJvbmc+PC9wPicgK1xuICAgICAgICBcIjxwPlNhbnMgY29uZmlybWF0aW9uIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlIGRhbnMgdW4gZMOpbGFpIGQndW4gam91ciwgXCIgK1xuICAgICAgICAnbm91cyB2b3VzIHByaW9ucyBkZSA8YSBocmVmPVwie3N1cHBvcnRMaW5rfVwiIHRhcmdldD1cIl9ibGFua1wiPmNvbnRhY3RlciBsZSBzdXBwb3J0PC9hPi4nXG59O1xuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0Qyw4QkFBOEIsRUFBRSxPQUFPO0lBQ3ZDLGdDQUFnQyxFQUFFLFNBQVM7SUFDM0MsbUNBQW1DLEVBQUUsTUFBTTtJQUMzQyxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELHNDQUFzQyxFQUFFLCtCQUErQjtJQUN2RSxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLHVDQUF1QyxFQUFFLGVBQWU7SUFDeEQsMkNBQTJDLEVBQ3ZDLDBEQUEwRDtJQUM5RCw2Q0FBNkMsRUFBRSxjQUFjO0lBQzdELGlEQUFpRCxFQUM3QywrQ0FBK0M7SUFDbkQsd0NBQXdDLEVBQUUsS0FBSztJQUMvQyx3Q0FBd0MsRUFBRSxzQkFBc0I7SUFDaEUsNENBQTRDLEVBQUUsYUFBYTtJQUMzRCw2Q0FBNkMsRUFBRSxVQUFVO0lBQ3pELDZCQUE2QixFQUFFLFNBQVM7SUFDeEMsaUNBQWlDLEVBQUUsV0FBVztJQUM5QyxpQ0FBaUMsRUFBRSxhQUFhO0lBQ2hELHVDQUF1QyxFQUFFLDRCQUE0QjtJQUNyRSx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLDBCQUEwQixFQUFFLG1DQUFtQztJQUMvRCwyQkFBMkIsRUFBRSxjQUFjO0lBQzNDLG1DQUFtQyxFQUFFLG1CQUFtQjtJQUN4RCw2Q0FBNkMsRUFBRSxtQkFBbUI7SUFDbEUsaUNBQWlDLEVBQUUsb0JBQW9CO0lBQ3ZELDJDQUEyQyxFQUN2Qyw2Q0FBNkM7SUFD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c0MsRUFBRSx3QkFBd0I7SUFDaEUsdUNBQXVDLEVBQUUsNkJBQTZCO0lBQ3RFLDJDQUEyQyxFQUN2QyxpQ0FBaUM7SUFDckMsK0NBQStDLEVBQzNDLDBEQUEwRDtJQUM5RCx1Q0FBdUMsRUFDbkMscUNBQXFDO0lBQ3pDLHVDQUF1QyxFQUFFLGdCQUFnQjtJQUN6RCx1Q0FBdUMsRUFBRSxvQkFBb0I7SUFDN0QsK0NBQStDLEVBQzNDLHFDQUFxQztJQUN6QyxtQ0FBbUMsRUFBRSxrQkFBa0I7SUFDdkQsMkNBQTJDLEVBQ3ZDLCtCQUErQjtJQUNuQyx3Q0FBd0MsRUFBRSxvQkFBb0I7SUFDOUQsd0VBQXdFLEVBQ3BFLHdDQUF3QztJQUM1QyxpQ0FBaUMsRUFDN0IsbUZBQW1GO0lBQ3ZGLGlDQUFpQyxFQUFFLHNCQUFzQjtJQUN6RCxvQ0FBb0MsRUFDaEMsd0VBQXdFO0lBQzVFLG9DQUFvQyxFQUFFLGFBQWE7SUFDbkQsbUNBQW1DLEVBQy9CLDBFQUEwRTtRQUMxRSxxRkFBcUY7UUFDckYsb0ZBQW9GO1FBQ3BGLHVGQUF1RjtDQUM5RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRGljdGlvbmFyeVR5cGUgfSBmcm9tICcuL3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUNUSU9OQVJZOiBEaWN0aW9uYXJ5VHlwZSA9IHtcbiAgICAnZm9laG4taW5wdXQub3B0aW9uYWwnOiAnKGZhY3VsdGF0aWYpJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5kYXkubGFiZWwnOiAnSm91cicsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUubW9udGgubGFiZWwnOiAnTW9pcycsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUueWVhci5sYWJlbCc6ICdBbm7DqWUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLmhvdXJzLmxhYmVsJzogJ0hldXJlJyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5taW51dGVzLmxhYmVsJzogJ01pbnV0ZXMnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6ICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gZGUge3BhZ2VDb3VudH0nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOlxuICAgICAgICAnTGUgbnVtw6lybyBkZSByw6lmw6lyZW5jZSBkZSB2b3RyZSBkZW1hbmRlIGVzdCcsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nOiAnU2UgZMOpY29ubmVjdGVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JzogJyAnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDoge3NlbGVjdGVkRGF0ZX0nLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuIG5vbSBkdSBmaWNoaWVyIHF1aSBleGPDqGRlIGxlIG1heGltdW0gYXV0b3Jpc8OpIDogJTIkcyBjYXJhY3TDqHJlcycsXG4gICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIGluZsOpcmlldXJlIGF1IG1pbmltdW0gZXhpZ8OpIDogJTIkcyBieXRlcycsXG4gICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmVycm91aWxsw6llIHBhciB1biBtb3QgZGUgcGFzc2UnLFxuICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gc2NyaXB0JyxcbiAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIGZpY2hpZXIgYXR0YWNow6knLFxuICAgICdlcnJvcnMuRU1QVFlfUERGJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmlkZScsXG4gICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgaWxsaXNpYmxlJyxcbiAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgcHJvdMOpZ8OpZS4gVmV1aWxsZXogZW5sZXZlciB0b3V0ZXMgbGVzIHByb3RlY3Rpb25zIGF2YW50IGRlIGpvaW5kcmUgY2UgZmljaGllci4nLFxuICAgICdlcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJzpcbiAgICAgICAgJ0xlIG5vbSBkZSB2b3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgZGVzIGNhcmFjdMOocmVzIGludGVyZGl0cy4nLFxuICAgICdlcnJvcnMuNDA2JzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBjb3JyZXNwb25kIHBhcyBhdSB0eXBlIGRlIGNvbnRlbnUgYXV0b3Jpc8OpJyxcbiAgICAnZXJyb3JzLjQxMyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIHN1cMOpcmlldXJlIG91IMOpZ2FsZSDDoCBsYSBsaW1pdGUgYXV0b3Jpc8OpZSA6ICUyJHMgTW8nLFxuICAgICdlcnJvcnMuNDE1JzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCIlMiRzXCInLFxuICAgICdlcnJvcnMuNDIyJzogJ0VjaGVjIGRlIGxhIHNhdXZlZ2FyZGUgZGUgbGEgcGnDqGNlIGpvaW50ZSAlMSRzJyxcbiAgICAnZXJyb3JzLjUwMCc6XG4gICAgICAgICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcy4gVmV1aWxsZXogcsOpZXNzYXllciBhdmVjIHVuIGF1dHJlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLnN1bW1hcnkudGl0bGUnOiAnSWwgeSBhIHVuIHByb2Jsw6htZScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1biBkb2N1bWVudCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwtbXVsdGlwbGUnOlxuICAgICAgICAnQ2hvaXNpc3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsJzogJ0TDqXBvc2V6IHVuIGRvY3VtZW50IG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0TDqXBvc2V6IHVuIG91IHBsdXNpZXVycyBkb2N1bWVudHMgb3UgY2xpcXVleiBpY2knLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtY29uZmlybWF0aW9uLW1lc3NhZ2UnOlxuICAgICAgICAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGZpY2hpZXIgPycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0JzogJ01vJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuYWJici1tZWdhb2N0ZXQtdGl0bGUnOiAnTWVnYW9jdGV0JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWljb24tdGl0bGUnOiAnU3VwcHJpbWVyIHtkb2NOYW1lfScsXG4gICAgJ3VzZS1sb2dpbi50ZXh0LmRlY2lzaW9uLWVsZWN0cm9uaXF1ZS1hdmFpbGFibGUnOlxuICAgICAgICAnUG91ciBvYnRlbmlyIGxhIG5vdGlmaWNhdGlvbiBkZSBsYSBkw6ljaXNpb24gc291cyBmb3JtZSDDqWxlY3Ryb25pcXVlICcgK1xuICAgICAgICAnKGZpY2hpZXIgYXUgZm9ybWF0IHBkZiksIHZvdXMgZGV2ZXogZGVtYW5kZXIgbGEgcHJlc3RhdGlvbiBlbiDDqXRhbnQgY29ubmVjdMOpIGF1IHBvcnRhaWwgc8OpY3VyaXPDqS4nLFxuICAgICd1c2UtbG9naW4udGV4dCc6XG4gICAgICAgICdDZXR0ZSBwcmVzdGF0aW9uIGVzdCBhdXNzaSB1dGlsaXNhYmxlIDxzdHJvbmc+ZW4gc2UgY29ubmVjdGFudDwvc3Ryb25nPiBhdSBwb3J0YWlsIHPDqWN1cmlzw6kuPC9zdHJvbmc+PGJyLz4gICAgICAgICAnICtcbiAgICAgICAgJzxpPlRvdXRlcyBsZXMgaW5mb3JtYXRpb25zIHN1ciBsZSBwb3J0YWlsIHPDqWN1cmlzw6kgc29udCBkaXNwb25pYmxlcyDDoCBjZXR0ZSBhZHJlc3NlIDogJyArXG4gICAgICAgICc8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cudmQuY2gvY3liZXJhZG1pbmlzdHJhdGlvbi9cIj5odHRwczovL3d3dy52ZC5jaC9jeWJlcmFkbWluaXN0cmF0aW9uLzwvYT4uPC9pPicsXG4gICAgJ3VzZS1sb2dpbi5idXR0b24udGV4dCc6ICdTZSBjb25uZWN0ZXIgZXQgY29udGludWVyJyxcbiAgICAndXNlLWxvZ2luLmNvbnRpbnVlLXdpdGhvdXQtbG9naW4uYnV0dG9uLnRleHQnOlxuICAgICAgICAnQ29udGludWVyIHNhbnMgc2UgY29ubmVjdGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucyc6ICdBY3Rpb25zJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdUcmFuc21pc3Npb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnOlxuICAgICAgICAnU3VwcHJpbWVyIHtlbGVtZW50TGFiZWx9JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgc3VwcHJpbcOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBham91dMOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1kZWZhdWx0LWZvY3VzLm5vLWVsZW1lbnQtdG8tZGVsZXRlJzpcbiAgICAgICAgJ0F1Y3VuIMOpbMOpbWVudCBkYW5zIGxhIGxpc3RlLicsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1kZWZhdWx0LXNlbGVjdGVkLWVsZW1lbnQnOlxuICAgICAgICAnKHPDqWxlY3Rpb24gcGFyIGTDqWZhdXQpJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5lbXB0eS1tZXNzYWdlJzpcbiAgICAgICAgJ1RvdXMgbGVzIMOpbMOpbWVudHMgZGUgbGEgbGlzdGUgZGUgcHJvcG9zaXRpb24gb250IGTDqWrDoCDDqXTDqSBham91dMOpcy4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLnNjcmVlbi1yZWFkZXIubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgZGFucyBsYSBsaXN0ZSBkZSByZWNoZXJjaGUnICtcbiAgICAgICAgXCIgY2ktZGVzc291cyBwb3VyIGwnYWpvdXRlciDDoCB2b3RyZSBzw6lsZWN0aW9uLlwiLFxuICAgICdmb2Vobi1hZ2VuZGEuY2FsZW5kYXItaW5kaXNwb25pYmxlJzpcbiAgICAgICAgJ0xlIGNhbGVuZHJpZXIgZGVzIHJlbmRlei12b3VzIGVzdCBhY3R1ZWxsZW1lbnQgaW5kaXNwb25pYmxlLicsXG4gICAgJ2ZvZWhuLWFnZW5kYS5wYWdpbmF0aW9uLWFuY2hvci5maXJzdC1wYXJ0JzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGNoYW5nZXIgZGUgc2VtYWluZSBhdSBtb3llbiBkZScsXG4gICAgJ2ZvZWhuLWFnZW5kYS5wYWdpbmF0aW9uLWFuY2hvci50b3AtbmV4dC1wYXJ0JzogJ2xhIHBhZ2luYXRpb24gY2ktZGVzc291cy4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuYm90dG9tLW5leHQtcGFydCc6XG4gICAgICAgICdsYSBwYWdpbmF0aW9uIGNpLWRlc3N1cy4nLFxuICAgICdmb2Vobi1hZ2VuZGEudGltZXNsb3Quc2VsZWN0ZWQnOiAnIHPDqWxlY3Rpb25uw6knLFxuICAgICdmb2Vobi1hZ2VuZGEtdGltZXNsb3QtcGFuZWwubm8tZGlzcG8nOiAnKGF1Y3VuZSBkaXNwb25pYmlsaXTDqSknLFxuICAgICdmb2Vobi1hZ2VuZGEtdGltZXNsb3QtcGFuZWwubmJyLWRpc3BvJzogJ3tuYkVsZW1lbnRzfSBkaXNwb25pYmlsaXTDqXMnLFxuICAgICdmb2Vobi1hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2VsZWN0ZWQtdGltZSc6XG4gICAgICAgICd7dGltZVNlbGVjdGVkVmFsdWV9IHPDqWxlY3Rpb25uw6knLFxuICAgICdmb2Vobi1hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlLXNyLW9ubHknOlxuICAgICAgICAnQWZmaWNoZXIgbGVzIHtuYnJFbGVtZW50c0hpZGRlbn0gZGlzcG9uaWJpbGl0w6lzIG1hc3F1w6llcycsXG4gICAgJ2ZvZWhuLmFnZW5kYS10aW1lc2xvdC1wYW5lbC5zaG93LW1vcmUnOlxuICAgICAgICAnQWZmaWNoZXIgcGx1cyAoe25ickVsZW1lbnRzSGlkZGVufSknLFxuICAgICdmb2Vobi1hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1sZXNzJzogJ0FmZmljaGVyIG1vaW5zJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ucHJldmlvdXMtd2Vlayc6ICdTZW1haW5lIHByw6ljw6lkZW50ZScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWstc3Itb25seSc6XG4gICAgICAgICdTZW1haW5lIHByw6ljw6lkZW50ZSA6IHtwcmV2aW91c1dlZWt9JyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrJzogJ1NlbWFpbmUgc3VpdmFudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uZXh0LXdlZWstc3Itb25seSc6XG4gICAgICAgICdTZW1haW5lIHN1aXZhbnRlIDoge25leHRXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5hdi5hcmlhLWxhYmVsJzogJ0NoYW5nZXIgZGUgc2VtYWluZScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLmRhdGUtcGlja2VyLWJ1dHRvbi5zY3JlZW4tcmVhZGVyLnNlbGVjdGVkLWRhdGUnOlxuICAgICAgICAnU2VtYWluZSBkdSB7c2VsZWN0ZWREYXRlfSBzw6lsZWN0aW9ubsOpZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogZXNzYXllciBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgbGUgbGllbiBjaS1kZXNzb3VzJyxcbiAgICAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLXJlZmVyZW5jZSc6ICdSZXByZW5kcmUgbWEgZGVtYW5kZScsXG4gICAgJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1uby1yZWZlcmVuY2UnOlxuICAgICAgICAnVm91cyBwb3V2ZXogcmVjb21tZW5jZXIgdW5lIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1uby1yZWZlcmVuY2UnOiAnUmVjb21tZW5jZXInLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5wZW5kaW5nLXBheW1lbnQnOlxuICAgICAgICAnPHA+VW4gcHJvYmzDqG1lIGVzdCBzdXJ2ZW51IGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUuPC9wPicgK1xuICAgICAgICAnPHA+PHN0cm9uZz5NZXJjaSBkZSBuZSBwYXMgcmVmYWlyZSB1bmUgbm91dmVsbGUgZGVtYW5kZSB0b3V0IGRlIHN1aXRlLjwvc3Ryb25nPjwvcD4nICtcbiAgICAgICAgXCI8cD5TYW5zIGNvbmZpcm1hdGlvbiBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm90cmUgZGVtYW5kZSBkYW5zIHVuIGTDqWxhaSBkJ3VuIGpvdXIsIFwiICtcbiAgICAgICAgJ25vdXMgdm91cyBwcmlvbnMgZGUgPGEgaHJlZj1cIntzdXBwb3J0TGlua31cIiB0YXJnZXQ9XCJfYmxhbmtcIj5jb250YWN0ZXIgbGUgc3VwcG9ydDwvYT4uJ1xufTtcbiJdfQ==